diff --git a/.gitignore b/.gitignore index 30f6930f7..058cab56d 100644 --- a/.gitignore +++ b/.gitignore @@ -58,7 +58,6 @@ games/ info/ lib64/ man/ -share/ # Auto-generated when emhttpd/webGUI start emhttp/languages/en_US/helptext.dot diff --git a/bin/firefox b/bin/firefox deleted file mode 120000 index 21fd74b86..000000000 --- a/bin/firefox +++ /dev/null @@ -1 +0,0 @@ -/usr/libexec/unraid/firefox-119.0.r20231019122658-x86_64.AppImage \ No newline at end of file diff --git a/bin/unraidwold b/bin/unraidwold deleted file mode 120000 index 6ee2c193b..000000000 --- a/bin/unraidwold +++ /dev/null @@ -1 +0,0 @@ -/usr/libexec/unraid/unraidwold \ No newline at end of file diff --git a/emhttp/languages/en_US/helptext.txt b/emhttp/languages/en_US/helptext.txt index e4978f58d..919a84dc4 100644 --- a/emhttp/languages/en_US/helptext.txt +++ b/emhttp/languages/en_US/helptext.txt @@ -256,7 +256,7 @@ Unraid OS uses these default options when creating a multiple-device pool: `-dconvert=raid1 -mconvert=raid1` -For more complete documentation, please refer to the btrfs-balance [Manpage](https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-balance) +For more complete documentation, please refer to the btrfs-balance [Manpage](https://man7.org/linux/man-pages/man8/btrfs-balance.8.html) *Note: raid5 and raid6 are generally still considered **experimental** by the Linux community* :end @@ -269,7 +269,14 @@ For more complete documentation, please refer to the btrfs-balance [Manpage](htt **Scrub** runs the *btrfs scrub* program which will read all data and metadata blocks from all devices and verify checksums. -If *Repair corrupted blocks* is checked, *btrfs scrub* will repair corrupted blocks if there’s a correct copy available. +*btrfs scrub* will repair corrupted blocks if there is a correct copy available. +:end + +:info_zfs_scrub_help: +**Scrub** runs the *zfs scrub* program which will read all data and metadata blocks from all +devices and verify checksums. + +Click the **Upgrade Pool** button to upgrade the ZFS pool to enable the latest ZFS features. :end :info_scrub_cancel_help: @@ -282,6 +289,10 @@ If *Repair corrupted blocks* is checked, *btrfs scrub* will repair corrupted blo The *Options* field is initialized with *--readonly* which specifies check-only. If repair is needed, you should run a second Check pass, setting the *Options* to *--repair*; this will permit *btrfs check* to fix the file system. +WARNING: **Do not use** *--repair* unless you are advised to do so by a developer or an experienced user, +and then only after having accepted that no fsck successfully repair all types of filesystem corruption. +E.g. some other software or hardware bugs can fatally damage a volume. + After starting a Check, you should Refresh to monitor progress and status. Depending on how large the file system is, and what errors might be present, the operation can take **a long time** to finish (hours). Not much info is printed in the window, but you can verify the operation is running by observing the read/write counters @@ -695,6 +706,12 @@ Summary of security modes: **Secure** All users including guests have read access, you select which of your users have write access. **Private** No guest access at all, you select which of your users have read/write, read-only access or no access. + +Windows Server Signing: + +If you are unable to browse SMB shares with Windows 11 version 24H2 or newer, you need to make some changes to accomodate a new feature called Server Signing. Server Signing is enabled in Unraid and you need to make changes to access Public shares. +You can disable it in Windows, or to work with Unraid with Server Signing enabled, the easiest way is to create a user (with a password set) in Unraid with the same name as the Windows account you are using, Windows should then ask you for the credentials. +If you are using a Microsoft account, it may be better to just create a user in Unraid with a simple username and set a password, then in Windows go to Control Panel -> Credential Manager -> Windows credentials -> Add a Windows Credential and add the correct Unraid server name and credentials. :end :smb_secure_access_help: @@ -727,6 +744,15 @@ Select the desired share name and press **Read** to copy the NFS security settin Select the desired destinations and press **Write** to copy the NFS security settings to the selected shares. :end +:nfs_security_rules_help: +Put the rule for each IP address on a separate line and terminate the Rule with a new line. +You cannot enter a Rule in the format IP1,IP2(...). Unraid does not format the exports file in that format. + +The default rules for every NFS Rule are - async and no_subtree_check. + +**Note:** The Public Rule used is '*(rw,sec=sys,insecure,anongid=100,anonuid=99,no_root_squash)'. +:end + :user_add_username_help: Usernames may be up to 40 characters long and must start with a **lower case letter** or an underscore, followed by **lower case letters**, digits, underscores, or dashes. They can end with a dollar sign. @@ -1038,6 +1064,15 @@ You must specify a folder for Docker. The system will automatically create this It is recommended to create this folder under a share which resides on the Cache pool (setting: cache=Only). For best performance SSD devices are preferred. :end +:docker_storage_driver_help: +overlay2 (default): Will use overlay2 as the storage driver for Docker, regardless of the underlying filesystem. + +native: The native storage driver for your underlying filesystem will be used (XFS: overlay2 | ZFS: zfs | BTRFS: btrfs). + +ATTENTION: Changing the storage type from an existing Docker installation is not possible, you have to delete your Docker directory first, change the storage type and then reinstall your containers. +It is recommended to take a screenshot from your Docker containers before changing the storage type. After deleting and changing the storage type, reinstall the containers by clicking Add Container on the Docker page and select one by one from the drop down to reinstall them with your previous settings). +:end + :docker_appdata_location_help: You can specify a folder to automatically generate and store subfolders containing configuration files for each Docker app (via the /config mapped volume). @@ -1119,6 +1154,10 @@ This is the active Docker version. This is the location of the Docker image. :end +:docker_storage_driver_active_help: +This is the storage driver for Docker. +:end + :docker_appdata_location_active_help: This is the storage location for Docker containers. :end @@ -1270,6 +1309,14 @@ The Local Access URLs shown above are based on your current settings. To adjust URLs or redirects, see the help text for "Use SSL/TLS". :end +:mgmt_wg_access_urls_help: +These URLs will only work when connected via the appropriate WireGuard tunnel as configured on ***Settings > VPN Manager*** +:end + +:mgmt_tailscale_access_urls_help: +These URLs will only work when connected to the appropriate Tailscale Tailnet. +:end + :mgmt_certificate_expiration_help: **Provision** may be used to install a *free* myunraid.net SSL Certificate from [Let's Encrypt](https://letsencrypt.org/). @@ -1432,6 +1479,20 @@ your client. Be aware that setting a value of -1 will cause the memory footprin files/directories you access via NFS this may or may not lead to out-of-memory conditions. :end +:nfs_server_max_protocol_help: +Select the max NFS Protocol version you want your Unraid server to support. +:end + +:nfs_client_max_protocol_help: +Select the max NFS Protocol version you want to use to mount your remote shares. +:end + +:nfs_threads_help: +Set the number of threads for NFS. For light NFS loads, 8 is sufficient. For heaver NFS loads, a higher number of threads might be appropriate. + +If there aren't enough threads, NFS will probably crash. +:end + :shares_enable_disk_help: If set to No, disk shares are unconditionally not exported. @@ -1489,6 +1550,10 @@ This will increase write performance but might possibly decrease read performanc *Auto* selects No. :end +:shares_fuse_file_descriptors_io_help: +Set the number of fuse file descriptors. With a lot of file activity on the array, you may need to increase this value. +:end + :syslog_local_server_help: Let the server act as a central syslog server and collect syslog messages from other systems. The server can listen on UDP, TCP or both with a selectable port number. @@ -1507,7 +1572,6 @@ Select the identifier for the remote system (used in the logfile name). * "IP Address" uses the IP address (IPv4 or IPv6) of the sending system. * "Hostname (from syslog message)" uses the hostname included in each syslog message. * "Hostname (from DNS reverse lookup)" performs a DNS reverse lookup for the sending IP and uses the result. - :end :syslog_local_rotation_help: @@ -2282,6 +2346,148 @@ Generally speaking, it is recommended to leave this setting to its default value IMPORTANT NOTE: If adjusting port mappings, do not modify the settings for the Container port as only the Host port can be adjusted. :end +:docker_container_network_help: +This allows your container to utilize the network configuration of another container. Select the appropriate container from the list.
This setup can be particularly beneficial if you wish to route your container's traffic through a VPN. +:end + +:docker_tailscale_help: +Enable Tailscale to add this container as a machine on your Tailnet. +:end + +:docker_tailscale_hostname_help: +Provide the hostname for this container. It does not need to match the container name, but it must be unique on your Tailnet. Note that an HTTPS certificate will be generated for this hostname, which means it will be placed in a public ledger, so use a name that you don't mind being public. +For more information see enabling https. +:end + +:docker_tailscale_be_exitnode_help: +Enable this if other machines on your Tailnet should route their Internet traffic through this container, this is most useful for containers that connect to commercial VPN services. +Be sure to authorize this Exit Node in your Tailscale Machines Admin Panel. +For more details, see the Tailscale documentation on Exit Nodes. +:end + +:docker_tailscale_exitnode_ip_help: +Optionally route this container's outgoing Internet traffic through an Exit Node on your Tailnet. Choose the Exit Node or input its Tailscale IP address. +For more details, see Exit Nodes. +:end + +:docker_tailscale_lanaccess_help: +Only applies when this container is using an Exit Node. Enable this to allow the container to access the local network. + +WARNING: Even with this feature enabled, systems on your LAN may not be able to access the container unless they have Tailscale installed. +:end + +:docker_tailscale_userspace_networking_help: +When enabled, this container will operate in a restricted environment. Tailscale DNS will not work, and the container will not be able to initiate connections to other Tailscale machines. However, other machines on your Tailnet will still be able to communicate with this container. + +When disabled, this container will have full access to your Tailnet. Tailscale DNS will work, and the container can fully communicate with other machines on the Tailnet. +However, systems on your LAN may not be able to access the container unless they have Tailscale installed. +:end + +:docker_tailscale_ssh_help: +Tailscale SSH is similar to the Docker "Console" option in the Unraid webgui, except you connect with an SSH client and authenticate via Tailscale. +For more details, see the Tailscale SSH documentation. +:end + +:docker_tailscale_serve_mode_help: +Enabling Serve will automatically reverse proxy the primary web service from this container and make it available on your Tailnet using https with a valid certificate! + +Note that when accessing the Tailscale WebUI url, no additional authentication layer is added beyond restricting it to your Tailnet - the container is still responsible for managing usernames/passwords that are allowed to access it. Depending on your configuration, direct access to the container may still be possible as well. + +For more details, see the Tailscale Serve documentation. + +If the documentation recommends additional settings for a more complex use case, enable "Tailscale Show Advanced Settings". Support for these advanced settings is not available beyond confirming the commands are passed to Tailscale correctly. + +Funnel is similar to Serve, except that the web service is made available on the open Internet. Use with care as the service will likely be attacked. As with Serve, the container itself is responsible for handling any authentication. + +We recommend reading the Tailscale Funnel documentation before enabling this feature. + +Note: Enabling Serve or Funnel publishes the Tailscale hostname to a public ledger. +For more details, see the Tailscale Documentation: Enabling HTTPS. +:end + +:docker_tailscale_serve_port_help: +This field should specify the port for the primary web service this container offers. Note: it should specify the port in the container, not a port that was remapped on the host. + +The system attempted to determine the correct port automatically. If it used the wrong value then there is likely an issue with the "Web UI" field for this container, visible by switching from "Basic View" to "Advanced View" in the upper right corner of this page. + +In most cases this port is all you will need to specify in order to Serve the website in this container, although additional options are available below for more complex containers. + +This value is passed to the `` portion of this command which starts serve or funnel:
+`tailscale [serve|funnel] --bg -- :`
+For more details see the Tailscale Serve Command Line documentation. +:end + +:docker_tailscale_show_advanced_help: +Here there be dragons! +:end + +:docker_tailscale_serve_target_help: +When not specified, this value defaults to http://localhost. It is passed to the `` portion of this command which starts serve or funnel:
+`tailscale [serve|funnel] --bg -- :`
+For more details see the Tailscale Serve Command Line documentation.
+Please note that only `localhost` or `127.0.0.1` are supported. +:end + +:docker_tailscale_serve_local_path_help: +When not specified, this value defaults to an empty string. It is passed to the `` portion of this command which starts serve or funnel:
+`tailscale [serve|funnel] --bg -- :`
+For more details see the Tailscale Serve Command Line documentation. +:end + +:docker_tailscale_serve_protocol_help: +When not specified, this value defaults to "https". It is passed to the `` portion of this command which starts serve or funnel:
+`tailscale [serve|funnel] --bg --= :`
+For more details see the Tailscale Serve Command Line documentation. +:end + +:docker_tailscale_serve_protocol_port_help: +When not specified, this value defaults to "=443". It is passed to the `` portion of this command which starts serve or funnel:
+`tailscale [serve|funnel] --bg -- :`
+For more details see the Tailscale Serve Command Line documentation. +:end + +:docker_tailscale_serve_path_help: +When not specified, this value defaults to an empty string. It is passed to the `` portion of this command which starts serve or funnel:
+`tailscale [serve|funnel] --bg -- :`
+For more details see the Tailscale Serve Command Line documentation. +:end + +:docker_tailscale_serve_webui_help: +If Serve is enabled this will be an https url with a proper domain name that is accessible over your Tailnet, no port needed! + +If Funnel is enabled the same url will be available on the Internet. + +If they are disabled then the url will be generated from the container's main "Web UI" field, but modified to use the Tailscale IP. If the wrong port is specified here then switch from "Basic View" to "Advanced View" and review the "Web UI" field for this container. +:end + +:docker_tailscale_advertise_routes_help: +If desired, specify any routes that should be passed to the **`--advertise-routes=`** parameter when running **`tailscale up`**. +For more details see the Subnet routers documentation. +:end + +:docker_tailscale_accept_routes_help: +When enabled, this will accept your subnet routes from other devices, adding the **`--accept-routes`** parameter when running **`tailscale up`**. +For more details see the Use your subnet routes from other devices documentation. +:end + +:docker_tailscale_daemon_extra_params_help: +Specify any extra parameters to pass when starting **`tailscaled`**. +For more details see the tailscaled documentation. +:end + +:docker_tailscale_extra_param_help: +Specify any extra parameters to pass when running **`tailscale up`**. +For more details see the Tailscale CLI documentation. +:end + +:docker_tailscale_statedir_help: +If state directory detection fails on startup, you can specify a persistent directory in the container to override automatic detection, i.e. `/container-path/.tailscale_state` +:end + +:docker_tailscale_troubleshooting_packages_help: +Enable this to install `ping`, `nslookup`, `curl`, and `speedtest-cli` into the container to help troubleshoot networking issues. Once the issues are resolved we recommend disabling this to reduce the size of the container. +:end + :docker_privileged_help: For containers that require the use of host-device access directly or need full exposure to host capabilities, this option will need to be selected. For more information, see this link: https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities @@ -2415,7 +2621,7 @@ Note to Cloudflare users: the Cloudflare proxy is designed for http traffic, it :wg_local_server_uses_nat_help: When NAT is enabled, the server uses its own LAN address when forwarding traffic from the tunnel to other devices in the LAN network. -Use this setting when no router modifications are desired, but this approach doesn't work with Docker containers using custom IP addressess. +Use this setting when no router modifications are desired, but this approach doesn't work with Docker containers using custom IP addresses. When NAT is disabled, the server uses the WireGuard tunnel address when forwarding traffic. In this case it is required that the default gateway (router) has a static route configured to refer tunnel address back to the server. diff --git a/emhttp/plugins/dynamix.apcupsd/UPSdetails.page b/emhttp/plugins/dynamix.apcupsd/UPSdetails.page index 9eaa96693..a4e658f9b 100644 --- a/emhttp/plugins/dynamix.apcupsd/UPSdetails.page +++ b/emhttp/plugins/dynamix.apcupsd/UPSdetails.page @@ -14,10 +14,15 @@ Tag="battery-3" * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. */ +$docroot = $docroot ?? $_SERVER['DOCUMENT_ROOT'] ?: '/usr/local/emhttp'; +require_once "$docroot/webGui/include/Wrappers.php"; ?> diff --git a/emhttp/plugins/dynamix.docker.manager/DockerSettings.page b/emhttp/plugins/dynamix.docker.manager/DockerSettings.page index 86813766d..3102585b3 100644 --- a/emhttp/plugins/dynamix.docker.manager/DockerSettings.page +++ b/emhttp/plugins/dynamix.docker.manager/DockerSettings.page @@ -4,8 +4,8 @@ Icon="icon-docker" Tag="icon-docker" --- /dev/null",$dummy,$DockerStopped); -exec("ls --indicator-style=none /sys/class/net|awk '/^br[0-9]+$/'",$nics); -$bridge = count($nics)>0; - function strposX($s, $c, $n=1) { $p = 0; while ($n && $p=strpos($s,$c,$p)!==false) {$n--; $p+=strlen($c);} @@ -34,36 +31,47 @@ function strposX($s, $c, $n=1) { unset($custom,$other); exec("ls --indicator-style=none /sys/class/net|grep -P '^br[0-9]'",$custom); -exec("ls --indicator-style=none /sys/class/net|grep -P '^(bond|eth)[0-9]'",$other); +exec("ls --indicator-style=none /sys/class/net|grep -P '^(bond|eth|wlan)[0-9]'",$other); +$bridge = count($custom)>0; $slaves = []; + foreach ($other as $network) { if (substr($network,0,4)=='bond') { $br = str_replace('bond','br',$network); $bond = "/sys/class/net/$network/bonding/slaves"; if (file_exists($bond)) $slaves = array_merge($slaves,explode(' ',str_replace("\n","",file_get_contents($bond)))); if (!in_array($br,$custom)) $custom[] = $network; - } else { + } elseif (substr($network,0,3)=='eth') { $br = str_replace('eth','br',$network); $bond = str_replace('eth','bond',$network); if (!in_array($br,$custom) && !in_array($bond,$custom)) $custom[] = $network; + } else { + $custom[] = $network; } } -$include = $include6 = $address = $address6 = $gateway = $gateway6 = $unset = $protocol = []; -$wide = false; + +$include = $include6 = $address = $address6 = $gateway = $gateway6 = $unset = $protocol = []; +$wide = false; +$wlan = (array)@parse_ini_file('/var/local/emhttp/wireless.ini'); + foreach ($custom as $network) { if (in_array($network,$slaves)) continue; - $ip4 = exec("ip -br -4 addr show $network scope global|awk '{print $3}'"); - $ip6 = exec("ip -br -6 addr show $network scope global|awk '{print $3}'"); - $gw4 = $ip4 ? exec("ip -4 route show dev $network default|awk '{print $3;exit}'") : ''; - $gw6 = $ip6 ? exec("ip -6 route show dev $network default|awk '{print $3;exit}'") : ''; - $route4 = $ip4 ? exec("ip -4 route show dev $network $ip4|awk '{print $1;exit}'") : ''; - $route6 = $ip6 ? exec("ip -6 route show dev $network|awk '/^".substr($ip6,0,strposX($ip6,':',4))."/{print $1;exit}'") : ''; - [$eth,$vlan] = my_explode('.',$network); - $eth = str_replace(['bond','br'],'eth',$eth); - if (!$vlan) { - $protocol[$network] = _var($$eth,'PROTOCOL:0','ipv4'); + $ip4 = exec("ip -4 -br addr show $network scope global | awk '{print $3;exit}'"); + $ip6 = exec("ip -6 -br addr show $network scope global -temporary -deprecated | awk '{print $3;exit}'"); + $gw4 = $ip4 ? exec("ip -4 route show dev $network default | awk '{print $3;exit}'") : ''; + $gw6 = $ip6 ? exec("ip -6 route show dev $network default | awk '{print $3;exit}'") : ''; + $route4 = $ip4 ? exec("ip -4 route show dev $network $ip4 | awk '{print $1;exit}'") : ''; + $route6 = $ip6 ? exec("ip -6 route show dev $network | awk '/^".substr($ip6,0,strposX($ip6,':',4))."/{print $1;exit}'") : ''; + if (substr($network,0,4) != 'wlan') { + [$eth,$vlan] = my_explode('.',$network); + $eth = str_replace(['bond','br'],'eth',$eth); + if (!$vlan) { + $protocol[$network] = _var($$eth,'PROTOCOL:0','ipv4'); + } else { + foreach ($$eth as $key => $value) if (strpos($key,'VLANID')!==false && $value==$vlan) {$protocol[$network] = _var($$eth,str_replace('VLANID','PROTOCOL',$key),'ipv4'); break;} + } } else { - foreach ($$eth as $key => $value) if (strpos($key,'VLANID')!==false && $value==$vlan) {$protocol[$network] = _var($$eth,str_replace('VLANID','PROTOCOL',$key),'ipv4'); break;} + $protocol[$network] = empty($wlan['IP6']) ? 'ipv4' : 'ipv4+ipv6'; } if ($ip4 && $route4) { $include[$network] = $route4; @@ -89,20 +97,36 @@ $unset = array_unique($unset); function normalize($network) { return strtoupper(str_replace('.','_',$network)); } + function base_min($route) { [$net,$mask] = my_explode('/',$route); $mask = 32-$mask; return explode('.',long2ip((ip2long($net)>>$mask)<<$mask)); } + function base_max($route) { [$net,$mask] = my_explode('/',$route); $mask = 32-$mask; return explode('.',long2ip(((ip2long($net)>>$mask)<<$mask)+pow(2,$mask)-1)); } + function base_net($route) { return substr(explode('/',$route)[0],0,-2); } + +function hide_wlan($network) { + return $network=='wlan0' && lan_port(DockerUtil::port(),true)==1; +} + +function hide_eth($network) { + $mgmt_port = ['br0','bond0','eth0']; + return in_array($network,$mgmt_port) && lan_port('wlan0',true)==1; +} + $bgcolor = strstr('white,azure',$display['theme']) ? '#f2f2f2' : '#1c1c1c'; + +//Check if docker.cfg does exist +$no_dockercfg = !is_file('/boot/config/docker.cfg'); ?> @@ -132,21 +156,19 @@ _(Enable Docker)_: _(Enable container table readmore-js)_: : :docker_readmore_help: _(Docker Stop Timeout)_ (_(seconds)_): -: +: :docker_timeout_help: _(Docker PID Limit)_: -: +: :docker_pid_limit_help: @@ -163,15 +185,15 @@ _(Docker data-root)_: + + + _(Default appdata storage location)_: -: +: _(Modify with caution: unable to validate path until Array is Started)_ @@ -267,16 +306,20 @@ _(Preserve user defined networks)_: $net = normalize($network); $docker_auto = "DOCKER_AUTO_$net"; $docker_dhcp = "DOCKER_DHCP_$net"; +$hide_wlan = hide_wlan($network); ?> - + +
+ + _(IPv4 custom network on interface)_ (_(optional)_): (_(optional)_): case ($mask < 32): $prefix = $net[0].'.'.$net[1].'.'.$net[2]; $box = 3 ;break; } ?> -: > +: > **_(Subnet)_:** **_(Gateway)_:** - > + > **_(DHCP pool)_:**. (_(optional)_): echo ""; ?> + +
+ + :docker_include_interface_vlan_ipv4_help: @@ -324,11 +371,15 @@ _(IPv4 custom network on interface)_ (_(optional)_): + +
+ _(IPv4 custom network on interface)_ (_(optional)_): : > @@ -336,13 +387,16 @@ _(IPv4 custom network on interface)_ (_(optional)_): - **_(Gateway)_:** " title="_(IPv4 address A.B.C.D)_"> + **_(Gateway)_:** " title="_(IPv4 address A.B.C.D)_"> > **_(DHCP pool)_:** >/ ( _(hosts)_) + + +
@@ -355,13 +409,17 @@ _(IPv4 custom network on interface)_ (_(optional)_): $route):?> + +
+ _(IPv6 custom network on interface)_ (_(optional)_): (_(optional)_): $net_user = $dhcp6 ? str_replace("$net:","",base_net($dhcp6)) : ''; $mask_user = $dhcp6 ? explode('/',$dhcp6)[1] : $mask; ?> -: > +: > **_(Subnet)_:** **_(Gateway)_:** - > - **_(DHCP pool)_:**: -/ "; - echo ""; -?> + +
+ :docker_include_interface_vlan_ipv6_help: @@ -392,11 +445,15 @@ _(IPv6 custom network on interface)_ (_(optional)_): + +
+ _(IPv6 custom network on interface)_ (_(optional)_): : > @@ -404,11 +461,10 @@ _(IPv6 custom network on interface)_ (_(optional)_): **_(Gateway)_:**" title="_(IPv6 address nnnn:xxxx::yyyy)_"> - > - **_(DHCP pool)_:**>/ - + +
+ @@ -425,16 +481,21 @@ _(Docker version)_: _(Docker vDisk location)_: -: +: _(Docker directory)_: -: +: :docker_vdisk_location_active_help: +_(Docker storage driver)_: +: + +:docker_storage_driver_active_help: + _(Default appdata storage location)_: -: +: :docker_appdata_location_active_help: @@ -461,73 +522,117 @@ _(Preserve user defined networks)_: $route):?> - + + +
+ + _(IPv4 custom network on interface)_ : : **_(Subnet)_:** **_(Gateway)_:** **_(DHCP pool)_:**   ( _(hosts)_) + +
+ $value) { - if (strpos($key,'VLANID')!==false && $value==$vlan) {$protocol = _var($$eth,str_replace('VLANID','PROTOCOL',$key),'ipv4'); break;} +$port = normalize($network); +$hide_eth = hide_eth($network); + +if (substr($network,0,4) != 'wlan') { + [$eth,$vlan] = my_explode('.',$network); + $eth = str_replace(['bond','br'],'eth',$eth); + if (!$vlan) { + $protocol = _var($$eth,'PROTOCOL:0','ipv4'); + } else { + foreach ($$eth as $key => $value) { + if (strpos($key,'VLANID')!==false && $value==$vlan) {$protocol = _var($$eth,str_replace('VLANID','PROTOCOL',$key),'ipv4'); break;} + } } +} else { + $protocol = empty($wlan['IP6']) ? 'ipv4' : 'ipv4+ipv6'; } + [$subnet,$mask] = my_explode('/',_var($dockercfg,"DOCKER_SUBNET_$port")); [$range,$size] = my_explode('/',_var($dockercfg,"DOCKER_RANGE_$port")); ?> + +
+ + _(IPv4 custom network on interface)_ : : **_(Subnet)_:** / **_(Gateway)_:** **_(DHCP pool)_:**   ( _(hosts)_) + +
+ $route):?> + +
+ + _(IPv6 custom network on interface)_ : : **_(Subnet)_:** **_(Gateway)_:** - **_(DHCP pool)_:** + +
+ $value) { - if (strpos($key,'VLANID')!==false && $value==$vlan) {$protocol = _var($$eth,str_replace('VLANID','PROTOCOL',$key),'ipv4'); break;} +$port = normalize($network); +$hide_eth = hide_eth($network); + +if (substr($network,0,4) != 'wlan') { + [$eth,$vlan] = my_explode('.',$network); + $eth = str_replace(['bond','br'],'eth',$eth); + if (!$vlan) { + $protocol = _var($$eth,'PROTOCOL:0','ipv4'); + } else { + foreach ($$eth as $key => $value) { + if (strpos($key,'VLANID')!==false && $value==$vlan) {$protocol = _var($$eth,str_replace('VLANID','PROTOCOL',$key),'ipv4'); break;} + } } +} else { + $protocol = empty($wlan['IP6']) ? 'ipv4' : 'ipv4+ipv6'; } + [$subnet6,$mask6] = my_explode('/',_var($dockercfg,"DOCKER_SUBNET6_$port")); [$range6,$size6] = my_explode('/',_var($dockercfg,"DOCKER_RANGE6_$port")); ?> + +
+ + _(IPv6 custom network on interface)_ : : **_(Subnet)_:** / **_(Gateway)_:** - **_(DHCP pool)_:** + + +
+ @@ -592,6 +697,9 @@ function prepareDocker(form) { $(form).find('input[name="DOCKER_IMAGE_FILE"]').val($('#DOCKER_IMAGE_TYPE').val()=='folder' ? $("#DOCKER_IMAGE_FILE2").val() : $("#DOCKER_IMAGE_FILE1").val()); $("#DOCKER_IMAGE_FILE1").prop('disabled',true); $("#DOCKER_IMAGE_FILE2").prop('disabled',true); + + $(form).find('input[name="DOCKER_BACKINGFS"]').val($('#DOCKER_IMAGE_TYPE').val()=='folder' ? $("#DOCKER_BACKINGFS").val() : $("#DOCKER_BACKINGFS").val('native')); + $(form).find('input:hidden[name^="DOCKER_DHCP_"]').each(function(){ var id = '#'+$(this).attr('name')+'_'; @@ -666,47 +774,31 @@ function prepareDocker(form) { }); return true; } -function changeEdit(id,ip) { + +function changeEdit(id, ip) { var checked = $('#'+id).prop('checked'); - var id1 = '#'+id.substr(0,id.length-4); - if (ip==4) { - var name = id.substr(0,id.length-5).replace('DHCP','AUTO'); - var id2 = '#'+name.replace('AUTO','DHCP6')+'_'; - } else { - var name = id.substr(0,id.length-5).replace('DHCP6','AUTO'); - var id2 = '#'+name.replace('AUTO','DHCP')+'_'; - } + var id1 = '#'+id.substr(0,id.length-4); + var dhcp = (ip == 4) ? 'DHCP' : 'DHCP6'; + var name = id.substr(0,id.length-5).replace(dhcp,'AUTO'); + var auto = $('input:hidden[name="'+name+'"]'); if (checked) { $(id1+'line').removeClass('disabled'); $(id1+'dhcp').prop('disabled',false); - $(id2+'line').removeClass('disabled'); - $(id2+'dhcp').prop('disabled',false); - $(id2+'edit').prop('checked',true); + auto.val(auto.val().replace('no','')+ip); } else { $(id1+'line').addClass('disabled','disabled'); $(id1+'dhcp').prop('disabled',true); - $(id2+'line').addClass('disabled','disabled'); - $(id2+'dhcp').prop('disabled',true); - $(id2+'edit').prop('checked',false); - } - $('input:hidden[name="'+name+'"]').val(checked?'':'no'); - if (ip==4) { - changeDHCP(id,4,$('#'+id.replace('edit','dhcp')).prop('checked')); - id = id.replace('DHCP','DHCP6'); - $('#'+id).prop('checked',checked); - changeDHCP(id,6,$('#'+id.replace('edit','dhcp')).prop('checked')); - } else { - changeDHCP(id,6,$('#'+id.replace('edit','dhcp')).prop('checked')); - id = id.replace('DHCP6','DHCP'); - $('#'+id).prop('checked',checked); - changeDHCP(id,4,$('#'+id.replace('edit','dhcp')).prop('checked')); + auto.val(auto.val().replace(ip,'')); + if (auto.val() == '') auto.val('no'); } + changeDHCP(id, ip, $('#'+id.replace('edit','dhcp')).prop('checked')); } -function changeDHCP(id,ip,sid) { - if (sid==null) sid = true; + +function changeDHCP(id, ip, sid) { + if (sid == null) sid = true; var checked = $('#'+id).prop('checked') && sid; id = '#'+id.substr(0,id.length-4); - if (ip==4) { + if (ip == 4) { for (var b=1; b<=3; b++) if ($(id+b).length>0) $(id+b).prop('disabled',!checked); $(id+'mask').prop('disabled',!checked); if (checked) { @@ -726,14 +818,16 @@ function changeDHCP(id,ip,sid) { } } } -function customDHCP(id,ip) { + +function customDHCP(id, ip) { var checked = $('#'+id).prop('checked'); id = '#'+id.substr(0,id.length-4); $(id+'pool').prop('disabled',!checked); $(id+'size').prop('disabled',!checked); if (ip==4) checked ? $(id+'hosts').show() : $(id+'hosts').hide(); } -function changeCustom(id,ip) { + +function changeCustom(id, ip) { var checked = $('#'+id).prop('checked'); var device = id.substr(0,id.length-5).split('_').splice(2,2).join('.').toLowerCase(); id = '#'+id.substr(0,id.length-4); @@ -751,7 +845,8 @@ function changeCustom(id,ip) { $(id+'line').addClass('disabled','disabled'); } } -function changeMask(id,val) { + +function changeMask(id, val) { var mask = Math.pow(2,32-val); id = '#'+id.substr(0,id.length-4); $(id+'size').html('('+mask+' hosts)'); @@ -769,14 +864,17 @@ function changeMask(id,val) { if ($(cell+' option:selected').val()%step!=0) $(cell+' option:selected').removeAttr('selected'); } } -function changeHosts(id,val) { + +function changeHosts(id, val) { var mask = Math.pow(2,32-val); id = '#'+id.substr(0,id.length-4); $(id+'hosts').html('('+mask+' hosts)'); } + function ip2int(ip) { return ip.split('.').reduce(function(ipInt,octet){return (ipInt<<8)+parseInt(octet,10)},0)>>>0; } + function checkDHCP() { var good = true; $('#settingsForm').find('input[name^="DOCKER_DHCP_"]').each(function(){ @@ -806,6 +904,7 @@ function checkDHCP() { }); return good; } + function checkIP() { var validIP4 = /^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$/; var validIP6 = /^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i; @@ -836,6 +935,7 @@ function checkIP() { if (error) {swal({title:"_(Invalid IPv6 range)_",text:"_(Please enter a valid range)_",type:'error',html:true,confirmButtonText:"_(Ok)_"}); return false;} return true; } + function showLogOptions(log) { if (log == 'no') { $('#DOCKER_LOG_OPTIONS').hide('slow'); @@ -843,9 +943,11 @@ function showLogOptions(log) { $('#DOCKER_LOG_OPTIONS').show('slow'); } } -function prepareFS(form,cookie,value) { + +function prepareFS(form, cookie, value) { if ($(form).find('input[type="submit"]').val()=='Cancel') $.removeCookie(cookie); else $.cookie(cookie,value); } + function btrfsScrub(path) { $.post('/webGui/include/FileSystemStatus.php',{cmd:'scrub',path:path},function(data) { if (data.indexOf('running')>0) { @@ -857,46 +959,66 @@ function btrfsScrub(path) { } }); } + +var originalPath = $("#DOCKER_IMAGE_FILE2").val(); function updateLocation(val) { var content1 = $("#DOCKER_IMAGE_FILE1"); var content2 = $("#DOCKER_IMAGE_FILE2"); + var dropdown = $("#DOCKER_BACKINGFS"); + var path = originalPath.split('/'); switch (val) { case 'xfs': - var path = content2.val().split('/'); path.splice(-1,1); content1.val((path.join('/') + '/docker-xfs.img')); $('#vdisk_file').show('slow'); $('#vdisk_dir').hide('slow'); + $('#backingfs_type').hide(); content1.prop('disabled',false).trigger('change'); content2.prop('disabled',true); + dropdown.val('native'); break; case 'folder': - var path = content2.val().split('/'); if (path[path.length-1]=='') path.splice(-2,2); else path.splice(-1,1); - content2.val(path.join('/') + '/docker/'); + content2.val(path.join('/') + '/'); $('#vdisk_file').hide('slow'); $('#vdisk_dir').show('slow'); + $('#backingfs_type').show('slow'); content1.prop('disabled',true); content2.prop('disabled',false).trigger('change'); break; default: - var path = content2.val().split('/'); path.splice(-1,1); content1.val((path.join('/') + '/docker.img')); $('#vdisk_file').show('slow'); $('#vdisk_dir').hide('slow'); + $('#backingfs_type').hide(); content1.prop('disabled',false).trigger('change'); content2.prop('disabled',true); + dropdown.val('native'); break; } } + +function updateBackingFS(val) { + var backingfs = ""; + var warning = document.getElementById("WARNING_BACKINGFS"); + var checkbox = $(".deleteCheckbox"); + if (val !== backingfs) { + warning.style.display = "inline"; + } else { + warning.style.display = "none"; + } +} + function checkbox_state(value) { $.post('/plugins/dynamix.docker.manager/include/UpdateConfig.php',{action:'exist',name:value},function(state){state==0 ? $('.deleteLabel').fadeIn() : $('.deleteLabel').fadeOut();}); } + $(function() { if ($('#DOCKER_IMAGE_TYPE').val()=='folder') { $('#vdisk_dir').show(); + $('#backingfs_type').show(); checkbox_state($("#DOCKER_IMAGE_FILE2").val()); $("#DOCKER_IMAGE_FILE2").prop('disabled',false); } else { diff --git a/emhttp/plugins/dynamix.docker.manager/default.cfg b/emhttp/plugins/dynamix.docker.manager/default.cfg index fcaca76a8..f5516dc0b 100644 --- a/emhttp/plugins/dynamix.docker.manager/default.cfg +++ b/emhttp/plugins/dynamix.docker.manager/default.cfg @@ -9,3 +9,4 @@ DOCKER_ALLOW_ACCESS="" DOCKER_TIMEOUT=10 DOCKER_READMORE="yes" DOCKER_PID_LIMIT="" +DOCKER_BACKINGFS="overlay2" diff --git a/emhttp/plugins/dynamix.docker.manager/images/tailscale.png b/emhttp/plugins/dynamix.docker.manager/images/tailscale.png new file mode 100755 index 000000000..fd4a4fced Binary files /dev/null and b/emhttp/plugins/dynamix.docker.manager/images/tailscale.png differ diff --git a/emhttp/plugins/dynamix.docker.manager/include/ContainerManager.php b/emhttp/plugins/dynamix.docker.manager/include/ContainerManager.php index 90f2f770a..2f95ff114 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/ContainerManager.php +++ b/emhttp/plugins/dynamix.docker.manager/include/ContainerManager.php @@ -1,6 +1,6 @@ getDockerContainers(); if (file_exists($user_prefs)) { $prefs = parse_ini_file($user_prefs); $sort = []; foreach ($containers as $ct) $sort[] = array_search($ct,$prefs) ?? 999; array_multisort($sort, ($action=='start'?SORT_ASC:SORT_DESC), SORT_NUMERIC, $containers); } - foreach ($containers as $ct) { + if ( $action == "start") { + $key = array_search($ct,array_column($info,"Name")); + if ( $key === false ) continue; + if ($info[$key]['NetworkMode'] == "host" && $info[$key]['Cmd'] == "/opt/unraid/tailscale") + continue; + } DockerUtil::docker("$action $ct >/dev/null"); addRoute($ct); } diff --git a/emhttp/plugins/dynamix.docker.manager/include/CreateDocker.php b/emhttp/plugins/dynamix.docker.manager/include/CreateDocker.php index 23b41f3d6..8557ce6fa 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/CreateDocker.php +++ b/emhttp/plugins/dynamix.docker.manager/include/CreateDocker.php @@ -141,11 +141,24 @@ if (isset($_POST['contName'])) { @unlink("$userTmplDir/my-$existing.xml"); } } + // Extract real Entrypoint and Cmd from container for Tailscale + if (isset($_POST['contTailscale']) && $_POST['contTailscale'] == 'on') { + // Create preliminary base container but don't run it + exec("/usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker create --name '" . escapeshellarg($Name) . "' '" . escapeshellarg($Repository) . "'"); + // Get Entrypoint and Cmd from docker inspect + $containerInfo = $DockerClient->getContainerDetails($Name); + $ts_env = isset($containerInfo['Config']['Entrypoint']) ? '-e ORG_ENTRYPOINT="' . implode(' ', $containerInfo['Config']['Entrypoint']) . '" ' : ''; + $ts_env .= isset($containerInfo['Config']['Cmd']) ? '-e ORG_CMD="' . implode(' ', $containerInfo['Config']['Cmd']) . '" ' : ''; + // Insert Entrypoint and Cmd to docker command + $cmd = str_replace('-l net.unraid.docker.managed=dockerman', $ts_env . '-l net.unraid.docker.managed=dockerman' , $cmd); + // Remove preliminary container + exec("/usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker rm '" . escapeshellarg($Name) . "'"); + } if ($startContainer) $cmd = str_replace('/docker create ', '/docker run -d ', $cmd); execCommand($cmd); if ($startContainer) addRoute($Name); // add route for remote WireGuard access - echo '

'; + echo '

'; goto END; } @@ -169,6 +182,9 @@ if (isset($_GET['updateContainer'])){ $xml = file_get_contents($tmpl); [$cmd, $Name, $Repository] = xmlToCommand($tmpl); $Registry = getXmlVal($xml, "Registry"); + $ExtraParams = getXmlVal($xml, "ExtraParams"); + $Network = getXmlVal($xml, "Network"); + $TS_Enabled = getXmlVal($xml, "TailscaleEnabled"); $oldImageID = $DockerClient->getImageID($Repository); // pull image if ($echo && !pullImage($Name, $Repository)) continue; @@ -182,8 +198,39 @@ if (isset($_GET['updateContainer'])){ // attempt graceful stop of container first stopContainer($Name, false, $echo); } + // check if network from another container is specified in xml (Network & ExtraParams) + if (preg_match('/^container:(.*)/', $Network)) { + $Net_Container = str_replace("container:", "", $Network); + } else { + preg_match("/--(net|network)=container:[^\s]+/", $ExtraParams, $NetworkParam); + if (!empty($NetworkParam[0])) { + $Net_Container = explode(':', $NetworkParam[0])[1]; + $Net_Container = str_replace(['"', "'"], '', $Net_Container); + } + } + // check if the container still exists from which the network should be used, if it doesn't exist any more recreate container with network none and don't start it + if (!empty($Net_Container)) { + $Net_Container_ID = $DockerClient->getContainerID($Net_Container); + if (empty($Net_Container_ID)) { + $cmd = str_replace('/docker run -d ', '/docker create ', $cmd); + $cmd = preg_replace("/--(net|network)=(['\"]?)container:[^'\"]+\\2/", "--network=none ", $cmd); + } + } // force kill container if still running after time-out if (empty($_GET['communityApplications'])) removeContainer($Name, $echo); + // Extract real Entrypoint and Cmd from container for Tailscale + if ($TS_Enabled == 'true') { + // Create preliminary base container but don't run it + exec("/usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker create --name '" . escapeshellarg($Name) . "' '" . escapeshellarg($Repository) . "'"); + // Get Entrypoint and Cmd from docker inspect + $containerInfo = $DockerClient->getContainerDetails($Name); + $ts_env = isset($containerInfo['Config']['Entrypoint']) ? '-e ORG_ENTRYPOINT="' . implode(' ', $containerInfo['Config']['Entrypoint']) . '" ' : ''; + $ts_env .= isset($containerInfo['Config']['Cmd']) ? '-e ORG_CMD="' . implode(' ', $containerInfo['Config']['Cmd']) . '" ' : ''; + // Insert Entrypoint and Cmd to docker command + $cmd = str_replace('-l net.unraid.docker.managed=dockerman', $ts_env . '-l net.unraid.docker.managed=dockerman' , $cmd); + // Remove preliminary container + exec("/usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker rm '" . escapeshellarg($Name) . "'"); + } execCommand($cmd, $echo); if ($startContainer) addRoute($Name); // add route for remote WireGuard access $DockerClient->flushCaches(); @@ -213,6 +260,9 @@ if (isset($_GET['xmlTemplate'])) { if (is_file($xmlTemplate)) { $xml = xmlToVar($xmlTemplate); $templateName = $xml['Name']; + if (preg_match('/^container:(.*)/', $xml['Network'])) { + $xml['Network'] = explode(':', $xml['Network'], 2); + } if ($xmlType == 'default') { if (!empty($dockercfg['DOCKER_APP_CONFIG_PATH']) && file_exists($dockercfg['DOCKER_APP_CONFIG_PATH'])) { // override /config @@ -269,6 +319,164 @@ $authoring = $authoringMode ? 'advanced' : 'noshow'; $disableEdit = $authoringMode ? 'false' : 'true'; $showAdditionalInfo = ''; $bgcolor = strstr('white,azure',$display['theme']) ? '#f2f2f2' : '#1c1c1c'; + +# Search for existing TAILSCALE_ entries in the Docker template +$TS_existing_vars = false; +if (isset($xml["Config"]) && is_array($xml["Config"])) { + foreach ($xml["Config"] as $config) { + if (isset($config["Target"]) && strpos($config["Target"], "TAILSCALE_") === 0) { + $TS_existing_vars = true; + break; + } + } +} + +# Try to detect port from WebUI and set webui_url +$TSwebuiport = ''; +$webui_url = ''; +if (empty($xml['TailscalePort'])) { + if (!empty($xml['WebUI'])) { + $webui_url = parse_url($xml['WebUI']); + preg_match('/:(\d+)\]/', $webui_url['host'], $matches); + $TSwebuiport = $matches[1]; + } +} + +$TS_raw = []; +$TS_container_raw = []; +$TS_HostNameWarning = ""; +$TS_HTTPSDisabledWarning = ""; +$TS_ExitNodeNeedsApproval = false; +$TS_MachinesLink = "https://login.tailscale.com/admin/machines/"; +$TS_DirectMachineLink = $TS_MachinesLink; +$TS_HostNameActual = ""; +$TS_not_approved = ""; +$TS_https_enabled = false; +$ts_exit_nodes = []; +$ts_en_check = false; +// Get Tailscale information and create arrays/variables +!empty($xml) && exec("docker exec -i " . escapeshellarg($xml['Name']) . " /bin/sh -c \"tailscale status --peers=false --json\"", $TS_raw); +$TS_no_peers = json_decode(implode('', $TS_raw),true); +$TS_container = json_decode(implode('', $TS_raw),true); +$TS_container = $TS_container['Self']??''; + +# Look for Exit Nodes through Tailscale plugin (if installed) when container is not running +if (empty($TS_container) && file_exists('/usr/local/sbin/tailscale') && exec('pgrep --ns $$ -f "/usr/local/sbin/tailscaled"')) { + exec('tailscale exit-node list', $ts_exit_node_list, $retval); + if ($retval === 0) { + foreach ($ts_exit_node_list as $line) { + if (!empty(trim($line))) { + if (preg_match('/^(\d+\.\d+\.\d+\.\d+)\s+(.+)$/', trim($line), $matches)) { + $parts = preg_split('/\s+/', $matches[2]); + $ts_exit_nodes[] = [ + 'ip' => $matches[1], + 'hostname' => $parts[0], + 'country' => $parts[1], + 'city' => $parts[2], + 'status' => $parts[3] + ]; + $ts_en_check = true; + } + } + } + } +} + +if (!empty($TS_no_peers) && !empty($TS_container)) { + // define the direct link to this machine on the Tailscale website + if (!empty($TS_container['TailscaleIPs']) && !empty($TS_container['TailscaleIPs'][0])) { + $TS_DirectMachineLink = $TS_MachinesLink.$TS_container['TailscaleIPs'][0]; + } + // warn if MagicDNS or HTTPS is disabled + if (isset($TS_no_peers['Self']['Capabilities']) && is_array($TS_no_peers['Self']['Capabilities'])) { + $TS_https_enabled = in_array("https", $TS_no_peers['Self']['Capabilities'], true) ? true : false; + } + if (empty($TS_no_peers['CurrentTailnet']['MagicDNSEnabled']) || !$TS_no_peers['CurrentTailnet']['MagicDNSEnabled'] || $TS_https_enabled !== true) { + $TS_HTTPSDisabledWarning = "Enable HTTPS on your Tailscale account to use Tailscale Serve/Funnel."; + } + // In $TS_container, 'HostName' is what the user requested, need to parse 'DNSName' to find the actual HostName in use + $TS_DNSName = _var($TS_container,'DNSName',''); + $TS_HostNameActual = substr($TS_DNSName, 0, strpos($TS_DNSName, '.')); + // compare the actual HostName in use to the one in the XML file + if (strcasecmp($TS_HostNameActual, _var($xml, 'TailscaleHostname')) !== 0 && !empty($TS_DNSName)) { + // they are different, show a warning + $TS_HostNameWarning = "Warning: the actual Tailscale hostname is '".$TS_HostNameActual."'"; + } + // If this is an Exit Node, show warning if it still needs approval + if (_var($xml,'TailscaleIsExitNode') == 'true' && _var($TS_container, 'ExitNodeOption') === false) { + $TS_ExitNodeNeedsApproval = true; + } + //Check for key expiry + if(!empty($TS_container['KeyExpiry'])) { + $TS_expiry = new DateTime($TS_container['KeyExpiry']); + $current_Date = new DateTime(); + $TS_expiry_diff = $current_Date->diff($TS_expiry); + } + // Check for non approved routes + if(!empty($xml['TailscaleRoutes'])) { + $TS_advertise_routes = str_replace(' ', '', $xml['TailscaleRoutes']); + if (empty($TS_container['PrimaryRoutes'])) { + $TS_container['PrimaryRoutes'] = []; + } + $routes = explode(',', $TS_advertise_routes); + foreach ($routes as $route) { + if (!in_array($route, $TS_container['PrimaryRoutes'])) { + $TS_not_approved .= " " . $route; + } + } + } + // Check for exit nodes if ts_en_check was not already done + if (!$ts_en_check) { + exec("docker exec -i ".$xml['Name']." /bin/sh -c \"tailscale exit-node list\"", $ts_exit_node_list, $retval); + if ($retval === 0) { + foreach ($ts_exit_node_list as $line) { + if (!empty(trim($line))) { + if (preg_match('/^(\d+\.\d+\.\d+\.\d+)\s+(.+)$/', trim($line), $matches)) { + $parts = preg_split('/\s+/', $matches[2]); + $ts_exit_nodes[] = [ + 'ip' => $matches[1], + 'hostname' => $parts[0], + 'country' => $parts[1], + 'city' => $parts[2], + 'status' => $parts[3] + ]; + } + } + } + } + } + // Construct WebUI URL on container template page + // Check if webui_url, Tailscale WebUI and MagicDNS are not empty and make sure that MagicDNS is enabled + if ( !empty($webui_url) && !empty($xml['TailscaleWebUI']) && (!empty($TS_no_peers['CurrentTailnet']['MagicDNSEnabled']) || ($TS_no_peers['CurrentTailnet']['MagicDNSEnabled']??false))) { + // Check if serve or funnel are enabled by checking for [hostname] and replace string with TS_DNSName + if (!empty($xml['TailscaleWebUI']) && strpos($xml['TailscaleWebUI'], '[hostname]') !== false && isset($TS_DNSName)) { + $TS_webui_url = str_replace("[hostname][magicdns]", rtrim($TS_DNSName, '.'), $xml['TailscaleWebUI']); + $TS_webui_url = preg_replace('/\[IP\]/', rtrim($TS_DNSName, '.'), $TS_webui_url); + $TS_webui_url = preg_replace('/\[PORT:(\d{1,5})\]/', '443', $TS_webui_url); + // Check if serve is disabled, construct url with port, path and query if present and replace [noserve] with url + } elseif (strpos($xml['TailscaleWebUI'], '[noserve]') !== false && isset($TS_container['TailscaleIPs'])) { + $ipv4 = ''; + foreach ($TS_container['TailscaleIPs'] as $ip) { + if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) { + $ipv4 = $ip; + break; + } + } + if (!empty($ipv4)) { + $webui_url = isset($xml['WebUI']) ? parse_url($xml['WebUI']) : ''; + $webui_port = (preg_match('/\[PORT:(\d+)\]/', $xml['WebUI'], $matches)) ? ':' . $matches[1] : ''; + $webui_path = $webui_url['path'] ?? ''; + $webui_query = isset($webui_url['query']) ? '?' . $webui_url['query'] : ''; + $webui_query = preg_replace('/\[IP\]/', $ipv4, $webui_query); + $webui_query = preg_replace('/\[PORT:(\d{1,5})\]/', ltrim($webui_port, ':'), $webui_query); + $TS_webui_url = 'http://' . $ipv4 . $webui_port . $webui_path . $webui_query; + } + // Check if TailscaleWebUI in the xml is custom and display instead + } elseif (strpos($xml['TailscaleWebUI'], '[hostname]') === false && strpos($xml['TailscaleWebUI'], '[noserve]') === false) { + $TS_webui_url = $xml['TailscaleWebUI']; + } + } +} ?> "> "> @@ -423,6 +631,9 @@ function addConfigPopup() { Opts.Buttons += ""; } Opts.Number = confNum; + if (Opts.Type == "Device") { + Opts.Target = Opts.Value; + } newConf = makeConfig(Opts); $("#configLocation").append(newConf); reloadTriggers(); @@ -491,6 +702,9 @@ function editConfigPopup(num,disabled) { } Opts.Number = num; + if (Opts.Type == "Device") { + Opts.Target = Opts.Value; + } newConf = makeConfig(Opts); if (config.hasClass("config_"+Opts.Display)) { config.html(newConf); @@ -666,6 +880,18 @@ $(function() { }); }); + + +
@@ -706,7 +932,7 @@ _(Template)_:
_(Name)_: -: +: :docker_client_name_help: @@ -858,6 +1084,7 @@ _(Network Type)_: : + getDockerContainers() as $ct) { + if ($ct['Name'] !== $container_name) { + $list[] = $ct['Name']; + echo mk_option($ct['Name'], $ct['Name'], $ct['Name']); + } + } + ?> + + +:docker_container_network_help: + +
+ +

+ + +
+_(WARNING)_: +: _(Existing TAILSCALE variables found, please remove any existing modifications in the Template for Tailscale before using this function!)_ +
+ + + +
+_(First deployment)_: +:

_(After deploying the container, open the log and follow the link to register the container to your Tailnet!)_

+
+ + +
+_(Recommendation)_: +:

_(For the best experience with Tailscale, install "Tailscale (Plugin)" from)_ Community Applications.

+
+ + + + +
+_(Use Tailscale)_: +: onchange="showTailscale(this)"> + +:docker_tailscale_help: + +
+ +
+_(Use Tailscale)_: +: _(Option disabled as Network type is not bridge or custom)_ + +:docker_tailscale_help: + +
+
+_(NOTE)_: +: _(This option will install Tailscale and dependencies into the container.)_ +
+ + +
+Warning: +: Exit Node not yet approved. Navigate to the Tailscale website and approve it. +
+ + + +
+_(Warning)_: +invert):?> +: Tailscale Key expired! Renew/Disable key expiry for ''. + +: Tailscale Key will expire in days?> days! Disable Key Expiry for ''. + + +
+ + + +
+_(Warning)_: +: The following route(s) are not approved: +
+ + +
+_(Tailscale Hostname)_: +: placeholder="_(Hostname for the container)_"> + +:docker_tailscale_hostname_help: + +
+ +
+_(Be a Tailscale Exit Node)_: +: + + +:docker_tailscale_be_exitnode_help: + +
+ +
+_(Use a Tailscale Exit Node)_: + +: placeholder="_(IP/Hostname from Exit Node)_" onchange="processExitNodeoptions(this)"> + +: + + + + +:docker_tailscale_exitnode_ip_help: + +
+ +
+_(Tailscale Allow LAN Access)_: +: + +:docker_tailscale_lanaccess_help: + +
+ +
+_(Tailscale Userspace Networking)_: +: + + +:docker_tailscale_userspace_networking_help: + +
+ +
+_(Enable Tailscale SSH)_: +: + +:docker_tailscale_ssh_help: + +
+ +
+_(Tailscale Serve)_: +: +' . $TS_webui_url . ''; ?> + +:docker_tailscale_serve_mode_help: + +
+ +
+_(Tailscale Serve Port)_: +: + +:docker_tailscale_serve_port_help: + +
+ +
+_(Tailscale Show Advanced Settings)_: +: + +:docker_tailscale_show_advanced_help: + +
+ +
+_(Tailscale Serve Target)_: +: placeholder="_(Leave empty if unsure)_"> + +:docker_tailscale_serve_target_help: + +
+ +
+_(Tailscale Serve Local Path)_: +: placeholder="_(Leave empty if unsure)_"> + +:docker_tailscale_serve_local_path_help: + +
+ +
+_(Tailscale Serve Protocol)_: +: placeholder="_(Leave empty if unsure, defaults to https)_"> + +:docker_tailscale_serve_protocol_help: + +
+ +
+_(Tailscale Serve Protocol Port)_: +: placeholder="_(Leave empty if unsure, defaults to =443)_"> + +:docker_tailscale_serve_protocol_port_help: + +
+ +
+_(Tailscale Serve Path)_: +: placeholder="_(Leave empty if unsure)_"> + +:docker_tailscale_serve_path_help: + +
+ +
+_(Tailscale WebUI)_: +: +> + +:docker_tailscale_serve_webui_help: + +
+ +
+_(Tailscale Advertise Routes)_: +: placeholder="_(Leave empty if unsure)_"> + +:docker_tailscale_advertise_routes_help: + +
+ +
+_(Tailscale Accept Routes)_: +: + +:docker_tailscale_accept_routes_help: + +
+ +
+_(Tailscale Daemon Parameters)_: +: placeholder="_(Leave empty if unsure)_"> + +:docker_tailscale_daemon_extra_params_help: + +
+ +
+_(Tailscale Extra Parameters)_: +: placeholder="_(Leave empty if unsure)_"> + +:docker_tailscale_extra_param_help: + +
+ +
+_(Tailscale State Directory)_: +: placeholder="_(Leave empty if unsure)_"> + +:docker_tailscale_statedir_help: + +
+ +
+_(Tailscale Install Troubleshooting Packages)_: +: > + +:docker_tailscale_troubleshooting_packages_help: + +
+ +
+
+
+ _(Console shell command)_: : "; + if (empty($composestack)) { + if ($ct['Manager'] == "dockerman") { + echo ""; + } else { + echo " 3rd Party"; + } + } else { + echo " Compose"; + } echo ""; echo "
".htmlspecialchars(str_replace('Up',_('Uptime').':',my_lang_log($ct['Status'])))."
"._('Created').": ".htmlspecialchars(my_lang_time($ct['Created']))."
"; } diff --git a/emhttp/plugins/dynamix.docker.manager/include/Events.php b/emhttp/plugins/dynamix.docker.manager/include/Events.php index a16c1d418..841d87e9c 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/Events.php +++ b/emhttp/plugins/dynamix.docker.manager/include/Events.php @@ -1,6 +1,6 @@ _('Missing parameters')]; switch ($action) { case 'start': - if ($container) $arrResponse = ['success' => $DockerClient->startContainer($container)]; + if ($container) { + $info = $DockerClient->getDockerContainers(); + $key = array_search($container,array_column($info,"Id")); + if ( $key === false ) { + $arrResponse = ['success' => _('Container not found. Try reloading this page to fix.')]; + break; + } + if ($info[$key]['NetworkMode'] == "host" && $info[$key]['Cmd'] == "/opt/unraid/tailscale") { + $arrResponse = ['success'=> _('For security reasons, containers with Network Type "Host" should not have Tailscale enabled. Please disable Tailscale in this container or change the Network Type of the container.')]; + break; + } + $arrResponse = ['success' => $DockerClient->startContainer($container)]; + } break; case 'pause': if ($container) $arrResponse = ['success' => $DockerClient->pauseContainer($container)]; diff --git a/emhttp/plugins/dynamix.docker.manager/include/Helpers.php b/emhttp/plugins/dynamix.docker.manager/include/Helpers.php index 70ee33d7c..bfbfd9735 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/Helpers.php +++ b/emhttp/plugins/dynamix.docker.manager/include/Helpers.php @@ -1,6 +1,6 @@ appendChild($dom->createElement("Container")); $xml = simplexml_import_dom($dom); - $xml['version'] = 2; - $xml->Name = xml_encode(preg_replace('/\s+/', '', $post['contName'])); - $xml->Repository = xml_encode(trim($post['contRepository'])); - $xml->Registry = xml_encode(trim($post['contRegistry'])); - $xml->Network = xml_encode($post['contNetwork']); - $xml->MyIP = xml_encode($post['contMyIP']); - $xml->Shell = xml_encode($post['contShell']); - $xml->Privileged = strtolower($post['contPrivileged']??'')=='on' ? 'true' : 'false'; - $xml->Support = xml_encode($post['contSupport']); - $xml->Project = xml_encode($post['contProject']); - $xml->Overview = xml_encode($post['contOverview']); - $xml->Category = xml_encode($post['contCategory']); - $xml->WebUI = xml_encode(trim($post['contWebUI'])); - $xml->TemplateURL = xml_encode($post['contTemplateURL']); - $xml->Icon = xml_encode(trim($post['contIcon'])); - $xml->ExtraParams = xml_encode($post['contExtraParams']); - $xml->PostArgs = xml_encode($post['contPostArgs']); - $xml->CPUset = xml_encode($post['contCPUset']); - $xml->DateInstalled = xml_encode(time()); - $xml->DonateText = xml_encode($post['contDonateText']); - $xml->DonateLink = xml_encode($post['contDonateLink']); - $xml->Requires = xml_encode($post['contRequires']); - + $xml['version'] = 2; + $xml->Name = xml_encode(preg_replace('/\s+/', '', $post['contName'])); + $xml->Repository = xml_encode(trim($post['contRepository'])); + $xml->Registry = xml_encode(trim($post['contRegistry'])); + if (isset($post['netCONT']) && !empty(trim($post['netCONT']))) { + $xml->Network = xml_encode($post['contNetwork'].':'.$post['netCONT']); + } else { + $xml->Network = xml_encode($post['contNetwork']); + } + $xml->MyIP = xml_encode($post['contMyIP']); + $xml->Shell = xml_encode($post['contShell']); + $xml->Privileged = strtolower($post['contPrivileged']??'')=='on' ? 'true' : 'false'; + $xml->Support = xml_encode($post['contSupport']); + $xml->Project = xml_encode($post['contProject']); + $xml->Overview = xml_encode($post['contOverview']); + $xml->Category = xml_encode($post['contCategory']); + $xml->WebUI = xml_encode(trim($post['contWebUI'])); + $xml->TemplateURL = xml_encode($post['contTemplateURL']); + $xml->Icon = xml_encode(trim($post['contIcon'])); + $xml->ExtraParams = xml_encode($post['contExtraParams']); + $xml->PostArgs = xml_encode($post['contPostArgs']); + $xml->CPUset = xml_encode($post['contCPUset']); + $xml->DateInstalled = xml_encode(time()); + $xml->DonateText = xml_encode($post['contDonateText']); + $xml->DonateLink = xml_encode($post['contDonateLink']); + $xml->Requires = xml_encode($post['contRequires']); $size = is_array($post['confName']??null) ? count($post['confName']) : 0; for ($i = 0; $i < $size; $i++) { $Type = $post['confType'][$i]; @@ -78,6 +105,33 @@ function postToXML($post, $setOwnership=false) { $config['Required'] = xml_encode($post['confRequired'][$i]); $config['Mask'] = xml_encode($post['confMask'][$i]); } + if (isset($post['contTailscale']) && strtolower($post['contTailscale']) == 'on') { + $xml->TailscaleEnabled = 'true'; + $xml->TailscaleIsExitNode = xml_encode($post['TSisexitnode']); + $xml->TailscaleHostname = xml_encode($post['TShostname']); + $xml->TailscaleExitNodeIP = isset($post['TSexitnodeip']) ? xml_encode($post['TSexitnodeip']) : ''; + $xml->TailscaleSSH = xml_encode($post['TSssh']); + $xml->TailscaleUserspaceNetworking = xml_encode($post['TSuserspacenetworking']); + $xml->TailscaleLANAccess = xml_encode($post['TSallowlanaccess']); + $xml->TailscaleServe = xml_encode($post['TSserve']); + $xml->TailscaleWebUI = xml_encode(generateTSwebui($post['TSwebui'], $post['TSserve'], $post['contWebUI'])); + if (isset($post['TSserve']) && strtolower($post['TSserve']) !== 'no') { + $xml->TailscaleServePort = xml_encode($post['TSserveport']); + $xml->TailscaleServeTarget = xml_encode($post['TSservetarget']); + $xml->TailscaleServeLocalPath = xml_encode($post['TSservelocalpath']); + $xml->TailscaleServeProtocol = xml_encode($post['TSserveprotocol']); + $xml->TailscaleServeProtocolPort = xml_encode($post['TSserveprotocolport']); + $xml->TailscaleServePath = xml_encode($post['TSservepath']); + } + $xml->TailscaleDParams = xml_encode($post['TSdaemonparams']); + $xml->TailscaleParams = xml_encode($post['TSextraparams']); + $xml->TailscaleRoutes = xml_encode($post['TSroutes']);; + $xml->TailscaleAcceptRoutes = xml_encode($post['TSacceptroutes']);; + if (isset($post['TStroubleshooting']) && strtolower($post['TStroubleshooting']) === 'on') { + $xml->TailscaleTroubleshooting = 'true'; + } + } + $xml->TailscaleStateDir = xml_encode($post['TSstatedir']); $dom = new DOMDocument('1.0'); $dom->preserveWhiteSpace = false; $dom->formatOutput = true; @@ -87,29 +141,50 @@ function postToXML($post, $setOwnership=false) { function xmlToVar($xml) { global $subnet; - $xml = is_file($xml) ? simplexml_load_file($xml) : simplexml_load_string($xml); - $out = []; - $out['Name'] = preg_replace('/\s+/', '', xml_decode($xml->Name)); - $out['Repository'] = xml_decode($xml->Repository); - $out['Registry'] = xml_decode($xml->Registry); - $out['Network'] = xml_decode($xml->Network); - $out['MyIP'] = xml_decode($xml->MyIP ?? ''); - $out['Shell'] = xml_decode($xml->Shell ?? 'sh'); - $out['Privileged'] = xml_decode($xml->Privileged); - $out['Support'] = xml_decode($xml->Support); - $out['Project'] = xml_decode($xml->Project); - $out['Overview'] = stripslashes(xml_decode($xml->Overview)); - $out['Category'] = xml_decode($xml->Category); - $out['WebUI'] = xml_decode($xml->WebUI); - $out['TemplateURL'] = xml_decode($xml->TemplateURL); - $out['Icon'] = xml_decode($xml->Icon); - $out['ExtraParams'] = xml_decode($xml->ExtraParams); - $out['PostArgs'] = xml_decode($xml->PostArgs); - $out['CPUset'] = xml_decode($xml->CPUset); - $out['DonateText'] = xml_decode($xml->DonateText); - $out['DonateLink'] = xml_decode($xml->DonateLink); - $out['Requires'] = xml_decode($xml->Requires); - $out['Config'] = []; + $xml = is_file($xml) ? simplexml_load_file($xml) : simplexml_load_string($xml); + $out = []; + $out['Name'] = preg_replace('/\s+/', '', xml_decode($xml->Name)); + $out['Repository'] = xml_decode($xml->Repository); + $out['Registry'] = xml_decode($xml->Registry); + $out['Network'] = xml_decode($xml->Network); + $out['MyIP'] = xml_decode($xml->MyIP ?? ''); + $out['Shell'] = xml_decode($xml->Shell ?? 'sh'); + $out['Privileged'] = xml_decode($xml->Privileged); + $out['Support'] = xml_decode($xml->Support); + $out['Project'] = xml_decode($xml->Project); + $out['Overview'] = stripslashes(xml_decode($xml->Overview)); + $out['Category'] = xml_decode($xml->Category); + $out['WebUI'] = xml_decode($xml->WebUI); + $out['TemplateURL'] = xml_decode($xml->TemplateURL); + $out['Icon'] = xml_decode($xml->Icon); + $out['ExtraParams'] = xml_decode($xml->ExtraParams); + $out['PostArgs'] = xml_decode($xml->PostArgs); + $out['CPUset'] = xml_decode($xml->CPUset); + $out['DonateText'] = xml_decode($xml->DonateText); + $out['DonateLink'] = xml_decode($xml->DonateLink); + $out['Requires'] = xml_decode($xml->Requires); + $out['TailscaleEnabled'] = xml_decode($xml->TailscaleEnabled ?? ''); + $out['TailscaleIsExitNode'] = xml_decode($xml->TailscaleIsExitNode ?? ''); + $out['TailscaleHostname'] = xml_decode($xml->TailscaleHostname ?? ''); + $out['TailscaleExitNodeIP'] = xml_decode($xml->TailscaleExitNodeIP ?? ''); + $out['TailscaleSSH'] = xml_decode($xml->TailscaleSSH ?? ''); + $out['TailscaleLANAccess'] = xml_decode($xml->TailscaleLANAccess ?? ''); + $out['TailscaleUserspaceNetworking'] = xml_decode($xml->TailscaleUserspaceNetworking ?? ''); + $out['TailscaleServe'] = xml_decode($xml->TailscaleServe ?? ''); + $out['TailscaleServePort'] = xml_decode($xml->TailscaleServePort ?? ''); + $out['TailscaleServeTarget'] = xml_decode($xml->TailscaleServeTarget ?? ''); + $out['TailscaleServeLocalPath'] = xml_decode($xml->TailscaleServeLocalPath ?? ''); + $out['TailscaleServeProtocol'] = xml_decode($xml->TailscaleServeProtocol ?? ''); + $out['TailscaleServeProtocolPort'] = xml_decode($xml->TailscaleServeProtocolPort ?? ''); + $out['TailscaleServePath'] = xml_decode($xml->TailscaleServePath ?? ''); + $out['TailscaleWebUI'] = xml_decode($xml->TailscaleWebUI ?? ''); + $out['TailscaleRoutes'] = xml_decode($xml->TailscaleRoutes ?? ''); + $out['TailscaleAcceptRoutes'] = xml_decode($xml->TailscaleAcceptRoutes ?? ''); + $out['TailscaleDParams'] = xml_decode($xml->TailscaleDParams ?? ''); + $out['TailscaleParams'] = xml_decode($xml->TailscaleParams ?? ''); + $out['TailscaleStateDir'] = xml_decode($xml->TailscaleStateDir ?? ''); + $out['TailscaleTroubleshooting'] = xml_decode($xml->TailscaleTroubleshooting ?? ''); + $out['Config'] = []; if (isset($xml->Config)) { foreach ($xml->Config as $config) { $c = []; @@ -137,7 +212,11 @@ function xmlToVar($xml) { $out['Network'] = xml_decode($xml->Networking->Mode); } // check if network exists - if (!key_exists($out['Network'],$subnet)) $out['Network'] = 'none'; + if (preg_match('/^container:(.*)/', $out['Network'])) { + $out['Network'] = $out['Network']; + } elseif (!key_exists($out['Network'],$subnet)) { + $out['Network'] = 'none'; + } // V1 compatibility if ($xml['version'] != '2') { if (isset($xml->Description)) { @@ -230,11 +309,9 @@ function xmlSecurity(&$template) { xmlSecurity($element); } else { if (is_string($element)) { - $tempElement = htmlspecialchars_decode($element); - $tempElement = str_replace("[","<",$tempElement); - $tempElement = str_replace("]",">",$tempElement); - if (preg_match('#(.*?)#is',$tempElement) || preg_match('#(.*?)#is',$tempElement) || (stripos($tempElement,""],["",""],$tempElement); } } } @@ -242,11 +319,15 @@ function xmlSecurity(&$template) { } function xmlToCommand($xml, $create_paths=false) { - global $docroot, $var, $cfg, $driver; + global $docroot, $var, $driver; $xml = xmlToVar($xml); $cmdName = strlen($xml['Name']) ? '--name='.escapeshellarg($xml['Name']) : ''; $cmdPrivileged = strtolower($xml['Privileged'])=='true' ? '--privileged=true' : ''; - $cmdNetwork = preg_match('/\-\-net(work)?=/',$xml['ExtraParams']) ? "" : '--net='.escapeshellarg(strtolower($xml['Network'])); + if (preg_match('/^container:(.*)/', $xml['Network'])) { + $cmdNetwork = preg_match('/\-\-net(work)?=/',$xml['ExtraParams']) ? "" : '--net='.escapeshellarg($xml['Network']); + } else { + $cmdNetwork = preg_match('/\-\-net(work)?=/',$xml['ExtraParams']) ? "" : '--net='.escapeshellarg(strtolower($xml['Network'])); + } $cmdMyIP = ''; foreach (explode(' ',str_replace(',',' ',$xml['MyIP'])) as $myIP) if ($myIP) $cmdMyIP .= (strpos($myIP,':')?'--ip6=':'--ip=').escapeshellarg($myIP).' '; $cmdCPUset = strlen($xml['CPUset']) ? '--cpuset-cpus='.escapeshellarg($xml['CPUset']) : ''; @@ -259,7 +340,7 @@ function xmlToCommand($xml, $create_paths=false) { $Variables[] = 'TZ="'.$var['timeZone'].'"'; // Add HOST_OS variable $Variables[] = 'HOST_OS="Unraid"'; - // Add HOST_HOSTNAME variable + // Add HOST_HOSTNAME variable $Variables[] = 'HOST_HOSTNAME="'.$var['NAME'].'"'; // Add HOST_CONTAINERNAME variable $Variables[] = 'HOST_CONTAINERNAME="'.$xml['Name'].'"'; @@ -268,6 +349,78 @@ function xmlToCommand($xml, $create_paths=false) { if (strlen($xml['WebUI'])) $Labels[] = 'net.unraid.docker.webui='.escapeshellarg($xml['WebUI']); if (strlen($xml['Icon'])) $Labels[] = 'net.unraid.docker.icon='.escapeshellarg($xml['Icon']); + // Initialize Tailscale variables + $TS_entrypoint = ''; + $TS_hook = ''; + $TS_hostname = ''; + $TS_hostname_label = ''; + $TS_ssh = ''; + $TS_tundev = ''; + $TS_cap = ''; + $TS_exitnode = ''; + $TS_exitnode_ip = ''; + $TS_lan_access = ''; + $TS_userspace_networking = ''; + $TS_daemon_params = ''; + $TS_extra_params = ''; + $TS_state_dir = ''; + $TS_serve_funnel = ''; + $TS_serve_port = ''; + $TS_serve_target = ''; + $TS_serve_local_path = ''; + $TS_serve_protocol = ''; + $TS_serve_protocol_port = ''; + $TS_serve_path = ''; + $TS_web_ui = ''; + $TS_troubleshooting = ''; + $TS_routes = ''; + $TS_accept_routes =''; + $TS_postargs = ''; + // Get all information from xml and create variables for cmd + if ($xml['TailscaleEnabled'] == 'true') { + $TS_entrypoint = '--entrypoint=\'/opt/unraid/tailscale\''; + $TS_hook = '-v \'/usr/local/share/docker/tailscale_container_hook\':\'/opt/unraid/tailscale\''; + $TS_hostname = !empty($xml['TailscaleHostname']) ? '-e TAILSCALE_HOSTNAME=' . escapeshellarg($xml['TailscaleHostname']) : ''; + $TS_hostname_label = !empty($xml['TailscaleHostname']) ? '-l net.unraid.docker.tailscale.hostname=' . escapeshellarg($xml['TailscaleHostname']) : ''; + $TS_ssh = !empty($xml['TailscaleSSH']) ? '-e TAILSCALE_USE_SSH=' . escapeshellarg($xml['TailscaleSSH']) : ''; + $TS_daemon_params = !empty($xml['TailscaleDParams']) ? '-e TAILSCALED_PARAMS=' . escapeshellarg($xml['TailscaleDParams']) : ''; + $TS_extra_params = !empty($xml['TailscaleParams']) ? '-e TAILSCALE_PARAMS=' . escapeshellarg($xml['TailscaleParams']) : ''; + $TS_state_dir = !empty($xml['TailscaleStateDir']) ? '-e TAILSCALE_STATE_DIR=' . escapeshellarg($xml['TailscaleStateDir']) : ''; + $TS_userspace_networking = !empty($xml['TailscaleUserspaceNetworking']) ? '-e TAILSCALE_USERSPACE_NETWORKING=' . escapeshellarg($xml['TailscaleUserspaceNetworking']) : ''; + // Only add tun, cap and specific vairables to containers which are defined as Exit Nodes and Userspace Networking disabled + if (_var($xml,'TailscaleIsExitNode') == 'true') { + $TS_tundev = preg_match('/--d(evice)?[= ](\'?\/dev\/net\/tun\'?)/', $xml['ExtraParams']) ? "" : "--device='/dev/net/tun'"; + $TS_cap = preg_match('/--cap\-add=NET_ADMIN/', $xml['ExtraParams']) ? "" : "--cap-add=NET_ADMIN"; + $TS_exitnode = '-e TAILSCALE_EXIT_NODE=true'; + } elseif (_var($xml,'TailscaleUserspaceNetworking') == 'false') { + $TS_tundev = preg_match('/--d(evice)?[= ](\'?\/dev\/net\/tun\'?)/', $xml['ExtraParams']) ? "" : "--device='/dev/net/tun'"; + $TS_cap = preg_match('/--cap\-add=NET_ADMIN/', $xml['ExtraParams']) ? "" : "--cap-add=NET_ADMIN"; + $TS_lan_access = '-e TAILSCALE_ALLOW_LAN_ACCESS=' . escapeshellarg($xml['TailscaleLANAccess']); + $TS_exitnode_ip = !empty($xml['TailscaleExitNodeIP']) ? '-e TAILSCALE_EXIT_NODE_IP=' . escapeshellarg($xml['TailscaleExitNodeIP']) : ''; + } + $TS_serve_funnel = ($xml['TailscaleServe'] == 'funnel') ? '-e TAILSCALE_FUNNEL=true' : ''; + $TS_serve_port = !empty($xml['TailscaleServePort']) ? '-e TAILSCALE_SERVE_PORT=' . escapeshellarg($xml['TailscaleServePort']) : ''; + $TS_serve_target = !empty($xml['TailscaleServeTarget']) ? '-e TAILSCALE_SERVE_TARGET=' . escapeshellarg($xml['TailscaleServeTarget']) : ''; + $TS_serve_local_path = !empty($xml['TailscaleServeLocalPath']) ? '-e TAILSCALE_SERVE_LOCALPATH=' . escapeshellarg($xml['TailscaleServeLocalPath']) : ''; + $TS_serve_protocol = !empty($xml['TailscaleServeProtocol']) ? '-e TAILSCALE_SERVE_PROTOCOL=' . escapeshellarg($xml['TailscaleServeProtocol']) : ''; + $TS_serve_protocol_port = !empty($xml['TailscaleServeProtocolPort']) ? '-e TAILSCALE_SERVE_PROTOCOL_PORT=' . escapeshellarg($xml['TailscaleServeProtocolPort']) : ''; + $TS_serve_path = !empty($xml['TailscaleServePath']) ? '-e TAILSCALE_SERVE_PATH=' . escapeshellarg($xml['TailscaleServePath']) : ''; + $TS_web_ui = !empty($xml['TailscaleWebUI']) ? '-l net.unraid.docker.tailscale.webui=' . escapeshellarg($xml['TailscaleWebUI']) : ''; + $TS_troubleshooting = !empty($xml['TailscaleTroubleshooting']) ? '-e TAILSCALE_TROUBLESHOOTING=' . escapeshellarg($xml['TailscaleTroubleshooting']) : ''; + $TS_routes = !empty($xml['TailscaleRoutes']) ? '-e TAILSCALE_ADVERTISE_ROUTES=' . escapeshellarg($xml['TailscaleRoutes']) : ''; + $TS_accept_routes = !empty($xml['TailscaleAcceptRoutes']) && $xml['TailscaleAcceptRoutes'] === 'true' ? '-e TAILSCALE_ACCEPT_ROUTES=true' : ''; + if (!empty($xml['PostArgs'])) { + $split_PostArgs = strpos($xml['PostArgs'], ';'); + if ($split_PostArgs !== false) { + $TS_postargs = !empty(substr($xml['PostArgs'], 0, $split_PostArgs)) ? '-e ORG_POSTARGS=' . escapeshellarg(substr($xml['PostArgs'], 0, $split_PostArgs)) : ''; + $xml['PostArgs'] = ';' . substr($xml['PostArgs'], $split_PostArgs + 1); + } else { + $TS_postargs = '-e ORG_POSTARGS=' . escapeshellarg($xml['PostArgs']); + $xml['PostArgs'] = ''; + } + } + } + foreach ($xml['Config'] as $key => $config) { $confType = strtolower(strval($config['Type'])); $hostConfig = strlen($config['Value']) ? $config['Value'] : $config['Default']; @@ -307,12 +460,17 @@ function xmlToCommand($xml, $create_paths=false) { } } + /* Read the docker configuration file. */ + $cfgfile = "/boot/config/docker.cfg"; + $config_ini = @parse_ini_file($cfgfile, true, INI_SCANNER_RAW); + $docker_cfg = ($config_ini !== false) ? $config_ini : []; + // Add pid limit if user has not specified it as an extra parameter $pidsLimit = preg_match('/--pids-limit (\d+)/', $xml['ExtraParams'], $matches) ? $matches[1] : null; if ($pidsLimit === null) { $pid_limit = "--pids-limit "; - if (($cfg['DOCKER_PID_LIMIT']??'') != "") { - $pid_limit .= $cfg['DOCKER_PID_LIMIT']; + if (($docker_cfg['DOCKER_PID_LIMIT']??'') != "") { + $pid_limit .= $docker_cfg['DOCKER_PID_LIMIT']; } else { $pid_limit .= "2048"; } @@ -320,8 +478,8 @@ function xmlToCommand($xml, $create_paths=false) { $pid_limit = ""; } - $cmd = sprintf($docroot.'/plugins/dynamix.docker.manager/scripts/docker create %s %s %s %s %s %s %s %s %s %s %s %s %s %s', - $cmdName, $cmdNetwork, $cmdMyIP, $cmdCPUset, $pid_limit, $cmdPrivileged, implode(' -e ', $Variables), implode(' -l ', $Labels), implode(' -p ', $Ports), implode(' -v ', $Volumes), implode(' --device=', $Devices), $xml['ExtraParams'], escapeshellarg($xml['Repository']), $xml['PostArgs']); + $cmd = sprintf($docroot.'/plugins/dynamix.docker.manager/scripts/docker create %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s', + $cmdName, $TS_entrypoint, $cmdNetwork, $cmdMyIP, $cmdCPUset, $pid_limit, $cmdPrivileged, implode(' -e ', $Variables), $TS_hostname, $TS_exitnode, $TS_exitnode_ip, $TS_lan_access, $TS_routes, $TS_accept_routes, $TS_ssh, $TS_userspace_networking, $TS_serve_funnel, $TS_serve_port, $TS_serve_target, $TS_serve_local_path, $TS_serve_protocol, $TS_serve_protocol_port, $TS_serve_path, $TS_daemon_params, $TS_extra_params, $TS_state_dir, $TS_troubleshooting, $TS_postargs, implode(' -l ', $Labels), $TS_web_ui, $TS_hostname_label, implode(' -p ', $Ports), implode(' -v ', $Volumes), $TS_hook, $TS_cap, $TS_tundev, implode(' --device=', $Devices), $xml['ExtraParams'], escapeshellarg($xml['Repository']), $xml['PostArgs']); return [preg_replace('/\s\s+/', ' ', $cmd), $xml['Name'], $xml['Repository']]; } function stopContainer($name, $t=false, $echo=true) { @@ -486,7 +644,7 @@ function execCommand($command, $echo=true) { function getXmlVal($xml, $element, $attr=null, $pos=0) { $xml = (is_file($xml)) ? simplexml_load_file($xml) : simplexml_load_string($xml); - $element = $xml->xpath("//$element")[$pos]; + $element = $xml->xpath("//$element")[$pos] ?? null; return isset($element) ? (isset($element[$attr]) ? strval($element[$attr]) : strval($element)) : ""; } @@ -507,17 +665,23 @@ function setXmlVal(&$xml, $value, $el, $attr=null, $pos=0) { } function getAllocations() { - global $DockerClient, $host; - + global $DockerClient; + $host = DockerUtil::host(); $ports = []; foreach ($DockerClient->getDockerContainers() as $ct) { $list = $port = []; $nat = $ip = false; $list['Name'] = $ct['Name']; foreach ($ct['Ports'] as $tmp) { - $nat = $tmp['NAT']; - $ip = $tmp['IP']; - $port[] = $tmp['PublicPort']; + if (isset($tmp['NAT'])) { + $nat = $tmp['NAT']; + } + if (isset($tmp['IP'])) { + $ip = $tmp['IP']; + } + if (isset($tmp['PublicPort'])) { + $port[] = $tmp['PublicPort']; + } } sort($port); $ip = $ct['NetworkMode']=='host'||$nat ? $host : ($ip ?: DockerUtil::myIP($ct['Name']) ?: '0.0.0.0'); diff --git a/emhttp/plugins/dynamix.docker.manager/javascript/docker.js b/emhttp/plugins/dynamix.docker.manager/javascript/docker.js index a1a3a0d20..7b170ac08 100644 --- a/emhttp/plugins/dynamix.docker.manager/javascript/docker.js +++ b/emhttp/plugins/dynamix.docker.manager/javascript/docker.js @@ -1,10 +1,11 @@ var eventURL = '/plugins/dynamix.docker.manager/include/Events.php'; -function addDockerContainerContext(container, image, template, started, paused, update, autostart, webui, shell, id, Support, Project, Registry, donateLink, ReadMe) { +function addDockerContainerContext(container, image, template, started, paused, update, autostart, webui, tswebui, shell, id, Support, Project, Registry, donateLink, ReadMe) { var opts = []; - context.settings({right:false,above:false}); + context.settings({right:false,above:'auto'}); if (started && !paused) { - if (webui !== '' && webui != '#') opts.push({text:_('WebUI'), icon:'fa-globe', href:webui, target:'_blank'}); + if (webui !== '' && webui != '#') opts.push({text:_('WebUI'), icon:'fa-globe', action:function(e){e.preventDefault();window.open(webui,'_blank');}}); + if (tswebui !== '' && tswebui != '#') opts.push({text:_('Tailscale WebUI'), icon:'fa-globe', action:function(e){e.preventDefault();window.open(tswebui,'_blank');}}); opts.push({text:_('Console'), icon:'fa-terminal', action:function(e){e.preventDefault(); openTerminal('docker',container,shell);}}); opts.push({divider:true}); } @@ -48,6 +49,7 @@ function addDockerContainerContext(container, image, template, started, paused, opts.push({divider:true}); opts.push({text:_('Donate'),icon:'fa-external-link', href:donateLink,target:'_blank'}); } + context.destroy('#'+id); context.attach('#'+id, opts); } function addDockerImageContext(image, imageTag) { diff --git a/emhttp/plugins/dynamix.docker.manager/nchan/docker_load b/emhttp/plugins/dynamix.docker.manager/nchan/docker_load index 60793bc94..a0a7e9c9f 100755 --- a/emhttp/plugins/dynamix.docker.manager/nchan/docker_load +++ b/emhttp/plugins/dynamix.docker.manager/nchan/docker_load @@ -1,4 +1,13 @@ #!/bin/bash + while :; do - curl -sfd "$(docker stats --no-stream --format='{{.ID}};{{.CPUPerc}};{{.MemUsage}}')" --unix-socket /var/run/nginx.socket http://localhost/pub/dockerload?buffer_length=0 >/dev/null 2>&1 + output=$(docker stats --no-stream --format='{{.ID}};{{.CPUPerc}};{{.MemUsage}}' 2>&1) + if [[ $? -ne 0 ]]; then + logger -t webgui "docker stats error: $output" + exit 1 + fi + if [[ -n "$output" ]]; then + curl -sfd "$output" --unix-socket /var/run/nginx.socket http://localhost/pub/dockerload?buffer_length=1 >/dev/null 2>&1 + fi + sleep 1 done diff --git a/emhttp/plugins/dynamix.docker.manager/scripts/docker_init b/emhttp/plugins/dynamix.docker.manager/scripts/docker_init index 27e7b363a..8431d2a25 100755 --- a/emhttp/plugins/dynamix.docker.manager/scripts/docker_init +++ b/emhttp/plugins/dynamix.docker.manager/scripts/docker_init @@ -1,2 +1,36 @@ -#!/bin/bash +#!/usr/bin/php +load("/boot/config/plugins/dockerMan/templates-user/my-{$cont[0]}.xml")) { + $newAuto[] = $container; + continue; + } + if ( ($doc->getElementsByTagName("Network")->item(0)->nodeValue ?? false) == "host" ) { + if ( ($doc->getElementsByTagName("TailscaleEnabled")->item(0)->nodeValue ?? false) == true ) { + exec("logger ".escapeshellarg("Autostart disabled on {$cont[0]} due to tailscale integration with host network.")); + exec("logger ".escapeshellarg("This is a security risk due to the possibility of unauthenticated access to your server's GUI and resources")); + exec("/usr/local/emhttp/plugins/dynamix/scripts/notify -e 'Autostart Disabled' -s 'Autostart Disabled' -d ".escapeshellarg("Autostart disabled automatically on {$cont[0]}")." -m ".escapeshellarg("Autostart has been automatically disabled on {$cont[0]} due to a security issue with container on network type host and tailscale integration enabled. You should either switch the network type or disabled tailscale integration on this container")." -i 'alert' -l '/Docker'"); + $flag = true; + continue; + } + } + $newAuto[] = $container; +} +if ( $flag ) + file_put_contents("/var/lib/docker/unraid-autostart",implode("\n",$newAuto)."\n"); +?> diff --git a/emhttp/plugins/dynamix.docker.manager/scripts/docker_rm b/emhttp/plugins/dynamix.docker.manager/scripts/docker_rm index 819a691ed..583b6d3e0 100755 --- a/emhttp/plugins/dynamix.docker.manager/scripts/docker_rm +++ b/emhttp/plugins/dynamix.docker.manager/scripts/docker_rm @@ -1,5 +1,74 @@ #!/bin/bash +# Useful to delete a docker runtime diretory. In case of btrfs storage driver, handles deletion of btrfs +# subvolumes used to store image layers. Similarly, in caes of zfs storage driver, handles deletion of +# zfs datasets used to store image layers. Assumes dockerd is not running. + +# Note: If the $target diretory is spit across multiple volumes, this operation is a no-op. + +# Caution: in case of 'native' zfs storage driver which uses datasets to store layers, $target is irrelevant +# because datasets are not listed under directories. This script will destroy *all* legacy datasets in the +# volume. For example, consider two directories on same volume: + +# /mnt/cache/docker +# /mnt/cache/docker-backup + +# Each directory holds a valid docker tree structure, maybe 'docker' is current and 'docker-backup' is +# a backup. User decides he no loner needs 'docker-backup' so he invokes this script. The result will be +# that not only will /mnt/cache/docker-backup be deleted, but all datasets belonging to /mnt/cache/docker +# will also be deleted. This is because we cannot tell which datasets belong with which docker instance. + +# If /mnt/cache/docker and /mnt/cache/docker-backup were themselves datasets, then we would be able to, but +# this is not implemented here. + +dereference() { + local DIR=$1 + # if directory is on user share, attempt to dereference + if [[ "$DIR" == /mnt/user/* ]]; then + # getfattr would return blank if /mnt/user/ is a bind-mount + local DISK=$(getfattr -n system.LOCATIONS --absolute-names --only-values "$DIR" 2>/dev/null) + if [[ -n "$DISK" ]]; then + # whitespace in $DISK would exist if $target is split across multiple volumes + [[ ! "$DISK" =~ [[:space:]] ]] && DIR="${DIR/user/$DISK}" || DIR="" + fi + fi + echo "$DIR" +} + +rm_docker() { + local target="${1%/}" + + # sanity check that this is a docker folder + if [[ ! -d "$target/containerd" ]]; then + echo "docker_rm: $target is not a docker folder" + exit 1 + fi + + # dereference folder on user share + target=$(dereference "$target") + if [[ -z "$target" ]]; then + echo "docker_rm: $target is split across multiple volumes" + exit 1 + fi + + if [[ -d "$target/btrfs/subvolumes" ]]; then + # delete btrfs subvolumes + for subvol in "$target/btrfs/subvolumes/"*; do + btrfs subvolume delete -cR "$subvol" + done + elif [[ -d "$target/zfs" ]]; then + # destroy zfs 'legacy' datasets + zfs list -rHo name,mountpoint "$target" 2>/dev/null | awk '$2 == "legacy" {print $1}' | while read -r dataset; do + echo "docker_rm: zfs destroy -R $dataset" + zfs destroy -R "$dataset" + done + fi + + # delete files and directories + echo "docker_rm: rm -rf $target" + rm -rf "$target" +} + # delete the docker image file or folder if [[ -f /boot/config/docker.cfg ]]; then rm -f /var/local/emhttp/plugins/dynamix.docker.manager/docker.json @@ -9,6 +78,6 @@ if [[ -f /boot/config/docker.cfg ]]; then rm -f "$DOCKER_IMAGE_FILE" elif [[ -d $DOCKER_IMAGE_FILE ]]; then echo "Deleting $DOCKER_IMAGE_FILE ..." - rm -rf "$DOCKER_IMAGE_FILE" + rm_docker "$DOCKER_IMAGE_FILE" fi fi diff --git a/emhttp/plugins/dynamix.docker.manager/scripts/dockerupdate b/emhttp/plugins/dynamix.docker.manager/scripts/dockerupdate index 592e3fc00..33002a6e4 100755 --- a/emhttp/plugins/dynamix.docker.manager/scripts/dockerupdate +++ b/emhttp/plugins/dynamix.docker.manager/scripts/dockerupdate @@ -24,7 +24,7 @@ $_SERVER['REQUEST_URI'] = "scripts"; $login_locale = _var($display,'locale'); require_once "$docroot/webGui/include/Translations.php"; -exec("pgrep docker", $pid); +exec('pgrep --ns $$ docker', $pid); if (count($pid) == 1) exit(0); $DockerClient = new DockerClient(); diff --git a/emhttp/plugins/dynamix.docker.manager/scripts/update_container b/emhttp/plugins/dynamix.docker.manager/scripts/update_container index 501c9a42f..b82feaf5a 100755 --- a/emhttp/plugins/dynamix.docker.manager/scripts/update_container +++ b/emhttp/plugins/dynamix.docker.manager/scripts/update_container @@ -170,6 +170,7 @@ foreach (explode('*',rawurldecode($argv[1])) as $value) { $xml = file_get_contents($tmpl); [$cmd, $Name, $Repository] = xmlToCommand($tmpl); $Registry = getXmlVal($xml, "Registry"); + $TS_Enabled = getXmlVal($xml, "TailscaleEnabled"); $oldImageID = $DockerClient->getImageID($Repository); // pull image if (!pullImage_nchan($Name, $Repository)) continue; @@ -182,14 +183,25 @@ foreach (explode('*',rawurldecode($argv[1])) as $value) { // attempt graceful stop of container first stopContainer_nchan($Name); } - if ( ($argv[2]??null) == "ca_docker_run_override" ) + if ( ($argv[2]??null) == "ca_docker_run_override" ) $startContainer = true; - if ( $startContainer ) $cmd = str_replace('/docker create ', '/docker run -d ', $cmd); - // force kill container if still running after 10 seconds if (empty($_GET['communityApplications'])) removeContainer_nchan($Name); + // Extract real Entrypoint and Cmd from container for Tailscale + if ($TS_Enabled == 'true') { + // Create preliminary base container but don't run it + exec("/usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker create --name '" . escapeshellarg($Name) . "' '" . escapeshellarg($Repository) . "'"); + // Get Entrypoint and Cmd from docker inspect + $containerInfo = $DockerClient->getContainerDetails($Name); + $ts_env = isset($containerInfo['Config']['Entrypoint']) ? '-e ORG_ENTRYPOINT="' . implode(' ', $containerInfo['Config']['Entrypoint']) . '" ' : ''; + $ts_env .= isset($containerInfo['Config']['Cmd']) ? '-e ORG_CMD="' . implode(' ', $containerInfo['Config']['Cmd']) . '" ' : ''; + // Insert Entrypoint and Cmd to docker command + $cmd = str_replace('-l net.unraid.docker.managed=dockerman', $ts_env . '-l net.unraid.docker.managed=dockerman' , $cmd); + // Remove preliminary container + exec("/usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker rm '" . escapeshellarg($Name) . "'"); + } execCommand_nchan($cmd); if ($startContainer) addRoute($Name); // add route for remote WireGuard access $DockerClient->flushCaches(); diff --git a/emhttp/plugins/dynamix.docker.manager/styles/DockerManager.css b/emhttp/plugins/dynamix.docker.manager/styles/DockerManager.css index 56d7ca5a4..76f1f2fd4 100644 --- a/emhttp/plugins/dynamix.docker.manager/styles/DockerManager.css +++ b/emhttp/plugins/dynamix.docker.manager/styles/DockerManager.css @@ -176,3 +176,20 @@ .ui-dropdownchecklist .ui-widget-content .ui-state-default { background: var(--dockermanager-default-background); } + +.ui-tailscale-row { + display: flex; + justify-content: space-between; + min-width: 300px; + width: 100%; + flex-wrap: nowrap; + overflow-x: auto; +} + +.ui-tailscale-label { + flex: 1; +} + +.ui-tailscale-value { + flex: 3; +} diff --git a/emhttp/plugins/dynamix.docker.manager/system/Docker b/emhttp/plugins/dynamix.docker.manager/system/Docker new file mode 100755 index 000000000..236ef3d7f --- /dev/null +++ b/emhttp/plugins/dynamix.docker.manager/system/Docker @@ -0,0 +1,28 @@ +#!/bin/bash +# Get active containers +ACTIVE_CONTAINERS="$(docker ps -q --no-trunc 2>/dev/null)" + +# Exit if no containers are active and return zero +if [[ -z $ACTIVE_CONTAINERS ]]; then + echo "0" + exit +fi + +# Get all relevant memory entries from containers +for container in ${ACTIVE_CONTAINERS} ; do + CONT_MEMORY="$(cat /sys/fs/cgroup/docker/${container}/memory.stat 2>/dev/null | grep -Ew "anon|kernel|kernel_stack|pagetables|sec_pagetables|percpu|sock|vmalloc|shmem" | awk '{print $2}')" + # Add up memory values + for value in ${CONT_MEMORY} ; do + if [[ ${value} =~ ^[0-9]+$ ]]; then + ((MEMORY_USAGE += value)) + fi + done + unset CONT_MEMORY +done + +# Check if value is a integer and return the value otherwiese return zero +if [[ ${MEMORY_USAGE} =~ ^[0-9]+$ ]]; then + echo "${MEMORY_USAGE}" +else + echo "0" +fi diff --git a/emhttp/plugins/dynamix.my.servers/Registration.page b/emhttp/plugins/dynamix.my.servers/Registration.page index 8aa41be25..812ed720b 100644 --- a/emhttp/plugins/dynamix.my.servers/Registration.page +++ b/emhttp/plugins/dynamix.my.servers/Registration.page @@ -14,7 +14,10 @@ Tag="pencil" * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. */ +require_once "$docroot/plugins/dynamix/include/ReplaceKey.php"; +$replaceKey = new ReplaceKey(); +$replaceKey->check(true); ?> - + \ No newline at end of file diff --git a/emhttp/plugins/dynamix.my.servers/include/state.php b/emhttp/plugins/dynamix.my.servers/include/state.php index e4c70dd56..276788f4d 100644 --- a/emhttp/plugins/dynamix.my.servers/include/state.php +++ b/emhttp/plugins/dynamix.my.servers/include/state.php @@ -114,7 +114,7 @@ class ServerState /** * Retrieve the value of a webgui global setting. */ - public function getWebguiGlobal(string $key, string $subkey = null) { + public function getWebguiGlobal(string $key, ?string $subkey = null) { if (!$subkey) { return _var($this->webguiGlobals, $key, ''); } diff --git a/emhttp/plugins/dynamix.my.servers/unraid-components/_nuxt/unraid-components-BvEqdEb_.css b/emhttp/plugins/dynamix.my.servers/unraid-components/_nuxt/unraid-components-BvEqdEb_.css new file mode 100644 index 000000000..9c1519ada --- /dev/null +++ b/emhttp/plugins/dynamix.my.servers/unraid-components/_nuxt/unraid-components-BvEqdEb_.css @@ -0,0 +1,10 @@ +pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*! + Theme: GitHub Dark + Description: Dark theme as seen on github.com + Author: github.com + Maintainer: @Hirse + Updated: 2021-05-15 + + Outdated base version: https://github.com/primer/github-syntax-dark + Current colors taken from GitHub's CSS +*/.hljs{background:#0d1117;color:#c9d1d9}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#79c0ff}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-code,.hljs-comment,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{background-color:#033a16;color:#aff5b4}.hljs-deletion{background-color:#67060c;color:#ffdcd7} diff --git a/emhttp/plugins/dynamix.my.servers/unraid-components/_nuxt/unraid-components-p_3YF86n.css b/emhttp/plugins/dynamix.my.servers/unraid-components/_nuxt/unraid-components-p_3YF86n.css deleted file mode 100644 index 74abff59b..000000000 --- a/emhttp/plugins/dynamix.my.servers/unraid-components/_nuxt/unraid-components-p_3YF86n.css +++ /dev/null @@ -1 +0,0 @@ -:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:clear-sans,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;tab-size:4;-webkit-tap-highlight-color:transparent}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}progress{vertical-align:initial}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:initial;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:initial}.select-all{-webkit-user-select:all;user-select:all}.gap-x-16px{column-gap:16px}.gap-x-4px{column-gap:4px}.gap-x-8px{column-gap:8px}.border-transparent{border-color:#0000}.bg-transparent{background-color:initial}.from-unraid-red{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:#e2282800 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-orange\/60{--tw-gradient-to:#ff8c2f99 var(--tw-gradient-to-position)}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 #0000000d;--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-green-600\/30{--tw-shadow-color:#16a34a4d;--tw-shadow:var(--tw-shadow-colored)}.shadow-orange\/10{--tw-shadow-color:#ff8c2f1a;--tw-shadow:var(--tw-shadow-colored)}.shadow-unraid-red\/30{--tw-shadow-color:#e228284d;--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid #0000;outline-offset:2px}.hover\:from-unraid-red:hover{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:#e2282800 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-unraid-red\/60:hover{--tw-gradient-from:#e2282899 var(--tw-gradient-from-position);--tw-gradient-to:#e2282800 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:to-orange\/60:hover{--tw-gradient-to:#ff8c2f99 var(--tw-gradient-to-position)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-orange\/50:hover{--tw-shadow-color:#ff8c2f80;--tw-shadow:var(--tw-shadow-colored)}.focus\:from-unraid-red:focus{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:#e2282800 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-unraid-red\/60:focus{--tw-gradient-from:#e2282899 var(--tw-gradient-from-position);--tw-gradient-to:#e2282800 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:to-orange\/60:focus{--tw-gradient-to:#ff8c2f99 var(--tw-gradient-to-position)}.focus\:shadow-md:focus{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}@media (min-width:530px){.xs\:block{display:block}.xs\:flex-row{flex-direction:row}.xs\:items-baseline{align-items:baseline}.xs\:justify-start{justify-content:flex-start}.xs\:gap-x-12px{column-gap:12px}.xs\:text-12px{font-size:12px}}/*! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:clear-sans,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:470px){.container{max-width:470px}}@media (min-width:530px){.container{max-width:530px}}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--color-beta);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:#ff8c2f;font-weight:500;text-decoration:underline}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)):hover{color:#f15a2c}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-inline-start-color:var(--tw-prose-quote-borders);border-inline-start-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em;quotes:"“""”""‘""’"}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-bottom:2em;margin-top:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;text-align:start;width:100%}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em;vertical-align:bottom}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:var(--color-beta);--tw-prose-headings:var(--color-beta);--tw-prose-lead:var(--color-beta);--tw-prose-links:#ff8c2f;--tw-prose-bold:var(--color-beta);--tw-prose-counters:var(--color-beta);--tw-prose-bullets:var(--color-beta);--tw-prose-hr:var(--color-beta);--tw-prose-quotes:var(--color-beta);--tw-prose-quote-borders:var(--color-beta);--tw-prose-captions:var(--color-beta);--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:var(--color-beta);--tw-prose-pre-code:var(--color-beta);--tw-prose-pre-bg:var(--color-alpha);--tw-prose-th-borders:var(--color-beta);--tw-prose-td-borders:var(--color-beta);--tw-prose-invert-body:var(--color-alpha);--tw-prose-invert-headings:var(--color-alpha);--tw-prose-invert-lead:var(--color-alpha);--tw-prose-invert-links:#ff8c2f;--tw-prose-invert-bold:var(--color-alpha);--tw-prose-invert-counters:var(--color-alpha);--tw-prose-invert-bullets:var(--color-alpha);--tw-prose-invert-hr:var(--color-alpha);--tw-prose-invert-quotes:var(--color-alpha);--tw-prose-invert-quote-borders:var(--color-alpha);--tw-prose-invert-captions:var(--color-alpha);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:var(--color-alpha);--tw-prose-invert-pre-code:var(--color-alpha);--tw-prose-invert-pre-bg:var(--color-beta);--tw-prose-invert-th-borders:var(--color-alpha);--tw-prose-invert-td-borders:var(--color-alpha);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose{--tw-prose-invert-code-bg:var(--color-gamma-opaque)}body{--color-alpha:#1c1b1b;--color-beta:#f2f2f2;--color-gamma:#999;--color-gamma-opaque:hsla(0,0%,60%,.5);--color-customgradient-start:hsla(0,0%,95%,0);--color-customgradient-end:hsla(0,0%,95%,.85);--shadow-beta:0 25px 50px -12px hsla(0,0%,95%,.15);--ring-offset-shadow:0 0 --var(--color-beta);--ring-shadow:0 0 --var(--color-beta)}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-\[2px\]{bottom:-2px}.-left-\[2px\]{left:-2px}.-right-\[2px\]{right:-2px}.-top-1{top:-.25rem}.-top-\[2px\]{top:-2px}.bottom-0{bottom:0}.bottom-\[-3px\]{bottom:-3px}.right-0{right:0}.top-0{top:0}.top-\[1px\]{top:1px}.top-full{top:100%}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-\[99999\]{z-index:99999}.mx-8px{margin-left:8px;margin-right:8px}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-bottom:0;margin-top:0}.my-12{margin-bottom:3rem;margin-top:3rem}.my-16px{margin-bottom:16px;margin-top:16px}.my-24px{margin-bottom:24px;margin-top:24px}.my-8px{margin-bottom:8px;margin-top:8px}.mb-4px{margin-bottom:4px}.mb-8px{margin-bottom:8px}.ml-3{margin-left:.75rem}.ml-8px{margin-left:8px}.mr-8px{margin-right:8px}.mt-0{margin-top:0}.mt-12px{margin-top:12px}.mt-2{margin-top:.5rem}.mt-24px{margin-top:24px}.mt-4px{margin-top:4px}.mt-8px{margin-top:8px}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-12px{height:12px}.h-16px{height:16px}.h-20px{height:20px}.h-24px{height:24px}.h-2px{height:2px}.h-32px{height:32px}.h-36px{height:36px}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-full{height:100%}.max-h-\[65vh\]{max-height:65vh}.min-h-\[250px\]{min-height:250px}.min-h-screen{min-height:100vh}.w-1\/2{width:50%}.w-11{width:2.75rem}.w-12px{width:12px}.w-14px{width:14px}.w-16px{width:16px}.w-20px{width:20px}.w-24px{width:24px}.w-28px{width:28px}.w-2px{width:2px}.w-32px{width:32px}.w-36px{width:36px}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-\[100px\]{width:100px}.w-\[110px\]{width:110px}.w-\[120px\]{width:120px}.w-\[125\%\]{width:125%}.w-\[150px\]{width:150px}.w-\[44px\]{width:44px}.w-\[48px\]{width:48px}.w-full{width:100%}.w-screen{width:100vw}.min-w-300px{min-width:300px}.min-w-\[280px\]{min-width:280px}.max-w-1024px{max-width:1024px}.max-w-160px{max-width:160px}.max-w-350px{max-width:350px}.max-w-3xl{max-width:48rem}.max-w-640px{max-width:640px}.max-w-800px{max-width:800px}.max-w-\[45ch\]{max-width:45ch}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.grow-0{flex-grow:0}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-20px{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-20px{--tw-translate-x:20px}.translate-x-\[26px\]{--tw-translate-x:26px}.translate-x-\[26px\],.translate-x-\[2px\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[2px\]{--tw-translate-x:2px}.translate-y-\[16px\]{--tw-translate-y:16px}.scale-100,.translate-y-\[16px\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-12px{gap:12px}.gap-16px{gap:16px}.gap-2{gap:.5rem}.gap-20px{gap:20px}.gap-4{gap:1rem}.gap-4px{gap:4px}.gap-6{gap:1.5rem}.gap-8px{gap:8px}.gap-x-16px{-moz-column-gap:16px;column-gap:16px}.gap-x-4px{-moz-column-gap:4px;column-gap:4px}.gap-x-8px{-moz-column-gap:8px;column-gap:8px}.gap-y-16px{row-gap:16px}.gap-y-24px{row-gap:24px}.gap-y-4px{row-gap:4px}.gap-y-8px{row-gap:8px}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-normal{white-space:normal}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b-2{border-bottom-width:2px}.border-l-0{border-left-width:0}.border-r-0{border-right-width:0}.border-t-0{border-top-width:0}.border-solid{border-style:solid}.border-none{border-style:none}.border-black{--tw-border-opacity:1;border-color:rgb(28 27 27/var(--tw-border-opacity))}.border-gamma-opaque{border-color:var(--color-gamma-opaque)}.border-green-600\/10{border-color:#16a34a1a}.border-grey-mid{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.border-orange{--tw-border-opacity:1;border-color:rgb(255 140 47/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-unraid-red{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.border-unraid-red\/10{border-color:#e228281a}.border-unraid-red\/90{border-color:#e22828e6}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.border-white\/10{border-color:#ffffff1a}.border-yellow-100{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity))}.bg-alpha{background-color:var(--color-alpha)}.bg-beta{background-color:var(--color-beta)}.bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-current{background-color:currentColor}.bg-gamma{background-color:var(--color-gamma)}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.bg-grey{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.bg-orange{--tw-bg-opacity:1;background-color:rgb(255 140 47/var(--tw-bg-opacity))}.bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-unraid-red{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.bg-unraid-red\/90{background-color:#e22828e6}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity))}.bg-opacity-80{--tw-bg-opacity:.8}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-unraid-red{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-orange{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.to-orange\/60{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-green-600{fill:#16a34a}.fill-unraid-red{fill:#e22828}.p-0{padding:0}.p-1{padding:.25rem}.p-12px{padding:12px}.p-16px{padding:16px}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8px{padding:8px}.px-12px{padding-left:12px;padding-right:12px}.px-16px{padding-left:16px;padding-right:16px}.px-4{padding-left:1rem;padding-right:1rem}.px-4px{padding-left:4px;padding-right:4px}.px-6px{padding-left:6px;padding-right:6px}.px-8px{padding-left:8px;padding-right:8px}.py-0{padding-bottom:0;padding-top:0}.py-12px{padding-bottom:12px;padding-top:12px}.py-24px{padding-bottom:24px;padding-top:24px}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-4px{padding-bottom:4px;padding-top:4px}.py-8px{padding-bottom:8px;padding-top:8px}.pb-12{padding-bottom:3rem}.pb-8px{padding-bottom:8px}.pl-40px{padding-left:40px}.pr-16px{padding-right:16px}.pr-40px{padding-right:40px}.pr-4px{padding-right:4px}.pt-4px{padding-top:4px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-10px{font-size:10px}.text-12px{font-size:12px}.text-14px{font-size:14px}.text-16px{font-size:16px}.text-18px{font-size:18px}.text-20px{font-size:20px}.text-24px{font-size:24px}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-wide{letter-spacing:.025em}.text-\[\#486dba\]{--tw-text-opacity:1;color:rgb(72 109 186/var(--tw-text-opacity))}.text-alpha{color:var(--color-alpha)}.text-beta{color:var(--color-beta)}.text-black{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.text-current{color:currentColor}.text-gamma{color:var(--color-gamma)}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.text-grey-mid{--tw-text-opacity:1;color:rgb(153 153 153/var(--tw-text-opacity))}.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity))}.text-orange{--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.text-pink-800{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-unraid-red{--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-inner{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[var\(--ring-offset-shadow\)_var\(--ring-shadow\)_var\(--shadow-beta\)\]{--tw-shadow-color:var(--ring-offset-shadow) var(--ring-shadow) var(--shadow-beta);--tw-shadow:var(--tw-shadow-colored)}.shadow-green-600\/30{--tw-shadow-color:rgba(22,163,74,.3);--tw-shadow:var(--tw-shadow-colored)}.shadow-orange\/10{--tw-shadow-color:rgba(255,140,47,.1);--tw-shadow:var(--tw-shadow-colored)}.shadow-unraid-red\/30{--tw-shadow-color:rgba(226,40,40,.3);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-black{outline-color:#1c1b1b}.outline-white{outline-color:#fff}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.even\:bg-black\/5:nth-child(2n){background-color:#1c1b1b0d}.even\:bg-grey-darkest:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(34 34 34/var(--tw-bg-opacity))}@keyframes pulse{50%{opacity:.5}}.hover\:animate-pulse:hover{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.hover\:border-beta:hover{border-color:var(--color-beta)}.hover\:border-grey:hover{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.hover\:border-grey-mid:hover{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.hover\:border-orange-dark:hover{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.hover\:border-unraid-red:hover{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.hover\:bg-beta:hover{background-color:var(--color-beta)}.hover\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.hover\:bg-grey-mid:hover{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.hover\:bg-unraid-red:hover{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:bg-gradient-to-r:hover{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.hover\:from-unraid-red:hover{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-unraid-red\/60:hover{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:to-orange:hover{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.hover\:to-orange\/60:hover{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.hover\:text-\[\#3b5ea9\]:hover{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.hover\:text-alpha:hover{color:var(--color-alpha)}.hover\:text-black:hover{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:no-underline:hover{text-decoration-line:none}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-75:hover{opacity:.75}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-orange\/50:hover{--tw-shadow-color:rgba(255,140,47,.5);--tw-shadow:var(--tw-shadow-colored)}.focus\:border-beta:focus{border-color:var(--color-beta)}.focus\:border-grey:focus{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.focus\:border-grey-mid:focus{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.focus\:border-orange-dark:focus{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.focus\:border-unraid-red:focus{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.focus\:bg-beta:focus{background-color:var(--color-beta)}.focus\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.focus\:bg-grey-mid:focus{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.focus\:bg-unraid-red:focus{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.focus\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.focus\:bg-gradient-to-r:focus{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.focus\:from-unraid-red:focus{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:from-unraid-red\/60:focus{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\:to-orange:focus{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.focus\:to-orange\/60:focus{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.focus\:text-\[\#3b5ea9\]:focus{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.focus\:text-alpha:focus{color:var(--color-alpha)}.focus\:text-black:focus{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.focus\:text-white:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.focus\:underline:focus{text-decoration-line:underline}.focus\:no-underline:focus{text-decoration-line:none}.focus\:opacity-100:focus{opacity:1}.focus\:opacity-75:focus{opacity:.75}.focus\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity))}.focus\:ring-indigo-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(79 70 229/var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-25:disabled{opacity:.25}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:hover\:opacity-25:hover:disabled{opacity:.25}.disabled\:hover\:opacity-50:hover:disabled{opacity:.5}.disabled\:focus\:opacity-25:focus:disabled{opacity:.25}.disabled\:focus\:opacity-50:focus:disabled{opacity:.5}.group:hover .group-hover\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:hover .group-hover\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:hover .group-hover\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:hover .group-hover\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:hover .group-hover\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:hover .group-hover\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:hover .group-hover\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:hover .group-hover\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:hover .group-hover\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:hover .group-hover\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:hover .group-hover\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:hover .group-hover\:underline{text-decoration-line:underline}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:opacity-60{opacity:.6}.group:hover .group-hover\:opacity-75{opacity:.75}.group:focus .group-focus\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:focus .group-focus\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:focus .group-focus\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:focus .group-focus\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:focus .group-focus\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:focus .group-focus\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:focus .group-focus\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:focus .group-focus\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:focus .group-focus\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:focus .group-focus\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:focus .group-focus\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:focus .group-focus\:underline{text-decoration-line:underline}.group:focus .group-focus\:opacity-100{opacity:1}.group:focus .group-focus\:opacity-60{opacity:.6}.group:focus .group-focus\:opacity-75{opacity:.75}.prose-a\:text-unraid-red :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.hover\:prose-a\:text-unraid-red\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#e2282899}.hover\:prose-a\:no-underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{text-decoration-line:none}@media (min-width:640px){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:col-span-3{grid-column:span 3/span 3}.sm\:col-start-2{grid-column-start:2}.sm\:block{display:block}.sm\:w-\[150px\]{width:150px}.sm\:w-full{width:100%}.sm\:min-w-\[400px\]{min-width:400px}.sm\:max-w-300px{max-width:300px}.sm\:max-w-lg{max-width:32rem}.sm\:flex-shrink-0{flex-shrink:0}.sm\:flex-grow-0{flex-grow:0}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:gap-16px{gap:16px}.sm\:gap-24px{gap:24px}.sm\:gap-y-24px{row-gap:24px}.sm\:p-16px{padding:16px}.sm\:px-20px{padding-left:20px;padding-right:20px}.sm\:pr-40px{padding-right:40px}.sm\:text-right{text-align:right}.sm\:text-18px{font-size:18px}.sm\:text-20px{font-size:20px}.sm\:text-24px{font-size:24px}}@media (min-width:768px){.md\:inline-block{display:inline-block}.md\:min-w-\[500px\]{min-width:500px}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:items-end{align-items:flex-end}.md\:justify-between{justify-content:space-between}.md\:gap-16px{gap:16px}.md\:p-24px{padding:24px}.md\:p-6{padding:1.5rem}.md\:py-24px{padding-bottom:24px;padding-top:24px}.md\:text-24px{font-size:24px}}@media (min-width:470px){.\32xs\:block{display:block}}@media (min-width:530px){.xs\:block{display:block}.xs\:flex-row{flex-direction:row}.xs\:items-baseline{align-items:baseline}.xs\:justify-start{justify-content:flex-start}.xs\:gap-x-12px{-moz-column-gap:12px;column-gap:12px}.xs\:text-12px{font-size:12px}}@media (min-height:700px){.tall\:max-h-\[75vh\]{max-height:75vh}}@media (prefers-color-scheme:dark){.dark\:border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.dark\:bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.dark\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\:prose-a\:text-orange :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.hover\:dark\:prose-a\:text-orange\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#ff8c2f99}} diff --git a/emhttp/plugins/dynamix.my.servers/unraid-components/_nuxt/unraid-components.client-CNGeANhD.js b/emhttp/plugins/dynamix.my.servers/unraid-components/_nuxt/unraid-components.client-CNGeANhD.js deleted file mode 100644 index b3bf639f3..000000000 --- a/emhttp/plugins/dynamix.my.servers/unraid-components/_nuxt/unraid-components.client-CNGeANhD.js +++ /dev/null @@ -1,28 +0,0 @@ -function eee(eee,tee){const ree=Object.create(null),oee=eee.split(",");for(let i=0;i!!ree[eee]}const tee={},ree=[],oee=()=>{},NO=()=>!1,nee=/^on[^a-z]/,aee=eee=>nee.test(eee),iee=eee=>eee.startsWith("onUpdate:"),see=Object.assign,lee=(eee,el)=>{const i=eee.indexOf(el);i>-1&&eee.splice(i,1)},cee=Object.prototype.hasOwnProperty,pee=(eee,tee)=>cee.call(eee,tee),dee=Array.isArray,uee=eee=>"[object Map]"===yee(eee),hee=eee=>"[object Set]"===yee(eee),gee=eee=>"function"==typeof eee,wee=eee=>"string"==typeof eee,fee=eee=>"symbol"==typeof eee,bee=eee=>null!==eee&&"object"==typeof eee,mee=eee=>bee(eee)&&gee(eee.then)&&gee(eee.catch),vee=Object.prototype.toString,yee=eee=>vee.call(eee),xee=eee=>yee(eee).slice(8,-1),kee=eee=>"[object Object]"===yee(eee),_ee=eee=>wee(eee)&&"NaN"!==eee&&"-"!==eee[0]&&""+parseInt(eee,10)===eee,Eee=eee(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Tee=fn=>{const eee=Object.create(null);return tee=>eee[tee]||(eee[tee]=fn(tee))},See=/-(\w)/g,Iee=Tee((eee=>eee.replace(See,((_,c)=>c?c.toUpperCase():"")))),Oee=/\B([A-Z])/g,Nee=Tee((eee=>eee.replace(Oee,"-$1").toLowerCase())),Aee=Tee((eee=>eee.charAt(0).toUpperCase()+eee.slice(1))),Ree=Tee((eee=>eee?`on${Aee(eee)}`:"")),Cee=(eee,tee)=>!Object.is(eee,tee),Dee=(eee,tee)=>{for(let i=0;i{Object.defineProperty(eee,tee,{configurable:!0,enumerable:!1,value:ree})},Fee=eee=>{const n=parseFloat(eee);return isNaN(n)?eee:n},zee=eee=>{const n=wee(eee)?Number(eee):NaN;return isNaN(n)?eee:n};let Mee;const Pee=()=>Mee||(Mee="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{});function Uee(eee){if(dee(eee)){const tee={};for(let i=0;i{if(eee){const ree=eee.split($ee);ree.length>1&&(tee[ree[0].trim()]=ree[1].trim())}})),tee}function Bee(eee){let tee="";if(wee(eee))tee=eee;else if(dee(eee))for(let i=0;iwee(eee)?eee:null==eee?"":dee(eee)||bee(eee)&&(eee.toString===vee||!gee(eee.toString))?JSON.stringify(eee,Wee,2):String(eee),Wee=(eee,tee)=>tee&&tee.__v_isRef?Wee(eee,tee.value):uee(tee)?{[`Map(${tee.size})`]:[...tee.entries()].reduce(((eee,[tee,ree])=>(eee[`${tee} =>`]=ree,eee)),{})}:hee(tee)?{[`Set(${tee.size})`]:[...tee.values()]}:!bee(tee)||dee(tee)||kee(tee)?tee:String(tee);let Kee;class Hee{constructor(eee=!1){this.detached=eee,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Kee,!eee&&Kee&&(this.index=(Kee.scopes||(Kee.scopes=[])).push(this)-1)}get active(){return this._active}run(fn){if(this._active){const eee=Kee;try{return Kee=this,fn()}finally{Kee=eee}}}on(){Kee=this}off(){Kee=this.parent}stop(eee){if(this._active){let i,l;for(i=0,l=this.effects.length;i{const tee=new Set(eee);return tee.w=0,tee.n=0,tee},tte=eee=>(eee.w&ate)>0,rte=eee=>(eee.n&ate)>0,ote=new WeakMap;let nte=0,ate=1;const ite=30;let ste;const lte=Symbol(""),cte=Symbol("");class pte{constructor(fn,eee=null,tee){this.fn=fn,this.scheduler=eee,this.active=!0,this.deps=[],this.parent=void 0,function(eee,tee=Kee){tee&&tee.active&&tee.effects.push(eee)}(this,tee)}run(){if(!this.active)return this.fn();let eee=ste,tee=ute;for(;eee;){if(eee===this)return;eee=eee.parent}try{return this.parent=ste,ste=this,ute=!0,ate=1<<++nte,nte<=ite?(({deps:eee})=>{if(eee.length)for(let i=0;i{const{deps:tee}=eee;if(tee.length){let ree=0;for(let i=0;i{("length"===ree||ree>=eee)&&see.push(tee)}))}else switch(void 0!==ree&&see.push(iee.get(ree)),tee){case"add":dee(eee)?_ee(ree)&&see.push(iee.get("length")):(see.push(iee.get(lte)),uee(eee)&&see.push(iee.get(cte)));break;case"delete":dee(eee)||(see.push(iee.get(lte)),uee(eee)&&see.push(iee.get(cte)));break;case"set":uee(eee)&&see.push(iee.get(lte))}if(1===see.length)see[0]&&vte(see[0]);else{const eee=[];for(const tee of see)tee&&eee.push(...tee);vte(ete(eee))}}function vte(eee,tee){const ree=dee(eee)?eee:[...eee];for(const oee of ree)oee.computed&&yte(oee);for(const oee of ree)oee.computed||yte(oee)}function yte(eee,tee){(eee!==ste||eee.allowRecurse)&&(eee.scheduler?eee.scheduler():eee.run())}const xte=eee("__proto__,__v_isRef,__isVue"),kte=new Set(Object.getOwnPropertyNames(Symbol).filter((eee=>"arguments"!==eee&&"caller"!==eee)).map((eee=>Symbol[eee])).filter(fee)),_te=Nte(),Ete=Nte(!1,!0),Tte=Nte(!0),Ste=Ite();function Ite(){const eee={};return["includes","indexOf","lastIndexOf"].forEach((tee=>{eee[tee]=function(...eee){const ree=ure(this);for(let i=0,l=this.length;i{eee[tee]=function(...eee){gte();const ree=ure(this)[tee].apply(this,eee);return wte(),ree}})),eee}function Ote(eee){const tee=ure(this);return fte(tee,0,eee),tee.hasOwnProperty(eee)}function Nte(eee=!1,tee=!1){return function(ree,oee,nee){if("__v_isReactive"===oee)return!eee;if("__v_isReadonly"===oee)return eee;if("__v_isShallow"===oee)return tee;if("__v_raw"===oee&&nee===(eee?tee?nre:ore:tee?rre:tre).get(ree))return ree;const aee=dee(ree);if(!eee){if(aee&&pee(Ste,oee))return Reflect.get(Ste,oee,nee);if("hasOwnProperty"===oee)return Ote}const iee=Reflect.get(ree,oee,nee);return(fee(oee)?kte.has(oee):xte(oee))?iee:(eee||fte(ree,0,oee),tee?iee:mre(iee)?aee&&_ee(oee)?iee:iee.value:bee(iee)?eee?ire(iee):are(iee):iee)}}function Ate(eee=!1){return function(tee,ree,oee,nee){let aee=tee[ree];if(cre(aee)&&mre(aee)&&!mre(oee))return!1;if(!eee&&(pre(oee)||cre(oee)||(aee=ure(aee),oee=ure(oee)),!dee(tee)&&mre(aee)&&!mre(oee)))return aee.value=oee,!0;const iee=dee(tee)&&_ee(ree)?Number(ree)!0,deleteProperty:(eee,tee)=>!0},Dte=see({},Rte,{get:Ete,set:Ate(!0)}),Lte=eee=>eee,Fte=v=>Reflect.getPrototypeOf(v);function zte(eee,tee,ree=!1,oee=!1){const nee=ure(eee=eee.__v_raw),aee=ure(tee);ree||(tee!==aee&&fte(nee,0,tee),fte(nee,0,aee));const{has:iee}=Fte(nee),see=oee?Lte:ree?wre:gre;return iee.call(nee,tee)?see(eee.get(tee)):iee.call(nee,aee)?see(eee.get(aee)):void(eee!==nee&&eee.get(tee))}function Mte(eee,tee=!1){const ree=this.__v_raw,oee=ure(ree),nee=ure(eee);return tee||(eee!==nee&&fte(oee,0,eee),fte(oee,0,nee)),eee===nee?ree.has(eee):ree.has(eee)||ree.has(nee)}function Pte(eee,tee=!1){return eee=eee.__v_raw,!tee&&fte(ure(eee),0,lte),Reflect.get(eee,"size",eee)}function Ute(eee){eee=ure(eee);const tee=ure(this);return Fte(tee).has.call(tee,eee)||(tee.add(eee),mte(tee,"add",eee,eee)),this}function jte(eee,tee){tee=ure(tee);const ree=ure(this),{has:oee,get:nee}=Fte(ree);let aee=oee.call(ree,eee);aee||(eee=ure(eee),aee=oee.call(ree,eee));const iee=nee.call(ree,eee);return ree.set(eee,tee),aee?Cee(tee,iee)&&mte(ree,"set",eee,tee):mte(ree,"add",eee,tee),this}function $te(eee){const tee=ure(this),{has:ree,get:oee}=Fte(tee);let nee=ree.call(tee,eee);nee||(eee=ure(eee),nee=ree.call(tee,eee)),oee&&oee.call(tee,eee);const aee=tee.delete(eee);return nee&&mte(tee,"delete",eee,void 0),aee}function Vte(){const eee=ure(this),tee=0!==eee.size,ree=eee.clear();return tee&&mte(eee,"clear",void 0,void 0),ree}function qte(eee,tee){return function(ree,oee){const nee=this,aee=nee.__v_raw,iee=ure(aee),see=tee?Lte:eee?wre:gre;return!eee&&fte(iee,0,lte),aee.forEach(((eee,tee)=>ree.call(oee,see(eee),see(tee),nee)))}}function Bte(eee,tee,ree){return function(...oee){const nee=this.__v_raw,aee=ure(nee),iee=uee(aee),see="entries"===eee||eee===Symbol.iterator&&iee,lee="keys"===eee&&iee,cee=nee[eee](...oee),pee=ree?Lte:tee?wre:gre;return!tee&&fte(aee,0,lee?cte:lte),{next(){const{value:eee,done:tee}=cee.next();return tee?{value:eee,done:tee}:{value:see?[pee(eee[0]),pee(eee[1])]:pee(eee),done:tee}},[Symbol.iterator](){return this}}}}function Yte(eee){return function(...tee){return"delete"!==eee&&this}}function Gte(){const eee={get(eee){return zte(this,eee)},get size(){return Pte(this)},has:Mte,add:Ute,set:jte,delete:$te,clear:Vte,forEach:qte(!1,!1)},tee={get(eee){return zte(this,eee,!1,!0)},get size(){return Pte(this)},has:Mte,add:Ute,set:jte,delete:$te,clear:Vte,forEach:qte(!1,!0)},ree={get(eee){return zte(this,eee,!0)},get size(){return Pte(this,!0)},has(eee){return Mte.call(this,eee,!0)},add:Yte("add"),set:Yte("set"),delete:Yte("delete"),clear:Yte("clear"),forEach:qte(!0,!1)},oee={get(eee){return zte(this,eee,!0,!0)},get size(){return Pte(this,!0)},has(eee){return Mte.call(this,eee,!0)},add:Yte("add"),set:Yte("set"),delete:Yte("delete"),clear:Yte("clear"),forEach:qte(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((nee=>{eee[nee]=Bte(nee,!1,!1),ree[nee]=Bte(nee,!0,!1),tee[nee]=Bte(nee,!1,!0),oee[nee]=Bte(nee,!0,!0)})),[eee,ree,tee,oee]}const[Qte,Wte,Kte,Hte]=Gte();function Xte(eee,tee){const ree=tee?eee?Hte:Kte:eee?Wte:Qte;return(tee,oee,nee)=>"__v_isReactive"===oee?!eee:"__v_isReadonly"===oee?eee:"__v_raw"===oee?tee:Reflect.get(pee(ree,oee)&&oee in tee?ree:tee,oee,nee)}const Zte={get:Xte(!1,!1)},Jte={get:Xte(!1,!0)},ere={get:Xte(!0,!1)},tre=new WeakMap,rre=new WeakMap,ore=new WeakMap,nre=new WeakMap;function are(eee){return cre(eee)?eee:sre(eee,!1,Rte,Zte,tre)}function ire(eee){return sre(eee,!0,Cte,ere,ore)}function sre(eee,tee,ree,oee,nee){if(!bee(eee))return eee;if(eee.__v_raw&&(!tee||!eee.__v_isReactive))return eee;const aee=nee.get(eee);if(aee)return aee;const iee=(see=eee).__v_skip||!Object.isExtensible(see)?0:function(eee){switch(eee){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}(xee(see));var see;if(0===iee)return eee;const lee=new Proxy(eee,2===iee?oee:ree);return nee.set(eee,lee),lee}function lre(eee){return cre(eee)?lre(eee.__v_raw):!(!eee||!eee.__v_isReactive)}function cre(eee){return!(!eee||!eee.__v_isReadonly)}function pre(eee){return!(!eee||!eee.__v_isShallow)}function dre(eee){return lre(eee)||cre(eee)}function ure(eee){const tee=eee&&eee.__v_raw;return tee?ure(tee):eee}function hre(eee){return Lee(eee,"__v_skip",!0),eee}const gre=eee=>bee(eee)?are(eee):eee,wre=eee=>bee(eee)?ire(eee):eee;function fre(eee){ute&&ste&&bte((eee=ure(eee)).dep||(eee.dep=ete()))}function bre(eee,tee){const ree=(eee=ure(eee)).dep;ree&&vte(ree)}function mre(r){return!(!r||!0!==r.__v_isRef)}function vre(eee){return xre(eee,!1)}function yre(eee){return xre(eee,!0)}function xre(eee,tee){return mre(eee)?eee:new kre(eee,tee)}class kre{constructor(eee,tee){this.__v_isShallow=tee,this.dep=void 0,this.__v_isRef=!0,this._rawValue=tee?eee:ure(eee),this._value=tee?eee:gre(eee)}get value(){return fre(this),this._value}set value(eee){const tee=this.__v_isShallow||pre(eee)||cre(eee);eee=tee?eee:ure(eee),Cee(eee,this._rawValue)&&(this._rawValue=eee,this._value=tee?eee:gre(eee),bre(this))}}function _re(eee){return mre(eee)?eee.value:eee}const Ere={get:(eee,tee,ree)=>_re(Reflect.get(eee,tee,ree)),set:(eee,tee,ree,oee)=>{const nee=eee[tee];return mre(nee)&&!mre(ree)?(nee.value=ree,!0):Reflect.set(eee,tee,ree,oee)}};function Tre(eee){return lre(eee)?eee:new Proxy(eee,Ere)}class Sre{constructor(eee,tee,ree){this._object=eee,this._key=tee,this._defaultValue=ree,this.__v_isRef=!0}get value(){const eee=this._object[this._key];return void 0===eee?this._defaultValue:eee}set value(eee){this._object[this._key]=eee}get dep(){return function(eee,tee){var _a;return null==(_a=ote.get(eee))?void 0:_a.get(tee)}(ure(this._object),this._key)}}class Ire{constructor(eee){this._getter=eee,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function Ore(eee,tee,ree){return mre(eee)?eee:gee(eee)?new Ire(eee):bee(eee)&&arguments.length>1?Nre(eee,tee,ree):vre(eee)}function Nre(eee,tee,ree){const oee=eee[tee];return mre(oee)?oee:new Sre(eee,tee,ree)}class Are{constructor(eee,tee,ree,oee){this._setter=tee,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new pte(eee,(()=>{this._dirty||(this._dirty=!0,bre(this))})),this.effect.computed=this,this.effect.active=this._cacheable=!oee,this.__v_isReadonly=ree}get value(){const eee=ure(this);return fre(eee),!eee._dirty&&eee._cacheable||(eee._dirty=!1,eee._value=eee.effect.run()),eee._value}set value(eee){this._setter(eee)}}function Rre(fn,eee,tee,ree){let oee;try{oee=ree?fn(...ree):fn()}catch(nee){Dre(nee,eee,tee)}return oee}function Cre(fn,eee,tee,ree){if(gee(fn)){const oee=Rre(fn,eee,tee,ree);return oee&&mee(oee)&&oee.catch((ree=>{Dre(ree,eee,tee)})),oee}const oee=[];for(let i=0;i>>1;Wre(zre[ree])Wre(a)-Wre(b))),jre=0;jrenull==eee.id?1/0:eee.id,Kre=(a,b)=>{const eee=Wre(a)-Wre(b);if(0===eee){if(a.pre&&!b.pre)return-1;if(b.pre&&!a.pre)return 1}return eee};function Hre(eee){Fre=!1,Lre=!0,zre.sort(Kre);try{for(Mre=0;Mrewee(a)?a.trim():a))),ree&&(aee=oee.map(Fee))}let lee,cee=nee[lee=Ree(ree)]||nee[lee=Ree(Iee(ree))];!cee&&iee&&(cee=nee[lee=Ree(Nee(ree))]),cee&&Cre(cee,eee,6,aee);const pee=nee[lee+"Once"];if(pee){if(eee.emitted){if(eee.emitted[lee])return}else eee.emitted={};eee.emitted[lee]=!0,Cre(pee,eee,6,aee)}}function Zre(eee,tee,ree=!1){const oee=tee.emitsCache,nee=oee.get(eee);if(void 0!==nee)return nee;const aee=eee.emits;let iee={},lee=!1;if(!gee(eee)){const oee=eee=>{const ree=Zre(eee,tee,!0);ree&&(lee=!0,see(iee,ree))};!ree&&tee.mixins.length&&tee.mixins.forEach(oee),eee.extends&&oee(eee.extends),eee.mixins&&eee.mixins.forEach(oee)}return aee||lee?(dee(aee)?aee.forEach((eee=>iee[eee]=null)):see(iee,aee),bee(eee)&&oee.set(eee,iee),iee):(bee(eee)&&oee.set(eee,null),null)}function Jre(eee,tee){return!(!eee||!aee(tee))&&(tee=tee.slice(2).replace(/Once$/,""),pee(eee,tee[0].toLowerCase()+tee.slice(1))||pee(eee,Nee(tee))||pee(eee,tee))}let eoe=null,toe=null;function roe(eee){const tee=eoe;return eoe=eee,toe=eee&&eee.type.__scopeId||null,tee}function ooe(fn,eee=eoe,tee){if(!eee)return fn;if(fn._n)return fn;const ree=(...tee)=>{ree._d&&$ne(-1);const oee=roe(eee);let nee;try{nee=fn(...tee)}finally{roe(oee),ree._d&&$ne(1)}return nee};return ree._n=!0,ree._c=!0,ree._d=!0,ree}function noe(eee){const{type:tee,vnode:ree,proxy:oee,withProxy:nee,props:aee,propsOptions:[see],slots:lee,attrs:cee,emit:pee,render:dee,renderCache:uee,data:hee,setupState:gee,ctx:wee,inheritAttrs:fee}=eee;let bee,mee;const vee=roe(eee);try{if(4&ree.shapeFlag){const eee=nee||oee;bee=rae(dee.call(eee,eee,uee,aee,gee,hee,wee)),mee=cee}else{const eee=tee;0,bee=rae(eee.length>1?eee(aee,{attrs:cee,slots:lee,emit:pee}):eee(aee,null)),mee=tee.props?cee:aoe(cee)}}catch(xee){Mne.length=0,Dre(xee,eee,1),bee=Xne(Fne)}let yee=bee;if(mee&&!1!==fee){const eee=Object.keys(mee),{shapeFlag:tee}=yee;eee.length&&7&tee&&(see&&eee.some(iee)&&(mee=ioe(mee,see)),yee=Zne(yee,mee))}return ree.dirs&&(yee=Zne(yee),yee.dirs=yee.dirs?yee.dirs.concat(ree.dirs):ree.dirs),ree.transition&&(yee.transition=ree.transition),bee=yee,roe(vee),bee}const aoe=eee=>{let tee;for(const ree in eee)("class"===ree||"style"===ree||aee(ree))&&((tee||(tee={}))[ree]=eee[ree]);return tee},ioe=(eee,tee)=>{const ree={};for(const oee in eee)iee(oee)&&oee.slice(9)in tee||(ree[oee]=eee[oee]);return ree};function soe(eee,tee,ree){const oee=Object.keys(tee);if(oee.length!==Object.keys(eee).length)return!0;for(let i=0;ieee.value,hee=pre(eee)):lre(eee)?(pee=()=>eee,nee=!0):dee(eee)?(wee=!0,hee=eee.some((s=>lre(s)||pre(s))),pee=()=>eee.map((s=>mre(s)?s.value:lre(s)?goe(s):gee(s)?Rre(s,cee,2):void 0))):pee=gee(eee)?cb?()=>Rre(eee,cee,2):()=>{if(!cee||!cee.isUnmounted)return uee&&uee(),Cre(eee,cee,3,[bee])}:oee,cb&&nee){const eee=pee;pee=()=>goe(eee())}let fee,bee=fn=>{uee=xee.onStop=()=>{Rre(fn,cee,4)}};if(mae){if(bee=oee,cb?ree&&Cre(cb,cee,3,[pee(),wee?[]:void 0,bee]):pee(),"sync"!==aee)return oee;{const eee=Eae();fee=eee.__watcherHandles||(eee.__watcherHandles=[])}}let mee=wee?new Array(eee.length).fill(coe):coe;const vee=()=>{if(xee.active)if(cb){const eee=xee.run();(nee||hee||(wee?eee.some(((v,i)=>Cee(v,mee[i]))):Cee(eee,mee)))&&(uee&&uee(),Cre(cb,cee,3,[eee,mee===coe?void 0:wee&&mee[0]===coe?[]:mee,bee]),mee=eee)}else xee.run()};let yee;vee.allowRecurse=!!cb,"sync"===aee?yee=vee:"post"===aee?yee=()=>Nne(vee,cee&&cee.suspense):(vee.pre=!0,cee&&(vee.id=cee.uid),yee=()=>Bre(vee));const xee=new pte(pee,yee);cb?ree?vee():mee=xee.run():"post"===aee?Nne(xee.run.bind(xee),cee&&cee.suspense):xee.run();const kee=()=>{xee.stop(),cee&&cee.scope&&lee(cee.scope.effects,xee)};return fee&&fee.push(kee),kee}function uoe(eee,tee,ree){const oee=this.proxy,nee=wee(eee)?eee.includes(".")?hoe(oee,eee):()=>oee[eee]:eee.bind(oee,oee);let cb;gee(tee)?cb=tee:(cb=tee.handler,ree=tee);const aee=cae;gae(this);const iee=doe(nee,cb.bind(oee),ree);return aee?gae(aee):wae(),iee}function hoe(eee,tee){const ree=tee.split(".");return()=>{let tee=eee;for(let i=0;i{goe(v,tee)}));else if(kee(eee))for(const ree in eee)goe(eee[ree],tee);return eee}function woe(eee,ree){const oee=eoe;if(null===oee)return eee;const nee=xae(oee)||oee.proxy,aee=eee.dirs||(eee.dirs=[]);for(let i=0;isee({name:eee.name},tee,{setup:eee}))():eee}const moe=i=>!!i.type.__asyncLoader,voe=eee=>eee.type.__isKeepAlive;function yoe(eee,tee){koe(eee,"a",tee)}function xoe(eee,tee){koe(eee,"da",tee)}function koe(eee,tee,ree=cae){const oee=eee.__wdc||(eee.__wdc=()=>{let tee=ree;for(;tee;){if(tee.isDeactivated)return;tee=tee.parent}return eee()});if(Eoe(tee,oee,ree),ree){let eee=ree.parent;for(;eee&&eee.parent;)voe(eee.parent.vnode)&&_oe(oee,tee,ree,eee),eee=eee.parent}}function _oe(eee,tee,ree,oee){const nee=Eoe(tee,eee,oee,!0);Roe((()=>{lee(oee[tee],nee)}),ree)}function Eoe(eee,tee,ree=cae,oee=!1){if(ree){const nee=ree[eee]||(ree[eee]=[]),aee=tee.__weh||(tee.__weh=(...oee)=>{if(ree.isUnmounted)return;gte(),gae(ree);const nee=Cre(tee,ree,eee,oee);return wae(),wte(),nee});return oee?nee.unshift(aee):nee.push(aee),aee}}const Toe=eee=>(tee,ree=cae)=>(!mae||"sp"===eee)&&Eoe(eee,((...eee)=>tee(...eee)),ree),Soe=Toe("bm"),Ioe=Toe("m"),Ooe=Toe("bu"),Noe=Toe("u"),Aoe=Toe("bum"),Roe=Toe("um"),Coe=Toe("sp"),Doe=Toe("rtg"),Loe=Toe("rtc");function Foe(eee,tee=cae){Eoe("ec",eee,tee)}const zoe=Symbol.for("v-ndc");function Moe(eee){return wee(eee)?function(eee,tee,ree=!0,oee=!1){const nee=eoe||cae;if(nee){const ree=nee.type;{const eee=function(eee,tee=!0){return gee(eee)?eee.displayName||eee.name:eee.name||tee&&eee.__name}(ree,!1);if(eee&&(eee===tee||eee===Iee(tee)||eee===Aee(Iee(tee))))return ree}const aee=Poe(nee[eee]||ree[eee],tee)||Poe(nee.appContext[eee],tee);return!aee&&oee?ree:aee}}("components",eee,!1)||eee:eee||zoe}function Poe(eee,tee){return eee&&(eee[tee]||eee[Iee(tee)]||eee[Aee(Iee(tee))])}function Uoe(eee,tee,ree,oee){let nee;const aee=ree;if(dee(eee)||wee(eee)){nee=new Array(eee.length);for(let i=0,l=eee.length;itee(eee,i,void 0,aee)));else{const ree=Object.keys(eee);nee=new Array(ree.length);for(let i=0,l=ree.length;i{const tee=ree.fn(...eee);return tee&&(tee.key=ree.key),tee}:ree.fn)}return eee}function $oe(eee,tee,ree={},oee,nee){if(eoe.isCE||eoe.parent&&moe(eoe.parent)&&eoe.parent.isCE)return"default"!==tee&&(ree.name=tee),Xne("slot",ree,oee);let aee=eee[tee];aee&&aee._c&&(aee._d=!1),Une();const iee=aee&&Voe(aee(ree)),see=Bne(Dne,{key:ree.key||iee&&iee.key||`_${tee}`},iee||[],iee&&1===eee._?64:-2);return see.scopeId&&(see.slotScopeIds=[see.scopeId+"-s"]),aee&&aee._c&&(aee._d=!0),see}function Voe(eee){return eee.some((eee=>!Yne(eee)||eee.type!==Fne&&!(eee.type===Dne&&!Voe(eee.children))))?eee:null}const qoe=i=>i?fae(i)?xae(i)||i.proxy:qoe(i.parent):null,Boe=see(Object.create(null),{$:i=>i,$el:i=>i.vnode.el,$data:i=>i.data,$props:i=>i.props,$attrs:i=>i.attrs,$slots:i=>i.slots,$refs:i=>i.refs,$parent:i=>qoe(i.parent),$root:i=>qoe(i.root),$emit:i=>i.emit,$options:i=>Zoe(i),$forceUpdate:i=>i.f||(i.f=()=>Bre(i.update)),$nextTick:i=>i.n||(i.n=qre.bind(i.proxy)),$watch:i=>uoe.bind(i)}),Yoe=(eee,ree)=>eee!==tee&&!eee.__isScriptSetup&&pee(eee,ree),Goe={get({_:eee},ree){const{ctx:oee,setupState:nee,data:aee,props:iee,accessCache:see,type:lee,appContext:cee}=eee;let dee;if("$"!==ree[0]){const n=see[ree];if(void 0!==n)switch(n){case 1:return nee[ree];case 2:return aee[ree];case 4:return oee[ree];case 3:return iee[ree]}else{if(Yoe(nee,ree))return see[ree]=1,nee[ree];if(aee!==tee&&pee(aee,ree))return see[ree]=2,aee[ree];if((dee=eee.propsOptions[0])&&pee(dee,ree))return see[ree]=3,iee[ree];if(oee!==tee&&pee(oee,ree))return see[ree]=4,oee[ree];Woe&&(see[ree]=0)}}const uee=Boe[ree];let hee,gee;return uee?("$attrs"===ree&&fte(eee,0,ree),uee(eee)):(hee=lee.__cssModules)&&(hee=hee[ree])?hee:oee!==tee&&pee(oee,ree)?(see[ree]=4,oee[ree]):(gee=cee.config.globalProperties,pee(gee,ree)?gee[ree]:void 0)},set({_:eee},ree,oee){const{data:nee,setupState:aee,ctx:iee}=eee;return Yoe(aee,ree)?(aee[ree]=oee,!0):nee!==tee&&pee(nee,ree)?(nee[ree]=oee,!0):!pee(eee.props,ree)&&(("$"!==ree[0]||!(ree.slice(1)in eee))&&(iee[ree]=oee,!0))},has({_:{data:eee,setupState:ree,accessCache:oee,ctx:nee,appContext:aee,propsOptions:iee}},see){let lee;return!!oee[see]||eee!==tee&&pee(eee,see)||Yoe(ree,see)||(lee=iee[0])&&pee(lee,see)||pee(nee,see)||pee(Boe,see)||pee(aee.config.globalProperties,see)},defineProperty(eee,tee,ree){return null!=ree.get?eee._.accessCache[tee]=0:pee(ree,"value")&&this.set(eee,tee,ree.value,null),Reflect.defineProperty(eee,tee,ree)}};function Qoe(eee){return dee(eee)?eee.reduce(((eee,p)=>(eee[p]=null,eee)),{}):eee}let Woe=!0;function Koe(eee){const tee=Zoe(eee),ree=eee.proxy,nee=eee.ctx;Woe=!1,tee.beforeCreate&&Hoe(tee.beforeCreate,eee,"bc");const{data:aee,computed:iee,methods:see,watch:lee,provide:cee,inject:pee,created:uee,beforeMount:hee,mounted:wee,beforeUpdate:fee,updated:mee,activated:vee,deactivated:yee,beforeDestroy:xee,beforeUnmount:kee,destroyed:_ee,unmounted:Eee,render:Tee,renderTracked:See,renderTriggered:Iee,errorCaptured:Oee,serverPrefetch:Nee,expose:Aee,inheritAttrs:Ree,components:Cee,directives:Dee,filters:Lee}=tee;if(pee&&function(eee,tee,ree=oee){dee(eee)&&(eee=rne(eee));for(const oee in eee){const ree=eee[oee];let nee;nee=bee(ree)?"default"in ree?dne(ree.from||oee,ree.default,!0):dne(ree.from||oee):dne(ree),mre(nee)?Object.defineProperty(tee,oee,{enumerable:!0,configurable:!0,get:()=>nee.value,set:v=>nee.value=v}):tee[oee]=nee}}(pee,nee,null),see)for(const oee in see){const eee=see[oee];gee(eee)&&(nee[oee]=eee.bind(ree))}if(aee){const tee=aee.call(ree,ree);bee(tee)&&(eee.data=are(tee))}if(Woe=!0,iee)for(const dee in iee){const eee=iee[dee],tee=gee(eee)?eee.bind(ree,ree):gee(eee.get)?eee.get.bind(ree,ree):oee,aee=!gee(eee)&&gee(eee.set)?eee.set.bind(ree):oee,c=kae({get:tee,set:aee});Object.defineProperty(nee,dee,{enumerable:!0,configurable:!0,get:()=>c.value,set:v=>c.value=v})}if(lee)for(const oee in lee)Xoe(lee[oee],nee,ree,oee);if(cee){const eee=gee(cee)?cee.call(ree):cee;Reflect.ownKeys(eee).forEach((tee=>{pne(tee,eee[tee])}))}function Fee(eee,tee){dee(tee)?tee.forEach((tee=>eee(tee.bind(ree)))):tee&&eee(tee.bind(ree))}if(uee&&Hoe(uee,eee,"c"),Fee(Soe,hee),Fee(Ioe,wee),Fee(Ooe,fee),Fee(Noe,mee),Fee(yoe,vee),Fee(xoe,yee),Fee(Foe,Oee),Fee(Loe,See),Fee(Doe,Iee),Fee(Aoe,kee),Fee(Roe,Eee),Fee(Coe,Nee),dee(Aee))if(Aee.length){const tee=eee.exposed||(eee.exposed={});Aee.forEach((eee=>{Object.defineProperty(tee,eee,{get:()=>ree[eee],set:tee=>ree[eee]=tee})}))}else eee.exposed||(eee.exposed={});Tee&&eee.render===oee&&(eee.render=Tee),null!=Ree&&(eee.inheritAttrs=Ree),Cee&&(eee.components=Cee),Dee&&(eee.directives=Dee)}function Hoe(eee,tee,ree){Cre(dee(eee)?eee.map((h2=>h2.bind(tee.proxy))):eee.bind(tee.proxy),tee,ree)}function Xoe(eee,tee,ree,oee){const nee=oee.includes(".")?hoe(ree,oee):()=>ree[oee];if(wee(eee)){const ree=tee[eee];gee(ree)&&poe(nee,ree)}else if(gee(eee))poe(nee,eee.bind(ree));else if(bee(eee))if(dee(eee))eee.forEach((r=>Xoe(r,tee,ree,oee)));else{const oee=gee(eee.handler)?eee.handler.bind(ree):tee[eee.handler];gee(oee)&&poe(nee,oee,eee)}}function Zoe(eee){const tee=eee.type,{mixins:ree,extends:oee}=tee,{mixins:nee,optionsCache:aee,config:{optionMergeStrategies:iee}}=eee.appContext,see=aee.get(tee);let lee;return see?lee=see:nee.length||ree||oee?(lee={},nee.length&&nee.forEach((m=>Joe(lee,m,iee,!0))),Joe(lee,tee,iee)):lee=tee,bee(tee)&&aee.set(tee,lee),lee}function Joe(to,eee,tee,ree=!1){const{mixins:oee,extends:nee}=eee;nee&&Joe(to,nee,tee,!0),oee&&oee.forEach((m=>Joe(to,m,tee,!0)));for(const aee in eee)if(ree&&"expose"===aee);else{const ree=ene[aee]||tee&&tee[aee];to[aee]=ree?ree(to[aee],eee[aee]):eee[aee]}return to}const ene={data:tne,props:ane,emits:ane,methods:nne,computed:nne,beforeCreate:one,created:one,beforeMount:one,mounted:one,beforeUpdate:one,updated:one,beforeDestroy:one,beforeUnmount:one,destroyed:one,unmounted:one,activated:one,deactivated:one,errorCaptured:one,serverPrefetch:one,components:nne,directives:nne,watch:function(to,eee){if(!to)return eee;if(!eee)return to;const tee=see(Object.create(null),to);for(const ree in eee)tee[ree]=one(to[ree],eee[ree]);return tee},provide:tne,inject:function(to,eee){return nne(rne(to),rne(eee))}};function tne(to,eee){return eee?to?function(){return see(gee(to)?to.call(this,this):to,gee(eee)?eee.call(this,this):eee)}:eee:to}function rne(eee){if(dee(eee)){const tee={};for(let i=0;i(aee.has(eee)||(eee&&gee(eee.install)?(aee.add(eee),eee.install(lee,...tee)):gee(eee)&&(aee.add(eee),eee(lee,...tee))),lee),mixin:eee=>(nee.mixins.includes(eee)||nee.mixins.push(eee),lee),component:(eee,tee)=>tee?(nee.components[eee]=tee,lee):nee.components[eee],directive:(eee,tee)=>tee?(nee.directives[eee]=tee,lee):nee.directives[eee],mount(aee,see,cee){if(!iee){const pee=Xne(ree,oee);return pee.appContext=nee,see&&tee?tee(pee,aee):eee(pee,aee,cee),iee=!0,lee._container=aee,aee.__vue_app__=lee,xae(pee.component)||pee.component.proxy}},unmount(){iee&&(eee(null,lee._container),delete lee._container.__vue_app__)},provide:(eee,tee)=>(nee.provides[eee]=tee,lee),runWithContext(fn){cne=lee;try{return fn()}finally{cne=null}}};return lee}}let cne=null;function pne(eee,tee){if(cae){let ree=cae.provides;const oee=cae.parent&&cae.parent.provides;oee===ree&&(ree=cae.provides=Object.create(oee)),ree[eee]=tee}else;}function dne(eee,tee,ree=!1){const oee=cae||eoe;if(oee||cne){const nee=oee?null==oee.parent?oee.vnode.appContext&&oee.vnode.appContext.provides:oee.parent.provides:cne._context.provides;if(nee&&eee in nee)return nee[eee];if(arguments.length>1)return ree&&gee(tee)?tee.call(oee&&oee.proxy):tee}}function une(){return!!(cae||eoe||cne)}function hne(eee,tee,ree,oee=!1){const nee={},aee={};Lee(aee,Qne,1),eee.propsDefaults=Object.create(null),gne(eee,tee,nee,aee);for(const iee in eee.propsOptions[0])iee in nee||(nee[iee]=void 0);ree?eee.props=oee?nee:sre(nee,!1,Dte,Jte,rre):eee.type.props?eee.props=nee:eee.props=aee,eee.attrs=aee}function gne(eee,ree,oee,nee){const[aee,iee]=eee.propsOptions;let see,lee=!1;if(ree)for(let tee in ree){if(Eee(tee))continue;const cee=ree[tee];let dee;aee&&pee(aee,dee=Iee(tee))?iee&&iee.includes(dee)?(see||(see={}))[dee]=cee:oee[dee]=cee:Jre(eee.emitsOptions,tee)||tee in nee&&cee===nee[tee]||(nee[tee]=cee,lee=!0)}if(iee){const ree=ure(oee),nee=see||tee;for(let i=0;i{hee=!0;const[tee,ree]=fne(eee,oee,!0);see(cee,tee),ree&&uee.push(...ree)};!nee&&oee.mixins.length&&oee.mixins.forEach(tee),eee.extends&&tee(eee.extends),eee.mixins&&eee.mixins.forEach(tee)}if(!lee&&!hee)return bee(eee)&&aee.set(eee,ree),ree;if(dee(lee))for(let i=0;i-1,oee[1]=ree<0||tee-1||pee(oee,"default"))&&uee.push(eee)}}}const wee=[cee,uee];return bee(eee)&&aee.set(eee,wee),wee}function bne(eee){return"$"!==eee[0]}function mne(eee){const tee=eee&&eee.toString().match(/^\s*(function|class) (\w+)/);return tee?tee[2]:null===eee?"null":""}function vne(a,b){return mne(a)===mne(b)}function yne(eee,tee){return dee(tee)?tee.findIndex((t=>vne(t,eee))):gee(tee)&&vne(tee,eee)?0:-1}const xne=eee=>"_"===eee[0]||"$stable"===eee,kne=eee=>dee(eee)?eee.map(rae):[rae(eee)],_ne=(eee,tee,ree)=>{if(tee._n)return tee;const oee=ooe(((...eee)=>kne(tee(...eee))),ree);return oee._c=!1,oee},Ene=(eee,tee,ree)=>{const oee=eee._ctx;for(const nee in eee){if(xne(nee))continue;const ree=eee[nee];if(gee(ree))tee[nee]=_ne(0,ree,oee);else if(null!=ree){const eee=kne(ree);tee[nee]=()=>eee}}},Tne=(eee,tee)=>{const ree=kne(tee);eee.slots.default=()=>ree},Sne=(eee,tee)=>{if(32&eee.vnode.shapeFlag){const ree=tee._;ree?(eee.slots=ure(tee),Lee(tee,"_",ree)):Ene(tee,eee.slots={})}else eee.slots={},tee&&Tne(eee,tee);Lee(eee.slots,Qne,1)},Ine=(eee,ree,oee)=>{const{vnode:nee,slots:aee}=eee;let iee=!0,lee=tee;if(32&nee.shapeFlag){const eee=ree._;eee?oee&&1===eee?iee=!1:(see(aee,ree),oee||1!==eee||delete aee._):(iee=!ree.$stable,Ene(ree,aee)),lee=ree}else ree&&(Tne(eee,ree),lee={default:1});if(iee)for(const tee in aee)xne(tee)||tee in lee||delete aee[tee]};function One(eee,ree,oee,nee,aee=!1){if(dee(eee))return void eee.forEach(((r,i)=>One(r,ree&&(dee(ree)?ree[i]:ree),oee,nee,aee)));if(moe(nee)&&!aee)return;const iee=4&nee.shapeFlag?xae(nee.component)||nee.component.proxy:nee.el,see=aee?null:iee,{i:cee,r:uee}=eee,hee=ree&&ree.r,fee=cee.refs===tee?cee.refs={}:cee.refs,bee=cee.setupState;if(null!=hee&&hee!==uee&&(wee(hee)?(fee[hee]=null,pee(bee,hee)&&(bee[hee]=null)):mre(hee)&&(hee.value=null)),gee(uee))Rre(uee,cee,12,[see,fee]);else{const tee=wee(uee),ree=mre(uee);if(tee||ree){const nee=()=>{if(eee.f){const ree=tee?pee(bee,uee)?bee[uee]:fee[uee]:uee.value;aee?dee(ree)&&lee(ree,iee):dee(ree)?ree.includes(iee)||ree.push(iee):tee?(fee[uee]=[iee],pee(bee,uee)&&(bee[uee]=fee[uee])):(uee.value=[iee],eee.k&&(fee[eee.k]=uee.value))}else tee?(fee[uee]=see,pee(bee,uee)&&(bee[uee]=see)):ree&&(uee.value=see,eee.k&&(fee[eee.k]=see))};see?(nee.id=-1,Nne(nee,oee)):nee()}}}const Nne=function(fn,eee){var cb;eee&&eee.pendingBranch?dee(fn)?eee.effects.push(...fn):eee.effects.push(fn):(dee(cb=fn)?Pre.push(...cb):Ure&&Ure.includes(cb,cb.allowRecurse?jre+1:jre)||Pre.push(cb),Yre())};function Ane(eee){return function(eee,nee){Pee().__VUE__=!0;const{insert:aee,remove:iee,patchProp:see,createElement:lee,createText:cee,createComment:dee,setText:uee,setElementText:hee,parentNode:gee,nextSibling:wee,setScopeId:fee=oee,insertStaticContent:bee}=eee,vee=(n1,n2,eee,tee=null,ree=null,oee=null,nee=!1,aee=null,iee=!!n2.dynamicChildren)=>{if(n1===n2)return;n1&&!Gne(n1,n2)&&(tee=Jee(n1),Qee(n1,ree,oee,!0),n1=null),-2===n2.patchFlag&&(iee=!1,n2.dynamicChildren=null);const{type:see,ref:lee,shapeFlag:cee}=n2;switch(see){case Lne:yee(n1,n2,eee,tee);break;case Fne:xee(n1,n2,eee,tee);break;case zne:null==n1&&kee(n2,eee,tee,nee);break;case Dne:zee(n1,n2,eee,tee,ree,oee,nee,aee,iee);break;default:1&cee?See(n1,n2,eee,tee,ree,oee,nee,aee,iee):6&cee?Mee(n1,n2,eee,tee,ree,oee,nee,aee,iee):(64&cee||128&cee)&&see.process(n1,n2,eee,tee,ree,oee,nee,aee,iee,tte)}null!=lee&&ree&&One(lee,n1&&n1.ref,oee,n2||n1,!n2)},yee=(n1,n2,eee,tee)=>{if(null==n1)aee(n2.el=cee(n2.children),eee,tee);else{const el=n2.el=n1.el;n2.children!==n1.children&&uee(el,n2.children)}},xee=(n1,n2,eee,tee)=>{null==n1?aee(n2.el=dee(n2.children||""),eee,tee):n2.el=n1.el},kee=(n2,eee,tee,ree)=>{[n2.el,n2.anchor]=bee(n2.children,eee,tee,ree,n2.el,n2.anchor)},_ee=({el:el,anchor:eee},tee,ree)=>{let oee;for(;el&&el!==eee;)oee=wee(el),aee(el,tee,ree),el=oee;aee(eee,tee,ree)},Tee=({el:el,anchor:eee})=>{let tee;for(;el&&el!==eee;)tee=wee(el),iee(el),el=tee;iee(eee)},See=(n1,n2,eee,tee,ree,oee,nee,aee,iee)=>{nee=nee||"svg"===n2.type,null==n1?Oee(n2,eee,tee,ree,oee,nee,aee,iee):Cee(n1,n2,ree,oee,nee,aee,iee)},Oee=(eee,tee,ree,oee,nee,iee,cee,pee)=>{let el,dee;const{type:uee,props:gee,shapeFlag:wee,transition:fee,dirs:bee}=eee;if(el=eee.el=lee(eee.type,iee,gee&&gee.is,gee),8&wee?hee(el,eee.children):16&wee&&Ree(eee.children,el,null,oee,nee,iee&&"foreignObject"!==uee,cee,pee),bee&&foe(eee,null,oee,"created"),Aee(el,eee,eee.scopeId,cee,oee),gee){for(const tee in gee)"value"===tee||Eee(tee)||see(el,tee,null,gee[tee],iee,eee.children,oee,nee,Zee);"value"in gee&&see(el,"value",null,gee.value),(dee=gee.onVnodeBeforeMount)&&iae(dee,oee,eee)}bee&&foe(eee,null,oee,"beforeMount");const mee=(!nee||nee&&!nee.pendingBranch)&&fee&&!fee.persisted;mee&&fee.beforeEnter(el),aee(el,tee,ree),((dee=gee&&gee.onVnodeMounted)||mee||bee)&&Nne((()=>{dee&&iae(dee,oee,eee),mee&&fee.enter(el),bee&&foe(eee,null,oee,"mounted")}),nee)},Aee=(el,eee,tee,ree,oee)=>{if(tee&&fee(el,tee),ree)for(let i=0;i{for(let i=lee;i{const el=n2.el=n1.el;let{patchFlag:iee,dynamicChildren:lee,dirs:cee}=n2;iee|=16&n1.patchFlag;const pee=n1.props||tee,dee=n2.props||tee;let uee;eee&&Rne(eee,!1),(uee=dee.onVnodeBeforeUpdate)&&iae(uee,eee,n2,n1),cee&&foe(n2,n1,eee,"beforeUpdate"),eee&&Rne(eee,!0);const gee=oee&&"foreignObject"!==n2.type;if(lee?Lee(n1.dynamicChildren,lee,el,eee,ree,gee,nee):aee||qee(n1,n2,el,null,eee,ree,gee,nee,!1),iee>0){if(16&iee)Fee(el,n2,pee,dee,eee,ree,oee);else if(2&iee&&pee.class!==dee.class&&see(el,"class",null,dee.class,oee),4&iee&&see(el,"style",pee.style,dee.style,oee),8&iee){const tee=n2.dynamicProps;for(let i=0;i{uee&&iae(uee,eee,n2,n1),cee&&foe(n2,n1,eee,"updated")}),ree)},Lee=(eee,tee,ree,oee,nee,aee,iee)=>{for(let i=0;i{if(ree!==oee){if(ree!==tee)for(const tee in ree)Eee(tee)||tee in oee||see(el,tee,ree[tee],null,iee,eee.children,nee,aee,Zee);for(const tee in oee){if(Eee(tee))continue;const lee=oee[tee],cee=ree[tee];lee!==cee&&"value"!==tee&&see(el,tee,cee,lee,iee,eee.children,nee,aee,Zee)}"value"in oee&&see(el,"value",ree.value,oee.value)}},zee=(n1,n2,eee,tee,ree,oee,nee,iee,see)=>{const lee=n2.el=n1?n1.el:cee(""),pee=n2.anchor=n1?n1.anchor:cee("");let{patchFlag:dee,dynamicChildren:uee,slotScopeIds:hee}=n2;hee&&(iee=iee?iee.concat(hee):hee),null==n1?(aee(lee,eee,tee),aee(pee,eee,tee),Ree(n2.children,eee,pee,ree,oee,nee,iee,see)):dee>0&&64&dee&&uee&&n1.dynamicChildren?(Lee(n1.dynamicChildren,uee,eee,ree,oee,nee,iee),(null!=n2.key||ree&&n2===ree.subTree)&&Cne(n1,n2,!0)):qee(n1,n2,eee,pee,ree,oee,nee,iee,see)},Mee=(n1,n2,eee,tee,ree,oee,nee,aee,iee)=>{n2.slotScopeIds=aee,null==n1?512&n2.shapeFlag?ree.ctx.activate(n2,eee,tee,nee,iee):Uee(n2,eee,tee,ree,oee,nee,iee):jee(n1,n2,iee)},Uee=(eee,ree,oee,nee,aee,iee,see)=>{const lee=eee.component=function(eee,ree,oee){const nee=eee.type,aee=(ree?ree.appContext:eee.appContext)||sae,iee={uid:lae++,vnode:eee,type:nee,parent:ree,appContext:aee,root:null,next:null,subTree:null,effect:null,update:null,scope:new Hee(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:ree?ree.provides:Object.create(aee.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:fne(nee,aee),emitsOptions:Zre(nee,aee),emit:null,emitted:null,propsDefaults:tee,inheritAttrs:nee.inheritAttrs,ctx:tee,data:tee,props:tee,attrs:tee,slots:tee,refs:tee,setupState:tee,setupContext:null,attrsProxy:null,slotsProxy:null,suspense:oee,suspenseId:oee?oee.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};iee.ctx={_:iee},iee.root=ree?ree.root:iee,iee.emit=Xre.bind(null,iee),eee.ce&&eee.ce(iee);return iee}(eee,nee,aee);if(voe(eee)&&(lee.ctx.renderer=tte),function(eee,tee=!1){mae=tee;const{props:ree,children:oee}=eee.vnode,nee=fae(eee);hne(eee,ree,nee,tee),Sne(eee,oee);const aee=nee?function(eee,tee){const ree=eee.type;eee.accessCache=Object.create(null),eee.proxy=hre(new Proxy(eee.ctx,Goe));const{setup:oee}=ree;if(oee){const ree=eee.setupContext=oee.length>1?function(eee){const tee=tee=>{eee.exposed=tee||{}};return{get attrs(){return function(eee){return eee.attrsProxy||(eee.attrsProxy=new Proxy(eee.attrs,{get:(tee,ree)=>(fte(eee,0,"$attrs"),tee[ree])}))}(eee)},slots:eee.slots,emit:eee.emit,expose:tee}}(eee):null;gae(eee),gte();const nee=Rre(oee,eee,0,[eee.props,ree]);if(wte(),wae(),mee(nee)){if(nee.then(wae,wae),tee)return nee.then((ree=>{vae(eee,ree,tee)})).catch((e=>{Dre(e,eee,0)}));eee.asyncDep=nee}else vae(eee,nee,tee)}else yae(eee,tee)}(eee,tee):void 0;mae=!1}(lee),lee.asyncDep){if(aee&&aee.registerDep(lee,$ee),!eee.el){const eee=lee.subTree=Xne(Fne);xee(null,eee,ree,oee)}}else $ee(lee,eee,ree,oee,aee,iee,see)},jee=(n1,n2,eee)=>{const tee=n2.component=n1.component;if(function(eee,tee,ree){const{props:oee,children:nee,component:aee}=eee,{props:iee,children:see,patchFlag:lee}=tee,cee=aee.emitsOptions;if(tee.dirs||tee.transition)return!0;if(!(ree&&lee>=0))return!(!nee&&!see||see&&see.$stable)||oee!==iee&&(oee?!iee||soe(oee,iee,cee):!!iee);if(1024&lee)return!0;if(16&lee)return oee?soe(oee,iee,cee):!!iee;if(8&lee){const eee=tee.dynamicProps;for(let i=0;iMre&&zre.splice(i,1)}(tee.update),tee.update()}else n2.el=n1.el,tee.vnode=n2},$ee=(eee,tee,ree,oee,nee,aee,iee)=>{const see=()=>{if(eee.isMounted){let tee,{next:ree,bu:bu,u:u,parent:oee,vnode:see}=eee,lee=ree;Rne(eee,!1),ree?(ree.el=see.el,Vee(eee,ree,iee)):ree=see,bu&&Dee(bu),(tee=ree.props&&ree.props.onVnodeBeforeUpdate)&&iae(tee,oee,ree,see),Rne(eee,!0);const cee=noe(eee),pee=eee.subTree;eee.subTree=cee,vee(pee,cee,gee(pee.el),Jee(pee),eee,nee,aee),ree.el=cee.el,null===lee&&function({vnode:eee,parent:tee},el){for(;tee&&tee.subTree===eee;)(eee=tee.vnode).el=el,tee=tee.parent}(eee,cee.el),u&&Nne(u,nee),(tee=ree.props&&ree.props.onVnodeUpdated)&&Nne((()=>iae(tee,oee,ree,see)),nee)}else{let iee;const{el:el,props:see}=tee,{bm:bm,m:m,parent:lee}=eee,cee=moe(tee);if(Rne(eee,!1),bm&&Dee(bm),!cee&&(iee=see&&see.onVnodeBeforeMount)&&iae(iee,lee,tee),Rne(eee,!0),el&&ote){const ree=()=>{eee.subTree=noe(eee),ote(el,eee.subTree,eee,nee,null)};cee?tee.type.__asyncLoader().then((()=>!eee.isUnmounted&&ree())):ree()}else{const iee=eee.subTree=noe(eee);vee(null,iee,ree,oee,eee,nee,aee),tee.el=iee.el}if(m&&Nne(m,nee),!cee&&(iee=see&&see.onVnodeMounted)){const eee=tee;Nne((()=>iae(iee,lee,eee)),nee)}(256&tee.shapeFlag||lee&&moe(lee.vnode)&&256&lee.vnode.shapeFlag)&&eee.a&&Nne(eee.a,nee),eee.isMounted=!0,tee=ree=oee=null}},lee=eee.effect=new pte(see,(()=>Bre(cee)),eee.scope),cee=eee.update=()=>lee.run();cee.id=eee.uid,Rne(eee,!0),cee()},Vee=(eee,tee,ree)=>{tee.component=eee;const oee=eee.vnode.props;eee.vnode=tee,eee.next=null,function(eee,tee,ree,oee){const{props:nee,attrs:aee,vnode:{patchFlag:iee}}=eee,see=ure(nee),[lee]=eee.propsOptions;let cee=!1;if(!(oee||iee>0)||16&iee){let oee;gne(eee,tee,nee,aee)&&(cee=!0);for(const aee in see)tee&&(pee(tee,aee)||(oee=Nee(aee))!==aee&&pee(tee,oee))||(lee?!ree||void 0===ree[aee]&&void 0===ree[oee]||(nee[aee]=wne(lee,see,aee,void 0,eee,!0)):delete nee[aee]);if(aee!==see)for(const eee in aee)tee&&pee(tee,eee)||(delete aee[eee],cee=!0)}else if(8&iee){const ree=eee.vnode.dynamicProps;for(let i=0;i{const c1=n1&&n1.children,see=n1?n1.shapeFlag:0,c2=n2.children,{patchFlag:lee,shapeFlag:cee}=n2;if(lee>0){if(128&lee)return void Yee(c1,c2,eee,tee,ree,oee,nee,aee,iee);if(256&lee)return void Bee(c1,c2,eee,tee,ree,oee,nee,aee,iee)}8&cee?(16&see&&Zee(c1,ree,oee),c2!==c1&&hee(eee,c2)):16&see?16&cee?Yee(c1,c2,eee,tee,ree,oee,nee,aee,iee):Zee(c1,ree,oee,!0):(8&see&&hee(eee,""),16&cee&&Ree(c2,eee,tee,ree,oee,nee,aee,iee))},Bee=(c1,c2,eee,tee,oee,nee,aee,iee,see)=>{c2=c2||ree;const lee=(c1=c1||ree).length,cee=c2.length,pee=Math.min(lee,cee);let i;for(i=0;icee?Zee(c1,oee,nee,!0,!1,pee):Ree(c2,eee,tee,oee,nee,aee,iee,see,pee)},Yee=(c1,c2,eee,tee,oee,nee,aee,iee,see)=>{let i=0;const l2=c2.length;let e1=c1.length-1,e2=l2-1;for(;i<=e1&&i<=e2;){const n1=c1[i],n2=c2[i]=see?oae(c2[i]):rae(c2[i]);if(!Gne(n1,n2))break;vee(n1,n2,eee,null,oee,nee,aee,iee,see),i++}for(;i<=e1&&i<=e2;){const n1=c1[e1],n2=c2[e2]=see?oae(c2[e2]):rae(c2[e2]);if(!Gne(n1,n2))break;vee(n1,n2,eee,null,oee,nee,aee,iee,see),e1--,e2--}if(i>e1){if(i<=e2){const ree=e2+1,lee=reee2)for(;i<=e1;)Qee(c1[i],oee,nee,!0),i++;else{const s1=i,s2=i,lee=new Map;for(i=s2;i<=e2;i++){const eee=c2[i]=see?oae(c2[i]):rae(c2[i]);null!=eee.key&&lee.set(eee.key,i)}let j,cee=0;const pee=e2-s2+1;let dee=!1,uee=0;const hee=new Array(pee);for(i=0;i=pee){Qee(tee,oee,nee,!0);continue}let ree;if(null!=tee.key)ree=lee.get(tee.key);else for(j=s2;j<=e2;j++)if(0===hee[j-s2]&&Gne(tee,c2[j])){ree=j;break}void 0===ree?Qee(tee,oee,nee,!0):(hee[ree-s2]=i+1,ree>=uee?uee=ree:dee=!0,vee(tee,c2[ree],eee,null,oee,nee,aee,iee,see),cee++)}const gee=dee?function(eee){const p=eee.slice(),tee=[0];let i,j,u,v,c;const ree=eee.length;for(i=0;i>1,eee[tee[c]]0&&(p[i]=tee[u-1]),tee[u]=i)}}u=tee.length,v=tee[u-1];for(;u-- >0;)tee[u]=v,v=p[v];return tee}(hee):ree;for(j=gee.length-1,i=pee-1;i>=0;i--){const ree=s2+i,lee=c2[ree],cee=ree+1{const{el:el,type:iee,transition:see,children:lee,shapeFlag:cee}=eee;if(6&cee)return void Gee(eee.component.subTree,tee,ree,oee);if(128&cee)return void eee.suspense.move(tee,ree,oee);if(64&cee)return void iee.move(eee,tee,ree,tte);if(iee===Dne){aee(el,tee,ree);for(let i=0;isee.enter(el)),nee);else{const{leave:eee,delayLeave:oee,afterLeave:nee}=see,iee=()=>aee(el,tee,ree),lee=()=>{eee(el,(()=>{iee(),nee&&nee()}))};oee?oee(el,iee,lee):lee()}else aee(el,tee,ree)},Qee=(eee,tee,ree,oee=!1,nee=!1)=>{const{type:aee,props:iee,ref:see,children:lee,dynamicChildren:cee,shapeFlag:pee,patchFlag:dee,dirs:uee}=eee;if(null!=see&&One(see,null,ree,eee,!0),256&pee)return void tee.ctx.deactivate(eee);const hee=1&pee&&uee,gee=!moe(eee);let wee;if(gee&&(wee=iee&&iee.onVnodeBeforeUnmount)&&iae(wee,tee,eee),6&pee)Xee(eee.component,ree,oee);else{if(128&pee)return void eee.suspense.unmount(ree,oee);hee&&foe(eee,null,tee,"beforeUnmount"),64&pee?eee.type.remove(eee,tee,ree,nee,tte,oee):cee&&(aee!==Dne||dee>0&&64&dee)?Zee(cee,tee,ree,!1,!0):(aee===Dne&&384&dee||!nee&&16&pee)&&Zee(lee,tee,ree),oee&&Wee(eee)}(gee&&(wee=iee&&iee.onVnodeUnmounted)||hee)&&Nne((()=>{wee&&iae(wee,tee,eee),hee&&foe(eee,null,tee,"unmounted")}),ree)},Wee=eee=>{const{type:tee,el:el,anchor:ree,transition:oee}=eee;if(tee===Dne)return void Kee(el,ree);if(tee===zne)return void Tee(eee);const nee=()=>{iee(el),oee&&!oee.persisted&&oee.afterLeave&&oee.afterLeave()};if(1&eee.shapeFlag&&oee&&!oee.persisted){const{leave:tee,delayLeave:ree}=oee,aee=()=>tee(el,nee);ree?ree(eee.el,nee,aee):aee()}else nee()},Kee=(eee,tee)=>{let ree;for(;eee!==tee;)ree=wee(eee),iee(eee),eee=ree;iee(tee)},Xee=(eee,tee,ree)=>{const{bum:oee,scope:nee,update:aee,subTree:iee,um:um}=eee;oee&&Dee(oee),nee.stop(),aee&&(aee.active=!1,Qee(iee,eee,tee,ree)),um&&Nne(um,tee),Nne((()=>{eee.isUnmounted=!0}),tee),tee&&tee.pendingBranch&&!tee.isUnmounted&&eee.asyncDep&&!eee.asyncResolved&&eee.suspenseId===tee.pendingId&&(tee.deps--,0===tee.deps&&tee.resolve())},Zee=(eee,tee,ree,oee=!1,nee=!1,aee=0)=>{for(let i=aee;i6&eee.shapeFlag?Jee(eee.component.subTree):128&eee.shapeFlag?eee.suspense.next():wee(eee.anchor||eee.el),ete=(eee,tee,ree)=>{null==eee?tee._vnode&&Qee(tee._vnode,null,null,!0):vee(tee._vnode||null,eee,tee,null,null,null,ree),Gre(),Qre(),tee._vnode=eee},tte={p:vee,um:Qee,m:Gee,r:Wee,mt:Uee,mc:Ree,pc:qee,pbc:Lee,n:Jee,o:eee};let rte,ote;return{render:ete,hydrate:rte,createApp:lne(ete,rte)}}(eee)}function Rne({effect:eee,update:tee},ree){eee.allowRecurse=tee.allowRecurse=ree}function Cne(n1,n2,eee=!1){const tee=n1.children,ree=n2.children;if(dee(tee)&&dee(ree))for(let i=0;i0?Pne||ree:null,Mne.pop(),Pne=Mne[Mne.length-1]||null,jne>0&&Pne&&Pne.push(eee),eee}function qne(eee,tee,ree,oee,nee,aee){return Vne(Hne(eee,tee,ree,oee,nee,aee,!0))}function Bne(eee,tee,ree,oee,nee){return Vne(Xne(eee,tee,ree,oee,nee,!0))}function Yne(eee){return!!eee&&!0===eee.__v_isVNode}function Gne(n1,n2){return n1.type===n2.type&&n1.key===n2.key}const Qne="__vInternal",Wne=({key:eee})=>null!=eee?eee:null,Kne=({ref:eee,ref_key:tee,ref_for:ree})=>("number"==typeof eee&&(eee=""+eee),null!=eee?wee(eee)||mre(eee)||gee(eee)?{i:eoe,r:eee,k:tee,f:!!ree}:eee:null);function Hne(eee,tee=null,ree=null,oee=0,nee=null,aee=(eee===Dne?0:1),iee=!1,see=!1){const lee={__v_isVNode:!0,__v_skip:!0,type:eee,props:tee,key:tee&&Wne(tee),ref:tee&&Kne(tee),scopeId:toe,slotScopeIds:null,children:ree,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:aee,patchFlag:oee,dynamicProps:nee,dynamicChildren:null,appContext:null,ctx:eoe};return see?(nae(lee,ree),128&aee&&eee.normalize(lee)):ree&&(lee.shapeFlag|=wee(ree)?8:16),jne>0&&!iee&&Pne&&(lee.patchFlag>0||6&aee)&&32!==lee.patchFlag&&Pne.push(lee),lee}const Xne=function(eee,tee=null,ree=null,oee=0,nee=null,aee=!1){eee&&eee!==zoe||(eee=Fne);if(Yne(eee)){const oee=Zne(eee,tee,!0);return ree&&nae(oee,ree),jne>0&&!aee&&Pne&&(6&oee.shapeFlag?Pne[Pne.indexOf(eee)]=oee:Pne.push(oee)),oee.patchFlag|=-2,oee}iee=eee,gee(iee)&&"__vccOpts"in iee&&(eee=eee.__vccOpts);var iee;if(tee){tee=function(eee){return eee?dre(eee)||Qne in eee?see({},eee):eee:null}(tee);let{class:eee,style:ree}=tee;eee&&!wee(eee)&&(tee.class=Bee(eee)),bee(ree)&&(dre(ree)&&!dee(ree)&&(ree=see({},ree)),tee.style=Uee(ree))}const lee=wee(eee)?1:(eee=>eee.__isSuspense)(eee)?128:(eee=>eee.__isTeleport)(eee)?64:bee(eee)?4:gee(eee)?2:0;return Hne(eee,tee,ree,oee,nee,lee,aee,!0)};function Zne(eee,tee,ree=!1){const{props:oee,ref:nee,patchFlag:aee,children:iee}=eee,see=tee?aae(oee||{},tee):oee;return{__v_isVNode:!0,__v_skip:!0,type:eee.type,props:see,key:see&&Wne(see),ref:tee&&tee.ref?ree&&nee?dee(nee)?nee.concat(Kne(tee)):[nee,Kne(tee)]:Kne(tee):nee,scopeId:eee.scopeId,slotScopeIds:eee.slotScopeIds,children:iee,target:eee.target,targetAnchor:eee.targetAnchor,staticCount:eee.staticCount,shapeFlag:eee.shapeFlag,patchFlag:tee&&eee.type!==Dne?-1===aee?16:16|aee:aee,dynamicProps:eee.dynamicProps,dynamicChildren:eee.dynamicChildren,appContext:eee.appContext,dirs:eee.dirs,transition:eee.transition,component:eee.component,suspense:eee.suspense,ssContent:eee.ssContent&&Zne(eee.ssContent),ssFallback:eee.ssFallback&&Zne(eee.ssFallback),el:eee.el,anchor:eee.anchor,ctx:eee.ctx,ce:eee.ce}}function Jne(eee=" ",tee=0){return Xne(Lne,null,eee,tee)}function eae(eee,tee){const ree=Xne(zne,null,eee);return ree.staticCount=tee,ree}function tae(eee="",tee=!1){return tee?(Une(),Bne(Fne,null,eee)):Xne(Fne,null,eee)}function rae(eee){return null==eee||"boolean"==typeof eee?Xne(Fne):dee(eee)?Xne(Dne,null,eee.slice()):"object"==typeof eee?oae(eee):Xne(Lne,null,String(eee))}function oae(eee){return null===eee.el&&-1!==eee.patchFlag||eee.memo?eee:Zne(eee)}function nae(eee,tee){let ree=0;const{shapeFlag:oee}=eee;if(null==tee)tee=null;else if(dee(tee))ree=16;else if("object"==typeof tee){if(65&oee){const ree=tee.default;return void(ree&&(ree._c&&(ree._d=!1),nae(eee,ree()),ree._c&&(ree._d=!0)))}{ree=32;const oee=tee._;oee||Qne in tee?3===oee&&eoe&&(1===eoe.slots._?tee._=1:(tee._=2,eee.patchFlag|=1024)):tee._ctx=eoe}}else gee(tee)?(tee={default:tee,_ctx:eoe},ree=32):(tee=String(tee),64&oee?(ree=16,tee=[Jne(tee)]):ree=8);eee.children=tee,eee.shapeFlag|=ree}function aae(...eee){const tee={};for(let i=0;icae||eoe;let dae,uae,hae="__VUE_INSTANCE_SETTERS__";(uae=Pee()[hae])||(uae=Pee()[hae]=[]),uae.push((i=>cae=i)),dae=eee=>{uae.length>1?uae.forEach((s=>s(eee))):uae[0](eee)};const gae=eee=>{dae(eee),eee.scope.on()},wae=()=>{cae&&cae.scope.off(),dae(null)};function fae(eee){return 4&eee.vnode.shapeFlag}let bae,mae=!1;function vae(eee,tee,ree){gee(tee)?eee.type.__ssrInlineRender?eee.ssrRender=tee:eee.render=tee:bee(tee)&&(eee.setupState=Tre(tee)),yae(eee,ree)}function yae(eee,tee,ree){const nee=eee.type;if(!eee.render){if(!tee&&bae&&!nee.render){const tee=nee.template||Zoe(eee).template;if(tee){const{isCustomElement:ree,compilerOptions:oee}=eee.appContext.config,{delimiters:aee,compilerOptions:iee}=nee,lee=see(see({isCustomElement:ree,delimiters:aee},oee),iee);nee.render=bae(tee,lee)}}eee.render=nee.render||oee}gae(eee),gte(),Koe(eee),wte(),wae()}function xae(eee){if(eee.exposed)return eee.exposeProxy||(eee.exposeProxy=new Proxy(Tre(hre(eee.exposed)),{get:(tee,ree)=>ree in tee?tee[ree]:ree in Boe?Boe[ree](eee):void 0,has:(eee,tee)=>tee in eee||tee in Boe}))}const kae=(eee,tee)=>function(eee,tee,ree=!1){let nee,aee;const iee=gee(eee);return iee?(nee=eee,aee=oee):(nee=eee.get,aee=eee.set),new Are(nee,aee,iee||!aee,ree)}(eee,0,mae);function h(eee,tee,ree){const l=arguments.length;return 2===l?bee(tee)&&!dee(tee)?Yne(tee)?Xne(eee,null,[tee]):Xne(eee,tee):Xne(eee,null,tee):(l>3?ree=Array.prototype.slice.call(arguments,2):3===l&&Yne(ree)&&(ree=[ree]),Xne(eee,tee,ree))}const _ae=Symbol.for("v-scx"),Eae=()=>dne(_ae),Tae="3.3.4",Sae="undefined"!=typeof document?document:null,Iae=Sae&&Sae.createElement("template"),Oae={insert:(eee,tee,ree)=>{tee.insertBefore(eee,ree||null)},remove:eee=>{const tee=eee.parentNode;tee&&tee.removeChild(eee)},createElement:(eee,tee,is,ree)=>{const el=tee?Sae.createElementNS("http://www.w3.org/2000/svg",eee):Sae.createElement(eee,is?{is:is}:void 0);return"select"===eee&&ree&&null!=ree.multiple&&el.setAttribute("multiple",ree.multiple),el},createText:eee=>Sae.createTextNode(eee),createComment:eee=>Sae.createComment(eee),setText:(eee,tee)=>{eee.nodeValue=tee},setElementText:(el,eee)=>{el.textContent=eee},parentNode:eee=>eee.parentNode,nextSibling:eee=>eee.nextSibling,querySelector:eee=>Sae.querySelector(eee),setScopeId(el,id){el.setAttribute(id,"")},insertStaticContent(eee,tee,ree,oee,nee,aee){const iee=ree?ree.previousSibling:tee.lastChild;if(nee&&(nee===aee||nee.nextSibling))for(;tee.insertBefore(nee.cloneNode(!0),ree),nee!==aee&&(nee=nee.nextSibling););else{Iae.innerHTML=oee?`${eee}`:eee;const nee=Iae.content;if(oee){const eee=nee.firstChild;for(;eee.firstChild;)nee.appendChild(eee.firstChild);nee.removeChild(eee)}tee.insertBefore(nee,ree)}return[iee?iee.nextSibling:tee.firstChild,ree?ree.previousSibling:tee.lastChild]}};const Nae=/\s*!important$/;function Aae(eee,tee,ree){if(dee(ree))ree.forEach((v=>Aae(eee,tee,v)));else if(null==ree&&(ree=""),tee.startsWith("--"))eee.setProperty(tee,ree);else{const oee=function(eee,tee){const ree=Cae[tee];if(ree)return ree;let oee=Iee(tee);if("filter"!==oee&&oee in eee)return Cae[tee]=oee;oee=Aee(oee);for(let i=0;i{if(e._vts){if(e._vts<=ree.attached)return}else e._vts=Date.now();Cre(function(e,eee){if(dee(eee)){const tee=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{tee.call(e),e._stopped=!0},eee.map((fn=>e2=>!e2._stopped&&fn&&fn(e2)))}return eee}(e,ree.value),tee,5,[e])};return ree.value=eee,ree.attached=Pae(),ree}(ree,oee);!function(el,eee,tee,ree){el.addEventListener(eee,tee,ree)}(el,tee,aee,iee)}else aee&&(!function(el,eee,tee,ree){el.removeEventListener(eee,tee,ree)}(el,tee,aee,iee),nee[eee]=void 0)}}const Fae=/(?:Once|Passive|Capture)$/;let zae=0;const Mae=Promise.resolve(),Pae=()=>zae||(Mae.then((()=>zae=0)),zae=Date.now());const Uae=/^on[a-z]/;const jae="undefined"!=typeof HTMLElement?HTMLElement:class{};class $ae extends jae{constructor(eee,tee={},ree){super(),this._def=eee,this._props=tee,this._instance=null,this._connected=!1,this._resolved=!1,this._numberProps=null,this.shadowRoot&&ree?ree(this._createVNode(),this.shadowRoot):(this.attachShadow({mode:"open"}),this._def.__asyncLoader||this._resolveProps(this._def))}connectedCallback(){this._connected=!0,this._instance||(this._resolved?this._update():this._resolveDef())}disconnectedCallback(){this._connected=!1,qre((()=>{this._connected||(Kae(null,this.shadowRoot),this._instance=null)}))}_resolveDef(){this._resolved=!0;for(let i=0;i{for(const m of eee)this._setAttr(m.attributeName)})).observe(this,{attributes:!0});const eee=(eee,tee=!1)=>{const{props:ree,styles:oee}=eee;let nee;if(ree&&!dee(ree))for(const aee in ree){const eee=ree[aee];(eee===Number||eee&&eee.type===Number)&&(aee in this._props&&(this._props[aee]=zee(this._props[aee])),(nee||(nee=Object.create(null)))[Iee(aee)]=!0)}this._numberProps=nee,tee&&this._resolveProps(eee),this._applyStyles(oee),this._update()},tee=this._def.__asyncLoader;tee?tee().then((tee=>eee(tee,!0))):eee(this._def)}_resolveProps(eee){const{props:tee}=eee,ree=dee(tee)?tee:Object.keys(tee||{});for(const oee of Object.keys(this))"_"!==oee[0]&&ree.includes(oee)&&this._setProp(oee,this[oee],!0,!1);for(const oee of ree.map(Iee))Object.defineProperty(this,oee,{get(){return this._getProp(oee)},set(eee){this._setProp(oee,eee)}})}_setAttr(eee){let tee=this.getAttribute(eee);const ree=Iee(eee);this._numberProps&&this._numberProps[ree]&&(tee=zee(tee)),this._setProp(ree,tee,!1)}_getProp(eee){return this._props[eee]}_setProp(eee,tee,ree=!0,oee=!0){tee!==this._props[eee]&&(this._props[eee]=tee,oee&&this._instance&&this._update(),ree&&(!0===tee?this.setAttribute(Nee(eee),""):"string"==typeof tee||"number"==typeof tee?this.setAttribute(Nee(eee),tee+""):tee||this.removeAttribute(Nee(eee))))}_update(){Kae(this._createVNode(),this.shadowRoot)}_createVNode(){const eee=Xne(this._def,see({},this._props));return this._instance||(eee.ce=eee=>{this._instance=eee,eee.isCE=!0;const tee=(eee,tee)=>{this.dispatchEvent(new CustomEvent(eee,{detail:tee}))};eee.emit=(eee,...ree)=>{tee(eee,ree),Nee(eee)!==eee&&tee(Nee(eee),ree)};let ree=this;for(;ree=ree&&(ree.parentNode||ree.host);)if(ree instanceof $ae){eee.parent=ree._instance,eee.provides=ree._instance.provides;break}}),eee}_applyStyles(eee){eee&&eee.forEach((eee=>{const s=document.createElement("style");s.textContent=eee,this.shadowRoot.appendChild(s)}))}}const Vae=["ctrl","shift","alt","meta"],qae={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&0!==e.button,middle:e=>"button"in e&&1!==e.button,right:e=>"button"in e&&2!==e.button,exact:(e,eee)=>Vae.some((m=>e[`${m}Key`]&&!eee.includes(m)))},Bae={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Yae={beforeMount(el,{value:eee},{transition:tee}){el._vod="none"===el.style.display?"":el.style.display,tee&&eee?tee.beforeEnter(el):Gae(el,eee)},mounted(el,{value:eee},{transition:tee}){tee&&eee&&tee.enter(el)},updated(el,{value:eee,oldValue:tee},{transition:ree}){!eee!=!tee&&(ree?eee?(ree.beforeEnter(el),Gae(el,!0),ree.enter(el)):ree.leave(el,(()=>{Gae(el,!1)})):Gae(el,eee))},beforeUnmount(el,{value:eee}){Gae(el,eee)}};function Gae(el,eee){el.style.display=eee?el._vod:"none"}const Qae=see({patchProp:(el,eee,tee,ree,oee=!1,nee,see,lee,cee)=>{"class"===eee?function(el,eee,tee){const ree=el._vtc;ree&&(eee=(eee?[eee,...ree]:[...ree]).join(" ")),null==eee?el.removeAttribute("class"):tee?el.setAttribute("class",eee):el.className=eee}(el,ree,oee):"style"===eee?function(el,eee,tee){const ree=el.style,oee=wee(tee);if(tee&&!oee){if(eee&&!wee(eee))for(const oee in eee)null==tee[oee]&&Aae(ree,oee,"");for(const eee in tee)Aae(ree,eee,tee[eee])}else{const nee=ree.display;oee?eee!==tee&&(ree.cssText=tee):eee&&el.removeAttribute("style"),"_vod"in el&&(ree.display=nee)}}(el,tee,ree):aee(eee)?iee(eee)||Lae(el,eee,0,ree,see):("."===eee[0]?(eee=eee.slice(1),1):"^"===eee[0]?(eee=eee.slice(1),0):function(el,eee,tee,ree){if(ree)return"innerHTML"===eee||"textContent"===eee||!!(eee in el&&Uae.test(eee)&&gee(tee));if("spellcheck"===eee||"draggable"===eee||"translate"===eee)return!1;if("form"===eee)return!1;if("list"===eee&&"INPUT"===el.tagName)return!1;if("type"===eee&&"TEXTAREA"===el.tagName)return!1;if(Uae.test(eee)&&wee(tee))return!1;return eee in el}(el,eee,ree,oee))?function(el,eee,tee,ree,oee,nee,aee){if("innerHTML"===eee||"textContent"===eee)return ree&&aee(ree,oee,nee),void(el[eee]=null==tee?"":tee);const iee=el.tagName;if("value"===eee&&"PROGRESS"!==iee&&!iee.includes("-")){el._value=tee;const ree=null==tee?"":tee;return("OPTION"===iee?el.getAttribute("value"):el.value)!==ree&&(el.value=ree),void(null==tee&&el.removeAttribute(eee))}let see=!1;if(""===tee||null==tee){const ree=typeof el[eee];"boolean"===ree?tee=Gee(tee):null==tee&&"string"===ree?(tee="",see=!0):"number"===ree&&(tee=0,see=!0)}try{el[eee]=tee}catch(e){}see&&el.removeAttribute(eee)}(el,eee,ree,nee,see,lee,cee):("true-value"===eee?el._trueValue=ree:"false-value"===eee&&(el._falseValue=ree),function(el,eee,tee,ree,oee){if(ree&&eee.startsWith("xlink:"))null==tee?el.removeAttributeNS(Dae,eee.slice(6,eee.length)):el.setAttributeNS(Dae,eee,tee);else{const ree=Yee(eee);null==tee||ree&&!Gee(tee)?el.removeAttribute(eee):el.setAttribute(eee,ree?"":tee)}}(el,eee,ree,oee))}},Oae);let Wae;const Kae=(...eee)=>{(Wae||(Wae=Ane(Qae))).render(...eee)},Hae="undefined"!=typeof window,Xae=(eee,tee=!1)=>tee?Symbol.for(eee):Symbol(eee),Zae=(eee,tee,ree)=>Jae({l:eee,k:tee,s:ree}),Jae=eee=>JSON.stringify(eee).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),eie=eee=>"number"==typeof eee&&isFinite(eee),tie=eee=>"[object Date]"===bie(eee),rie=eee=>"[object RegExp]"===bie(eee),oie=eee=>mie(eee)&&0===Object.keys(eee).length,nie=Object.assign; -/*! - * shared v9.13.1 - * (c) 2024 kazuya kawaguchi - * Released under the MIT License. - */let aie;const iie=()=>aie||(aie="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{});function sie(eee){return eee.replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}const lie=Object.prototype.hasOwnProperty;function cie(eee,tee){return lie.call(eee,tee)}const pie=Array.isArray,die=eee=>"function"==typeof eee,uie=eee=>"string"==typeof eee,hie=eee=>"boolean"==typeof eee,gie=eee=>null!==eee&&"object"==typeof eee,wie=eee=>gie(eee)&&die(eee.then)&&die(eee.catch),fie=Object.prototype.toString,bie=eee=>fie.call(eee),mie=eee=>{if(!gie(eee))return!1;const tee=Object.getPrototypeOf(eee);return null===tee||tee.constructor===Object};function vie(eee){let tee=eee;return()=>++tee}function yie(eee,tee){"undefined"!=typeof console&&(console.warn("[intlify] "+eee),tee&&console.warn(tee.stack))}const xie=eee=>!gie(eee)||pie(eee);function kie(eee,tee){if(xie(eee)||xie(tee))throw new Error("Invalid value");const ree=[{src:eee,des:tee}];for(;ree.length;){const{src:eee,des:tee}=ree.pop();Object.keys(eee).forEach((oee=>{xie(eee[oee])||xie(tee[oee])?tee[oee]=eee[oee]:ree.push({src:eee[oee],des:tee[oee]})}))}} -/*! - * message-compiler v9.13.1 - * (c) 2024 kazuya kawaguchi - * Released under the MIT License. - */function _ie(eee,tee,ree){return{start:eee,end:tee}}const Eie=/\{([0-9a-zA-Z]+)\}/g;function Tie(eee,...tee){return 1===tee.length&&Oie(tee[0])&&(tee=tee[0]),tee&&tee.hasOwnProperty||(tee={}),eee.replace(Eie,((eee,ree)=>tee.hasOwnProperty(ree)?tee[ree]:""))}const Sie=Object.assign,Iie=eee=>"string"==typeof eee,Oie=eee=>null!==eee&&"object"==typeof eee;function Nie(eee,tee=""){return eee.reduce(((eee,ree,oee)=>0===oee?eee+ree:eee+tee+ree),"")}const Aie={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Rie={[Aie.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};const Cie={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},Die={[Cie.EXPECTED_TOKEN]:"Expected token: '{0}'",[Cie.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Cie.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Cie.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Cie.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Cie.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Cie.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Cie.EMPTY_PLACEHOLDER]:"Empty placeholder",[Cie.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Cie.INVALID_LINKED_FORMAT]:"Invalid linked format",[Cie.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Cie.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Cie.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Cie.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Cie.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Cie.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function Lie(eee,tee,ree={}){const{domain:oee,messages:nee,args:aee}=ree,iee=Tie((nee||Die)[eee]||"",...aee||[]),see=new SyntaxError(String(iee));return see.code=eee,tee&&(see.location=tee),see.domain=oee,see}function Fie(eee){throw eee}const zie=" ",Mie="\r",Pie="\n",Uie=String.fromCharCode(8232),jie=String.fromCharCode(8233);function $ie(eee){const tee=eee;let ree=0,oee=1,nee=1,aee=0;const iee=eee=>tee[eee]===Mie&&tee[eee+1]===Pie,see=eee=>tee[eee]===jie,lee=eee=>tee[eee]===Uie,cee=eee=>iee(eee)||(eee=>tee[eee]===Pie)(eee)||see(eee)||lee(eee),pee=eee=>iee(eee)||see(eee)||lee(eee)?Pie:tee[eee];function dee(){return aee=0,cee(ree)&&(oee++,nee=0),iee(ree)&&ree++,ree++,nee++,tee[ree]}return{index:()=>ree,line:()=>oee,column:()=>nee,peekOffset:()=>aee,charAt:pee,currentChar:()=>pee(ree),currentPeek:()=>pee(ree+aee),next:dee,peek:function(){return iee(ree+aee)&&aee++,aee++,tee[ree+aee]},reset:function(){ree=0,oee=1,nee=1,aee=0},resetPeek:function(eee=0){aee=eee},skipToPeek:function(){const eee=ree+aee;for(;eee!==ree;)dee();aee=0}}}const Vie=void 0,qie="'",Bie="tokenizer";function Yie(eee,tee={}){const ree=!1!==tee.location,oee=$ie(eee),nee=()=>oee.index(),aee=()=>{return eee=oee.line(),tee=oee.column(),ree=oee.index(),{line:eee,column:tee,offset:ree};var eee,tee,ree},iee=aee(),see=nee(),lee={currentType:14,offset:see,startLoc:iee,endLoc:iee,lastType:14,lastOffset:see,lastStartLoc:iee,lastEndLoc:iee,braceNest:0,inLinked:!1,text:""},cee=()=>lee,{onError:pee}=tee;function dee(eee,tee,oee,...nee){const aee=cee();if(tee.column+=oee,tee.offset+=oee,pee){const oee=Lie(eee,ree?_ie(aee.startLoc,tee):null,{domain:Bie,args:nee});pee(oee)}}function uee(eee,tee,oee){eee.endLoc=aee(),eee.currentType=tee;const nee={type:tee};return ree&&(nee.loc=_ie(eee.startLoc,eee.endLoc)),null!=oee&&(nee.value=oee),nee}const hee=eee=>uee(eee,14);function gee(eee,ch){return eee.currentChar()===ch?(eee.next(),ch):(dee(Cie.EXPECTED_TOKEN,aee(),0,ch),"")}function wee(eee){let tee="";for(;eee.currentPeek()===zie||eee.currentPeek()===Pie;)tee+=eee.currentPeek(),eee.peek();return tee}function fee(eee){const tee=wee(eee);return eee.skipToPeek(),tee}function bee(ch){if(ch===Vie)return!1;const cc=ch.charCodeAt(0);return cc>=97&&cc<=122||cc>=65&&cc<=90||95===cc}function mee(eee,tee){const{currentType:ree}=tee;if(2!==ree)return!1;wee(eee);const oee=function(ch){if(ch===Vie)return!1;const cc=ch.charCodeAt(0);return cc>=48&&cc<=57}("-"===eee.currentPeek()?eee.peek():eee.currentPeek());return eee.resetPeek(),oee}function vee(eee){wee(eee);const tee="|"===eee.currentPeek();return eee.resetPeek(),tee}function yee(eee,tee=!0){const fn=(tee=!1,ree="",oee=!1)=>{const ch=eee.currentPeek();return"{"===ch?"%"!==ree&&tee:"@"!==ch&&ch?"%"===ch?(eee.peek(),fn(tee,"%",!0)):"|"===ch?!("%"!==ree&&!oee)||!(ree===zie||ree===Pie):ch===zie?(eee.peek(),fn(!0,zie,oee)):ch!==Pie||(eee.peek(),fn(!0,Pie,oee)):"%"===ree||tee},ree=fn();return tee&&eee.resetPeek(),ree}function xee(eee,fn){const ch=eee.currentChar();return ch===Vie?Vie:fn(ch)?(eee.next(),ch):null}function kee(ch){const cc=ch.charCodeAt(0);return cc>=97&&cc<=122||cc>=65&&cc<=90||cc>=48&&cc<=57||95===cc||36===cc}function _ee(eee){return xee(eee,kee)}function Eee(ch){const cc=ch.charCodeAt(0);return cc>=97&&cc<=122||cc>=65&&cc<=90||cc>=48&&cc<=57||95===cc||36===cc||45===cc}function Tee(eee){return xee(eee,Eee)}function See(ch){const cc=ch.charCodeAt(0);return cc>=48&&cc<=57}function Iee(eee){return xee(eee,See)}function Oee(ch){const cc=ch.charCodeAt(0);return cc>=48&&cc<=57||cc>=65&&cc<=70||cc>=97&&cc<=102}function Nee(eee){return xee(eee,Oee)}function Aee(eee){let ch="",tee="";for(;ch=Iee(eee);)tee+=ch;return tee}function Ree(eee){let tee="";for(;;){const ch=eee.currentChar();if("{"===ch||"}"===ch||"@"===ch||"|"===ch||!ch)break;if("%"===ch){if(!yee(eee))break;tee+=ch,eee.next()}else if(ch===zie||ch===Pie)if(yee(eee))tee+=ch,eee.next();else{if(vee(eee))break;tee+=ch,eee.next()}else tee+=ch,eee.next()}return tee}function Cee(ch){return ch!==qie&&ch!==Pie}function Dee(eee){const ch=eee.currentChar();switch(ch){case"\\":case"'":return eee.next(),`\\${ch}`;case"u":return Lee(eee,ch,4);case"U":return Lee(eee,ch,6);default:return dee(Cie.UNKNOWN_ESCAPE_SEQUENCE,aee(),0,ch),""}}function Lee(eee,tee,ree){gee(eee,tee);let oee="";for(let i=0;i=1&&dee(Cie.NOT_ALLOW_NEST_PLACEHOLDER,aee(),0),eee.next(),ree=uee(tee,2,"{"),fee(eee),tee.braceNest++,ree;case"}":return tee.braceNest>0&&2===tee.currentType&&dee(Cie.EMPTY_PLACEHOLDER,aee(),0),eee.next(),ree=uee(tee,3,"}"),tee.braceNest--,tee.braceNest>0&&fee(eee),tee.inLinked&&0===tee.braceNest&&(tee.inLinked=!1),ree;case"@":return tee.braceNest>0&&dee(Cie.UNTERMINATED_CLOSING_BRACE,aee(),0),ree=Pee(eee,tee)||hee(tee),tee.braceNest=0,ree;default:{let oee=!0,nee=!0,iee=!0;if(vee(eee))return tee.braceNest>0&&dee(Cie.UNTERMINATED_CLOSING_BRACE,aee(),0),ree=uee(tee,1,zee(eee)),tee.braceNest=0,tee.inLinked=!1,ree;if(tee.braceNest>0&&(5===tee.currentType||6===tee.currentType||7===tee.currentType))return dee(Cie.UNTERMINATED_CLOSING_BRACE,aee(),0),tee.braceNest=0,Uee(eee,tee);if(oee=function(eee,tee){const{currentType:ree}=tee;if(2!==ree)return!1;wee(eee);const oee=bee(eee.currentPeek());return eee.resetPeek(),oee}(eee,tee))return ree=uee(tee,5,function(eee){fee(eee);let ch="",tee="";for(;ch=Tee(eee);)tee+=ch;return eee.currentChar()===Vie&&dee(Cie.UNTERMINATED_CLOSING_BRACE,aee(),0),tee}(eee)),fee(eee),ree;if(nee=mee(eee,tee))return ree=uee(tee,6,function(eee){fee(eee);let tee="";return"-"===eee.currentChar()?(eee.next(),tee+=`-${Aee(eee)}`):tee+=Aee(eee),eee.currentChar()===Vie&&dee(Cie.UNTERMINATED_CLOSING_BRACE,aee(),0),tee}(eee)),fee(eee),ree;if(iee=function(eee,tee){const{currentType:ree}=tee;if(2!==ree)return!1;wee(eee);const oee=eee.currentPeek()===qie;return eee.resetPeek(),oee}(eee,tee))return ree=uee(tee,7,function(eee){fee(eee),gee(eee,"'");let ch="",tee="";for(;ch=xee(eee,Cee);)tee+="\\"===ch?Dee(eee):ch;const ree=eee.currentChar();return ree===Pie||ree===Vie?(dee(Cie.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,aee(),0),ree===Pie&&(eee.next(),gee(eee,"'")),tee):(gee(eee,"'"),tee)}(eee)),fee(eee),ree;if(!oee&&!nee&&!iee)return ree=uee(tee,13,function(eee){fee(eee);let ch="",tee="";for(;ch=xee(eee,Fee);)tee+=ch;return tee}(eee)),dee(Cie.INVALID_TOKEN_IN_PLACEHOLDER,aee(),0,ree.value),fee(eee),ree;break}}return ree}function Pee(eee,tee){const{currentType:ree}=tee;let oee=null;const ch=eee.currentChar();switch(8!==ree&&9!==ree&&12!==ree&&10!==ree||ch!==Pie&&ch!==zie||dee(Cie.INVALID_LINKED_FORMAT,aee(),0),ch){case"@":return eee.next(),oee=uee(tee,8,"@"),tee.inLinked=!0,oee;case".":return fee(eee),eee.next(),uee(tee,9,".");case":":return fee(eee),eee.next(),uee(tee,10,":");default:return vee(eee)?(oee=uee(tee,1,zee(eee)),tee.braceNest=0,tee.inLinked=!1,oee):function(eee,tee){const{currentType:ree}=tee;if(8!==ree)return!1;wee(eee);const oee="."===eee.currentPeek();return eee.resetPeek(),oee}(eee,tee)||function(eee,tee){const{currentType:ree}=tee;if(8!==ree&&12!==ree)return!1;wee(eee);const oee=":"===eee.currentPeek();return eee.resetPeek(),oee}(eee,tee)?(fee(eee),Pee(eee,tee)):function(eee,tee){const{currentType:ree}=tee;if(9!==ree)return!1;wee(eee);const oee=bee(eee.currentPeek());return eee.resetPeek(),oee}(eee,tee)?(fee(eee),uee(tee,12,function(eee){let ch="",tee="";for(;ch=_ee(eee);)tee+=ch;return tee}(eee))):function(eee,tee){const{currentType:ree}=tee;if(10!==ree)return!1;const fn=()=>{const ch=eee.currentPeek();return"{"===ch?bee(eee.peek()):!("@"===ch||"%"===ch||"|"===ch||":"===ch||"."===ch||ch===zie||!ch)&&(ch===Pie?(eee.peek(),fn()):yee(eee,!1))},oee=fn();return eee.resetPeek(),oee}(eee,tee)?(fee(eee),"{"===ch?Mee(eee,tee)||oee:uee(tee,11,function(eee){const fn=tee=>{const ch=eee.currentChar();return"{"!==ch&&"%"!==ch&&"@"!==ch&&"|"!==ch&&"("!==ch&&")"!==ch&&ch?ch===zie?tee:(tee+=ch,eee.next(),fn(tee)):tee};return fn("")}(eee))):(8===ree&&dee(Cie.INVALID_LINKED_FORMAT,aee(),0),tee.braceNest=0,tee.inLinked=!1,Uee(eee,tee))}}function Uee(eee,tee){let ree={type:14};if(tee.braceNest>0)return Mee(eee,tee)||hee(tee);if(tee.inLinked)return Pee(eee,tee)||hee(tee);switch(eee.currentChar()){case"{":return Mee(eee,tee)||hee(tee);case"}":return dee(Cie.UNBALANCED_CLOSING_BRACE,aee(),0),eee.next(),uee(tee,3,"}");case"@":return Pee(eee,tee)||hee(tee);default:{if(vee(eee))return ree=uee(tee,1,zee(eee)),tee.braceNest=0,tee.inLinked=!1,ree;const{isModulo:oee,hasSpace:nee}=function(eee){const tee=wee(eee),ree="%"===eee.currentPeek()&&"{"===eee.peek();return eee.resetPeek(),{isModulo:ree,hasSpace:tee.length>0}}(eee);if(oee)return nee?uee(tee,0,Ree(eee)):uee(tee,4,function(eee){fee(eee);const ch=eee.currentChar();return"%"!==ch&&dee(Cie.EXPECTED_TOKEN,aee(),0,ch),eee.next(),"%"}(eee));if(yee(eee))return uee(tee,0,Ree(eee));break}}return ree}return{nextToken:function(){const{currentType:eee,offset:tee,startLoc:ree,endLoc:iee}=lee;return lee.lastType=eee,lee.lastOffset=tee,lee.lastStartLoc=ree,lee.lastEndLoc=iee,lee.offset=nee(),lee.startLoc=aee(),oee.currentChar()===Vie?uee(lee,14):Uee(oee,lee)},currentOffset:nee,currentPosition:aee,context:cee}}const Gie="parser",Qie=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Wie(eee,tee,ree){switch(eee){case"\\\\":return"\\";case"\\'":return"'";default:{const eee=parseInt(tee||ree,16);return eee<=55295||eee>=57344?String.fromCodePoint(eee):"�"}}}function Kie(eee={}){const tee=!1!==eee.location,{onError:ree,onWarn:oee}=eee;function nee(eee,oee,nee,aee,...iee){const see=eee.currentPosition();if(see.offset+=aee,see.column+=aee,ree){const eee=Lie(oee,tee?_ie(nee,see):null,{domain:Gie,args:iee});ree(eee)}}function aee(eee,ree,nee,aee,...iee){const see=eee.currentPosition();if(see.offset+=aee,see.column+=aee,oee){const eee=tee?_ie(nee,see):null;oee(function(eee,tee,...ree){const oee=Tie(Rie[eee],...ree||[]),nee={message:String(oee),code:eee};return tee&&(nee.location=tee),nee}(ree,eee,iee))}}function iee(eee,ree,oee){const nee={type:eee};return tee&&(nee.start=ree,nee.end=ree,nee.loc={start:oee,end:oee}),nee}function see(eee,ree,oee,nee){tee&&(eee.end=ree,eee.loc&&(eee.loc.end=oee))}function lee(eee,tee){const ree=eee.context(),oee=iee(3,ree.offset,ree.startLoc);return oee.value=tee,see(oee,eee.currentOffset(),eee.currentPosition()),oee}function cee(eee,tee){const ree=eee.context(),{lastOffset:oee,lastStartLoc:nee}=ree,aee=iee(5,oee,nee);return aee.index=parseInt(tee,10),eee.nextToken(),see(aee,eee.currentOffset(),eee.currentPosition()),aee}function pee(eee,tee,ree){const oee=eee.context(),{lastOffset:nee,lastStartLoc:aee}=oee,lee=iee(4,nee,aee);return lee.key=tee,!0===ree&&(lee.modulo=!0),eee.nextToken(),see(lee,eee.currentOffset(),eee.currentPosition()),lee}function dee(eee,tee){const ree=eee.context(),{lastOffset:oee,lastStartLoc:nee}=ree,aee=iee(9,oee,nee);return aee.value=tee.replace(Qie,Wie),eee.nextToken(),see(aee,eee.currentOffset(),eee.currentPosition()),aee}function uee(eee){const tee=eee.context(),ree=iee(6,tee.offset,tee.startLoc);let oee=eee.nextToken();if(9===oee.type){const tee=function(eee){const tee=eee.nextToken(),ree=eee.context(),{lastOffset:oee,lastStartLoc:aee}=ree,lee=iee(8,oee,aee);return 12!==tee.type?(nee(eee,Cie.UNEXPECTED_EMPTY_LINKED_MODIFIER,ree.lastStartLoc,0),lee.value="",see(lee,oee,aee),{nextConsumeToken:tee,node:lee}):(null==tee.value&&nee(eee,Cie.UNEXPECTED_LEXICAL_ANALYSIS,ree.lastStartLoc,0,Hie(tee)),lee.value=tee.value||"",see(lee,eee.currentOffset(),eee.currentPosition()),{node:lee})}(eee);ree.modifier=tee.node,oee=tee.nextConsumeToken||eee.nextToken()}switch(10!==oee.type&&nee(eee,Cie.UNEXPECTED_LEXICAL_ANALYSIS,tee.lastStartLoc,0,Hie(oee)),oee=eee.nextToken(),2===oee.type&&(oee=eee.nextToken()),oee.type){case 11:null==oee.value&&nee(eee,Cie.UNEXPECTED_LEXICAL_ANALYSIS,tee.lastStartLoc,0,Hie(oee)),ree.key=function(eee,tee){const ree=eee.context(),oee=iee(7,ree.offset,ree.startLoc);return oee.value=tee,see(oee,eee.currentOffset(),eee.currentPosition()),oee}(eee,oee.value||"");break;case 5:null==oee.value&&nee(eee,Cie.UNEXPECTED_LEXICAL_ANALYSIS,tee.lastStartLoc,0,Hie(oee)),ree.key=pee(eee,oee.value||"");break;case 6:null==oee.value&&nee(eee,Cie.UNEXPECTED_LEXICAL_ANALYSIS,tee.lastStartLoc,0,Hie(oee)),ree.key=cee(eee,oee.value||"");break;case 7:null==oee.value&&nee(eee,Cie.UNEXPECTED_LEXICAL_ANALYSIS,tee.lastStartLoc,0,Hie(oee)),ree.key=dee(eee,oee.value||"");break;default:{nee(eee,Cie.UNEXPECTED_EMPTY_LINKED_KEY,tee.lastStartLoc,0);const aee=eee.context(),lee=iee(7,aee.offset,aee.startLoc);return lee.value="",see(lee,aee.offset,aee.startLoc),ree.key=lee,see(ree,aee.offset,aee.startLoc),{nextConsumeToken:oee,node:ree}}}return see(ree,eee.currentOffset(),eee.currentPosition()),{node:ree}}function hee(eee){const tee=eee.context(),ree=iee(2,1===tee.currentType?eee.currentOffset():tee.offset,1===tee.currentType?tee.endLoc:tee.startLoc);ree.items=[];let oee=null,hee=null;do{const iee=oee||eee.nextToken();switch(oee=null,iee.type){case 0:null==iee.value&&nee(eee,Cie.UNEXPECTED_LEXICAL_ANALYSIS,tee.lastStartLoc,0,Hie(iee)),ree.items.push(lee(eee,iee.value||""));break;case 6:null==iee.value&&nee(eee,Cie.UNEXPECTED_LEXICAL_ANALYSIS,tee.lastStartLoc,0,Hie(iee)),ree.items.push(cee(eee,iee.value||""));break;case 4:hee=!0;break;case 5:null==iee.value&&nee(eee,Cie.UNEXPECTED_LEXICAL_ANALYSIS,tee.lastStartLoc,0,Hie(iee)),ree.items.push(pee(eee,iee.value||"",!!hee)),hee&&(aee(eee,Aie.USE_MODULO_SYNTAX,tee.lastStartLoc,0,Hie(iee)),hee=null);break;case 7:null==iee.value&&nee(eee,Cie.UNEXPECTED_LEXICAL_ANALYSIS,tee.lastStartLoc,0,Hie(iee)),ree.items.push(dee(eee,iee.value||""));break;case 8:{const tee=uee(eee);ree.items.push(tee.node),oee=tee.nextConsumeToken||null;break}}}while(14!==tee.currentType&&1!==tee.currentType);return see(ree,1===tee.currentType?tee.lastOffset:eee.currentOffset(),1===tee.currentType?tee.lastEndLoc:eee.currentPosition()),ree}function gee(eee){const tee=eee.context(),{offset:ree,startLoc:oee}=tee,aee=hee(eee);return 14===tee.currentType?aee:function(eee,tee,ree,oee){const aee=eee.context();let lee=0===oee.items.length;const cee=iee(1,tee,ree);cee.cases=[],cee.cases.push(oee);do{const tee=hee(eee);lee||(lee=0===tee.items.length),cee.cases.push(tee)}while(14!==aee.currentType);return lee&&nee(eee,Cie.MUST_HAVE_MESSAGES_IN_PLURAL,ree,0),see(cee,eee.currentOffset(),eee.currentPosition()),cee}(eee,ree,oee,aee)}return{parse:function(ree){const oee=Yie(ree,Sie({},eee)),aee=oee.context(),lee=iee(0,aee.offset,aee.startLoc);return tee&&lee.loc&&(lee.loc.source=ree),lee.body=gee(oee),eee.onCacheKey&&(lee.cacheKey=eee.onCacheKey(ree)),14!==aee.currentType&&nee(oee,Cie.UNEXPECTED_LEXICAL_ANALYSIS,aee.lastStartLoc,0,ree[aee.offset]||""),see(lee,oee.currentOffset(),oee.currentPosition()),lee}}}function Hie(eee){if(14===eee.type)return"EOF";const tee=(eee.value||"").replace(/\r?\n/gu,"\\n");return tee.length>10?tee.slice(0,9)+"…":tee}function Xie(eee,tee){for(let i=0;iree,helper:eee=>(ree.helpers.add(eee),eee)}}(eee);ree.helper("normalize"),eee.body&&Zie(eee.body,ree);const oee=ree.context();eee.helpers=Array.from(oee.helpers)}function ese(eee){if(1===eee.items.length){const tee=eee.items[0];3!==tee.type&&9!==tee.type||(eee.static=tee.value,delete tee.value)}else{const tee=[];for(let i=0;i1){eee.push(`${ree("plural")}([`),eee.indent(oee());const nee=tee.cases.length;for(let i=0;i{const ree=Iie(tee.mode)?tee.mode:"normal",oee=Iie(tee.filename)?tee.filename:"message.intl",nee=!!tee.sourceMap,aee=null!=tee.breakLineCode?tee.breakLineCode:"arrow"===ree?";":"\n",iee=tee.needIndent?tee.needIndent:"arrow"!==ree,see=eee.helpers||[],lee=function(eee,tee){const{sourceMap:ree,filename:oee,breakLineCode:nee,needIndent:aee}=tee,iee=!1!==tee.location,see={filename:oee,code:"",column:1,line:1,offset:0,map:void 0,breakLineCode:nee,needIndent:aee,indentLevel:0};function lee(eee,tee){see.code+=eee}function cee(n,eee=!0){const tee=eee?nee:"";lee(aee?tee+" ".repeat(n):tee)}return iee&&eee.loc&&(see.source=eee.loc.source),{context:()=>see,push:lee,indent:function(eee=!0){const tee=++see.indentLevel;eee&&cee(tee)},deindent:function(eee=!0){const tee=--see.indentLevel;eee&&cee(tee)},newline:function(){cee(see.indentLevel)},helper:eee=>`_${eee}`,needIndent:()=>see.needIndent}}(eee,{mode:ree,filename:oee,sourceMap:nee,breakLineCode:aee,needIndent:iee});lee.push("normal"===ree?"function __msg__ (ctx) {":"(ctx) => {"),lee.indent(iee),see.length>0&&(lee.push(`const { ${Nie(see.map((s=>`${s}: _${s}`)),", ")} } = ctx`),lee.newline()),lee.push("return "),nse(lee,eee),lee.deindent(iee),lee.push("}"),delete eee.helpers;const{code:cee,map:pee}=lee.context();return{ast:eee,code:cee,map:pee?pee.toJSON():void 0}};function ise(eee,tee={}){const ree=Sie({},tee),oee=!!ree.jit,nee=!!ree.minify,aee=null==ree.optimize||ree.optimize,iee=Kie(ree).parse(eee);return oee?(aee&&function(eee){const tee=eee.body;2===tee.type?ese(tee):tee.cases.forEach((c=>ese(c)))}(iee),nee&&rse(iee),{ast:iee,code:""}):(Jie(iee,ree),ase(iee,ree))} -/*! - * core-base v9.13.1 - * (c) 2024 kazuya kawaguchi - * Released under the MIT License. - */const sse=[];sse[0]={w:[0],i:[3,0],"[":[4],o:[7]},sse[1]={w:[1],".":[2],"[":[4],o:[7]},sse[2]={w:[2],i:[3,0],0:[3,0]},sse[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]},sse[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]},sse[5]={"'":[4,0],o:8,l:[5,0]},sse[6]={'"':[4,0],o:8,l:[6,0]};const lse=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function cse(ch){if(null==ch)return"o";switch(ch.charCodeAt(0)){case 91:case 93:case 46:case 34:case 39:return ch;case 95:case 36:case 45:return"i";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"w"}return"i"}function pse(eee){const tee=eee.trim();return("0"!==eee.charAt(0)||!isNaN(parseInt(eee)))&&(ree=tee,lse.test(ree)?function(eee){const a=eee.charCodeAt(0);return a!==eee.charCodeAt(eee.length-1)||34!==a&&39!==a?eee:eee.slice(1,-1)}(tee):"*"+tee);var ree}const dse=new Map;function use(eee,tee){return gie(eee)?eee[tee]:null}const hse=eee=>eee,gse=eee=>"",wse="text",fse=eee=>0===eee.length?"":function(eee,tee=""){return eee.reduce(((eee,ree,oee)=>0===oee?eee+ree:eee+tee+ree),"")}(eee),bse=eee=>null==eee?"":pie(eee)||mie(eee)&&eee.toString===fie?JSON.stringify(eee,null,2):String(eee);function mse(eee,tee){return eee=Math.abs(eee),2===tee?eee?eee>1?1:0:1:eee?Math.min(eee,2):0}function vse(eee={}){const tee=eee.locale,ree=function(eee){const tee=eie(eee.pluralIndex)?eee.pluralIndex:-1;return eee.named&&(eie(eee.named.count)||eie(eee.named.n))?eie(eee.named.count)?eee.named.count:eie(eee.named.n)?eee.named.n:tee:tee}(eee),oee=gie(eee.pluralRules)&&uie(tee)&&die(eee.pluralRules[tee])?eee.pluralRules[tee]:mse,nee=gie(eee.pluralRules)&&uie(tee)&&die(eee.pluralRules[tee])?mse:void 0,aee=eee.list||[],iee=eee.named||{};eie(eee.pluralIndex)&&function(eee,tee){tee.count||(tee.count=eee),tee.n||(tee.n=eee)}(ree,iee);function see(tee){const ree=die(eee.messages)?eee.messages(tee):!!gie(eee.messages)&&eee.messages[tee];return ree||(eee.parent?eee.parent.message(tee):gse)}const lee=mie(eee.processor)&&die(eee.processor.normalize)?eee.processor.normalize:fse,cee=mie(eee.processor)&&die(eee.processor.interpolate)?eee.processor.interpolate:bse,pee={list:eee=>aee[eee],named:eee=>iee[eee],plural:eee=>eee[oee(ree,eee.length,nee)],linked:(tee,...ree)=>{const[oee,nee]=ree;let aee="text",iee="";1===ree.length?gie(oee)?(iee=oee.modifier||iee,aee=oee.type||aee):uie(oee)&&(iee=oee||iee):2===ree.length&&(uie(oee)&&(iee=oee||iee),uie(nee)&&(aee=nee||aee));const lee=see(tee)(pee),cee="vnode"===aee&&pie(lee)&&iee?lee[0]:lee;return iee?(dee=iee,eee.modifiers?eee.modifiers[dee]:hse)(cee,aee):cee;var dee},message:see,type:mie(eee.processor)&&uie(eee.processor.type)?eee.processor.type:wse,interpolate:cee,normalize:lee,values:nie({},aee,iee)};return pee}let yse=null;const xse=kse("function:translate");function kse(eee){return tee=>yse&&yse.emit(eee,tee)}const _se=Aie.__EXTEND_POINT__,Ese=vie(_se),Tse={NOT_FOUND_KEY:_se,FALLBACK_TO_TRANSLATE:Ese(),CANNOT_FORMAT_NUMBER:Ese(),FALLBACK_TO_NUMBER_FORMAT:Ese(),CANNOT_FORMAT_DATE:Ese(),FALLBACK_TO_DATE_FORMAT:Ese(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:Ese(),__EXTEND_POINT__:Ese()},Sse=Cie.__EXTEND_POINT__,Ise=vie(Sse),Ose={INVALID_ARGUMENT:Sse,INVALID_DATE_ARGUMENT:Ise(),INVALID_ISO_DATE_ARGUMENT:Ise(),NOT_SUPPORT_NON_STRING_MESSAGE:Ise(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:Ise(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:Ise(),NOT_SUPPORT_LOCALE_TYPE:Ise(),__EXTEND_POINT__:Ise()};function Nse(eee){return Lie(eee,null,void 0)}function Ase(eee,tee){return null!=tee.locale?Cse(tee.locale):Cse(eee.locale)}let Rse;function Cse(eee){if(uie(eee))return eee;if(die(eee)){if(eee.resolvedOnce&&null!=Rse)return Rse;if("Function"===eee.constructor.name){const tee=eee();if(wie(tee))throw Nse(Ose.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Rse=tee}throw Nse(Ose.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}throw Nse(Ose.NOT_SUPPORT_LOCALE_TYPE)}function Dse(eee,tee,ree){return[...new Set([ree,...pie(tee)?tee:gie(tee)?Object.keys(tee):uie(tee)?[tee]:[ree]])]}function Lse(eee,tee,ree){const oee=uie(ree)?ree:jse,nee=eee;nee.__localeChainCache||(nee.__localeChainCache=new Map);let aee=nee.__localeChainCache.get(oee);if(!aee){aee=[];let eee=[ree];for(;pie(eee);)eee=Fse(aee,eee,tee);const iee=pie(tee)||!mie(tee)?tee:tee.default?tee.default:null;eee=uie(iee)?[iee]:iee,pie(eee)&&Fse(aee,eee,!1),nee.__localeChainCache.set(oee,aee)}return aee}function Fse(eee,tee,ree){let oee=!0;for(let i=0;i`${eee.charAt(0).toLocaleUpperCase()}${eee.substr(1)}`;let qse,Bse,Yse;function Gse(eee){qse=eee}let Qse=null;const Wse=eee=>{Qse=eee},Kse=()=>Qse;let Hse=null;const Xse=eee=>{Hse=eee},Zse=()=>Hse;let Jse=0;function ele(eee={}){const tee=die(eee.onWarn)?eee.onWarn:yie,ree=uie(eee.version)?eee.version:Pse,oee=uie(eee.locale)||die(eee.locale)?eee.locale:jse,nee=die(oee)?jse:oee,aee=pie(eee.fallbackLocale)||mie(eee.fallbackLocale)||uie(eee.fallbackLocale)||!1===eee.fallbackLocale?eee.fallbackLocale:nee,iee=mie(eee.messages)?eee.messages:{[nee]:{}},see=mie(eee.datetimeFormats)?eee.datetimeFormats:{[nee]:{}},lee=mie(eee.numberFormats)?eee.numberFormats:{[nee]:{}},cee=nie({},eee.modifiers||{},{upper:(eee,tee)=>"text"===tee&&uie(eee)?eee.toUpperCase():"vnode"===tee&&gie(eee)&&"__v_isVNode"in eee?eee.children.toUpperCase():eee,lower:(eee,tee)=>"text"===tee&&uie(eee)?eee.toLowerCase():"vnode"===tee&&gie(eee)&&"__v_isVNode"in eee?eee.children.toLowerCase():eee,capitalize:(eee,tee)=>"text"===tee&&uie(eee)?Vse(eee):"vnode"===tee&&gie(eee)&&"__v_isVNode"in eee?Vse(eee.children):eee}),pee=eee.pluralRules||{},dee=die(eee.missing)?eee.missing:null,uee=!hie(eee.missingWarn)&&!rie(eee.missingWarn)||eee.missingWarn,hee=!hie(eee.fallbackWarn)&&!rie(eee.fallbackWarn)||eee.fallbackWarn,gee=!!eee.fallbackFormat,wee=!!eee.unresolving,fee=die(eee.postTranslation)?eee.postTranslation:null,bee=mie(eee.processor)?eee.processor:null,mee=!hie(eee.warnHtmlMessage)||eee.warnHtmlMessage,vee=!!eee.escapeParameter,yee=die(eee.messageCompiler)?eee.messageCompiler:qse,xee=die(eee.messageResolver)?eee.messageResolver:Bse||use,kee=die(eee.localeFallbacker)?eee.localeFallbacker:Yse||Dse,_ee=gie(eee.fallbackContext)?eee.fallbackContext:void 0,Eee=eee,Tee=gie(Eee.__datetimeFormatters)?Eee.__datetimeFormatters:new Map,See=gie(Eee.__numberFormatters)?Eee.__numberFormatters:new Map,Iee=gie(Eee.__meta)?Eee.__meta:{};Jse++;const Oee={version:ree,cid:Jse,locale:oee,fallbackLocale:aee,messages:iee,modifiers:cee,pluralRules:pee,missing:dee,missingWarn:uee,fallbackWarn:hee,fallbackFormat:gee,unresolving:wee,postTranslation:fee,processor:bee,warnHtmlMessage:mee,escapeParameter:vee,messageCompiler:yee,messageResolver:xee,localeFallbacker:kee,fallbackContext:_ee,onWarn:tee,__meta:Iee};return Oee.datetimeFormats=see,Oee.numberFormats=lee,Oee.__datetimeFormatters=Tee,Oee.__numberFormatters=See,__INTLIFY_PROD_DEVTOOLS__&&function(eee,tee,ree){yse&&yse.emit("i18n:init",{timestamp:Date.now(),i18n:eee,version:tee,meta:ree})}(Oee,ree,Iee),Oee}function tle(eee,tee,ree,oee,nee){const{missing:aee,onWarn:iee}=eee;if(null!==aee){const oee=aee(eee,ree,tee,nee);return uie(oee)?oee:tee}return tee}function rle(eee,tee,ree){eee.__localeChainCache=new Map,eee.localeFallbacker(eee,ree,tee)}function ole(eee,tee){const ree=tee.indexOf(eee);if(-1===ree)return!1;for(let i=ree+1;ifunction(eee,tee){const ree=tee.b||tee.body;if(1===(ree.t||ree.type)){const tee=ree,oee=tee.c||tee.cases;return eee.plural(oee.reduce(((tee,c)=>[...tee,ale(eee,c)]),[]))}return ale(eee,ree)}(tee,eee)}function ale(eee,tee){const ree=tee.s||tee.static;if(ree)return"text"===eee.type?ree:eee.normalize([ree]);{const ree=(tee.i||tee.items).reduce(((tee,c)=>[...tee,ile(eee,c)]),[]);return eee.normalize(ree)}}function ile(eee,tee){const ree=tee.t||tee.type;switch(ree){case 3:{const eee=tee;return eee.v||eee.value}case 9:{const eee=tee;return eee.v||eee.value}case 4:{const ree=tee;return eee.interpolate(eee.named(ree.k||ree.key))}case 5:{const ree=tee;return eee.interpolate(eee.list(null!=ree.i?ree.i:ree.index))}case 6:{const ree=tee,oee=ree.m||ree.modifier;return eee.linked(ile(eee,ree.k||ree.key),oee?ile(eee,oee):void 0,eee.type)}case 7:{const eee=tee;return eee.v||eee.value}case 8:{const eee=tee;return eee.v||eee.value}default:throw new Error(`unhandled node type on format message part: ${ree}`)}}const sle=eee=>eee;let lle=Object.create(null);const cle=eee=>gie(eee)&&(0===eee.t||0===eee.type)&&("b"in eee||"body"in eee);function ple(eee,tee={}){let ree=!1;const oee=tee.onError||Fie;return tee.onError=eee=>{ree=!0,oee(eee)},{...ise(eee,tee),detectError:ree}}const dle=(eee,tee)=>{if(!uie(eee))throw Nse(Ose.NOT_SUPPORT_NON_STRING_MESSAGE);{!hie(tee.warnHtmlMessage)||tee.warnHtmlMessage;const ree=(tee.onCacheKey||sle)(eee),oee=lle[ree];if(oee)return oee;const{code:nee,detectError:aee}=ple(eee,tee),iee=new Function(`return ${nee}`)();return aee?iee:lle[ree]=iee}};const ule=()=>"",hle=eee=>die(eee);function gle(eee,...tee){const{fallbackFormat:ree,postTranslation:oee,unresolving:nee,messageCompiler:aee,fallbackLocale:iee,messages:see}=eee,[lee,cee]=ble(...tee),pee=hie(cee.missingWarn)?cee.missingWarn:eee.missingWarn,dee=hie(cee.fallbackWarn)?cee.fallbackWarn:eee.fallbackWarn,uee=hie(cee.escapeParameter)?cee.escapeParameter:eee.escapeParameter,hee=!!cee.resolvedMessage,gee=uie(cee.default)||hie(cee.default)?hie(cee.default)?aee?lee:()=>lee:cee.default:ree?aee?lee:()=>lee:"",wee=ree||""!==gee,fee=Ase(eee,cee);uee&&function(eee){pie(eee.list)?eee.list=eee.list.map((eee=>uie(eee)?sie(eee):eee)):gie(eee.named)&&Object.keys(eee.named).forEach((tee=>{uie(eee.named[tee])&&(eee.named[tee]=sie(eee.named[tee]))}))}(cee);let[bee,mee,vee]=hee?[lee,fee,see[fee]||{}]:wle(eee,lee,fee,iee,dee,pee),yee=bee,xee=lee;if(hee||uie(yee)||cle(yee)||hle(yee)||wee&&(yee=gee,xee=yee),!(hee||(uie(yee)||cle(yee)||hle(yee))&&uie(mee)))return nee?Use:lee;let kee=!1;const _ee=hle(yee)?yee:fle(eee,lee,mee,yee,xee,(()=>{kee=!0}));if(kee)return yee;const Eee=function(eee,tee,ree,oee){const{modifiers:nee,pluralRules:aee,messageResolver:iee,fallbackLocale:see,fallbackWarn:lee,missingWarn:cee,fallbackContext:pee}=eee,dee=oee=>{let nee=iee(ree,oee);if(null==nee&&pee){const[,,eee]=wle(pee,oee,tee,see,lee,cee);nee=iee(eee,oee)}if(uie(nee)||cle(nee)){let ree=!1;const aee=fle(eee,oee,tee,nee,oee,(()=>{ree=!0}));return ree?ule:aee}return hle(nee)?nee:ule},uee={locale:tee,modifiers:nee,pluralRules:aee,messages:dee};eee.processor&&(uee.processor=eee.processor);oee.list&&(uee.list=oee.list);oee.named&&(uee.named=oee.named);eie(oee.plural)&&(uee.pluralIndex=oee.plural);return uee}(eee,mee,vee,cee),Tee=function(eee,tee,ree){const oee=tee(ree);return oee}(0,_ee,vse(Eee)),See=oee?oee(Tee,lee):Tee;if(__INTLIFY_PROD_DEVTOOLS__){const tee={timestamp:Date.now(),key:uie(lee)?lee:hle(yee)?yee.key:"",locale:mee||(hle(yee)?yee.locale:""),format:uie(yee)?yee:hle(yee)?yee.source:"",message:See};tee.meta=nie({},eee.__meta,Kse()||{}),xse(tee)}return See}function wle(eee,tee,ree,oee,nee,aee){const{messages:iee,onWarn:see,messageResolver:lee,localeFallbacker:cee}=eee,pee=cee(eee,oee,ree);let dee,uee={},hee=null;for(let i=0;ioee;return eee.locale=ree,eee.key=tee,eee}const lee=iee(oee,function(eee,tee,ree,oee,nee,aee){return{locale:tee,key:ree,warnHtmlMessage:nee,onError:eee=>{throw aee&&aee(eee),eee},onCacheKey:eee=>Zae(tee,ree,eee)}}(0,ree,nee,0,see,aee));return lee.locale=ree,lee.key=tee,lee.source=oee,lee}function ble(...eee){const[tee,ree,oee]=eee,nee={};if(!(uie(tee)||eie(tee)||hle(tee)||cle(tee)))throw Nse(Ose.INVALID_ARGUMENT);const aee=eie(tee)?String(tee):(hle(tee),tee);return eie(ree)?nee.plural=ree:uie(ree)?nee.default=ree:mie(ree)&&!oie(ree)?nee.named=ree:pie(ree)&&(nee.list=ree),eie(oee)?nee.plural=oee:uie(oee)?nee.default=oee:mie(oee)&&nie(nee,oee),[aee,nee]}function mle(eee,...tee){const{datetimeFormats:ree,unresolving:oee,fallbackLocale:nee,onWarn:aee,localeFallbacker:iee}=eee,{__datetimeFormatters:see}=eee,[lee,cee,pee,dee]=yle(...tee);hie(pee.missingWarn)?pee.missingWarn:eee.missingWarn;hie(pee.fallbackWarn)?pee.fallbackWarn:eee.fallbackWarn;const uee=!!pee.part,hee=Ase(eee,pee),gee=iee(eee,nee,hee);if(!uie(lee)||""===lee)return new Intl.DateTimeFormat(hee,dee).format(cee);let wee,fee={},bee=null;for(let i=0;i{vle.includes(eee)?see[eee]=ree[eee]:aee[eee]=ree[eee]})),uie(oee)?aee.locale=oee:mie(oee)&&(see=oee),mie(nee)&&(see=nee),[aee.key||"",iee,aee,see]}function xle(eee,tee,ree){const oee=eee;for(const nee in ree){const id=`${tee}__${nee}`;oee.__datetimeFormatters.has(id)&&oee.__datetimeFormatters.delete(id)}}function kle(eee,...tee){const{numberFormats:ree,unresolving:oee,fallbackLocale:nee,onWarn:aee,localeFallbacker:iee}=eee,{__numberFormatters:see}=eee,[lee,cee,pee,dee]=Ele(...tee);hie(pee.missingWarn)?pee.missingWarn:eee.missingWarn;hie(pee.fallbackWarn)?pee.fallbackWarn:eee.fallbackWarn;const uee=!!pee.part,hee=Ase(eee,pee),gee=iee(eee,nee,hee);if(!uie(lee)||""===lee)return new Intl.NumberFormat(hee,dee).format(cee);let wee,fee={},bee=null;for(let i=0;i{_le.includes(eee)?iee[eee]=ree[eee]:aee[eee]=ree[eee]})),uie(oee)?aee.locale=oee:mie(oee)&&(iee=oee),mie(nee)&&(iee=nee),[aee.key||"",see,aee,iee]}function Tle(eee,tee,ree){const oee=eee;for(const nee in ree){const id=`${tee}__${nee}`;oee.__numberFormatters.has(id)&&oee.__numberFormatters.delete(id)}}"boolean"!=typeof __INTLIFY_PROD_DEVTOOLS__&&(iie().__INTLIFY_PROD_DEVTOOLS__=!1),"boolean"!=typeof __INTLIFY_JIT_COMPILATION__&&(iie().__INTLIFY_JIT_COMPILATION__=!1),"boolean"!=typeof __INTLIFY_DROP_MESSAGE_COMPILER__&&(iie().__INTLIFY_DROP_MESSAGE_COMPILER__=!1); -/*! - * vue-i18n v9.13.1 - * (c) 2024 kazuya kawaguchi - * Released under the MIT License. - */ -const Sle="9.13.1";const Ile=Tse.__EXTEND_POINT__,Ole=vie(Ile);Ole(),Ole(),Ole(),Ole(),Ole(),Ole(),Ole(),Ole(),Ole();const Nle=Ose.__EXTEND_POINT__,Ale=vie(Nle),Rle={UNEXPECTED_RETURN_TYPE:Nle,INVALID_ARGUMENT:Ale(),MUST_BE_CALL_SETUP_TOP:Ale(),NOT_INSTALLED:Ale(),NOT_AVAILABLE_IN_LEGACY_MODE:Ale(),REQUIRED_VALUE:Ale(),INVALID_VALUE:Ale(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Ale(),NOT_INSTALLED_WITH_PROVIDE:Ale(),UNEXPECTED_ERROR:Ale(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Ale(),BRIDGE_SUPPORT_VUE_2_ONLY:Ale(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Ale(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Ale(),__EXTEND_POINT__:Ale()};function Cle(eee,...tee){return Lie(eee,null,void 0)}const Dle=Xae("__translateVNode"),Lle=Xae("__datetimeParts"),Fle=Xae("__numberParts"),zle=Xae("__setPluralRules"),Mle=Xae("__injectWithOption"),Ple=Xae("__dispose");function Ule(eee){if(!gie(eee))return eee;for(const tee in eee)if(cie(eee,tee))if(tee.includes(".")){const ree=tee.split("."),oee=ree.length-1;let nee=eee,aee=!1;for(let i=0;i{if("locale"in eee&&"resource"in eee){const{locale:tee,resource:ree}=eee;tee?(iee[tee]=iee[tee]||{},kie(ree,iee[tee])):kie(ree,iee)}else uie(eee)&&kie(JSON.parse(eee),iee)})),null==nee&&aee)for(const see in iee)cie(iee,see)&&Ule(iee[see]);return iee}function $le(eee){return eee.type}function Vle(gl,eee,tee){let ree=gie(eee.messages)?eee.messages:{};"__i18nGlobal"in tee&&(ree=jle(gl.locale.value,{messages:ree,__i18n:tee.__i18nGlobal}));const oee=Object.keys(ree);if(oee.length&&oee.forEach((eee=>{gl.mergeLocaleMessage(eee,ree[eee])})),gie(eee.datetimeFormats)){const tee=Object.keys(eee.datetimeFormats);tee.length&&tee.forEach((tee=>{gl.mergeDateTimeFormat(tee,eee.datetimeFormats[tee])}))}if(gie(eee.numberFormats)){const tee=Object.keys(eee.numberFormats);tee.length&&tee.forEach((tee=>{gl.mergeNumberFormat(tee,eee.numberFormats[tee])}))}}function qle(eee){return Xne(Lne,null,eee,0)}const Ble="__INTLIFY_META__",Yle=()=>[],Gle=()=>!1;let Qle=0;function Wle(eee){return(tee,ree,oee,nee)=>eee(ree,oee,pae()||void 0,nee)}const Kle=()=>{const eee=pae();let tee=null;return eee&&(tee=$le(eee)[Ble])?{[Ble]:tee}:null};function Hle(eee={},tee){const{__root:ree,__injectWithOption:oee}=eee,nee=void 0===ree,aee=eee.flatJson,iee=Hae?vre:yre,see=!!eee.translateExistCompatible;let lee=!hie(eee.inheritLocale)||eee.inheritLocale;const cee=iee(ree&&lee?ree.locale.value:uie(eee.locale)?eee.locale:jse),pee=iee(ree&&lee?ree.fallbackLocale.value:uie(eee.fallbackLocale)||pie(eee.fallbackLocale)||mie(eee.fallbackLocale)||!1===eee.fallbackLocale?eee.fallbackLocale:cee.value),dee=iee(jle(cee.value,eee)),uee=iee(mie(eee.datetimeFormats)?eee.datetimeFormats:{[cee.value]:{}}),hee=iee(mie(eee.numberFormats)?eee.numberFormats:{[cee.value]:{}});let gee=ree?ree.missingWarn:!hie(eee.missingWarn)&&!rie(eee.missingWarn)||eee.missingWarn,wee=ree?ree.fallbackWarn:!hie(eee.fallbackWarn)&&!rie(eee.fallbackWarn)||eee.fallbackWarn,fee=ree?ree.fallbackRoot:!hie(eee.fallbackRoot)||eee.fallbackRoot,bee=!!eee.fallbackFormat,mee=die(eee.missing)?eee.missing:null,vee=die(eee.missing)?Wle(eee.missing):null,yee=die(eee.postTranslation)?eee.postTranslation:null,xee=ree?ree.warnHtmlMessage:!hie(eee.warnHtmlMessage)||eee.warnHtmlMessage,kee=!!eee.escapeParameter;const _ee=ree?ree.modifiers:mie(eee.modifiers)?eee.modifiers:{};let Eee,Tee=eee.pluralRules||ree&&ree.pluralRules;Eee=(()=>{nee&&Xse(null);const tee={version:Sle,locale:cee.value,fallbackLocale:pee.value,messages:dee.value,modifiers:_ee,pluralRules:Tee,missing:null===vee?void 0:vee,missingWarn:gee,fallbackWarn:wee,fallbackFormat:bee,unresolving:!0,postTranslation:null===yee?void 0:yee,warnHtmlMessage:xee,escapeParameter:kee,messageResolver:eee.messageResolver,messageCompiler:eee.messageCompiler,__meta:{framework:"vue"}};tee.datetimeFormats=uee.value,tee.numberFormats=hee.value,tee.__datetimeFormatters=mie(Eee)?Eee.__datetimeFormatters:void 0,tee.__numberFormatters=mie(Eee)?Eee.__numberFormatters:void 0;const ree=ele(tee);return nee&&Xse(ree),ree})(),rle(Eee,cee.value,pee.value);const See=kae({get:()=>cee.value,set:eee=>{cee.value=eee,Eee.locale=cee.value}}),Iee=kae({get:()=>pee.value,set:eee=>{pee.value=eee,Eee.fallbackLocale=pee.value,rle(Eee,cee.value,eee)}}),Oee=kae((()=>dee.value)),Nee=kae((()=>uee.value)),Aee=kae((()=>hee.value));const Ree=(fn,eee,tee,oee,aee,iee)=>{let see;cee.value,pee.value,dee.value,uee.value,hee.value;try{__INTLIFY_PROD_DEVTOOLS__&&Wse(Kle()),nee||(Eee.fallbackContext=ree?Zse():void 0),see=fn(Eee)}finally{__INTLIFY_PROD_DEVTOOLS__,nee||(Eee.fallbackContext=void 0)}if("translate exists"!==tee&&eie(see)&&see===Use||"translate exists"===tee&&!see){const[tee,nee]=eee();return ree&&fee?oee(ree):aee(tee)}if(iee(see))return see;throw Cle(Rle.UNEXPECTED_RETURN_TYPE)};function t(...eee){return Ree((tee=>Reflect.apply(gle,null,[tee,...eee])),(()=>ble(...eee)),"translate",(tee=>Reflect.apply(tee.t,tee,[...eee])),(eee=>eee),(eee=>uie(eee)))}const Cee={normalize:function(eee){return eee.map((eee=>uie(eee)||eie(eee)||hie(eee)?qle(String(eee)):eee))},interpolate:eee=>eee,type:"vnode"};function Dee(eee){return dee.value[eee]||{}}Qle++,ree&&Hae&&(poe(ree.locale,(eee=>{lee&&(cee.value=eee,Eee.locale=eee,rle(Eee,cee.value,pee.value))})),poe(ree.fallbackLocale,(eee=>{lee&&(pee.value=eee,Eee.fallbackLocale=eee,rle(Eee,cee.value,pee.value))})));const Lee={id:Qle,locale:See,fallbackLocale:Iee,get inheritLocale(){return lee},set inheritLocale(eee){lee=eee,eee&&ree&&(cee.value=ree.locale.value,pee.value=ree.fallbackLocale.value,rle(Eee,cee.value,pee.value))},get availableLocales(){return Object.keys(dee.value).sort()},messages:Oee,get modifiers(){return _ee},get pluralRules(){return Tee||{}},get isGlobal(){return nee},get missingWarn(){return gee},set missingWarn(eee){gee=eee,Eee.missingWarn=gee},get fallbackWarn(){return wee},set fallbackWarn(eee){wee=eee,Eee.fallbackWarn=wee},get fallbackRoot(){return fee},set fallbackRoot(eee){fee=eee},get fallbackFormat(){return bee},set fallbackFormat(eee){bee=eee,Eee.fallbackFormat=bee},get warnHtmlMessage(){return xee},set warnHtmlMessage(eee){xee=eee,Eee.warnHtmlMessage=eee},get escapeParameter(){return kee},set escapeParameter(eee){kee=eee,Eee.escapeParameter=eee},t:t,getLocaleMessage:Dee,setLocaleMessage:function(eee,tee){if(aee){const ree={[eee]:tee};for(const eee in ree)cie(ree,eee)&&Ule(ree[eee]);tee=ree[eee]}dee.value[eee]=tee,Eee.messages=dee.value},mergeLocaleMessage:function(eee,tee){dee.value[eee]=dee.value[eee]||{};const ree={[eee]:tee};if(aee)for(const oee in ree)cie(ree,oee)&&Ule(ree[oee]);kie(tee=ree[eee],dee.value[eee]),Eee.messages=dee.value},getPostTranslationHandler:function(){return die(yee)?yee:null},setPostTranslationHandler:function(eee){yee=eee,Eee.postTranslation=eee},getMissingHandler:function(){return mee},setMissingHandler:function(eee){null!==eee&&(vee=Wle(eee)),mee=eee,Eee.missing=vee},[zle]:function(eee){Tee=eee,Eee.pluralRules=Tee}};return Lee.datetimeFormats=Nee,Lee.numberFormats=Aee,Lee.rt=function(...eee){const[tee,ree,oee]=eee;if(oee&&!gie(oee))throw Cle(Rle.INVALID_ARGUMENT);return t(tee,ree,nie({resolvedMessage:!0},oee||{}))},Lee.te=function(eee,tee){return Ree((()=>{if(!eee)return!1;const ree=Dee(uie(tee)?tee:cee.value),oee=Eee.messageResolver(ree,eee);return see?null!=oee:cle(oee)||hle(oee)||uie(oee)}),(()=>[eee]),"translate exists",(ree=>Reflect.apply(ree.te,ree,[eee,tee])),Gle,(eee=>hie(eee)))},Lee.tm=function(eee){const tee=function(eee){let tee=null;const ree=Lse(Eee,pee.value,cee.value);for(let i=0;iReflect.apply(mle,null,[tee,...eee])),(()=>yle(...eee)),"datetime format",(tee=>Reflect.apply(tee.d,tee,[...eee])),(()=>$se),(eee=>uie(eee)))},Lee.n=function(...eee){return Ree((tee=>Reflect.apply(kle,null,[tee,...eee])),(()=>Ele(...eee)),"number format",(tee=>Reflect.apply(tee.n,tee,[...eee])),(()=>$se),(eee=>uie(eee)))},Lee.getDateTimeFormat=function(eee){return uee.value[eee]||{}},Lee.setDateTimeFormat=function(eee,tee){uee.value[eee]=tee,Eee.datetimeFormats=uee.value,xle(Eee,eee,tee)},Lee.mergeDateTimeFormat=function(eee,tee){uee.value[eee]=nie(uee.value[eee]||{},tee),Eee.datetimeFormats=uee.value,xle(Eee,eee,tee)},Lee.getNumberFormat=function(eee){return hee.value[eee]||{}},Lee.setNumberFormat=function(eee,tee){hee.value[eee]=tee,Eee.numberFormats=hee.value,Tle(Eee,eee,tee)},Lee.mergeNumberFormat=function(eee,tee){hee.value[eee]=nie(hee.value[eee]||{},tee),Eee.numberFormats=hee.value,Tle(Eee,eee,tee)},Lee[Mle]=oee,Lee[Dle]=function(...eee){return Ree((tee=>{let ree;const oee=tee;try{oee.processor=Cee,ree=Reflect.apply(gle,null,[oee,...eee])}finally{oee.processor=null}return ree}),(()=>ble(...eee)),"translate",(tee=>tee[Dle](...eee)),(eee=>[qle(eee)]),(eee=>pie(eee)))},Lee[Lle]=function(...eee){return Ree((tee=>Reflect.apply(mle,null,[tee,...eee])),(()=>yle(...eee)),"datetime format",(tee=>tee[Lle](...eee)),Yle,(eee=>uie(eee)||pie(eee)))},Lee[Fle]=function(...eee){return Ree((tee=>Reflect.apply(kle,null,[tee,...eee])),(()=>Ele(...eee)),"number format",(tee=>tee[Fle](...eee)),Yle,(eee=>uie(eee)||pie(eee)))},Lee}function Xle(eee={},tee){{const tee=Hle(function(eee){const tee=uie(eee.locale)?eee.locale:jse,ree=uie(eee.fallbackLocale)||pie(eee.fallbackLocale)||mie(eee.fallbackLocale)||!1===eee.fallbackLocale?eee.fallbackLocale:tee,oee=die(eee.missing)?eee.missing:void 0,nee=!hie(eee.silentTranslationWarn)&&!rie(eee.silentTranslationWarn)||!eee.silentTranslationWarn,aee=!hie(eee.silentFallbackWarn)&&!rie(eee.silentFallbackWarn)||!eee.silentFallbackWarn,iee=!hie(eee.fallbackRoot)||eee.fallbackRoot,see=!!eee.formatFallbackMessages,lee=mie(eee.modifiers)?eee.modifiers:{},cee=eee.pluralizationRules,pee=die(eee.postTranslation)?eee.postTranslation:void 0,dee=!uie(eee.warnHtmlInMessage)||"off"!==eee.warnHtmlInMessage,uee=!!eee.escapeParameterHtml,hee=!hie(eee.sync)||eee.sync;let gee=eee.messages;if(mie(eee.sharedMessages)){const tee=eee.sharedMessages;gee=Object.keys(tee).reduce(((eee,ree)=>{const oee=eee[ree]||(eee[ree]={});return nie(oee,tee[ree]),eee}),gee||{})}const{__i18n:wee,__root:fee,__injectWithOption:bee}=eee,mee=eee.datetimeFormats,vee=eee.numberFormats,yee=eee.flatJson,xee=eee.translateExistCompatible;return{locale:tee,fallbackLocale:ree,messages:gee,flatJson:yee,datetimeFormats:mee,numberFormats:vee,missing:oee,missingWarn:nee,fallbackWarn:aee,fallbackRoot:iee,fallbackFormat:see,modifiers:lee,pluralRules:cee,postTranslation:pee,warnHtmlMessage:dee,escapeParameter:uee,messageResolver:eee.messageResolver,inheritLocale:hee,translateExistCompatible:xee,__i18n:wee,__root:fee,__injectWithOption:bee}}(eee)),{__extender:ree}=eee,oee={id:tee.id,get locale(){return tee.locale.value},set locale(eee){tee.locale.value=eee},get fallbackLocale(){return tee.fallbackLocale.value},set fallbackLocale(eee){tee.fallbackLocale.value=eee},get messages(){return tee.messages.value},get datetimeFormats(){return tee.datetimeFormats.value},get numberFormats(){return tee.numberFormats.value},get availableLocales(){return tee.availableLocales},get formatter(){return{interpolate:()=>[]}},set formatter(eee){},get missing(){return tee.getMissingHandler()},set missing(eee){tee.setMissingHandler(eee)},get silentTranslationWarn(){return hie(tee.missingWarn)?!tee.missingWarn:tee.missingWarn},set silentTranslationWarn(eee){tee.missingWarn=hie(eee)?!eee:eee},get silentFallbackWarn(){return hie(tee.fallbackWarn)?!tee.fallbackWarn:tee.fallbackWarn},set silentFallbackWarn(eee){tee.fallbackWarn=hie(eee)?!eee:eee},get modifiers(){return tee.modifiers},get formatFallbackMessages(){return tee.fallbackFormat},set formatFallbackMessages(eee){tee.fallbackFormat=eee},get postTranslation(){return tee.getPostTranslationHandler()},set postTranslation(eee){tee.setPostTranslationHandler(eee)},get sync(){return tee.inheritLocale},set sync(eee){tee.inheritLocale=eee},get warnHtmlInMessage(){return tee.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(eee){tee.warnHtmlMessage="off"!==eee},get escapeParameterHtml(){return tee.escapeParameter},set escapeParameterHtml(eee){tee.escapeParameter=eee},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(eee){},get pluralizationRules(){return tee.pluralRules||{}},__composer:tee,t(...eee){const[ree,oee,nee]=eee,aee={};let iee=null,see=null;if(!uie(ree))throw Cle(Rle.INVALID_ARGUMENT);const lee=ree;return uie(oee)?aee.locale=oee:pie(oee)?iee=oee:mie(oee)&&(see=oee),pie(nee)?iee=nee:mie(nee)&&(see=nee),Reflect.apply(tee.t,tee,[lee,iee||see||{},aee])},rt:(...eee)=>Reflect.apply(tee.rt,tee,[...eee]),tc(...eee){const[ree,oee,nee]=eee,aee={plural:1};let iee=null,see=null;if(!uie(ree))throw Cle(Rle.INVALID_ARGUMENT);const lee=ree;return uie(oee)?aee.locale=oee:eie(oee)?aee.plural=oee:pie(oee)?iee=oee:mie(oee)&&(see=oee),uie(nee)?aee.locale=nee:pie(nee)?iee=nee:mie(nee)&&(see=nee),Reflect.apply(tee.t,tee,[lee,iee||see||{},aee])},te:(eee,ree)=>tee.te(eee,ree),tm:eee=>tee.tm(eee),getLocaleMessage:eee=>tee.getLocaleMessage(eee),setLocaleMessage(eee,ree){tee.setLocaleMessage(eee,ree)},mergeLocaleMessage(eee,ree){tee.mergeLocaleMessage(eee,ree)},d:(...eee)=>Reflect.apply(tee.d,tee,[...eee]),getDateTimeFormat:eee=>tee.getDateTimeFormat(eee),setDateTimeFormat(eee,ree){tee.setDateTimeFormat(eee,ree)},mergeDateTimeFormat(eee,ree){tee.mergeDateTimeFormat(eee,ree)},n:(...eee)=>Reflect.apply(tee.n,tee,[...eee]),getNumberFormat:eee=>tee.getNumberFormat(eee),setNumberFormat(eee,ree){tee.setNumberFormat(eee,ree)},mergeNumberFormat(eee,ree){tee.mergeNumberFormat(eee,ree)},getChoiceIndex:(eee,tee)=>-1};return oee.__extender=ree,oee}}const Zle={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:eee=>"parent"===eee||"global"===eee,default:"parent"},i18n:{type:Object}};function Jle(eee){return Dne}const ece=boe({name:"i18n-t",props:nie({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:eee=>eie(eee)||!isNaN(eee)}},Zle),setup(eee,tee){const{slots:ree,attrs:oee}=tee,nee=eee.i18n||dce({useScope:eee.scope,__useComponent:!0});return()=>{const aee=Object.keys(ree).filter((eee=>"_"!==eee)),iee={};eee.locale&&(iee.locale=eee.locale),void 0!==eee.plural&&(iee.plural=uie(eee.plural)?+eee.plural:eee.plural);const see=function({slots:eee},tee){if(1===tee.length&&"default"===tee[0])return(eee.default?eee.default():[]).reduce(((eee,tee)=>[...eee,...tee.type===Dne?tee.children:[tee]]),[]);return tee.reduce(((tee,ree)=>{const oee=eee[ree];return oee&&(tee[ree]=oee()),tee}),{})}(tee,aee),lee=nee[Dle](eee.keypath,see,iee),cee=nie({},oee);return h(uie(eee.tag)||gie(eee.tag)?eee.tag:Jle(),cee,lee)}}});function tce(eee,tee,ree,oee){const{slots:nee,attrs:aee}=tee;return()=>{const tee={part:!0};let iee={};eee.locale&&(tee.locale=eee.locale),uie(eee.format)?tee.key=eee.format:gie(eee.format)&&(uie(eee.format.key)&&(tee.key=eee.format.key),iee=Object.keys(eee.format).reduce(((tee,oee)=>ree.includes(oee)?nie({},tee,{[oee]:eee.format[oee]}):tee),{}));const see=oee(eee.value,tee,iee);let lee=[tee.key];pie(see)?lee=see.map(((eee,tee)=>{const ree=nee[eee.type],oee=ree?ree({[eee.type]:eee.value,index:tee,parts:see}):[eee.value];var aee;return pie(aee=oee)&&!uie(aee[0])&&(oee[0].key=`${eee.type}-${tee}`),oee})):uie(see)&&(lee=[see]);const cee=nie({},aee);return h(uie(eee.tag)||gie(eee.tag)?eee.tag:Jle(),cee,lee)}}const rce=boe({name:"i18n-n",props:nie({value:{type:Number,required:!0},format:{type:[String,Object]}},Zle),setup(eee,tee){const ree=eee.i18n||dce({useScope:eee.scope,__useComponent:!0});return tce(eee,tee,_le,((...eee)=>ree[Fle](...eee)))}}),oce=boe({name:"i18n-d",props:nie({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Zle),setup(eee,tee){const ree=eee.i18n||dce({useScope:eee.scope,__useComponent:!0});return tce(eee,tee,vle,((...eee)=>ree[Lle](...eee)))}});function nce(eee){if(uie(eee))return{path:eee};if(mie(eee)){if(!("path"in eee))throw Cle(Rle.REQUIRED_VALUE);return eee}throw Cle(Rle.INVALID_VALUE)}function ice(eee){const{path:tee,locale:ree,args:oee,choice:nee,plural:aee}=eee,iee={},see=oee||{};return uie(ree)&&(iee.locale=ree),eie(nee)&&(iee.plural=nee),eie(aee)&&(iee.plural=aee),[tee,see,iee]}function sce(eee,tee,...ree){const oee=mie(ree[0])?ree[0]:{},nee=!!oee.useI18nComponentName;(!hie(oee.globalInstall)||oee.globalInstall)&&([nee?"i18n":ece.name,"I18nT"].forEach((tee=>eee.component(tee,ece))),[rce.name,"I18nN"].forEach((tee=>eee.component(tee,rce))),[oce.name,"I18nD"].forEach((tee=>eee.component(tee,oce)))),eee.directive("t",function(eee){const tee=tee=>{const{instance:ree,modifiers:oee,value:nee}=tee;if(!ree||!ree.$)throw Cle(Rle.UNEXPECTED_ERROR);const aee=function(eee,tee){const ree=eee;if("composition"===eee.mode)return ree.__getInstance(tee)||eee.global;{const oee=ree.__getInstance(tee);return null!=oee?oee.__composer:eee.global.__composer}}(eee,ree.$),iee=nce(nee);return[Reflect.apply(aee.t,aee,[...ice(iee)]),aee]};return{created:(el,ree)=>{const[oee,nee]=tee(ree);Hae&&eee.global===nee&&(el.__i18nWatcher=poe(nee.locale,(()=>{ree.instance&&ree.instance.$forceUpdate()}))),el.__composer=nee,el.textContent=oee},unmounted:el=>{Hae&&el.__i18nWatcher&&(el.__i18nWatcher(),el.__i18nWatcher=void 0,delete el.__i18nWatcher),el.__composer&&(el.__composer=void 0,delete el.__composer)},beforeUpdate:(el,{value:eee})=>{if(el.__composer){const tee=el.__composer,ree=nce(eee);el.textContent=Reflect.apply(tee.t,tee,[...ice(ree)])}},getSSRProps:eee=>{const[ree]=tee(eee);return{textContent:ree}}}}(tee))}function lce(g,eee){g.locale=eee.locale||g.locale,g.fallbackLocale=eee.fallbackLocale||g.fallbackLocale,g.missing=eee.missing||g.missing,g.silentTranslationWarn=eee.silentTranslationWarn||g.silentFallbackWarn,g.silentFallbackWarn=eee.silentFallbackWarn||g.silentFallbackWarn,g.formatFallbackMessages=eee.formatFallbackMessages||g.formatFallbackMessages,g.postTranslation=eee.postTranslation||g.postTranslation,g.warnHtmlInMessage=eee.warnHtmlInMessage||g.warnHtmlInMessage,g.escapeParameterHtml=eee.escapeParameterHtml||g.escapeParameterHtml,g.sync=eee.sync||g.sync,g.__composer[zle](eee.pluralizationRules||g.pluralizationRules);const tee=jle(g.locale,{messages:eee.messages,__i18n:eee.__i18n});return Object.keys(tee).forEach((eee=>g.mergeLocaleMessage(eee,tee[eee]))),eee.datetimeFormats&&Object.keys(eee.datetimeFormats).forEach((tee=>g.mergeDateTimeFormat(tee,eee.datetimeFormats[tee]))),eee.numberFormats&&Object.keys(eee.numberFormats).forEach((tee=>g.mergeNumberFormat(tee,eee.numberFormats[tee]))),g}const cce=Xae("global-vue-i18n");function pce(eee={},tee){const ree=__VUE_I18N_LEGACY_API__&&hie(eee.legacy)?eee.legacy:__VUE_I18N_LEGACY_API__,oee=!hie(eee.globalInjection)||eee.globalInjection,nee=!__VUE_I18N_LEGACY_API__||!ree||!!eee.allowComposition,aee=new Map,[iee,see]=function(eee,tee,ree){const oee=Xee();{const ree=__VUE_I18N_LEGACY_API__&&tee?oee.run((()=>Xle(eee))):oee.run((()=>Hle(eee)));if(null==ree)throw Cle(Rle.UNEXPECTED_ERROR);return[oee,ree]}}(eee,ree),lee=Xae("");{const eee={get mode(){return __VUE_I18N_LEGACY_API__&&ree?"legacy":"composition"},get allowComposition(){return nee},async install(tee,...nee){if(tee.__VUE_I18N_SYMBOL__=lee,tee.provide(tee.__VUE_I18N_SYMBOL__,eee),mie(nee[0])){const tee=nee[0];eee.__composerExtend=tee.__composerExtend,eee.__vueI18nExtend=tee.__vueI18nExtend}let aee=null;!ree&&oee&&(aee=function(eee,tee){const ree=Object.create(null);uce.forEach((eee=>{const oee=Object.getOwnPropertyDescriptor(tee,eee);if(!oee)throw Cle(Rle.UNEXPECTED_ERROR);const nee=mre(oee.value)?{get:()=>oee.value.value,set(eee){oee.value.value=eee}}:{get:()=>oee.get&&oee.get()};Object.defineProperty(ree,eee,nee)})),eee.config.globalProperties.$i18n=ree,hce.forEach((ree=>{const oee=Object.getOwnPropertyDescriptor(tee,ree);if(!oee||!oee.value)throw Cle(Rle.UNEXPECTED_ERROR);Object.defineProperty(eee.config.globalProperties,`$${ree}`,oee)}));const oee=()=>{delete eee.config.globalProperties.$i18n,hce.forEach((tee=>{delete eee.config.globalProperties[`$${tee}`]}))};return oee}(tee,eee.global)),__VUE_I18N_FULL_INSTALL__&&sce(tee,eee,...nee),__VUE_I18N_LEGACY_API__&&ree&&tee.mixin(function(eee,tee,ree){return{beforeCreate(){const oee=pae();if(!oee)throw Cle(Rle.UNEXPECTED_ERROR);const nee=this.$options;if(nee.i18n){const oee=nee.i18n;if(nee.__i18n&&(oee.__i18n=nee.__i18n),oee.__root=tee,this===this.$root)this.$i18n=lce(eee,oee);else{oee.__injectWithOption=!0,oee.__extender=ree.__vueI18nExtend,this.$i18n=Xle(oee);const eee=this.$i18n;eee.__extender&&(eee.__disposer=eee.__extender(this.$i18n))}}else if(nee.__i18n)if(this===this.$root)this.$i18n=lce(eee,nee);else{this.$i18n=Xle({__i18n:nee.__i18n,__injectWithOption:!0,__extender:ree.__vueI18nExtend,__root:tee});const eee=this.$i18n;eee.__extender&&(eee.__disposer=eee.__extender(this.$i18n))}else this.$i18n=eee;nee.__i18nGlobal&&Vle(tee,nee,nee),this.$t=(...eee)=>this.$i18n.t(...eee),this.$rt=(...eee)=>this.$i18n.rt(...eee),this.$tc=(...eee)=>this.$i18n.tc(...eee),this.$te=(eee,tee)=>this.$i18n.te(eee,tee),this.$d=(...eee)=>this.$i18n.d(...eee),this.$n=(...eee)=>this.$i18n.n(...eee),this.$tm=eee=>this.$i18n.tm(eee),ree.__setInstance(oee,this.$i18n)},mounted(){},unmounted(){const eee=pae();if(!eee)throw Cle(Rle.UNEXPECTED_ERROR);const tee=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,tee.__disposer&&(tee.__disposer(),delete tee.__disposer,delete tee.__extender),ree.__deleteInstance(eee),delete this.$i18n}}}(see,see.__composer,eee));const iee=tee.unmount;tee.unmount=()=>{aee&&aee(),eee.dispose(),iee()}},get global(){return see},dispose(){iee.stop()},__instances:aee,__getInstance:function(eee){return aee.get(eee)||null},__setInstance:function(eee,tee){aee.set(eee,tee)},__deleteInstance:function(eee){aee.delete(eee)}};return eee}}function dce(eee={}){const tee=pae();if(null==tee)throw Cle(Rle.MUST_BE_CALL_SETUP_TOP);if(!tee.isCE&&null!=tee.appContext.app&&!tee.appContext.app.__VUE_I18N_SYMBOL__)throw Cle(Rle.NOT_INSTALLED);const ree=function(eee){{const tee=dne(eee.isCE?cce:eee.appContext.app.__VUE_I18N_SYMBOL__);if(!tee)throw Cle(eee.isCE?Rle.NOT_INSTALLED_WITH_PROVIDE:Rle.UNEXPECTED_ERROR);return tee}}(tee),gl=function(eee){return"composition"===eee.mode?eee.global:eee.global.__composer}(ree),oee=$le(tee),nee=function(eee,tee){return oie(eee)?"__i18n"in tee?"local":"global":eee.useScope?eee.useScope:"local"}(eee,oee);if(__VUE_I18N_LEGACY_API__&&"legacy"===ree.mode&&!eee.__useComponent){if(!ree.allowComposition)throw Cle(Rle.NOT_AVAILABLE_IN_LEGACY_MODE);return function(eee,tee,ree,oee={}){const nee="local"===tee,aee=yre(null);if(nee&&eee.proxy&&!eee.proxy.$options.i18n&&!eee.proxy.$options.__i18n)throw Cle(Rle.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const iee=hie(oee.inheritLocale)?oee.inheritLocale:!uie(oee.locale),see=vre(!nee||iee?ree.locale.value:uie(oee.locale)?oee.locale:jse),lee=vre(!nee||iee?ree.fallbackLocale.value:uie(oee.fallbackLocale)||pie(oee.fallbackLocale)||mie(oee.fallbackLocale)||!1===oee.fallbackLocale?oee.fallbackLocale:see.value),cee=vre(jle(see.value,oee)),pee=vre(mie(oee.datetimeFormats)?oee.datetimeFormats:{[see.value]:{}}),dee=vre(mie(oee.numberFormats)?oee.numberFormats:{[see.value]:{}}),uee=nee?ree.missingWarn:!hie(oee.missingWarn)&&!rie(oee.missingWarn)||oee.missingWarn,hee=nee?ree.fallbackWarn:!hie(oee.fallbackWarn)&&!rie(oee.fallbackWarn)||oee.fallbackWarn,gee=nee?ree.fallbackRoot:!hie(oee.fallbackRoot)||oee.fallbackRoot,wee=!!oee.fallbackFormat,fee=die(oee.missing)?oee.missing:null,bee=die(oee.postTranslation)?oee.postTranslation:null,mee=nee?ree.warnHtmlMessage:!hie(oee.warnHtmlMessage)||oee.warnHtmlMessage,vee=!!oee.escapeParameter,yee=nee?ree.modifiers:mie(oee.modifiers)?oee.modifiers:{},xee=oee.pluralRules||nee&&ree.pluralRules;function kee(){return[see.value,lee.value,cee.value,pee.value,dee.value]}const _ee=kae({get:()=>aee.value?aee.value.locale.value:see.value,set:eee=>{aee.value&&(aee.value.locale.value=eee),see.value=eee}}),Eee=kae({get:()=>aee.value?aee.value.fallbackLocale.value:lee.value,set:eee=>{aee.value&&(aee.value.fallbackLocale.value=eee),lee.value=eee}}),Tee=kae((()=>aee.value?aee.value.messages.value:cee.value)),See=kae((()=>pee.value)),Iee=kae((()=>dee.value));function Oee(){return aee.value?aee.value.getPostTranslationHandler():bee}function Nee(eee){aee.value&&aee.value.setPostTranslationHandler(eee)}function Aee(){return aee.value?aee.value.getMissingHandler():fee}function Ree(eee){aee.value&&aee.value.setMissingHandler(eee)}function Cee(fn){return kee(),fn()}function t(...eee){return aee.value?Cee((()=>Reflect.apply(aee.value.t,null,[...eee]))):Cee((()=>""))}function rt(...eee){return aee.value?Reflect.apply(aee.value.rt,null,[...eee]):""}function d(...eee){return aee.value?Cee((()=>Reflect.apply(aee.value.d,null,[...eee]))):Cee((()=>""))}function n(...eee){return aee.value?Cee((()=>Reflect.apply(aee.value.n,null,[...eee]))):Cee((()=>""))}function tm(eee){return aee.value?aee.value.tm(eee):{}}function te(eee,tee){return!!aee.value&&aee.value.te(eee,tee)}function Dee(eee){return aee.value?aee.value.getLocaleMessage(eee):{}}function Lee(eee,tee){aee.value&&(aee.value.setLocaleMessage(eee,tee),cee.value[eee]=tee)}function Fee(eee,tee){aee.value&&aee.value.mergeLocaleMessage(eee,tee)}function zee(eee){return aee.value?aee.value.getDateTimeFormat(eee):{}}function Mee(eee,tee){aee.value&&(aee.value.setDateTimeFormat(eee,tee),pee.value[eee]=tee)}function Pee(eee,tee){aee.value&&aee.value.mergeDateTimeFormat(eee,tee)}function Uee(eee){return aee.value?aee.value.getNumberFormat(eee):{}}function jee(eee,tee){aee.value&&(aee.value.setNumberFormat(eee,tee),dee.value[eee]=tee)}function $ee(eee,tee){aee.value&&aee.value.mergeNumberFormat(eee,tee)}const Vee={get id(){return aee.value?aee.value.id:-1},locale:_ee,fallbackLocale:Eee,messages:Tee,datetimeFormats:See,numberFormats:Iee,get inheritLocale(){return aee.value?aee.value.inheritLocale:iee},set inheritLocale(eee){aee.value&&(aee.value.inheritLocale=eee)},get availableLocales(){return aee.value?aee.value.availableLocales:Object.keys(cee.value)},get modifiers(){return aee.value?aee.value.modifiers:yee},get pluralRules(){return aee.value?aee.value.pluralRules:xee},get isGlobal(){return!!aee.value&&aee.value.isGlobal},get missingWarn(){return aee.value?aee.value.missingWarn:uee},set missingWarn(eee){aee.value&&(aee.value.missingWarn=eee)},get fallbackWarn(){return aee.value?aee.value.fallbackWarn:hee},set fallbackWarn(eee){aee.value&&(aee.value.missingWarn=eee)},get fallbackRoot(){return aee.value?aee.value.fallbackRoot:gee},set fallbackRoot(eee){aee.value&&(aee.value.fallbackRoot=eee)},get fallbackFormat(){return aee.value?aee.value.fallbackFormat:wee},set fallbackFormat(eee){aee.value&&(aee.value.fallbackFormat=eee)},get warnHtmlMessage(){return aee.value?aee.value.warnHtmlMessage:mee},set warnHtmlMessage(eee){aee.value&&(aee.value.warnHtmlMessage=eee)},get escapeParameter(){return aee.value?aee.value.escapeParameter:vee},set escapeParameter(eee){aee.value&&(aee.value.escapeParameter=eee)},t:t,getPostTranslationHandler:Oee,setPostTranslationHandler:Nee,getMissingHandler:Aee,setMissingHandler:Ree,rt:rt,d:d,n:n,tm:tm,te:te,getLocaleMessage:Dee,setLocaleMessage:Lee,mergeLocaleMessage:Fee,getDateTimeFormat:zee,setDateTimeFormat:Mee,mergeDateTimeFormat:Pee,getNumberFormat:Uee,setNumberFormat:jee,mergeNumberFormat:$ee};function qee(eee){eee.locale.value=see.value,eee.fallbackLocale.value=lee.value,Object.keys(cee.value).forEach((tee=>{eee.mergeLocaleMessage(tee,cee.value[tee])})),Object.keys(pee.value).forEach((tee=>{eee.mergeDateTimeFormat(tee,pee.value[tee])})),Object.keys(dee.value).forEach((tee=>{eee.mergeNumberFormat(tee,dee.value[tee])})),eee.escapeParameter=vee,eee.fallbackFormat=wee,eee.fallbackRoot=gee,eee.fallbackWarn=hee,eee.missingWarn=uee,eee.warnHtmlMessage=mee}return Soe((()=>{if(null==eee.proxy||null==eee.proxy.$i18n)throw Cle(Rle.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const ree=aee.value=eee.proxy.$i18n.__composer;"global"===tee?(see.value=ree.locale.value,lee.value=ree.fallbackLocale.value,cee.value=ree.messages.value,pee.value=ree.datetimeFormats.value,dee.value=ree.numberFormats.value):nee&&qee(ree)})),Vee}(tee,nee,gl,eee)}if("global"===nee)return Vle(gl,eee,oee),gl;if("parent"===nee){let oee=function(eee,tee,ree=!1){let oee=null;const nee=tee.root;let aee=function(eee,tee=!1){if(null==eee)return null;return tee&&eee.vnode.ctx||eee.parent}(tee,ree);for(;null!=aee;){const tee=eee;if("composition"===eee.mode)oee=tee.__getInstance(aee);else if(__VUE_I18N_LEGACY_API__){const eee=tee.__getInstance(aee);null!=eee&&(oee=eee.__composer,ree&&oee&&!oee[Mle]&&(oee=null))}if(null!=oee)break;if(nee===aee)break;aee=aee.parent}return oee}(ree,tee,eee.__useComponent);return null==oee&&(oee=gl),oee}const aee=ree;let iee=aee.__getInstance(tee);if(null==iee){const ree=nie({},eee);"__i18n"in oee&&(ree.__i18n=oee.__i18n),gl&&(ree.__root=gl),iee=Hle(ree),aee.__composerExtend&&(iee[Ple]=aee.__composerExtend(iee)),function(eee,tee,ree){Ioe((()=>{}),tee),Roe((()=>{const oee=ree;eee.__deleteInstance(tee);const nee=oee[Ple];nee&&(nee(),delete oee[Ple])}),tee)}(aee,tee,iee),aee.__setInstance(tee,iee)}return iee}const uce=["locale","fallbackLocale","availableLocales"],hce=["t","rt","d","n","tm","te"];var gce;if("boolean"!=typeof __VUE_I18N_FULL_INSTALL__&&(iie().__VUE_I18N_FULL_INSTALL__=!0),"boolean"!=typeof __VUE_I18N_LEGACY_API__&&(iie().__VUE_I18N_LEGACY_API__=!0),"boolean"!=typeof __INTLIFY_JIT_COMPILATION__&&(iie().__INTLIFY_JIT_COMPILATION__=!1),"boolean"!=typeof __INTLIFY_DROP_MESSAGE_COMPILER__&&(iie().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),"boolean"!=typeof __INTLIFY_PROD_DEVTOOLS__&&(iie().__INTLIFY_PROD_DEVTOOLS__=!1),__INTLIFY_JIT_COMPILATION__?Gse((function(eee,tee){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&uie(eee)){!hie(tee.warnHtmlMessage)||tee.warnHtmlMessage;const ree=(tee.onCacheKey||sle)(eee),oee=lle[ree];if(oee)return oee;const{ast:nee,detectError:aee}=ple(eee,{...tee,location:!1,jit:!0}),iee=nle(nee);return aee?iee:lle[ree]=iee}{const tee=eee.cacheKey;if(tee){return lle[tee]||(lle[tee]=nle(eee))}return nle(eee)}})):Gse(dle),function(eee){Bse=eee}((function(eee,tee){if(!gie(eee))return null;let ree=dse.get(tee);if(ree||(ree=function(eee){const tee=[];let c,ree,oee,nee,aee,iee,see,lee=-1,cee=0,pee=0;const dee=[];function uee(){const tee=eee[lee+1];if(5===cee&&"'"===tee||6===cee&&'"'===tee)return lee++,oee="\\"+tee,dee[0](),!0}for(dee[0]=()=>{void 0===ree?ree=oee:ree+=oee},dee[1]=()=>{void 0!==ree&&(tee.push(ree),ree=void 0)},dee[2]=()=>{dee[0](),pee++},dee[3]=()=>{if(pee>0)pee--,cee=4,dee[0]();else{if(pee=0,void 0===ree)return!1;if(ree=pse(ree),!1===ree)return!1;dee[1]()}};null!==cee;)if(lee++,c=eee[lee],"\\"!==c||!uee()){if(nee=cse(c),see=sse[cee],aee=see[nee]||see.l||8,8===aee)return;if(cee=aee[0],void 0!==aee[1]&&(iee=dee[aee[1]],iee&&(oee=c,!1===iee())))return;if(7===cee)return tee}}(tee),ree&&dse.set(tee,ree)),!ree)return null;const oee=ree.length;let nee=eee,i=0;for(;iIt is not possible to use a Trial key with an existing Unraid OS installation.

You may purchase a license key corresponding to this USB Flash device to continue using this installation.

":"

It is not possible to use a Trial key with an existing Unraid OS installation.

You may purchase a license key corresponding to this USB Flash device to continue using this installation.

","

Please refresh the page to ensure you load your latest configuration

":"

Please refresh the page to ensure you load your latest configuration

","

Register for Connect by signing in to your Unraid.net account

":"

Register for Connect by signing in to your Unraid.net account

","

The license key file does not correspond to the USB Flash boot device. Please copy the correct key file to the /config directory on your USB Flash boot device or choose Purchase Key.

Your Unraid registration key is ineligible for replacement as it has been replaced within the last 12 months.

":"

The license key file does not correspond to the USB Flash boot device. Please copy the correct key file to the /config directory on your USB Flash boot device or choose Purchase Key.

Your Unraid registration key is ineligible for replacement as it has been replaced within the last 12 months.

","

The license key file does not correspond to the USB Flash boot device. Please copy the correct key file to the /config directory on your USB Flash boot device or choose Purchase Key.

Your Unraid registration key is ineligible for replacement as it is blacklisted.

":"

The license key file does not correspond to the USB Flash boot device. Please copy the correct key file to the /config directory on your USB Flash boot device or choose Purchase Key.

Your Unraid registration key is ineligible for replacement as it is blacklisted.

","

The license key file does not correspond to the USB Flash boot device. Please copy the correct key file to the /config directory on your USB Flash boot device.

You may also attempt to Purchase or Replace your key.

":"

The license key file does not correspond to the USB Flash boot device. Please copy the correct key file to the /config directory on your USB Flash boot device.

You may also attempt to Purchase or Replace your key.

","

There are multiple license key files present on your USB flash device and none of them correspond to the USB Flash boot device. Please remove all key files, except the one you want to replace, from the /config directory on your USB Flash boot device.

Alternately you may purchase a license key for this USB flash device.

If you want to replace one of your license keys with a new key bound to this USB Flash device, please first remove all other key files first.

":"

There are multiple license key files present on your USB flash device and none of them correspond to the USB Flash boot device. Please remove all key files, except the one you want to replace, from the /config directory on your USB Flash boot device.

Alternately you may purchase a license key for this USB flash device.

If you want to replace one of your license keys with a new key bound to this USB Flash device, please first remove all other key files first.

","

There is a physical problem accessing your USB Flash boot device

":"

There is a physical problem accessing your USB Flash boot device

","

There is a problem with your USB Flash device

":"

There is a problem with your USB Flash device

","

This USB Flash boot device has been blacklisted. This can occur as a result of transferring your license key to a replacement USB Flash device, and you are currently booted from your old USB Flash device.

A USB Flash device may also be blacklisted if we discover the serial number is not unique – this is common with USB card readers.

":"

This USB Flash boot device has been blacklisted. This can occur as a result of transferring your license key to a replacement USB Flash device, and you are currently booted from your old USB Flash device.

A USB Flash device may also be blacklisted if we discover the serial number is not unique – this is common with USB card readers.

","

This USB Flash device has an invalid GUID. Please try a different USB Flash device

":"

This USB Flash device has an invalid GUID. Please try a different USB Flash device

","

To continue using Unraid OS you may purchase a license key. Alternately, you may request a Trial extension.

":"

To continue using Unraid OS you may purchase a license key. Alternately, you may request a Trial extension.

","

To support more storage devices as your server grows, click Upgrade Key.

":"

To support more storage devices as your server grows, click Upgrade Key.

","

You have used all your Trial extensions. To continue using Unraid OS you may purchase a license key.

":"

You have used all your Trial extensions. To continue using Unraid OS you may purchase a license key.

","

Your Trial key includes all the functionality and device support of an Unleashed key.

After your Trial has reached expiration, your server still functions normally until the next time you Stop the array or reboot your server.

At that point you may either purchase a license key or request a Trial extension.

":"

Your Trial key includes all the functionality and device support of an Unleashed key.

After your Trial has reached expiration, your server still functions normally until the next time you Stop the array or reboot your server.

At that point you may either purchase a license key or request a Trial extension.

","

Your license key file is corrupted or missing. The key file should be located in the /config directory on your USB Flash boot device.

If you do not have a backup copy of your license key file you may attempt to recover your key.

If this was an expired Trial installation, you may purchase a license key.

":"

Your license key file is corrupted or missing. The key file should be located in the /config directory on your USB Flash boot device.

If you do not have a backup copy of your license key file you may attempt to recover your key.

If this was an expired Trial installation, you may purchase a license key.

","

Your license key file is corrupted or missing. The key file should be located in the /config directory on your USB Flash boot device.

You may attempt to recover your key with your Unraid.net account.

If this was an expired Trial installation, you may purchase a license key.

":"

Your license key file is corrupted or missing. The key file should be located in the /config directory on your USB Flash boot device.

You may attempt to recover your key with your Unraid.net account.

If this was an expired Trial installation, you may purchase a license key.

","

Your server will not be usable until you purchase a Registration key or install a free 30 day Trial key. A Trial key provides all the functionality of an Unleashed Registration key.

Registration keys are bound to your USB Flash boot device serial number (GUID). Please use a high quality name brand device at least 1GB in size.

Note: USB memory card readers are generally not supported because most do not present unique serial numbers.

Important:

  • Please make sure your server time is accurate to within 5 minutes
  • Please make sure there is a DNS server specified
":"

Your server will not be usable until you purchase a Registration key or install a free 30 day Trial key. A Trial key provides all the functionality of an Unleashed Registration key.

Registration keys are bound to your USB Flash boot device serial number (GUID). Please use a high quality name brand device at least 1GB in size.

Note: USB memory card readers are generally not supported because most do not present unique serial numbers.

Important:

  • Please make sure your server time is accurate to within 5 minutes
  • Please make sure there is a DNS server specified
","

Your Trial key requires an internet connection.

Please check Settings > Network

":"

Your Trial key requires an internet connection.

Please check Settings > Network

","

Your Unraid registration key is ineligible for replacement as it has been replaced within the last 12 months.

":"

Your Unraid registration key is ineligible for replacement as it has been replaced within the last 12 months.

","A Trial key provides all the functionality of an Unleashed Registration key":"A Trial key provides all the functionality of an Unleashed Registration key.","A valid GUID is required to check for OS updates.":"A valid GUID is required to check for OS updates.","A valid keyfile and USB Flash boot device are required to check for OS updates.":"A valid keyfile and USB Flash boot device are required to check for OS updates.","A valid keyfile is required to check for OS updates.":"A valid keyfile is required to check for OS updates.","A valid OS version is required to check for OS updates.":"A valid OS version is required to check for OS updates.","Acklowledge that you have made a Flash Backup to enable this action":"Acklowledge that you have made a Flash Backup to enable this action",ago:"ago","All you need is an active internet connection, an Unraid.net account, and the Connect plugin. Get started by installing the plugin.":"All you need is an active internet connection, an Unraid.net account, and the Connect plugin. Get started by installing the plugin.","Attached Storage Devices":"Attached Storage Devices","Backing up...this may take a few minutes":"Backing up...this may take a few minutes",Basic:"Basic","Begin downgrade to {0}":"Begin downgrade to {0}",Beta:"Beta","Blacklisted USB Flash GUID":"Blacklisted USB Flash GUID",BLACKLISTED:"BLACKLISTED","Calculating OS Update Eligibility…":"Calculating OS Update Eligibility…","Calculating trial expiration…":"Calculating trial expiration…","Callback redirect type not present or incorrect":"Callback redirect type not present or incorrect","Cancel {0}":"Cancel {0}",Cancel:"Cancel","Cannot access your USB Flash boot device":"Cannot access your USB Flash boot device","Cannot validate Unraid Trial key":"Cannot validate Unraid Trial key","Check Eligibility":"Check Eligibility","check for OS updates":"check for OS updates","Check for OS Updates":"Check for OS Updates","Check for Prereleases":"Check for Prereleases","Check for Update":"Check for Update","Checking WAN IPs…":"Checking WAN IPs…","Checking...":"Checking...","Checkout the Connect Documentation":"Checkout the Connect Documentation","Click to close modal":"Click to close modal","Click to Copy LAN IP {0}":"Click to Copy LAN IP {0}","Close Dropdown":"Close Dropdown","Close Modal":"Close Modal",Close:"Close","Configure Connect Features":"Configure Connect Features","Confirm and start update":"Confirm and start update","Confirm to Install Unraid OS {0}":"Confirm to Install Unraid OS {0}",Connected:"Connected","Contact Support":"Contact Support",Continue:"Continue",Copied:"Copied","Copy Key URL":"Copy Key URL","Copy your Key URL: {0}":"Copy your Key URL: {0}","Create Flash Backup":"Create Flash Backup","Current Version {0}":"Current Version {0}","Current Version: Unraid {0}":"Current Version: Unraid {0}","Customizable Dashboard Tiles":"Customizable Dashboard Tiles",day:"{n} day | {n} days","Deep Linking":"Deep Linking","DNS issue, unable to resolve wanip4.unraid.net":"DNS issue, unable to resolve wanip4.unraid.net","Downgrade Unraid OS to {0}":"Downgrade Unraid OS to {0}","Downgrade Unraid OS":"Downgrade Unraid OS","Downgrades are only recommended if you're unable to solve a critical issue.":"Downgrades are only recommended if you're unable to solve a critical issue.","Download Diagnostics":"Download Diagnostics","Download the Diagnostics zip then please open a bug report on our forums with a description of the issue along with your diagnostics.":"Download the Diagnostics zip then please open a bug report on our forums with a description of the issue along with your diagnostics.","Download unraid-api Logs":"Download unraid-api Logs","Dynamic Remote Access":"Dynamic Remote Access","Eligible for free feature updates for {0}":"Eligible for free feature updates for {0}","Eligible for free feature updates until {0}":"Eligible for free feature updates until {0}",Eligible:"Eligible","Enable update notifications":"Enable update notifications","Enhance your experience with Unraid Connect":"Enhance your experience with Unraid Connect","Enhance your Unraid experience with Connect":"Enhance your Unraid experience with Connect","Enhance your Unraid experience":"Enhance your Unraid experience","Error creating a trial key. Please try again later.":"Error creating a trial key. Please try again later.","Error Parsing Changelog • {0}":"Error Parsing Changelog • {0}",Error:"Error","Expired {0}":"Expired {0}",Expired:"Expired","Expires at {0}":"Expires at {0}","Expires in {0}":"Expires in {0}","Extend License to Enable OS Updates":"Extend License to Enable OS Updates","Extend License to Update":"Extend License to Update","Extend License":"Extend License","Extend Trial":"Extend Trial","Extending your free trial by 15 days":"Extending your free trial by 15 days","Extension Installed":"Extension Installed","Failed to {0} {1} Key":"Failed to {0} {1} Key","Failed to install key":"Failed to install key","Failed to update Connect account configuration":"Failed to update Connect account configuration","Fetching & parsing changelog…":"Fetching & parsing changelog…","Fix Error":"Fix Error","Flash Backup is not available. Navigate to {0}/Main/Settings/Flash to try again then come back to this page.":"Flash Backup is not available. Navigate to {0}/Main/Settings/Flash to try again then come back to this page.","Flash GUID Error":"Flash GUID Error","Flash GUID required to check replacement status":"Flash GUID required to check replacement status","Flash GUID":"Flash GUID","Flash Product":"Flash Product","Flash Vendor":"Flash Vendor","Get a Lifetime Key":"Get a Lifetime Key","Get an overview of your server's state, storage space, apps and VMs status, and more.":"Get an overview of your server's state, storage space, apps and VMs status, and more.","Get Started":"Get Started","Go to Connect plugin settings":"Go to Connect plugin settings","Go to Connect":"Go to Connect","Go to Management Access Now":"Go to Management Access Now","Go to Settings > Notifications to enable automatic OS update notifications for future releases.":"Go to Settings > Notifications to enable automatic OS update notifications for future releases.","Go to Tools > Management Access to activate the Flash Backup feature and ensure your backup is up-to-date.":"Go to Tools > Management Access to activate the Flash Backup feature and ensure your backup is up-to-date.","Go to Tools > Management Access to ensure your backup is up-to-date.":"Go to Tools > Management Access to ensure your backup is up-to-date.","Go to Tools > Registration to fix":"Go to Tools > Registration to fix","Go to Tools > Registration to Learn More":"Go to Tools > Registration to Learn More","Go to Tools > Update OS for more options.":"Go to Tools > Update OS for more options.","Go to Tools > Update":"Go to Tools > Update",hour:"{n} hour | {n} hours","I have made a Flash Backup":"I have made a Flash Backup","If you are asked to supply logs, please open a support request on our Contact Page and reply to the email message you receive with your logs attached.":"If you are asked to supply logs, please open a support request on our Contact Page and reply to the email message you receive with your logs attached.","Ignore this message if you are currently connected via Remote Access or VPN.":"Ignore this message if you are currently connected via Remote Access or VPN.","Ignore this release until next reboot":"Ignore this release until next reboot","Ignored Releases":"Ignored Releases","In the rare event you need to downgrade we ask that you please provide us with Diagnostics so we can investigate your issue.":"In the rare event you need to downgrade we ask that you please provide us with Diagnostics so we can investigate your issue.","Ineligible as of {0}":"Ineligible as of {0}","Ineligible for feature updates released after {0}":"Ineligible for feature updates released after {0}","Ineligible for Unraid OS updates":"Ineligible for Unraid OS updates",Ineligible:"Ineligible","Install Connect":"Install Connect","Install Extended":"Install Extended","Install Recovered":"Install Recovered","Install Replaced":"Install Replaced","Install Unraid OS {0}":"Install Unraid OS {0}",Install:"Install",Installed:"Installed","Installing Connect":"Installing Connect","Installing Extended Trial":"Installing Extended Trial","Installing Extended":"Installing Extended","Installing Recovered":"Installing Recovered","Installing Replaced":"Installing Replaced",Installing:"Installing","Introducing Unraid Connect":"Introducing Unraid Connect","Invalid API Key Format":"Invalid API Key Format","Invalid API Key":"Invalid API Key","Invalid installation":"Invalid installation","It's highly recommended to review the changelog before continuing your update":"It's highly recommended to review the changelog before continuing your update","Key ineligible for {0}":"Key ineligible for {0}","Key ineligible for future releases":"Key ineligible for future releases","Key ineligible for new updates":"Key ineligible for new updates","Keyfile required to check replacement status":"Keyfile required to check replacement status","LAN IP {0}":"LAN IP {0}","LAN IP Copied":"LAN IP Copied","LAN IP":"LAN IP","Last checked: {0}":"Last checked: {0}","Learn more about the error":"Learn more about the error","Learn more and fix":"Learn more and fix","Learn more and link your key to your account":"Learn more and link your key to your account","Learn more":"Learn more","Learn More":"Learn More","Let's Unleash your Hardware!":"Let's Unleash your Hardware!","License key actions":"License key actions","License key type":"License key type","License Management":"License Management",Lifetime:"Lifetime","Link Key":"Link Key",Linked:"Linked","Linked to Unraid.net account":"Linked to Unraid.net account",Loading:"Loading","Manage Unraid.net Account in new tab":"Manage Unraid.net Account in new tab","Manage Unraid.net Account":"Manage Unraid.net Account","Manage your license keys at any time via the My Keys section.":"Manage your license keys at any time via the My Keys section.","Manage Your Server Within Connect":"Manage Your Server Within Connect",minute:"{n} minute | {n} minutes","Missing key file":"Missing key file",month:"{n} month | {n} months","More options":"More options","Multiple License Keys Present":"Multiple License Keys Present","Never ever be left without a backup of your config. If you need to change flash drives, generate a backup from Connect and be up and running in minutes.":"Never ever be left without a backup of your config. If you need to change flash drives, generate a backup from Connect and be up and running in minutes.","New Version: {0}":"New Version: {0}","No downgrade available":"No downgrade available","No Flash":"No Flash","No Keyfile":"No Keyfile","No thanks":"No thanks","No USB flash configuration data":"No USB flash configuration data","Not Linked":"Not Linked","On January 1st, 2023 SSL certificates for unraid.net were deprecated. You MUST provision a new SSL certificate to use our new myunraid.net domain. You can do this on the Settings > Management Access page.":"On January 1st, 2023 SSL certificates for unraid.net were deprecated. You MUST provision a new SSL certificate to use our new myunraid.net domain. You can do this on the Settings > Management Access page.","Online Flash Backup":"Online Flash Backup","Open a bug report":"Open a bug report","Open Dropdown":"Open Dropdown","Opens Connect in new tab":"Opens Connect in new tab","Original release date {0}":"Original release date {0}","OS Update Eligibility Expiration":"OS Update Eligibility Expiration","OS Update Eligibility Expired":"OS Update Eligibility Expired","OS Update Eligibility":"OS Update Eligibility","Pay your annual fee to continue receiving OS updates.":"Pay your annual fee to continue receiving OS updates.","Performing actions":"Performing actions","Please confirm the update details below":"Please confirm the update details below","Please finish the initiated downgrade to enable updates.":"Please finish the initiated downgrade to enable updates.","Please finish the initiated update to enable a downgrade.":"Please finish the initiated update to enable a downgrade.","Please fix any errors and try again.":"Please fix any errors and try again.","Please keep this window open while we perform some actions":"Please keep this window open while we perform some actions","Please keep this window open":"Please keep this window open","Please sign out then sign back in to refresh your API key.":"Please sign out then sign back in to refresh your API key.","Please wait while the page reloads to install your trial key":"Please wait while the page reloads to install your trial key","Plus more on the way":"Plus more on the way",Plus:"Plus",Pro:"Pro","Purchase Key":"Purchase Key",Purchase:"Purchase","Ready to Install Key":"Ready to Install Key","Ready to update Connect account configuration":"Ready to update Connect account configuration","Real-time Monitoring":"Real-time Monitoring","Reboot Now to Downgrade to {0}":"Reboot Now to Downgrade to {0}","Reboot Now to Downgrade":"Reboot Now to Downgrade","Reboot Now to Update to {0}":"Reboot Now to Update to {0}","Reboot Now to Update":"Reboot Now to Update","Reboot Required for Downgrade to {0}":"Reboot Required for Downgrade to {0}","Reboot Required for Downgrade":"Reboot Required for Downgrade","Reboot Required for Update to {0}":"Reboot Required for Update to {0}","Reboot Required for Update":"Reboot Required for Update","Rebooting will likely solve this.":"Rebooting will likely solve this.","Receive the latest and greatest for Unraid OS. Whether it new features, security patches, or bug fixes – keeping your server up-to-date ensures the best experience that Unraid has to offer.":"Receive the latest and greatest for Unraid OS. Whether it new features, security patches, or bug fixes – keeping your server up-to-date ensures the best experience that Unraid has to offer.","Recover Key":"Recover Key",Recovered:"Recovered","Redeem Activation Code":"Redeem Activation Code",Refresh:"Refresh","Registered on":"Registered on","Registered to":"Registered to","Registration key / USB Flash GUID mismatch":"Registration key / USB Flash GUID mismatch","Release date {0}":"Release date {0}","Release requires verification to update":"Release requires verification to update","Reload Page":"Reload Page",Reload:"Reload","Remark: Unraid's WAN IPv4 {0} does not match your client's WAN IPv4 {1}.":"Remark: Unraid's WAN IPv4 {0} does not match your client's WAN IPv4 {1}.","Remark: your WAN IPv4 is {0}":"Remark: your WAN IPv4 is {0}","Remove from ignore list":"Remove from ignore list",Remove:"Remove","Renew Key":"Renew Key","Renew your license key now":"Renew your license key now","Replace Key":"Replace Key",Replaced:"Replaced","Requires the local unraid-api to be running successfully":"Requires the local unraid-api to be running successfully","Restarting unraid-api…":"Restarting unraid-api…",second:"{n} second | {n} seconds","Server Up Since {0}":"Server Up Since {0}","Servers equipped with a myunraid.net certificate can be managed directly from within the Connect web UI. Manage multiple servers from your phone, tablet, laptop, or PC in the same browser window.":"Servers equipped with a myunraid.net certificate can be managed directly from within the Connect web UI. Manage multiple servers from your phone, tablet, laptop, or PC in the same browser window.","Set custom server tiles how you like and automatically display your server's banner image on your Connect Dashboard.":"Set custom server tiles how you like and automatically display your server's banner image on your Connect Dashboard.",Settings:"Settings","Sign In Failed":"Sign In Failed","Sign In requires the local unraid-api to be running":"Sign In requires the local unraid-api to be running","Sign In to utilize Unraid Connect":"Sign In to utilize Unraid Connect","Sign In to your Unraid.net account to get started":"Sign In to your Unraid.net account to get started","Sign In with Unraid.net Account":"Sign In with Unraid.net Account","Sign In":"Sign In","Sign Out Failed":"Sign Out Failed","Sign Out of Unraid.net":"Sign Out of Unraid.net","Sign Out requires the local unraid-api to be running":"Sign Out requires the local unraid-api to be running","Signing in {0}…":"Signing in {0}…","Signing In":"Signing In","Signing out {0}…":"Signing out {0}…","Signing Out":"Signing Out","Something went wrong":"Something went wrong","SSL certificates for unraid.net deprecated":"SSL certificates for unraid.net deprecated","Stale Server":"Stale Server",Stale:"Stale","Start Free 30 Day Trial":"Start Free 30 Day Trial",Starter:"Starter","Starting your free 30 day trial":"Starting your free 30 day trial","Success!":"Success!","Thank you for choosing Unraid OS!":"Thank you for choosing Unraid OS!","Thank you for installing Connect!":"Thank you for installing Connect!","Thank you for purchasing an Unraid {0} Key!":"Thank you for purchasing an Unraid {0} Key!","Thank you for upgrading to an Unraid {0} Key!":"Thank you for upgrading to an Unraid {0} Key!","The Connect dashboard links to relevant sections of the webgui, allowing quick access to those settings and server sections.":"The Connect dashboard links to relevant sections of the webgui, allowing quick access to those settings and server sections.","The logs may contain sensitive information so do not post them publicly.":"The logs may contain sensitive information so do not post them publicly.","The primary method of support for Unraid Connect is through our forums and Discord.":"The primary method of support for Unraid Connect is through our forums and Discord.","Then go to Tools > Registration to manually install it":"Then go to Tools > Registration to manually install it","This may indicate a complex network that will not work with this Remote Access solution.":"This may indicate a complex network that will not work with this Remote Access solution.","This update will require a reboot":"This update will require a reboot","Toggle on/off server accessibility with dynamic remote access. Automatically turn on UPnP and open a random WAN port on your router at the click of a button and close off access in seconds.":"Toggle on/off server accessibility with dynamic remote access. Automatically turn on UPnP and open a random WAN port on your router at the click of a button and close off access in seconds.","Too Many Devices":"Too Many Devices","Transfer License to New Flash":"Transfer License to New Flash","Trial Expired, see options below":"Trial Expired, see options below","Trial Expired":"Trial Expired","Trial Key Created":"Trial Key Created","Trial Key Creation Failed":"Trial Key Creation Failed","Trial Key Expired {0}":"Trial Key Expired {0}","Trial Key Expired at {0}":"Trial Key Expired at {0}","Trial Key Expires at {0}":"Trial Key Expires at {0}","Trial Key Expires in {0}":"Trial Key Expires in {0}","Trial Requires Internet Connection":"Trial Requires Internet Connection",Trial:"Trial","Unable to check for OS updates":"Unable to check for OS updates","Unable to fetch client WAN IPv4":"Unable to fetch client WAN IPv4","Unable to open release notes":"Unable to open release notes","Unknown error":"Unknown error",Unknown:"Unknown",Unleashed:"Unleashed",unlimited:"unlimited","Unraid {0} Available":"Unraid {0} Available","Unraid {0} Update Available":"Unraid {0} Update Available","Unraid {0}":"Unraid {0}","Unraid Connect Error":"Unraid Connect Error","Unraid Connect Forums":"Unraid Connect Forums","Unraid Connect Install Failed":"Unraid Connect Install Failed","Unraid Contact Page":"Unraid Contact Page","Unraid Discord":"Unraid Discord","Unraid logo animating with a wave like effect":"Unraid logo animating with a wave like effect","Unraid OS {0} Released":"Unraid OS {0} Released","Unraid OS {0} Update Available":"Unraid OS {0} Update Available","Unraid OS is up-to-date":"Unraid OS is up-to-date","Unraid OS Update Available":"Unraid OS Update Available","unraid-api is offline":"unraid-api is offline","Up-to-date with eligible releases":"Up-to-date with eligible releases","Up-to-date":"Up-to-date","Update Available":"Update Available","Update Released":"Update Released","Update Unraid OS confirmation required":"Update Unraid OS confirmation required","Update Unraid OS":"Update Unraid OS","Updates Expire":"Updates Expire","Updating 3rd party drivers":"Updating 3rd party drivers","Upgrade Key":"Upgrade Key",Upgrade:"Upgrade","Uptime {0}":"Uptime {0}","USB Flash device error":"USB Flash device error","USB Flash has no serial number":"USB Flash has no serial number","Verify to Update":"Verify to Update","Version available for restore {0}":"Version available for restore {0}","Version: {0}":"Version: {0}","View Available Updates":"View Available Updates","View Changelog & Update":"View Changelog & Update","View Changelog for {0}":"View Changelog for {0}","View Changelog on Docs":"View Changelog on Docs","View Changelog to Start Update":"View Changelog to Start Update","View Changelog":"View Changelog","View on Docs":"View on Docs","View release notes":"View release notes","We recommend backing up your USB Flash Boot Device before starting the update.":"We recommend backing up your USB Flash Boot Device before starting the update.",year:"{n} year | {n} years","You are still eligible to access OS updates that were published on or before {1}.":"You are still eligible to access OS updates that were published on or before {1}.","You can also manually create a new backup by clicking the Create Flash Backup button.":"You can also manually create a new backup by clicking the Create Flash Backup button.","You can manually create a backup by clicking the Create Flash Backup button.":"You can manually create a backup by clicking the Create Flash Backup button.","You have already activated the Flash Backup feature via the Unraid Connect plugin.":"You have already activated the Flash Backup feature via the Unraid Connect plugin.","You have exceeded the number of devices allowed for your license. Please remove a device before adding another.":"You have exceeded the number of devices allowed for your license. Please remove a device before adding another.","You have not activated the Flash Backup feature via the Unraid Connect plugin.":"You have not activated the Flash Backup feature via the Unraid Connect plugin.","You may still update to releases dated prior to your update expiration date.":"You may still update to releases dated prior to your update expiration date.","You're one step closer to enhancing your Unraid experience":"You're one step closer to enhancing your Unraid experience","Your {0} Key has been replaced!":"Your {0} Key has been replaced!","Your {0} license included one year of free updates at the time of purchase. You are now eligible to extend your license and access the latest OS updates. You are still eligible to access OS updates that were published on or before {1}.":"Your {0} license included one year of free updates at the time of purchase. You are now eligible to extend your license and access the latest OS updates. You are still eligible to access OS updates that were published on or before {1}.","Your {0} license included one year of free updates at the time of purchase. You are now eligible to extend your license and access the latest OS updates.":"Your {0} license included one year of free updates at the time of purchase. You are now eligible to extend your license and access the latest OS updates.","Your free Trial key provides all the functionality of an Unleashed Registration key":"Your free Trial key provides all the functionality of an Unleashed Registration key","Your license key is not eligible for Unraid OS {0}":"Your license key is not eligible for Unraid OS {0}","Your license key's OS update eligibility has expired. Please renew your license key to enable updates released after your expiration date.":"Your license key's OS update eligibility has expired. Please renew your license key to enable updates released after your expiration date.","Your Trial has expired":"Your Trial has expired","Your Trial key has been extended!":"Your Trial key has been extended!"},bce="en_US",mce=(eee,tee)=>{const ree=eee.__vccOpts||eee;for(const[oee,nee]of tee)ree[oee]=nee;return ree},vce=mce(boe({__name:"I18nHost.ce",setup(eee){wce.VITE_ALLOW_CONSOLE_LOGS||(console.log=()=>{},console.debug=()=>{},console.info=()=>{});let tee="",ree={},oee=!1;const nee=window.LOCALE_DATA||null;if(nee)try{ree=JSON.parse(decodeURIComponent(nee)),tee=Object.keys(ree)[0],oee=tee!==bce}catch(iee){console.error("[I18nHost] error parsing messages",iee)}const aee=pce({legacy:!1,locale:oee?tee:bce,fallbackLocale:bce,messages:{en_US:fce,...oee?ree:{}}});return pne(cce,aee),(eee,tee)=>$oe(eee.$slots,"default")}}),[["styles",[""]]]),yce={key:0,class:"absolute -top-[2px] -right-[2px] -bottom-[2px] -left-[2px] -z-10 bg-gradient-to-r from-unraid-red to-orange opacity-100 transition-all rounded-md group-hover:opacity-60 group-focus:opacity-60"},xce={key:1,class:"absolute -top-[2px] -right-[2px] -bottom-[2px] -left-[2px] -z-10 bg-gradient-to-r from-unraid-red to-orange opacity-0 transition-all rounded-md group-hover:opacity-100 group-focus:opacity-100"},kce=boe({__name:"Button",props:{btnStyle:{default:"fill"},btnType:{default:"button"},class:{default:void 0},click:{type:Function,default:void 0},disabled:{type:Boolean},download:{type:Boolean},external:{type:Boolean},href:{default:void 0},icon:{default:void 0},iconRight:{default:void 0},iconRightHoverDisplay:{type:Boolean,default:!1},noPadding:{type:Boolean,default:!1},size:{default:"16px"},text:{default:""},title:{default:""}},emits:["click"],setup(eee){const tee=eee,ree=kae((()=>{let eee="",ree="",oee="";switch(tee.btnStyle){case"black":eee="text-white bg-black border-black transition hover:text-black focus:text-black hover:bg-grey focus:bg-grey hover:border-grey focus:border-grey";break;case"fill":eee="text-white bg-transparent border-transparent";break;case"gray":eee="text-black bg-grey transition hover:text-white focus:text-white hover:bg-grey-mid focus:bg-grey-mid hover:border-grey-mid focus:border-grey-mid";break;case"outline":eee="text-orange bg-transparent border-orange hover:text-white focus:text-white";break;case"outline-black":eee="text-black bg-transparent border-black hover:text-black focus:text-black hover:bg-grey focus:bg-grey hover:border-grey focus:border-grey";break;case"outline-white":eee="text-white bg-transparent border-white hover:text-black focus:text-black hover:bg-white focus:bg-white";break;case"underline":eee="opacity-75 underline border-transparent transition hover:text-alpha hover:bg-beta hover:border-beta focus:text-alpha focus:bg-beta focus:border-beta hover:opacity-100 focus:opacity-100";break;case"underline-hover-red":eee="opacity-75 underline border-transparent transition hover:text-white hover:bg-unraid-red hover:border-unraid-red focus:text-white focus:bg-unraid-red focus:border-unraid-red hover:opacity-100 focus:opacity-100";break;case"white":eee="text-black bg-white transition hover:bg-grey focus:bg-grey"}switch(tee.size){case"12px":ree=`text-12px ${tee.noPadding?"p-0":"p-8px"} gap-4px`,oee="w-12px";break;case"14px":ree=`text-14px ${tee.noPadding?"p-0":"p-8px"} gap-8px`,oee="w-14px";break;case"16px":ree=`text-16px ${tee.noPadding?"p-0":"p-12px"} gap-8px`,oee="w-16px";break;case"18px":ree=`text-18px ${tee.noPadding?"p-0":"p-12px"} gap-8px`,oee="w-18px";break;case"20px":ree=`text-20px ${tee.noPadding?"p-0":"p-16px"} gap-8px`,oee="w-20px";break;case"24px":ree=`text-24px ${tee.noPadding?"p-0":"p-16px"} gap-8px`,oee="w-24px"}return{button:"none"===tee.btnStyle?`${ree} ${tee.class}`:`${ree} ${eee} group text-center font-semibold leading-none relative z-0 flex flex-row items-center justify-center border-2 border-solid shadow-none cursor-pointer rounded-md hover:shadow-md focus:shadow-md disabled:opacity-25 disabled:hover:opacity-25 disabled:focus:opacity-25 disabled:cursor-not-allowed ${tee.class}`,icon:`${oee} fill-current flex-shrink-0`}}));return(eee,tee)=>(Une(),Bne(Moe(eee.href?"a":"button"),{disabled:eee.disabled??null,href:eee.href,rel:eee.external?"noopener noreferrer":"",target:eee.external?"_blank":"",type:eee.href?"":eee.btnType,class:Bee(ree.value.button),title:eee.title,onClick:tee[0]||(tee[0]=tee=>eee.click??eee.$emit("click"))},{default:ooe((()=>["fill"===eee.btnStyle?(Une(),qne("div",yce)):tae("",!0),"outline"===eee.btnStyle?(Une(),qne("div",xce)):tae("",!0),eee.icon?(Une(),Bne(Moe(eee.icon),{key:2,class:Bee(ree.value.icon)},null,8,["class"])):tae("",!0),Jne(" "+Qee(eee.text)+" ",1),$oe(eee.$slots,"default"),eee.iconRight?(Une(),Bne(Moe(eee.iconRight),{key:3,class:Bee([ree.value.icon,eee.iconRightHoverDisplay&&"opacity-0 group-hover:opacity-100 group-focus:opacity-100 transition-all"])},null,8,["class"])):tae("",!0)])),_:3},8,["disabled","href","rel","target","type","class","title"]))}}); -/*! - * pinia v2.1.7 - * (c) 2023 Eduardo San Martin Morote - * @license MIT - */ -let _ce;const Ece=eee=>_ce=eee,Tce=Symbol();function Sce(o){return o&&"object"==typeof o&&"[object Object]"===Object.prototype.toString.call(o)&&"function"!=typeof o.toJSON}var Ice,Oce;function Nce(){const eee=Xee(!0),tee=eee.run((()=>vre({})));let _p=[],ree=[];const oee=hre({install(eee){Ece(oee),oee._a=eee,eee.provide(Tce,oee),eee.config.globalProperties.$pinia=oee,ree.forEach((eee=>_p.push(eee))),ree=[]},use(eee){return this._a?_p.push(eee):ree.push(eee),this},_p:_p,_a:null,_e:eee,_s:new Map,state:tee});return oee}(Oce=Ice||(Ice={})).direct="direct",Oce.patchObject="patch object",Oce.patchFunction="patch function";const Ace=()=>{};function Rce(eee,tee,ree,oee=Ace){eee.push(tee);const nee=()=>{const ree=eee.indexOf(tee);ree>-1&&(eee.splice(ree,1),oee())};return!ree&&Zee()&&Jee(nee),nee}function Cce(eee,...tee){eee.slice().forEach((eee=>{eee(...tee)}))}const Dce=fn=>fn();function Lce(eee,tee){eee instanceof Map&&tee instanceof Map&&tee.forEach(((tee,ree)=>eee.set(ree,tee))),eee instanceof Set&&tee instanceof Set&&tee.forEach(eee.add,eee);for(const ree in tee){if(!tee.hasOwnProperty(ree))continue;const oee=tee[ree],nee=eee[ree];Sce(nee)&&Sce(oee)&&eee.hasOwnProperty(ree)&&!mre(oee)&&!lre(oee)?eee[ree]=Lce(nee,oee):eee[ree]=oee}return eee}const Fce=Symbol();const{assign:zce}=Object;function Mce(o){return!(!mre(o)||!o.effect)}function Pce(id,eee,tee,ree){const{state:oee,actions:nee,getters:aee}=eee,iee=tee.state.value[id];let see;return see=Uce(id,(function(){iee||(tee.state.value[id]=oee?oee():{});const eee=function(eee){const tee=dee(eee)?new Array(eee.length):{};for(const ree in eee)tee[ree]=Nre(eee,ree);return tee}(tee.state.value[id]);return zce(eee,nee,Object.keys(aee||{}).reduce(((eee,ree)=>(eee[ree]=hre(kae((()=>{Ece(tee);const eee=tee._s.get(id);return aee[ree].call(eee,eee)}))),eee)),{}))}),eee,tee,ree,!0),see}function Uce(eee,tee,ree={},oee,nee,aee){let iee;const see=zce({actions:{}},ree),lee={deep:!0};let cee,pee,dee,uee=[],hee=[];const gee=oee.state.value[eee];let wee;function fee(tee){let ree;cee=pee=!1,"function"==typeof tee?(tee(oee.state.value[eee]),ree={type:Ice.patchFunction,storeId:eee,events:dee}):(Lce(oee.state.value[eee],tee),ree={type:Ice.patchObject,payload:tee,storeId:eee,events:dee});const nee=wee=Symbol();qre().then((()=>{wee===nee&&(cee=!0)})),pee=!0,Cce(uee,ree,oee.state.value[eee])}aee||gee||(oee.state.value[eee]={}),vre({});const bee=aee?function(){const{state:eee}=ree,tee=eee?eee():{};this.$patch((eee=>{zce(eee,tee)}))}:Ace;function mee(tee,ree){return function(){Ece(oee);const nee=Array.from(arguments),aee=[],iee=[];let see;Cce(hee,{args:nee,name:tee,store:vee,after:function(eee){aee.push(eee)},onError:function(eee){iee.push(eee)}});try{see=ree.apply(this&&this.$id===eee?this:vee,nee)}catch(lee){throw Cce(iee,lee),lee}return see instanceof Promise?see.then((eee=>(Cce(aee,eee),eee))).catch((eee=>(Cce(iee,eee),Promise.reject(eee)))):(Cce(aee,see),see)}}const vee=are({_p:oee,$id:eee,$onAction:Rce.bind(null,hee),$patch:fee,$reset:bee,$subscribe(tee,ree={}){const nee=Rce(uee,tee,ree.detached,(()=>aee())),aee=iee.run((()=>poe((()=>oee.state.value[eee]),(oee=>{("sync"===ree.flush?pee:cee)&&tee({storeId:eee,type:Ice.direct,events:dee},oee)}),zce({},lee,ree))));return nee},$dispose:function(){iee.stop(),uee=[],hee=[],oee._s.delete(eee)}});oee._s.set(eee,vee);const yee=(oee._a&&oee._a.runWithContext||Dce)((()=>oee._e.run((()=>(iee=Xee()).run(tee)))));for(const kee in yee){const tee=yee[kee];if(mre(tee)&&!Mce(tee)||lre(tee))aee||(!gee||Sce(xee=tee)&&xee.hasOwnProperty(Fce)||(mre(tee)?tee.value=gee[kee]:Lce(tee,gee[kee])),oee.state.value[eee][kee]=tee);else if("function"==typeof tee){const eee=mee(kee,tee);yee[kee]=eee,see.actions[kee]=tee}}var xee;return zce(vee,yee),zce(ure(vee),yee),Object.defineProperty(vee,"$state",{get:()=>oee.state.value[eee],set:eee=>{fee((tee=>{zce(tee,eee)}))}}),oee._p.forEach((eee=>{zce(vee,iee.run((()=>eee({store:vee,app:oee._a,pinia:oee,options:see}))))})),gee&&aee&&ree.hydrate&&ree.hydrate(vee.$state,gee),cee=!0,pee=!0,vee}function jce(eee,tee,ree){let id,oee;const nee="function"==typeof tee;function aee(eee,ree){const aee=une();(eee=eee||(aee?dne(Tce,null):null))&&Ece(eee),(eee=_ce)._s.has(id)||(nee?Uce(id,tee,oee,eee):Pce(id,oee,eee));return eee._s.get(id)}return"string"==typeof eee?(id=eee,oee=nee?ree:tee):(oee=eee,id=eee.id),aee.$id=id,aee}function $ce(eee){{eee=ure(eee);const tee={};for(const ree in eee){const oee=eee[ree];(mre(oee)||lre(oee))&&(tee[ree]=Ore(eee,ree))}return tee}}var Vce="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function qce(x){return x&&x.__esModule&&Object.prototype.hasOwnProperty.call(x,"default")?x.default:x}function Bce(n){if(n.__esModule)return n;var f=n.default;if("function"==typeof f){var a=function a(){return this instanceof a?Reflect.construct(f,arguments,this.constructor):f.apply(this,arguments)};a.prototype=f.prototype}else a={};return Object.defineProperty(a,"__esModule",{value:!0}),Object.keys(n).forEach((function(k){var d=Object.getOwnPropertyDescriptor(n,k);Object.defineProperty(a,k,d.get?d:{enumerable:!0,get:function(){return n[k]}})})),a}var Yce={exports:{}};Yce.exports=function(){var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",c="month",f="quarter",h="year",d="date",l="Invalid Date",$=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],n=t%100;return"["+t+(e[(n-20)%10]||e[n]||e[0])+"]"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)console.error("SEMVER",...eee):()=>{};var Hce={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2},Xce={exports:{}};!function(eee,tee){const{MAX_SAFE_COMPONENT_LENGTH:ree,MAX_SAFE_BUILD_LENGTH:oee,MAX_LENGTH:nee}=Hce,aee=Kce,re=(tee=eee.exports={}).re=[],iee=tee.safeRe=[],see=tee.src=[],t=tee.t={};let R=0;const lee="[a-zA-Z0-9-]",cee=[["\\s",1],["\\d",nee],[lee,oee]],pee=(eee,tee,ree)=>{const oee=(eee=>{for(const[tee,ree]of cee)eee=eee.split(`${tee}*`).join(`${tee}{0,${ree}}`).split(`${tee}+`).join(`${tee}{1,${ree}}`);return eee})(tee),nee=R++;aee(eee,nee,tee),t[eee]=nee,see[nee]=tee,re[nee]=new RegExp(tee,ree?"g":void 0),iee[nee]=new RegExp(oee,ree?"g":void 0)};pee("NUMERICIDENTIFIER","0|[1-9]\\d*"),pee("NUMERICIDENTIFIERLOOSE","\\d+"),pee("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${lee}*`),pee("MAINVERSION",`(${see[t.NUMERICIDENTIFIER]})\\.(${see[t.NUMERICIDENTIFIER]})\\.(${see[t.NUMERICIDENTIFIER]})`),pee("MAINVERSIONLOOSE",`(${see[t.NUMERICIDENTIFIERLOOSE]})\\.(${see[t.NUMERICIDENTIFIERLOOSE]})\\.(${see[t.NUMERICIDENTIFIERLOOSE]})`),pee("PRERELEASEIDENTIFIER",`(?:${see[t.NUMERICIDENTIFIER]}|${see[t.NONNUMERICIDENTIFIER]})`),pee("PRERELEASEIDENTIFIERLOOSE",`(?:${see[t.NUMERICIDENTIFIERLOOSE]}|${see[t.NONNUMERICIDENTIFIER]})`),pee("PRERELEASE",`(?:-(${see[t.PRERELEASEIDENTIFIER]}(?:\\.${see[t.PRERELEASEIDENTIFIER]})*))`),pee("PRERELEASELOOSE",`(?:-?(${see[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${see[t.PRERELEASEIDENTIFIERLOOSE]})*))`),pee("BUILDIDENTIFIER",`${lee}+`),pee("BUILD",`(?:\\+(${see[t.BUILDIDENTIFIER]}(?:\\.${see[t.BUILDIDENTIFIER]})*))`),pee("FULLPLAIN",`v?${see[t.MAINVERSION]}${see[t.PRERELEASE]}?${see[t.BUILD]}?`),pee("FULL",`^${see[t.FULLPLAIN]}$`),pee("LOOSEPLAIN",`[v=\\s]*${see[t.MAINVERSIONLOOSE]}${see[t.PRERELEASELOOSE]}?${see[t.BUILD]}?`),pee("LOOSE",`^${see[t.LOOSEPLAIN]}$`),pee("GTLT","((?:<|>)?=?)"),pee("XRANGEIDENTIFIERLOOSE",`${see[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),pee("XRANGEIDENTIFIER",`${see[t.NUMERICIDENTIFIER]}|x|X|\\*`),pee("XRANGEPLAIN",`[v=\\s]*(${see[t.XRANGEIDENTIFIER]})(?:\\.(${see[t.XRANGEIDENTIFIER]})(?:\\.(${see[t.XRANGEIDENTIFIER]})(?:${see[t.PRERELEASE]})?${see[t.BUILD]}?)?)?`),pee("XRANGEPLAINLOOSE",`[v=\\s]*(${see[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${see[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${see[t.XRANGEIDENTIFIERLOOSE]})(?:${see[t.PRERELEASELOOSE]})?${see[t.BUILD]}?)?)?`),pee("XRANGE",`^${see[t.GTLT]}\\s*${see[t.XRANGEPLAIN]}$`),pee("XRANGELOOSE",`^${see[t.GTLT]}\\s*${see[t.XRANGEPLAINLOOSE]}$`),pee("COERCEPLAIN",`(^|[^\\d])(\\d{1,${ree}})(?:\\.(\\d{1,${ree}}))?(?:\\.(\\d{1,${ree}}))?`),pee("COERCE",`${see[t.COERCEPLAIN]}(?:$|[^\\d])`),pee("COERCEFULL",see[t.COERCEPLAIN]+`(?:${see[t.PRERELEASE]})?`+`(?:${see[t.BUILD]})?(?:$|[^\\d])`),pee("COERCERTL",see[t.COERCE],!0),pee("COERCERTLFULL",see[t.COERCEFULL],!0),pee("LONETILDE","(?:~>?)"),pee("TILDETRIM",`(\\s*)${see[t.LONETILDE]}\\s+`,!0),tee.tildeTrimReplace="$1~",pee("TILDE",`^${see[t.LONETILDE]}${see[t.XRANGEPLAIN]}$`),pee("TILDELOOSE",`^${see[t.LONETILDE]}${see[t.XRANGEPLAINLOOSE]}$`),pee("LONECARET","(?:\\^)"),pee("CARETTRIM",`(\\s*)${see[t.LONECARET]}\\s+`,!0),tee.caretTrimReplace="$1^",pee("CARET",`^${see[t.LONECARET]}${see[t.XRANGEPLAIN]}$`),pee("CARETLOOSE",`^${see[t.LONECARET]}${see[t.XRANGEPLAINLOOSE]}$`),pee("COMPARATORLOOSE",`^${see[t.GTLT]}\\s*(${see[t.LOOSEPLAIN]})$|^$`),pee("COMPARATOR",`^${see[t.GTLT]}\\s*(${see[t.FULLPLAIN]})$|^$`),pee("COMPARATORTRIM",`(\\s*)${see[t.GTLT]}\\s*(${see[t.LOOSEPLAIN]}|${see[t.XRANGEPLAIN]})`,!0),tee.comparatorTrimReplace="$1$2$3",pee("HYPHENRANGE",`^\\s*(${see[t.XRANGEPLAIN]})\\s+-\\s+(${see[t.XRANGEPLAIN]})\\s*$`),pee("HYPHENRANGELOOSE",`^\\s*(${see[t.XRANGEPLAINLOOSE]})\\s+-\\s+(${see[t.XRANGEPLAINLOOSE]})\\s*$`),pee("STAR","(<|>)?=?\\s*\\*"),pee("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),pee("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}(Xce,Xce.exports);var Zce=Xce.exports;const Jce=Object.freeze({loose:!0}),epe=Object.freeze({});var tpe=eee=>eee?"object"!=typeof eee?Jce:eee:epe;const rpe=/^[0-9]+$/,ope=(a,b)=>{const eee=rpe.test(a),tee=rpe.test(b);return eee&&tee&&(a=+a,b=+b),a===b?0:eee&&!tee?-1:tee&&!eee?1:aope(b,a)};const ape=Kce,{MAX_LENGTH:ipe,MAX_SAFE_INTEGER:spe}=Hce,{safeRe:re,t:lpe}=Zce,cpe=tpe,{compareIdentifiers:ppe}=npe;var dpe=class eee{constructor(tee,ree){if(ree=cpe(ree),tee instanceof eee){if(tee.loose===!!ree.loose&&tee.includePrerelease===!!ree.includePrerelease)return tee;tee=tee.version}else if("string"!=typeof tee)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof tee}".`);if(tee.length>ipe)throw new TypeError(`version is longer than ${ipe} characters`);ape("SemVer",tee,ree),this.options=ree,this.loose=!!ree.loose,this.includePrerelease=!!ree.includePrerelease;const m=tee.trim().match(ree.loose?re[lpe.LOOSE]:re[lpe.FULL]);if(!m)throw new TypeError(`Invalid Version: ${tee}`);if(this.raw=tee,this.major=+m[1],this.minor=+m[2],this.patch=+m[3],this.major>spe||this.major<0)throw new TypeError("Invalid major version");if(this.minor>spe||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>spe||this.patch<0)throw new TypeError("Invalid patch version");m[4]?this.prerelease=m[4].split(".").map((id=>{if(/^[0-9]+$/.test(id)){const eee=+id;if(eee>=0&&eee=0;)"number"==typeof this.prerelease[i]&&(this.prerelease[i]++,i=-2);if(-1===i){if(tee===this.prerelease.join(".")&&!1===ree)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(eee)}}if(tee){let oee=[tee,eee];!1===ree&&(oee=[tee]),0===ppe(this.prerelease[0],tee)?isNaN(this.prerelease[1])&&(this.prerelease=oee):this.prerelease=oee}break}default:throw new Error(`invalid increment argument: ${eee}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};const upe=dpe;var hpe=(eee,tee,ree=!1)=>{if(eee instanceof upe)return eee;try{return new upe(eee,tee)}catch(er){if(!ree)return null;throw er}};const gpe=hpe;var wpe=(eee,tee)=>{const ree=gpe(eee,tee);return ree&&ree.prerelease.length?ree.prerelease:null};const fpe=qce(wpe);function bpe(eee,tee){return Une(),qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Hne("path",{"fill-rule":"evenodd",d:"M12 2.25a.75.75 0 0 1 .75.75v11.69l3.22-3.22a.75.75 0 1 1 1.06 1.06l-4.5 4.5a.75.75 0 0 1-1.06 0l-4.5-4.5a.75.75 0 1 1 1.06-1.06l3.22 3.22V3a.75.75 0 0 1 .75-.75Zm-9 13.5a.75.75 0 0 1 .75.75v2.25a1.5 1.5 0 0 0 1.5 1.5h13.5a1.5 1.5 0 0 0 1.5-1.5V16.5a.75.75 0 0 1 1.5 0v2.25a3 3 0 0 1-3 3H5.25a3 3 0 0 1-3-3V16.5a.75.75 0 0 1 .75-.75Z","clip-rule":"evenodd"})])}function mpe(eee,tee){return Une(),qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Hne("path",{"fill-rule":"evenodd",d:"M4.755 10.059a7.5 7.5 0 0 1 12.548-3.364l1.903 1.903h-3.183a.75.75 0 1 0 0 1.5h4.992a.75.75 0 0 0 .75-.75V4.356a.75.75 0 0 0-1.5 0v3.18l-1.9-1.9A9 9 0 0 0 3.306 9.67a.75.75 0 1 0 1.45.388Zm15.408 3.352a.75.75 0 0 0-.919.53 7.5 7.5 0 0 1-12.548 3.364l-1.902-1.903h3.183a.75.75 0 0 0 0-1.5H2.984a.75.75 0 0 0-.75.75v4.992a.75.75 0 0 0 1.5 0v-3.18l1.9 1.9a9 9 0 0 0 15.059-4.035.75.75 0 0 0-.53-.918Z","clip-rule":"evenodd"})])}function vpe(eee,tee){return Une(),qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Hne("path",{"fill-rule":"evenodd",d:"M7.5 3.75A1.5 1.5 0 0 0 6 5.25v13.5a1.5 1.5 0 0 0 1.5 1.5h6a1.5 1.5 0 0 0 1.5-1.5V15a.75.75 0 0 1 1.5 0v3.75a3 3 0 0 1-3 3h-6a3 3 0 0 1-3-3V5.25a3 3 0 0 1 3-3h6a3 3 0 0 1 3 3V9A.75.75 0 0 1 15 9V5.25a1.5 1.5 0 0 0-1.5-1.5h-6Zm10.72 4.72a.75.75 0 0 1 1.06 0l3 3a.75.75 0 0 1 0 1.06l-3 3a.75.75 0 1 1-1.06-1.06l1.72-1.72H9a.75.75 0 0 1 0-1.5h10.94l-1.72-1.72a.75.75 0 0 1 0-1.06Z","clip-rule":"evenodd"})])}function ype(eee,tee){return Une(),qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Hne("path",{"fill-rule":"evenodd",d:"M3.75 12a.75.75 0 0 1 .75-.75h13.19l-5.47-5.47a.75.75 0 0 1 1.06-1.06l6.75 6.75a.75.75 0 0 1 0 1.06l-6.75 6.75a.75.75 0 1 1-1.06-1.06l5.47-5.47H4.5a.75.75 0 0 1-.75-.75Z","clip-rule":"evenodd"})])}function xpe(eee,tee){return Une(),qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Hne("path",{"fill-rule":"evenodd",d:"M15.75 2.25H21a.75.75 0 0 1 .75.75v5.25a.75.75 0 0 1-1.5 0V4.81L8.03 17.03a.75.75 0 0 1-1.06-1.06L19.19 3.75h-3.44a.75.75 0 0 1 0-1.5Zm-10.5 4.5a1.5 1.5 0 0 0-1.5 1.5v10.5a1.5 1.5 0 0 0 1.5 1.5h10.5a1.5 1.5 0 0 0 1.5-1.5V10.5a.75.75 0 0 1 1.5 0v8.25a3 3 0 0 1-3 3H5.25a3 3 0 0 1-3-3V8.25a3 3 0 0 1 3-3h8.25a.75.75 0 0 1 0 1.5H5.25Z","clip-rule":"evenodd"})])}function kpe(eee,tee){return Une(),qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Hne("path",{"fill-rule":"evenodd",d:"M15 3.75A5.25 5.25 0 0 0 9.75 9v10.19l4.72-4.72a.75.75 0 1 1 1.06 1.06l-6 6a.75.75 0 0 1-1.06 0l-6-6a.75.75 0 1 1 1.06-1.06l4.72 4.72V9a6.75 6.75 0 0 1 13.5 0v3a.75.75 0 0 1-1.5 0V9c0-2.9-2.35-5.25-5.25-5.25Z","clip-rule":"evenodd"})])}function _pe(eee,tee){return Une(),qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Hne("path",{"fill-rule":"evenodd",d:"M3 6.75A.75.75 0 0 1 3.75 6h16.5a.75.75 0 0 1 0 1.5H3.75A.75.75 0 0 1 3 6.75ZM3 12a.75.75 0 0 1 .75-.75h16.5a.75.75 0 0 1 0 1.5H3.75A.75.75 0 0 1 3 12Zm8.25 5.25a.75.75 0 0 1 .75-.75h8.25a.75.75 0 0 1 0 1.5H12a.75.75 0 0 1-.75-.75Z","clip-rule":"evenodd"})])}function Epe(eee,tee){return Une(),qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Hne("path",{"fill-rule":"evenodd",d:"M3 6.75A.75.75 0 0 1 3.75 6h16.5a.75.75 0 0 1 0 1.5H3.75A.75.75 0 0 1 3 6.75ZM3 12a.75.75 0 0 1 .75-.75h16.5a.75.75 0 0 1 0 1.5H3.75A.75.75 0 0 1 3 12Zm0 5.25a.75.75 0 0 1 .75-.75h16.5a.75.75 0 0 1 0 1.5H3.75a.75.75 0 0 1-.75-.75Z","clip-rule":"evenodd"})])}function Tpe(eee,tee){return Une(),qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Hne("path",{d:"M5.85 3.5a.75.75 0 0 0-1.117-1 9.719 9.719 0 0 0-2.348 4.876.75.75 0 0 0 1.479.248A8.219 8.219 0 0 1 5.85 3.5ZM19.267 2.5a.75.75 0 1 0-1.118 1 8.22 8.22 0 0 1 1.987 4.124.75.75 0 0 0 1.48-.248A9.72 9.72 0 0 0 19.266 2.5Z"}),Hne("path",{"fill-rule":"evenodd",d:"M12 2.25A6.75 6.75 0 0 0 5.25 9v.75a8.217 8.217 0 0 1-2.119 5.52.75.75 0 0 0 .298 1.206c1.544.57 3.16.99 4.831 1.243a3.75 3.75 0 1 0 7.48 0 24.583 24.583 0 0 0 4.83-1.244.75.75 0 0 0 .298-1.205 8.217 8.217 0 0 1-2.118-5.52V9A6.75 6.75 0 0 0 12 2.25ZM9.75 18c0-.034 0-.067.002-.1a25.05 25.05 0 0 0 4.496 0l.002.1a2.25 2.25 0 1 1-4.5 0Z","clip-rule":"evenodd"})])}function Spe(eee,tee){return Une(),qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Hne("path",{"fill-rule":"evenodd",d:"M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Zm13.36-1.814a.75.75 0 1 0-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 0 0-1.06 1.06l2.25 2.25a.75.75 0 0 0 1.14-.094l3.75-5.25Z","clip-rule":"evenodd"})])}function Ipe(eee,tee){return Une(),qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Hne("path",{"fill-rule":"evenodd",d:"M19.916 4.626a.75.75 0 0 1 .208 1.04l-9 13.5a.75.75 0 0 1-1.154.114l-6-6a.75.75 0 0 1 1.06-1.06l5.353 5.353 8.493-12.74a.75.75 0 0 1 1.04-.207Z","clip-rule":"evenodd"})])}function Ope(eee,tee){return Une(),qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Hne("path",{"fill-rule":"evenodd",d:"M11.47 13.28a.75.75 0 0 0 1.06 0l7.5-7.5a.75.75 0 0 0-1.06-1.06L12 11.69 5.03 4.72a.75.75 0 0 0-1.06 1.06l7.5 7.5Z","clip-rule":"evenodd"}),Hne("path",{"fill-rule":"evenodd",d:"M11.47 19.28a.75.75 0 0 0 1.06 0l7.5-7.5a.75.75 0 1 0-1.06-1.06L12 17.69l-6.97-6.97a.75.75 0 0 0-1.06 1.06l7.5 7.5Z","clip-rule":"evenodd"})])}function Npe(eee,tee){return Une(),qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Hne("path",{"fill-rule":"evenodd",d:"M10.5 3A1.501 1.501 0 0 0 9 4.5h6A1.5 1.5 0 0 0 13.5 3h-3Zm-2.693.178A3 3 0 0 1 10.5 1.5h3a3 3 0 0 1 2.694 1.678c.497.042.992.092 1.486.15 1.497.173 2.57 1.46 2.57 2.929V19.5a3 3 0 0 1-3 3H6.75a3 3 0 0 1-3-3V6.257c0-1.47 1.073-2.756 2.57-2.93.493-.057.989-.107 1.487-.15Z","clip-rule":"evenodd"})])}function Ape(eee,tee){return Une(),qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Hne("path",{d:"M17.004 10.407c.138.435-.216.842-.672.842h-3.465a.75.75 0 0 1-.65-.375l-1.732-3c-.229-.396-.053-.907.393-1.004a5.252 5.252 0 0 1 6.126 3.537ZM8.12 8.464c.307-.338.838-.235 1.066.16l1.732 3a.75.75 0 0 1 0 .75l-1.732 3c-.229.397-.76.5-1.067.161A5.23 5.23 0 0 1 6.75 12a5.23 5.23 0 0 1 1.37-3.536ZM10.878 17.13c-.447-.098-.623-.608-.394-1.004l1.733-3.002a.75.75 0 0 1 .65-.375h3.465c.457 0 .81.407.672.842a5.252 5.252 0 0 1-6.126 3.539Z"}),Hne("path",{"fill-rule":"evenodd",d:"M21 12.75a.75.75 0 1 0 0-1.5h-.783a8.22 8.22 0 0 0-.237-1.357l.734-.267a.75.75 0 1 0-.513-1.41l-.735.268a8.24 8.24 0 0 0-.689-1.192l.6-.503a.75.75 0 1 0-.964-1.149l-.6.504a8.3 8.3 0 0 0-1.054-.885l.391-.678a.75.75 0 1 0-1.299-.75l-.39.676a8.188 8.188 0 0 0-1.295-.47l.136-.77a.75.75 0 0 0-1.477-.26l-.136.77a8.36 8.36 0 0 0-1.377 0l-.136-.77a.75.75 0 1 0-1.477.26l.136.77c-.448.121-.88.28-1.294.47l-.39-.676a.75.75 0 0 0-1.3.75l.392.678a8.29 8.29 0 0 0-1.054.885l-.6-.504a.75.75 0 1 0-.965 1.149l.6.503a8.243 8.243 0 0 0-.689 1.192L3.8 8.216a.75.75 0 1 0-.513 1.41l.735.267a8.222 8.222 0 0 0-.238 1.356h-.783a.75.75 0 0 0 0 1.5h.783c.042.464.122.917.238 1.356l-.735.268a.75.75 0 0 0 .513 1.41l.735-.268c.197.417.428.816.69 1.191l-.6.504a.75.75 0 0 0 .963 1.15l.601-.505c.326.323.679.62 1.054.885l-.392.68a.75.75 0 0 0 1.3.75l.39-.679c.414.192.847.35 1.294.471l-.136.77a.75.75 0 0 0 1.477.261l.137-.772a8.332 8.332 0 0 0 1.376 0l.136.772a.75.75 0 1 0 1.477-.26l-.136-.771a8.19 8.19 0 0 0 1.294-.47l.391.677a.75.75 0 0 0 1.3-.75l-.393-.679a8.29 8.29 0 0 0 1.054-.885l.601.504a.75.75 0 0 0 .964-1.15l-.6-.503c.261-.375.492-.774.69-1.191l.735.267a.75.75 0 1 0 .512-1.41l-.734-.267c.115-.439.195-.892.237-1.356h.784Zm-2.657-3.06a6.744 6.744 0 0 0-1.19-2.053 6.784 6.784 0 0 0-1.82-1.51A6.705 6.705 0 0 0 12 5.25a6.8 6.8 0 0 0-1.225.11 6.7 6.7 0 0 0-2.15.793 6.784 6.784 0 0 0-2.952 3.489.76.76 0 0 1-.036.098A6.74 6.74 0 0 0 5.251 12a6.74 6.74 0 0 0 3.366 5.842l.009.005a6.704 6.704 0 0 0 2.18.798l.022.003a6.792 6.792 0 0 0 2.368-.004 6.704 6.704 0 0 0 2.205-.811 6.785 6.785 0 0 0 1.762-1.484l.009-.01.009-.01a6.743 6.743 0 0 0 1.18-2.066c.253-.707.39-1.469.39-2.263a6.74 6.74 0 0 0-.408-2.309Z","clip-rule":"evenodd"})])}function Rpe(eee,tee){return Une(),qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Hne("path",{"fill-rule":"evenodd",d:"M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12ZM12 8.25a.75.75 0 0 1 .75.75v3.75a.75.75 0 0 1-1.5 0V9a.75.75 0 0 1 .75-.75Zm0 8.25a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z","clip-rule":"evenodd"})])}function Cpe(eee,tee){return Une(),qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Hne("path",{"fill-rule":"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003ZM12 8.25a.75.75 0 0 1 .75.75v3.75a.75.75 0 0 1-1.5 0V9a.75.75 0 0 1 .75-.75Zm0 8.25a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z","clip-rule":"evenodd"})])}function Dpe(eee,tee){return Une(),qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Hne("path",{d:"M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z"}),Hne("path",{"fill-rule":"evenodd",d:"M1.323 11.447C2.811 6.976 7.028 3.75 12.001 3.75c4.97 0 9.185 3.223 10.675 7.69.12.362.12.752 0 1.113-1.487 4.471-5.705 7.697-10.677 7.697-4.97 0-9.186-3.223-10.675-7.69a1.762 1.762 0 0 1 0-1.113ZM17.25 12a5.25 5.25 0 1 1-10.5 0 5.25 5.25 0 0 1 10.5 0Z","clip-rule":"evenodd"})])}function Lpe(eee,tee){return Une(),qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Hne("path",{"fill-rule":"evenodd",d:"M19.5 21a3 3 0 0 0 3-3V9a3 3 0 0 0-3-3h-5.379a.75.75 0 0 1-.53-.22L11.47 3.66A2.25 2.25 0 0 0 9.879 3H4.5a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h15Zm-6.75-10.5a.75.75 0 0 0-1.5 0v4.19l-1.72-1.72a.75.75 0 0 0-1.06 1.06l3 3a.75.75 0 0 0 1.06 0l3-3a.75.75 0 1 0-1.06-1.06l-1.72 1.72V10.5Z","clip-rule":"evenodd"})])}function Fpe(eee,tee){return Une(),qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Hne("path",{d:"M21.721 12.752a9.711 9.711 0 0 0-.945-5.003 12.754 12.754 0 0 1-4.339 2.708 18.991 18.991 0 0 1-.214 4.772 17.165 17.165 0 0 0 5.498-2.477ZM14.634 15.55a17.324 17.324 0 0 0 .332-4.647c-.952.227-1.945.347-2.966.347-1.021 0-2.014-.12-2.966-.347a17.515 17.515 0 0 0 .332 4.647 17.385 17.385 0 0 0 5.268 0ZM9.772 17.119a18.963 18.963 0 0 0 4.456 0A17.182 17.182 0 0 1 12 21.724a17.18 17.18 0 0 1-2.228-4.605ZM7.777 15.23a18.87 18.87 0 0 1-.214-4.774 12.753 12.753 0 0 1-4.34-2.708 9.711 9.711 0 0 0-.944 5.004 17.165 17.165 0 0 0 5.498 2.477ZM21.356 14.752a9.765 9.765 0 0 1-7.478 6.817 18.64 18.64 0 0 0 1.988-4.718 18.627 18.627 0 0 0 5.49-2.098ZM2.644 14.752c1.682.971 3.53 1.688 5.49 2.099a18.64 18.64 0 0 0 1.988 4.718 9.765 9.765 0 0 1-7.478-6.816ZM13.878 2.43a9.755 9.755 0 0 1 6.116 3.986 11.267 11.267 0 0 1-3.746 2.504 18.63 18.63 0 0 0-2.37-6.49ZM12 2.276a17.152 17.152 0 0 1 2.805 7.121c-.897.23-1.837.353-2.805.353-.968 0-1.908-.122-2.805-.353A17.151 17.151 0 0 1 12 2.276ZM10.122 2.43a18.629 18.629 0 0 0-2.37 6.49 11.266 11.266 0 0 1-3.746-2.504 9.754 9.754 0 0 1 6.116-3.985Z"})])}function zpe(eee,tee){return Une(),qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Hne("path",{"fill-rule":"evenodd",d:"M4.5 3.75a3 3 0 0 0-3 3v10.5a3 3 0 0 0 3 3h15a3 3 0 0 0 3-3V6.75a3 3 0 0 0-3-3h-15Zm4.125 3a2.25 2.25 0 1 0 0 4.5 2.25 2.25 0 0 0 0-4.5Zm-3.873 8.703a4.126 4.126 0 0 1 7.746 0 .75.75 0 0 1-.351.92 7.47 7.47 0 0 1-3.522.877 7.47 7.47 0 0 1-3.522-.877.75.75 0 0 1-.351-.92ZM15 8.25a.75.75 0 0 0 0 1.5h3.75a.75.75 0 0 0 0-1.5H15ZM14.25 12a.75.75 0 0 1 .75-.75h3.75a.75.75 0 0 1 0 1.5H15a.75.75 0 0 1-.75-.75Zm.75 2.25a.75.75 0 0 0 0 1.5h3.75a.75.75 0 0 0 0-1.5H15Z","clip-rule":"evenodd"})])}function Mpe(eee,tee){return Une(),qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Hne("path",{"fill-rule":"evenodd",d:"M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Zm8.706-1.442c1.146-.573 2.437.463 2.126 1.706l-.709 2.836.042-.02a.75.75 0 0 1 .67 1.34l-.04.022c-1.147.573-2.438-.463-2.127-1.706l.71-2.836-.042.02a.75.75 0 1 1-.671-1.34l.041-.022ZM12 9a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z","clip-rule":"evenodd"})])}function Ppe(eee,tee){return Une(),qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Hne("path",{"fill-rule":"evenodd",d:"M15.75 1.5a6.75 6.75 0 0 0-6.651 7.906c.067.39-.032.717-.221.906l-6.5 6.499a3 3 0 0 0-.878 2.121v2.818c0 .414.336.75.75.75H6a.75.75 0 0 0 .75-.75v-1.5h1.5A.75.75 0 0 0 9 19.5V18h1.5a.75.75 0 0 0 .53-.22l2.658-2.658c.19-.189.517-.288.906-.22A6.75 6.75 0 1 0 15.75 1.5Zm0 3a.75.75 0 0 0 0 1.5A2.25 2.25 0 0 1 18 8.25a.75.75 0 0 0 1.5 0 3.75 3.75 0 0 0-3.75-3.75Z","clip-rule":"evenodd"})])}function Upe(eee,tee){return Une(),qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Hne("path",{"fill-rule":"evenodd",d:"M19.449 8.448 16.388 11a4.52 4.52 0 0 1 0 2.002l3.061 2.55a8.275 8.275 0 0 0 0-7.103ZM15.552 19.45 13 16.388a4.52 4.52 0 0 1-2.002 0l-2.55 3.061a8.275 8.275 0 0 0 7.103 0ZM4.55 15.552 7.612 13a4.52 4.52 0 0 1 0-2.002L4.551 8.45a8.275 8.275 0 0 0 0 7.103ZM8.448 4.55 11 7.612a4.52 4.52 0 0 1 2.002 0l2.55-3.061a8.275 8.275 0 0 0-7.103 0Zm8.657-.86a9.776 9.776 0 0 1 1.79 1.415 9.776 9.776 0 0 1 1.414 1.788 9.764 9.764 0 0 1 0 10.211 9.777 9.777 0 0 1-1.415 1.79 9.777 9.777 0 0 1-1.788 1.414 9.764 9.764 0 0 1-10.212 0 9.776 9.776 0 0 1-1.788-1.415 9.776 9.776 0 0 1-1.415-1.788 9.764 9.764 0 0 1 0-10.212 9.774 9.774 0 0 1 1.415-1.788A9.774 9.774 0 0 1 6.894 3.69a9.764 9.764 0 0 1 10.211 0ZM14.121 9.88a2.985 2.985 0 0 0-1.11-.704 3.015 3.015 0 0 0-2.022 0 2.985 2.985 0 0 0-1.11.704c-.326.325-.56.705-.704 1.11a3.015 3.015 0 0 0 0 2.022c.144.405.378.785.704 1.11.325.326.705.56 1.11.704.652.233 1.37.233 2.022 0a2.985 2.985 0 0 0 1.11-.704c.326-.325.56-.705.704-1.11a3.016 3.016 0 0 0 0-2.022 2.985 2.985 0 0 0-.704-1.11Z","clip-rule":"evenodd"})])}function jpe(eee,tee){return Une(),qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Hne("path",{"fill-rule":"evenodd",d:"M19.902 4.098a3.75 3.75 0 0 0-5.304 0l-4.5 4.5a3.75 3.75 0 0 0 1.035 6.037.75.75 0 0 1-.646 1.353 5.25 5.25 0 0 1-1.449-8.45l4.5-4.5a5.25 5.25 0 1 1 7.424 7.424l-1.757 1.757a.75.75 0 1 1-1.06-1.06l1.757-1.757a3.75 3.75 0 0 0 0-5.304Zm-7.389 4.267a.75.75 0 0 1 1-.353 5.25 5.25 0 0 1 1.449 8.45l-4.5 4.5a5.25 5.25 0 1 1-7.424-7.424l1.757-1.757a.75.75 0 1 1 1.06 1.06l-1.757 1.757a3.75 3.75 0 1 0 5.304 5.304l4.5-4.5a3.75 3.75 0 0 0-1.035-6.037.75.75 0 0 1-.354-1Z","clip-rule":"evenodd"})])}function $pe(eee,tee){return Une(),qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Hne("path",{"fill-rule":"evenodd",d:"M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Zm11.378-3.917c-.89-.777-2.366-.777-3.255 0a.75.75 0 0 1-.988-1.129c1.454-1.272 3.776-1.272 5.23 0 1.513 1.324 1.513 3.518 0 4.842a3.75 3.75 0 0 1-.837.552c-.676.328-1.028.774-1.028 1.152v.75a.75.75 0 0 1-1.5 0v-.75c0-1.279 1.06-2.107 1.875-2.502.182-.088.351-.199.503-.331.83-.727.83-1.857 0-2.584ZM12 18a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z","clip-rule":"evenodd"})])}function Vpe(eee,tee){return Une(),qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Hne("path",{d:"M5.507 4.048A3 3 0 0 1 7.785 3h8.43a3 3 0 0 1 2.278 1.048l1.722 2.008A4.533 4.533 0 0 0 19.5 6h-15c-.243 0-.482.02-.715.056l1.722-2.008Z"}),Hne("path",{"fill-rule":"evenodd",d:"M1.5 10.5a3 3 0 0 1 3-3h15a3 3 0 1 1 0 6h-15a3 3 0 0 1-3-3Zm15 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm2.25.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM4.5 15a3 3 0 1 0 0 6h15a3 3 0 1 0 0-6h-15Zm11.25 3.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM19.5 18a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z","clip-rule":"evenodd"})])}function qpe(eee,tee){return Une(),qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Hne("path",{"fill-rule":"evenodd",d:"M12.516 2.17a.75.75 0 0 0-1.032 0 11.209 11.209 0 0 1-7.877 3.08.75.75 0 0 0-.722.515A12.74 12.74 0 0 0 2.25 9.75c0 5.942 4.064 10.933 9.563 12.348a.749.749 0 0 0 .374 0c5.499-1.415 9.563-6.406 9.563-12.348 0-1.39-.223-2.73-.635-3.985a.75.75 0 0 0-.722-.516l-.143.001c-2.996 0-5.717-1.17-7.734-3.08Zm3.094 8.016a.75.75 0 1 0-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 0 0-1.06 1.06l2.25 2.25a.75.75 0 0 0 1.14-.094l3.75-5.25Z","clip-rule":"evenodd"})])}function Bpe(eee,tee){return Une(),qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Hne("path",{"fill-rule":"evenodd",d:"M11.484 2.17a.75.75 0 0 1 1.032 0 11.209 11.209 0 0 0 7.877 3.08.75.75 0 0 1 .722.515 12.74 12.74 0 0 1 .635 3.985c0 5.942-4.064 10.933-9.563 12.348a.749.749 0 0 1-.374 0C6.314 20.683 2.25 15.692 2.25 9.75c0-1.39.223-2.73.635-3.985a.75.75 0 0 1 .722-.516l.143.001c2.996 0 5.718-1.17 7.734-3.08ZM12 8.25a.75.75 0 0 1 .75.75v3.75a.75.75 0 0 1-1.5 0V9a.75.75 0 0 1 .75-.75ZM12 15a.75.75 0 0 0-.75.75v.008c0 .414.336.75.75.75h.008a.75.75 0 0 0 .75-.75v-.008a.75.75 0 0 0-.75-.75H12Z","clip-rule":"evenodd"})])}function Ype(eee,tee){return Une(),qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Hne("path",{"fill-rule":"evenodd",d:"M18.685 19.097A9.723 9.723 0 0 0 21.75 12c0-5.385-4.365-9.75-9.75-9.75S2.25 6.615 2.25 12a9.723 9.723 0 0 0 3.065 7.097A9.716 9.716 0 0 0 12 21.75a9.716 9.716 0 0 0 6.685-2.653Zm-12.54-1.285A7.486 7.486 0 0 1 12 15a7.486 7.486 0 0 1 5.855 2.812A8.224 8.224 0 0 1 12 20.25a8.224 8.224 0 0 1-5.855-2.438ZM15.75 9a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0Z","clip-rule":"evenodd"})])}function Gpe(eee,tee){return Une(),qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Hne("path",{"fill-rule":"evenodd",d:"M7.5 6a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM3.751 20.105a8.25 8.25 0 0 1 16.498 0 .75.75 0 0 1-.437.695A18.683 18.683 0 0 1 12 22.5c-2.786 0-5.433-.608-7.812-1.7a.75.75 0 0 1-.437-.695Z","clip-rule":"evenodd"})])}function Qpe(eee,tee){return Une(),qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Hne("path",{"fill-rule":"evenodd",d:"M12 6.75a5.25 5.25 0 0 1 6.775-5.025.75.75 0 0 1 .313 1.248l-3.32 3.319c.063.475.276.934.641 1.299.365.365.824.578 1.3.64l3.318-3.319a.75.75 0 0 1 1.248.313 5.25 5.25 0 0 1-5.472 6.756c-1.018-.086-1.87.1-2.309.634L7.344 21.3A3.298 3.298 0 1 1 2.7 16.657l8.684-7.151c.533-.44.72-1.291.634-2.309A5.342 5.342 0 0 1 12 6.75ZM4.117 19.125a.75.75 0 0 1 .75-.75h.008a.75.75 0 0 1 .75.75v.008a.75.75 0 0 1-.75.75h-.008a.75.75 0 0 1-.75-.75v-.008Z","clip-rule":"evenodd"}),Hne("path",{d:"m10.076 8.64-2.201-2.2V4.874a.75.75 0 0 0-.364-.643l-3.75-2.25a.75.75 0 0 0-.916.113l-.75.75a.75.75 0 0 0-.113.916l2.25 3.75a.75.75 0 0 0 .643.364h1.564l2.062 2.062 1.575-1.297Z"}),Hne("path",{"fill-rule":"evenodd",d:"m12.556 17.329 4.183 4.182a3.375 3.375 0 0 0 4.773-4.773l-3.306-3.305a6.803 6.803 0 0 1-1.53.043c-.394-.034-.682-.006-.867.042a.589.589 0 0 0-.167.063l-3.086 3.748Zm3.414-1.36a.75.75 0 0 1 1.06 0l1.875 1.876a.75.75 0 1 1-1.06 1.06L15.97 17.03a.75.75 0 0 1 0-1.06Z","clip-rule":"evenodd"})])}function Wpe(eee,tee){return Une(),qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Hne("path",{"fill-rule":"evenodd",d:"M12 2.25c-5.385 0-9.75 4.365-9.75 9.75s4.365 9.75 9.75 9.75 9.75-4.365 9.75-9.75S17.385 2.25 12 2.25Zm-1.72 6.97a.75.75 0 1 0-1.06 1.06L10.94 12l-1.72 1.72a.75.75 0 1 0 1.06 1.06L12 13.06l1.72 1.72a.75.75 0 1 0 1.06-1.06L13.06 12l1.72-1.72a.75.75 0 1 0-1.06-1.06L12 10.94l-1.72-1.72Z","clip-rule":"evenodd"})])}function Kpe(eee,tee){return Une(),qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Hne("path",{"fill-rule":"evenodd",d:"M5.47 5.47a.75.75 0 0 1 1.06 0L12 10.94l5.47-5.47a.75.75 0 1 1 1.06 1.06L13.06 12l5.47 5.47a.75.75 0 1 1-1.06 1.06L12 13.06l-5.47 5.47a.75.75 0 0 1-1.06-1.06L10.94 12 5.47 6.53a.75.75 0 0 1 0-1.06Z","clip-rule":"evenodd"})])}function Hpe(eee,tee,ree){var oee,nee=ree||{},aee=nee.noTrailing,iee=void 0!==aee&&aee,see=nee.noLeading,lee=void 0!==see&&see,cee=nee.debounceMode,pee=void 0===cee?void 0:cee,dee=!1,uee=0;function hee(){oee&&clearTimeout(oee)}function gee(){for(var ree=arguments.length,nee=new Array(ree),aee=0;aeeeee?lee?(uee=Date.now(),iee||(oee=setTimeout(pee?wee:gee,eee))):gee():!0!==iee&&(oee=setTimeout(pee?wee:gee,void 0===pee?eee-cee:eee)))}return gee.cancel=function(eee){var tee=(eee||{}).upcomingOnly,ree=void 0!==tee&&tee;hee(),dee=!ree},gee}var Xpe=function(d,b){return Xpe=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)Object.prototype.hasOwnProperty.call(b,p)&&(d[p]=b[p])},Xpe(d,b)};function Zpe(d,b){if("function"!=typeof b&&null!==b)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");function __(){this.constructor=d}Xpe(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}var Jpe=function(){return Jpe=Object.assign||function(t){for(var s,i=1,n=arguments.length;i=0;i--)(d=eee[i])&&(r=(c<3?d(r):c>3?d(tee,ree,r):d(tee,ree))||r);return c>3&&r&&Object.defineProperty(tee,ree,r),r}function rde(eee,tee){return function(ree,oee){tee(ree,oee,eee)}}function ode(eee,tee){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(eee,tee)}function nde(eee,tee,P,ree){return new(P||(P=Promise))((function(oee,nee){function aee(eee){try{see(ree.next(eee))}catch(e){nee(e)}}function iee(eee){try{see(ree.throw(eee))}catch(e){nee(e)}}function see(eee){var tee;eee.done?oee(eee.value):(tee=eee.value,tee instanceof P?tee:new P((function(eee){eee(tee)}))).then(aee,iee)}see((ree=ree.apply(eee,tee||[])).next())}))}function ade(eee,tee){var f,y,t,g,_={label:0,sent:function(){if(1&t[0])throw t[1];return t[1]},trys:[],ops:[]};return g={next:ree(0),throw:ree(1),return:ree(2)},"function"==typeof Symbol&&(g[Symbol.iterator]=function(){return this}),g;function ree(n){return function(v){return function(op){if(f)throw new TypeError("Generator is already executing.");for(;g&&(g=0,op[0]&&(_=0)),_;)try{if(f=1,y&&(t=2&op[0]?y.return:op[0]?y.throw||((t=y.return)&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;switch(y=0,t&&(op=[2&op[0],t.value]),op[0]){case 0:case 1:t=op;break;case 4:return _.label++,{value:op[1],done:!1};case 5:_.label++,y=op[1],op=[0];continue;case 7:op=_.ops.pop(),_.trys.pop();continue;default:if(!(t=_.trys,(t=t.length>0&&t[t.length-1])||6!==op[0]&&2!==op[0])){_=0;continue}if(3===op[0]&&(!t||op[1]>t[0]&&op[1]=o.length&&(o=void 0),{value:o&&o[i++],done:!o}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")}function cde(o,n){var m="function"==typeof Symbol&&o[Symbol.iterator];if(!m)return o;var r,e,i=m.call(o),ar=[];try{for(;(void 0===n||n-- >0)&&!(r=i.next()).done;)ar.push(r.value)}catch(eee){e={error:eee}}finally{try{r&&!r.done&&(m=i.return)&&m.call(i)}finally{if(e)throw e.error}}return ar}function pde(){for(var ar=[],i=0;i1||nee(n,v)}))})}function nee(n,v){try{!function(r){r.value instanceof hde?Promise.resolve(r.value.v).then(aee,iee):see(q[0][2],r)}(g[n](v))}catch(e){see(q[0][3],e)}}function aee(eee){nee("next",eee)}function iee(eee){nee("throw",eee)}function see(f,v){f(v),q.shift(),q.length&&nee(q[0][0],q[0][1])}}function wde(o){var i,p;return i={},eee("next"),eee("throw",(function(e){throw e})),eee("return"),i[Symbol.iterator]=function(){return this},i;function eee(n,f){i[n]=o[n]?function(v){return(p=!p)?{value:hde(o[n](v)),done:!1}:f?f(v):v}:f}}function fde(o){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,m=o[Symbol.asyncIterator];return m?m.call(o):(o=lde(o),i={},eee("next"),eee("throw"),eee("return"),i[Symbol.asyncIterator]=function(){return this},i);function eee(n){i[n]=o[n]&&function(v){return new Promise((function(eee,tee){(function(eee,tee,d,v){Promise.resolve(v).then((function(v){eee({value:v,done:d})}),tee)})(eee,tee,(v=o[n](v)).done,v.value)}))}}}function bde(eee,tee){return Object.defineProperty?Object.defineProperty(eee,"raw",{value:tee}):eee.raw=tee,eee}var mde=Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v};function vde(eee){if(eee&&eee.__esModule)return eee;var tee={};if(null!=eee)for(var k in eee)"default"!==k&&Object.prototype.hasOwnProperty.call(eee,k)&&ide(tee,eee,k);return mde(tee,eee),tee}function yde(eee){return eee&&eee.__esModule?eee:{default:eee}}function xde(eee,tee,ree,f){if("a"===ree&&!f)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof tee?eee!==tee||!f:!tee.has(eee))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===ree?f:"a"===ree?f.call(eee):f?f.value:tee.get(eee)}function kde(eee,tee,ree,oee,f){if("m"===oee)throw new TypeError("Private method is not writable");if("a"===oee&&!f)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof tee?eee!==tee||!f:!tee.has(eee))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===oee?f.call(eee,ree):f?f.value=ree:tee.set(eee,ree),ree}function _de(eee,tee){if(null===tee||"object"!=typeof tee&&"function"!=typeof tee)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof eee?tee===eee:eee.has(tee)}function Ede(eee,tee,ree){if(null!=tee){if("object"!=typeof tee&&"function"!=typeof tee)throw new TypeError("Object expected.");var oee;if(ree){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");oee=tee[Symbol.asyncDispose]}if(void 0===oee){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");oee=tee[Symbol.dispose]}if("function"!=typeof oee)throw new TypeError("Object not disposable.");eee.stack.push({value:tee,dispose:oee,async:ree})}else ree&&eee.stack.push({async:!0});return tee}var Tde="function"==typeof SuppressedError?SuppressedError:function(eee,tee,ree){var e=new Error(ree);return e.name="SuppressedError",e.error=eee,e.suppressed=tee,e};function Sde(eee){function tee(e){eee.error=eee.hasError?new Tde(e,eee.error,"An error was suppressed during disposal."):e,eee.hasError=!0}return function ree(){for(;eee.stack.length;){var oee=eee.stack.pop();try{var nee=oee.dispose&&oee.dispose.call(oee.value);if(oee.async)return Promise.resolve(nee).then(ree,(function(e){return tee(e),ree()}))}catch(e){tee(e)}}if(eee.hasError)throw eee.error}()}const Ide={__extends:Zpe,__assign:Jpe,__rest:ede,__decorate:tde,__param:rde,__metadata:ode,__awaiter:nde,__generator:ade,__createBinding:ide,__exportStar:sde,__values:lde,__read:cde,__spread:pde,__spreadArrays:dde,__spreadArray:ude,__await:hde,__asyncGenerator:gde,__asyncDelegator:wde,__asyncValues:fde,__makeTemplateObject:bde,__importStar:vde,__importDefault:yde,__classPrivateFieldGet:xde,__classPrivateFieldSet:kde,__classPrivateFieldIn:_de,__addDisposableResource:Ede,__disposeResources:Sde},Ode=Object.freeze(Object.defineProperty({__proto__:null,__addDisposableResource:Ede,get __assign(){return Jpe},__asyncDelegator:wde,__asyncGenerator:gde,__asyncValues:fde,__await:hde,__awaiter:nde,__classPrivateFieldGet:xde,__classPrivateFieldIn:_de,__classPrivateFieldSet:kde,__createBinding:ide,__decorate:tde,__disposeResources:Sde,__esDecorate:function(eee,tee,ree,oee,nee,aee){function iee(f){if(void 0!==f&&"function"!=typeof f)throw new TypeError("Function expected");return f}for(var _,see=oee.kind,lee="getter"===see?"get":"setter"===see?"set":"value",cee=!tee&&eee?oee.static?eee:eee.prototype:null,pee=tee||(cee?Object.getOwnPropertyDescriptor(cee,oee.name):{}),dee=!1,i=ree.length-1;i>=0;i--){var uee={};for(var p in oee)uee[p]="access"===p?{}:oee[p];for(var p in oee.access)uee.access[p]=oee.access[p];uee.addInitializer=function(f){if(dee)throw new TypeError("Cannot add initializers after decoration has completed");aee.push(iee(f||null))};var hee=(0,ree[i])("accessor"===see?{get:pee.get,set:pee.set}:pee[lee],uee);if("accessor"===see){if(void 0===hee)continue;if(null===hee||"object"!=typeof hee)throw new TypeError("Object expected");(_=iee(hee.get))&&(pee.get=_),(_=iee(hee.set))&&(pee.set=_),(_=iee(hee.init))&&nee.unshift(_)}else(_=iee(hee))&&("field"===see?nee.unshift(_):pee[lee]=_)}cee&&Object.defineProperty(cee,oee.name,pee),dee=!0},__exportStar:sde,__extends:Zpe,__generator:ade,__importDefault:yde,__importStar:vde,__makeTemplateObject:bde,__metadata:ode,__param:rde,__propKey:function(x){return"symbol"==typeof x?x:"".concat(x)},__read:cde,__rest:ede,__runInitializers:function(eee,tee,ree){for(var oee=arguments.length>2,i=0;i=Lde)return(console[eee]||console.log).apply(console,arguments)}}!function(eee){eee.debug=Fde("debug"),eee.log=Fde("log"),eee.warn=Fde("warn"),eee.error=Fde("error")}(Cde||(Cde={}));const zde=Cde,Mde=Object.freeze(Object.defineProperty({__proto__:null,InvariantError:Rde,default:zde,get invariant(){return Cde},setVerbosity:function(eee){var tee=Dde[Lde];return Lde=Math.max(0,Dde.indexOf(eee)),tee}},Symbol.toStringTag,{value:"Module"}));var Pde="3.10.4";function Ude(eee){try{return eee()}catch(_a){}}const jde=Ude((function(){return globalThis}))||Ude((function(){return window}))||Ude((function(){return self}))||Ude((function(){return global}))||Ude((function(){return Ude.constructor("return this")()}));var $de=new Map;function Vde(eee){var tee=$de.get(eee)||1;return $de.set(eee,tee+1),"".concat(eee,":").concat(tee,":").concat(Math.random().toString(36).slice(2))}function qde(eee,tee){void 0===tee&&(tee=0);var ree=Vde("stringifyForDisplay");return JSON.stringify(eee,(function(eee,tee){return void 0===tee?ree:tee}),tee).split(JSON.stringify(ree)).join("")}function Bde(fn){return function(eee){for(var tee=[],_i=1;_i=tee)break;ree=nee.index+nee[0].length,oee+=1}return{line:oee,column:tee+1-ree}}function iue(eee){return sue(eee.source,aue(eee.source,eee.start))}function sue(eee,tee){const ree=eee.locationOffset.column-1,oee="".padStart(ree)+eee.body,nee=tee.line-1,aee=eee.locationOffset.line-1,iee=tee.line+aee,see=1===tee.line?ree:0,lee=tee.column+see,cee=`${eee.name}:${iee}:${lee}\n`,pee=oee.split(/\r\n|[\n\r]/g),dee=pee[nee];if(dee.length>120){const eee=Math.floor(lee/80),tee=lee%80,ree=[];for(let i=0;i["|",eee])),["|","^".padStart(tee)],["|",ree[eee+1]]])}return cee+lue([[iee-1+" |",pee[nee-1]],[`${iee} |`,dee],["|","^".padStart(lee)],[`${iee+1} |`,pee[nee+1]]])}function lue(eee){const tee=eee.filter((([_,eee])=>void 0!==eee)),ree=Math.max(...tee.map((([eee])=>eee.length)));return tee.map((([eee,tee])=>eee.padStart(ree)+(tee?" "+tee:""))).join("\n")}class cue extends Error{constructor(eee,...tee){var ree,oee,nee;const{nodes:aee,source:iee,positions:see,path:lee,originalError:cee,extensions:pee}=function(eee){const tee=eee[0];return null==tee||"kind"in tee||"length"in tee?{nodes:tee,source:eee[1],positions:eee[2],path:eee[3],originalError:eee[4],extensions:eee[5]}:tee}(tee);super(eee),this.name="GraphQLError",this.path=null!=lee?lee:void 0,this.originalError=null!=cee?cee:void 0,this.nodes=pue(Array.isArray(aee)?aee:aee?[aee]:void 0);const dee=pue(null===(ree=this.nodes)||void 0===ree?void 0:ree.map((eee=>eee.loc)).filter((eee=>null!=eee)));this.source=null!=iee?iee:null==dee||null===(oee=dee[0])||void 0===oee?void 0:oee.source,this.positions=null!=see?see:null==dee?void 0:dee.map((eee=>eee.start)),this.locations=see&&iee?see.map((eee=>aue(iee,eee))):null==dee?void 0:dee.map((eee=>aue(eee.source,eee.start)));const uee=rue(null==cee?void 0:cee.extensions)?null==cee?void 0:cee.extensions:void 0;this.extensions=null!==(nee=null!=pee?pee:uee)&&void 0!==nee?nee:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),null!=cee&&cee.stack?Object.defineProperty(this,"stack",{value:cee.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,cue):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let eee=this.message;if(this.nodes)for(const tee of this.nodes)tee.loc&&(eee+="\n\n"+iue(tee.loc));else if(this.source&&this.locations)for(const tee of this.locations)eee+="\n\n"+sue(this.source,tee);return eee}toJSON(){const eee={message:this.message};return null!=this.locations&&(eee.locations=this.locations),null!=this.path&&(eee.path=this.path),null!=this.extensions&&Object.keys(this.extensions).length>0&&(eee.extensions=this.extensions),eee}}function pue(eee){return void 0===eee||0===eee.length?void 0:eee}function due(eee,tee,ree){return new cue(`Syntax Error: ${ree}`,{source:eee,positions:[tee]})}class uue{constructor(eee,tee,ree){this.start=eee.start,this.end=tee.end,this.startToken=eee,this.endToken=tee,this.source=ree}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}}class hue{constructor(eee,tee,ree,oee,nee,aee){this.kind=eee,this.start=tee,this.end=ree,this.line=oee,this.column=nee,this.value=aee,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}}const gue={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]},wue=new Set(Object.keys(gue));function fue(eee){const tee=null==eee?void 0:eee.kind;return"string"==typeof tee&&wue.has(tee)}var bue,mue,vue,yue;function xue(eee){return 9===eee||32===eee}function kue(eee){return eee>=48&&eee<=57}function _ue(eee){return eee>=97&&eee<=122||eee>=65&&eee<=90}function Eue(eee){return _ue(eee)||95===eee}function Tue(eee){return _ue(eee)||kue(eee)||95===eee}function Sue(eee){var tee;let ree=Number.MAX_SAFE_INTEGER,oee=null,nee=-1;for(let i=0;i0===i?eee:eee.slice(ree))).slice(null!==(tee=oee)&&void 0!==tee?tee:0,nee+1)}function Iue(eee){let i=0;for(;i1&&oee.slice(1).every((eee=>0===eee.length||xue(eee.charCodeAt(0)))),iee=ree.endsWith('\\"""'),see=eee.endsWith('"')&&!iee,lee=eee.endsWith("\\"),cee=see||lee,pee=!(null!=tee&&tee.minimize)&&(!nee||eee.length>70||cee||aee||iee);let dee="";const uee=nee&&xue(eee.charCodeAt(0));return(pee&&!uee||aee)&&(dee+="\n"),dee+=ree,(pee||cee)&&(dee+="\n"),'"""'+dee+'"""'}!function(eee){eee.QUERY="query",eee.MUTATION="mutation",eee.SUBSCRIPTION="subscription"}(bue||(bue={})),function(eee){eee.QUERY="QUERY",eee.MUTATION="MUTATION",eee.SUBSCRIPTION="SUBSCRIPTION",eee.FIELD="FIELD",eee.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",eee.FRAGMENT_SPREAD="FRAGMENT_SPREAD",eee.INLINE_FRAGMENT="INLINE_FRAGMENT",eee.VARIABLE_DEFINITION="VARIABLE_DEFINITION",eee.SCHEMA="SCHEMA",eee.SCALAR="SCALAR",eee.OBJECT="OBJECT",eee.FIELD_DEFINITION="FIELD_DEFINITION",eee.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",eee.INTERFACE="INTERFACE",eee.UNION="UNION",eee.ENUM="ENUM",eee.ENUM_VALUE="ENUM_VALUE",eee.INPUT_OBJECT="INPUT_OBJECT",eee.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"}(mue||(mue={})),function(eee){eee.NAME="Name",eee.DOCUMENT="Document",eee.OPERATION_DEFINITION="OperationDefinition",eee.VARIABLE_DEFINITION="VariableDefinition",eee.SELECTION_SET="SelectionSet",eee.FIELD="Field",eee.ARGUMENT="Argument",eee.FRAGMENT_SPREAD="FragmentSpread",eee.INLINE_FRAGMENT="InlineFragment",eee.FRAGMENT_DEFINITION="FragmentDefinition",eee.VARIABLE="Variable",eee.INT="IntValue",eee.FLOAT="FloatValue",eee.STRING="StringValue",eee.BOOLEAN="BooleanValue",eee.NULL="NullValue",eee.ENUM="EnumValue",eee.LIST="ListValue",eee.OBJECT="ObjectValue",eee.OBJECT_FIELD="ObjectField",eee.DIRECTIVE="Directive",eee.NAMED_TYPE="NamedType",eee.LIST_TYPE="ListType",eee.NON_NULL_TYPE="NonNullType",eee.SCHEMA_DEFINITION="SchemaDefinition",eee.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",eee.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",eee.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",eee.FIELD_DEFINITION="FieldDefinition",eee.INPUT_VALUE_DEFINITION="InputValueDefinition",eee.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",eee.UNION_TYPE_DEFINITION="UnionTypeDefinition",eee.ENUM_TYPE_DEFINITION="EnumTypeDefinition",eee.ENUM_VALUE_DEFINITION="EnumValueDefinition",eee.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",eee.DIRECTIVE_DEFINITION="DirectiveDefinition",eee.SCHEMA_EXTENSION="SchemaExtension",eee.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",eee.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",eee.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",eee.UNION_TYPE_EXTENSION="UnionTypeExtension",eee.ENUM_TYPE_EXTENSION="EnumTypeExtension",eee.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension"}(vue||(vue={})),function(eee){eee.SOF="",eee.EOF="",eee.BANG="!",eee.DOLLAR="$",eee.AMP="&",eee.PAREN_L="(",eee.PAREN_R=")",eee.SPREAD="...",eee.COLON=":",eee.EQUALS="=",eee.AT="@",eee.BRACKET_L="[",eee.BRACKET_R="]",eee.BRACE_L="{",eee.PIPE="|",eee.BRACE_R="}",eee.NAME="Name",eee.INT="Int",eee.FLOAT="Float",eee.STRING="String",eee.BLOCK_STRING="BlockString",eee.COMMENT="Comment"}(yue||(yue={}));class Aue{constructor(eee){const tee=new hue(yue.SOF,0,0,0,0);this.source=eee,this.lastToken=tee,this.token=tee,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){this.lastToken=this.token;return this.token=this.lookahead()}lookahead(){let eee=this.token;if(eee.kind!==yue.EOF)do{if(eee.next)eee=eee.next;else{const tee=Pue(this,eee.end);eee.next=tee,tee.prev=eee,eee=tee}}while(eee.kind===yue.COMMENT);return eee}}function Rue(eee){return eee===yue.BANG||eee===yue.DOLLAR||eee===yue.AMP||eee===yue.PAREN_L||eee===yue.PAREN_R||eee===yue.SPREAD||eee===yue.COLON||eee===yue.EQUALS||eee===yue.AT||eee===yue.BRACKET_L||eee===yue.BRACKET_R||eee===yue.BRACE_L||eee===yue.PIPE||eee===yue.BRACE_R}function Cue(eee){return eee>=0&&eee<=55295||eee>=57344&&eee<=1114111}function Due(eee,tee){return Lue(eee.charCodeAt(tee))&&Fue(eee.charCodeAt(tee+1))}function Lue(eee){return eee>=55296&&eee<=56319}function Fue(eee){return eee>=56320&&eee<=57343}function zue(eee,tee){const ree=eee.source.body.codePointAt(tee);if(void 0===ree)return yue.EOF;if(ree>=32&&ree<=126){const eee=String.fromCodePoint(ree);return'"'===eee?"'\"'":`"${eee}"`}return"U+"+ree.toString(16).toUpperCase().padStart(4,"0")}function Mue(eee,tee,ree,oee,nee){const aee=eee.line,iee=1+ree-eee.lineStart;return new hue(tee,ree,oee,aee,iee,nee)}function Pue(eee,tee){const ree=eee.source.body,oee=ree.length;let nee=tee;for(;nee=48&&eee<=57?eee-48:eee>=65&&eee<=70?eee-55:eee>=97&&eee<=102?eee-87:-1}function Que(eee,tee){const ree=eee.source.body;switch(ree.charCodeAt(tee+1)){case 34:return{value:'"',size:2};case 92:return{value:"\\",size:2};case 47:return{value:"/",size:2};case 98:return{value:"\b",size:2};case 102:return{value:"\f",size:2};case 110:return{value:"\n",size:2};case 114:return{value:"\r",size:2};case 116:return{value:"\t",size:2}}throw due(eee.source,tee,`Invalid character escape sequence: "${ree.slice(tee,tee+2)}".`)}function Wue(eee,tee){const ree=eee.source.body,oee=ree.length;let nee=eee.lineStart,aee=tee+3,iee=aee,see="";const lee=[];for(;aeeXue)return"[Array]";const ree=Math.min(Hue,eee.length),oee=eee.length-ree,nee=[];for(let i=0;i1&&nee.push(`... ${oee} more items`);return"["+nee.join(", ")+"]"}(eee,ree);return function(eee,tee){const ree=Object.entries(eee);if(0===ree.length)return"{}";if(tee.length>Xue)return"["+function(eee){const tee=Object.prototype.toString.call(eee).replace(/^\[object /,"").replace(/]$/,"");if("Object"===tee&&"function"==typeof eee.constructor){const tee=eee.constructor.name;if("string"==typeof tee&&""!==tee)return tee}return tee}(eee)+"]";const oee=ree.map((([eee,ree])=>eee+": "+Jue(ree,tee)));return"{ "+oee.join(", ")+" }"}(eee,ree)}(eee,tee);default:return String(eee)}}const ehe=globalThis.process?function(eee,tee){return eee instanceof tee}:function(eee,tee){if(eee instanceof tee)return!0;if("object"==typeof eee&&null!==eee){var ree;const oee=tee.prototype[Symbol.toStringTag];if(oee===(Symbol.toStringTag in eee?eee[Symbol.toStringTag]:null===(ree=eee.constructor)||void 0===ree?void 0:ree.name)){const tee=Zue(eee);throw new Error(`Cannot use ${oee} "${tee}" from another module or realm.\n\nEnsure that there is only one instance of "graphql" in the node_modules\ndirectory. If different versions of "graphql" are the dependencies of other\nrelied on modules, use "resolutions" to ensure only one version is installed.\n\nhttps://yarnpkg.com/en/docs/selective-version-resolutions\n\nDuplicate "graphql" modules cannot be used at the same time since different\nversions may have different capabilities and behavior. The data from one\nversion used in the function from another could produce confusing and\nspurious results.`)}}return!1};class the{constructor(eee,tee="GraphQL request",ree={line:1,column:1}){"string"==typeof eee||eue(!1,`Body must be a string. Received: ${Zue(eee)}.`),this.body=eee,this.name=tee,this.locationOffset=ree,this.locationOffset.line>0||eue(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||eue(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}}function rhe(eee){return ehe(eee,the)}function ohe(eee,tee){return new ahe(eee,tee).parseDocument()}function nhe(eee,tee){const ree=new ahe(eee,tee);ree.expectToken(yue.SOF);const oee=ree.parseValueLiteral(!1);return ree.expectToken(yue.EOF),oee}class ahe{constructor(eee,tee={}){const ree=rhe(eee)?eee:new the(eee);this._lexer=new Aue(ree),this._options=tee,this._tokenCounter=0}parseName(){const eee=this.expectToken(yue.NAME);return this.node(eee,{kind:vue.NAME,value:eee.value})}parseDocument(){return this.node(this._lexer.token,{kind:vue.DOCUMENT,definitions:this.many(yue.SOF,this.parseDefinition,yue.EOF)})}parseDefinition(){if(this.peek(yue.BRACE_L))return this.parseOperationDefinition();const eee=this.peekDescription(),tee=eee?this._lexer.lookahead():this._lexer.token;if(tee.kind===yue.NAME){switch(tee.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(eee)throw due(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(tee.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(tee)}parseOperationDefinition(){const eee=this._lexer.token;if(this.peek(yue.BRACE_L))return this.node(eee,{kind:vue.OPERATION_DEFINITION,operation:bue.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});const tee=this.parseOperationType();let ree;return this.peek(yue.NAME)&&(ree=this.parseName()),this.node(eee,{kind:vue.OPERATION_DEFINITION,operation:tee,name:ree,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){const eee=this.expectToken(yue.NAME);switch(eee.value){case"query":return bue.QUERY;case"mutation":return bue.MUTATION;case"subscription":return bue.SUBSCRIPTION}throw this.unexpected(eee)}parseVariableDefinitions(){return this.optionalMany(yue.PAREN_L,this.parseVariableDefinition,yue.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:vue.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(yue.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(yue.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){const eee=this._lexer.token;return this.expectToken(yue.DOLLAR),this.node(eee,{kind:vue.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:vue.SELECTION_SET,selections:this.many(yue.BRACE_L,this.parseSelection,yue.BRACE_R)})}parseSelection(){return this.peek(yue.SPREAD)?this.parseFragment():this.parseField()}parseField(){const eee=this._lexer.token,tee=this.parseName();let ree,oee;return this.expectOptionalToken(yue.COLON)?(ree=tee,oee=this.parseName()):oee=tee,this.node(eee,{kind:vue.FIELD,alias:ree,name:oee,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(yue.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(eee){const tee=eee?this.parseConstArgument:this.parseArgument;return this.optionalMany(yue.PAREN_L,tee,yue.PAREN_R)}parseArgument(eee=!1){const tee=this._lexer.token,ree=this.parseName();return this.expectToken(yue.COLON),this.node(tee,{kind:vue.ARGUMENT,name:ree,value:this.parseValueLiteral(eee)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){const eee=this._lexer.token;this.expectToken(yue.SPREAD);const tee=this.expectOptionalKeyword("on");return!tee&&this.peek(yue.NAME)?this.node(eee,{kind:vue.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(eee,{kind:vue.INLINE_FRAGMENT,typeCondition:tee?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){const eee=this._lexer.token;return this.expectKeyword("fragment"),!0===this._options.allowLegacyFragmentVariables?this.node(eee,{kind:vue.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(eee,{kind:vue.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if("on"===this._lexer.token.value)throw this.unexpected();return this.parseName()}parseValueLiteral(eee){const tee=this._lexer.token;switch(tee.kind){case yue.BRACKET_L:return this.parseList(eee);case yue.BRACE_L:return this.parseObject(eee);case yue.INT:return this.advanceLexer(),this.node(tee,{kind:vue.INT,value:tee.value});case yue.FLOAT:return this.advanceLexer(),this.node(tee,{kind:vue.FLOAT,value:tee.value});case yue.STRING:case yue.BLOCK_STRING:return this.parseStringLiteral();case yue.NAME:switch(this.advanceLexer(),tee.value){case"true":return this.node(tee,{kind:vue.BOOLEAN,value:!0});case"false":return this.node(tee,{kind:vue.BOOLEAN,value:!1});case"null":return this.node(tee,{kind:vue.NULL});default:return this.node(tee,{kind:vue.ENUM,value:tee.value})}case yue.DOLLAR:if(eee){if(this.expectToken(yue.DOLLAR),this._lexer.token.kind===yue.NAME){const eee=this._lexer.token.value;throw due(this._lexer.source,tee.start,`Unexpected variable "$${eee}" in constant value.`)}throw this.unexpected(tee)}return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){const eee=this._lexer.token;return this.advanceLexer(),this.node(eee,{kind:vue.STRING,value:eee.value,block:eee.kind===yue.BLOCK_STRING})}parseList(eee){return this.node(this._lexer.token,{kind:vue.LIST,values:this.any(yue.BRACKET_L,(()=>this.parseValueLiteral(eee)),yue.BRACKET_R)})}parseObject(eee){return this.node(this._lexer.token,{kind:vue.OBJECT,fields:this.any(yue.BRACE_L,(()=>this.parseObjectField(eee)),yue.BRACE_R)})}parseObjectField(eee){const tee=this._lexer.token,ree=this.parseName();return this.expectToken(yue.COLON),this.node(tee,{kind:vue.OBJECT_FIELD,name:ree,value:this.parseValueLiteral(eee)})}parseDirectives(eee){const tee=[];for(;this.peek(yue.AT);)tee.push(this.parseDirective(eee));return tee}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(eee){const tee=this._lexer.token;return this.expectToken(yue.AT),this.node(tee,{kind:vue.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(eee)})}parseTypeReference(){const eee=this._lexer.token;let tee;if(this.expectOptionalToken(yue.BRACKET_L)){const ree=this.parseTypeReference();this.expectToken(yue.BRACKET_R),tee=this.node(eee,{kind:vue.LIST_TYPE,type:ree})}else tee=this.parseNamedType();return this.expectOptionalToken(yue.BANG)?this.node(eee,{kind:vue.NON_NULL_TYPE,type:tee}):tee}parseNamedType(){return this.node(this._lexer.token,{kind:vue.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(yue.STRING)||this.peek(yue.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){const eee=this._lexer.token,tee=this.parseDescription();this.expectKeyword("schema");const ree=this.parseConstDirectives(),oee=this.many(yue.BRACE_L,this.parseOperationTypeDefinition,yue.BRACE_R);return this.node(eee,{kind:vue.SCHEMA_DEFINITION,description:tee,directives:ree,operationTypes:oee})}parseOperationTypeDefinition(){const eee=this._lexer.token,tee=this.parseOperationType();this.expectToken(yue.COLON);const ree=this.parseNamedType();return this.node(eee,{kind:vue.OPERATION_TYPE_DEFINITION,operation:tee,type:ree})}parseScalarTypeDefinition(){const eee=this._lexer.token,tee=this.parseDescription();this.expectKeyword("scalar");const ree=this.parseName(),oee=this.parseConstDirectives();return this.node(eee,{kind:vue.SCALAR_TYPE_DEFINITION,description:tee,name:ree,directives:oee})}parseObjectTypeDefinition(){const eee=this._lexer.token,tee=this.parseDescription();this.expectKeyword("type");const ree=this.parseName(),oee=this.parseImplementsInterfaces(),nee=this.parseConstDirectives(),aee=this.parseFieldsDefinition();return this.node(eee,{kind:vue.OBJECT_TYPE_DEFINITION,description:tee,name:ree,interfaces:oee,directives:nee,fields:aee})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(yue.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(yue.BRACE_L,this.parseFieldDefinition,yue.BRACE_R)}parseFieldDefinition(){const eee=this._lexer.token,tee=this.parseDescription(),ree=this.parseName(),oee=this.parseArgumentDefs();this.expectToken(yue.COLON);const nee=this.parseTypeReference(),aee=this.parseConstDirectives();return this.node(eee,{kind:vue.FIELD_DEFINITION,description:tee,name:ree,arguments:oee,type:nee,directives:aee})}parseArgumentDefs(){return this.optionalMany(yue.PAREN_L,this.parseInputValueDef,yue.PAREN_R)}parseInputValueDef(){const eee=this._lexer.token,tee=this.parseDescription(),ree=this.parseName();this.expectToken(yue.COLON);const oee=this.parseTypeReference();let nee;this.expectOptionalToken(yue.EQUALS)&&(nee=this.parseConstValueLiteral());const aee=this.parseConstDirectives();return this.node(eee,{kind:vue.INPUT_VALUE_DEFINITION,description:tee,name:ree,type:oee,defaultValue:nee,directives:aee})}parseInterfaceTypeDefinition(){const eee=this._lexer.token,tee=this.parseDescription();this.expectKeyword("interface");const ree=this.parseName(),oee=this.parseImplementsInterfaces(),nee=this.parseConstDirectives(),aee=this.parseFieldsDefinition();return this.node(eee,{kind:vue.INTERFACE_TYPE_DEFINITION,description:tee,name:ree,interfaces:oee,directives:nee,fields:aee})}parseUnionTypeDefinition(){const eee=this._lexer.token,tee=this.parseDescription();this.expectKeyword("union");const ree=this.parseName(),oee=this.parseConstDirectives(),nee=this.parseUnionMemberTypes();return this.node(eee,{kind:vue.UNION_TYPE_DEFINITION,description:tee,name:ree,directives:oee,types:nee})}parseUnionMemberTypes(){return this.expectOptionalToken(yue.EQUALS)?this.delimitedMany(yue.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){const eee=this._lexer.token,tee=this.parseDescription();this.expectKeyword("enum");const ree=this.parseName(),oee=this.parseConstDirectives(),nee=this.parseEnumValuesDefinition();return this.node(eee,{kind:vue.ENUM_TYPE_DEFINITION,description:tee,name:ree,directives:oee,values:nee})}parseEnumValuesDefinition(){return this.optionalMany(yue.BRACE_L,this.parseEnumValueDefinition,yue.BRACE_R)}parseEnumValueDefinition(){const eee=this._lexer.token,tee=this.parseDescription(),ree=this.parseEnumValueName(),oee=this.parseConstDirectives();return this.node(eee,{kind:vue.ENUM_VALUE_DEFINITION,description:tee,name:ree,directives:oee})}parseEnumValueName(){if("true"===this._lexer.token.value||"false"===this._lexer.token.value||"null"===this._lexer.token.value)throw due(this._lexer.source,this._lexer.token.start,`${ihe(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){const eee=this._lexer.token,tee=this.parseDescription();this.expectKeyword("input");const ree=this.parseName(),oee=this.parseConstDirectives(),nee=this.parseInputFieldsDefinition();return this.node(eee,{kind:vue.INPUT_OBJECT_TYPE_DEFINITION,description:tee,name:ree,directives:oee,fields:nee})}parseInputFieldsDefinition(){return this.optionalMany(yue.BRACE_L,this.parseInputValueDef,yue.BRACE_R)}parseTypeSystemExtension(){const eee=this._lexer.lookahead();if(eee.kind===yue.NAME)switch(eee.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(eee)}parseSchemaExtension(){const eee=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");const tee=this.parseConstDirectives(),ree=this.optionalMany(yue.BRACE_L,this.parseOperationTypeDefinition,yue.BRACE_R);if(0===tee.length&&0===ree.length)throw this.unexpected();return this.node(eee,{kind:vue.SCHEMA_EXTENSION,directives:tee,operationTypes:ree})}parseScalarTypeExtension(){const eee=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");const tee=this.parseName(),ree=this.parseConstDirectives();if(0===ree.length)throw this.unexpected();return this.node(eee,{kind:vue.SCALAR_TYPE_EXTENSION,name:tee,directives:ree})}parseObjectTypeExtension(){const eee=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");const tee=this.parseName(),ree=this.parseImplementsInterfaces(),oee=this.parseConstDirectives(),nee=this.parseFieldsDefinition();if(0===ree.length&&0===oee.length&&0===nee.length)throw this.unexpected();return this.node(eee,{kind:vue.OBJECT_TYPE_EXTENSION,name:tee,interfaces:ree,directives:oee,fields:nee})}parseInterfaceTypeExtension(){const eee=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");const tee=this.parseName(),ree=this.parseImplementsInterfaces(),oee=this.parseConstDirectives(),nee=this.parseFieldsDefinition();if(0===ree.length&&0===oee.length&&0===nee.length)throw this.unexpected();return this.node(eee,{kind:vue.INTERFACE_TYPE_EXTENSION,name:tee,interfaces:ree,directives:oee,fields:nee})}parseUnionTypeExtension(){const eee=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");const tee=this.parseName(),ree=this.parseConstDirectives(),oee=this.parseUnionMemberTypes();if(0===ree.length&&0===oee.length)throw this.unexpected();return this.node(eee,{kind:vue.UNION_TYPE_EXTENSION,name:tee,directives:ree,types:oee})}parseEnumTypeExtension(){const eee=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");const tee=this.parseName(),ree=this.parseConstDirectives(),oee=this.parseEnumValuesDefinition();if(0===ree.length&&0===oee.length)throw this.unexpected();return this.node(eee,{kind:vue.ENUM_TYPE_EXTENSION,name:tee,directives:ree,values:oee})}parseInputObjectTypeExtension(){const eee=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");const tee=this.parseName(),ree=this.parseConstDirectives(),oee=this.parseInputFieldsDefinition();if(0===ree.length&&0===oee.length)throw this.unexpected();return this.node(eee,{kind:vue.INPUT_OBJECT_TYPE_EXTENSION,name:tee,directives:ree,fields:oee})}parseDirectiveDefinition(){const eee=this._lexer.token,tee=this.parseDescription();this.expectKeyword("directive"),this.expectToken(yue.AT);const ree=this.parseName(),oee=this.parseArgumentDefs(),nee=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");const aee=this.parseDirectiveLocations();return this.node(eee,{kind:vue.DIRECTIVE_DEFINITION,description:tee,name:ree,arguments:oee,repeatable:nee,locations:aee})}parseDirectiveLocations(){return this.delimitedMany(yue.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){const eee=this._lexer.token,tee=this.parseName();if(Object.prototype.hasOwnProperty.call(mue,tee.value))return tee;throw this.unexpected(eee)}node(eee,tee){return!0!==this._options.noLocation&&(tee.loc=new uue(eee,this._lexer.lastToken,this._lexer.source)),tee}peek(eee){return this._lexer.token.kind===eee}expectToken(eee){const tee=this._lexer.token;if(tee.kind===eee)return this.advanceLexer(),tee;throw due(this._lexer.source,tee.start,`Expected ${she(eee)}, found ${ihe(tee)}.`)}expectOptionalToken(eee){return this._lexer.token.kind===eee&&(this.advanceLexer(),!0)}expectKeyword(eee){const tee=this._lexer.token;if(tee.kind!==yue.NAME||tee.value!==eee)throw due(this._lexer.source,tee.start,`Expected "${eee}", found ${ihe(tee)}.`);this.advanceLexer()}expectOptionalKeyword(eee){const tee=this._lexer.token;return tee.kind===yue.NAME&&tee.value===eee&&(this.advanceLexer(),!0)}unexpected(eee){const tee=null!=eee?eee:this._lexer.token;return due(this._lexer.source,tee.start,`Unexpected ${ihe(tee)}.`)}any(eee,tee,ree){this.expectToken(eee);const oee=[];for(;!this.expectOptionalToken(ree);)oee.push(tee.call(this));return oee}optionalMany(eee,tee,ree){if(this.expectOptionalToken(eee)){const eee=[];do{eee.push(tee.call(this))}while(!this.expectOptionalToken(ree));return eee}return[]}many(eee,tee,ree){this.expectToken(eee);const oee=[];do{oee.push(tee.call(this))}while(!this.expectOptionalToken(ree));return oee}delimitedMany(eee,tee){this.expectOptionalToken(eee);const ree=[];do{ree.push(tee.call(this))}while(this.expectOptionalToken(eee));return ree}advanceLexer(){const{maxTokens:eee}=this._options,tee=this._lexer.advance();if(void 0!==eee&&tee.kind!==yue.EOF&&(++this._tokenCounter,this._tokenCounter>eee))throw due(this._lexer.source,tee.start,`Document contains more that ${eee} tokens. Parsing aborted.`)}}function ihe(eee){const tee=eee.value;return she(eee.kind)+(null!=tee?` "${tee}"`:"")}function she(eee){return Rue(eee)?`"${eee}"`:eee}const lhe=5;function che(eee,tee){const[ree,oee]=tee?[eee,tee]:[void 0,eee];let nee=" Did you mean ";ree&&(nee+=ree+" ");const aee=oee.map((x=>`"${x}"`));switch(aee.length){case 0:return"";case 1:return nee+aee[0]+"?";case 2:return nee+aee[0]+" or "+aee[1]+"?"}const iee=aee.slice(0,lhe),see=iee.pop();return nee+iee.join(", ")+", or "+see+"?"}function phe(x){return x}function dhe(eee,tee){const ree=Object.create(null);for(const oee of eee)ree[tee(oee)]=oee;return ree}function uhe(eee,tee,ree){const oee=Object.create(null);for(const nee of eee)oee[tee(nee)]=ree(nee);return oee}function hhe(eee,fn){const tee=Object.create(null);for(const ree of Object.keys(eee))tee[ree]=fn(eee[ree],ree);return tee}function ghe(eee,tee){let ree=0,oee=0;for(;ree0);let see=0;do{++oee,see=10*see+aee-whe,aee=tee.charCodeAt(oee)}while(bhe(aee)&&see>0);if(ieesee)return 1}else{if(neeaee)return 1;++ree,++oee}}return eee.length-tee.length}const whe=48,fhe=57;function bhe(eee){return!isNaN(eee)&&whe<=eee&&eee<=fhe}function mhe(eee,tee){const ree=Object.create(null),oee=new vhe(eee),nee=Math.floor(.4*eee.length)+1;for(const aee of tee){const eee=oee.measure(aee,nee);void 0!==eee&&(ree[aee]=eee)}return Object.keys(ree).sort(((a,b)=>{const eee=ree[a]-ree[b];return 0!==eee?eee:ghe(a,b)}))}class vhe{constructor(eee){this._input=eee,this._inputLowerCase=eee.toLowerCase(),this._inputArray=yhe(this._inputLowerCase),this._rows=[new Array(eee.length+1).fill(0),new Array(eee.length+1).fill(0),new Array(eee.length+1).fill(0)]}measure(eee,tee){if(this._input===eee)return 0;const ree=eee.toLowerCase();if(this._inputLowerCase===ree)return 1;let a=yhe(ree),b=this._inputArray;if(a.lengthtee)return;const aee=this._rows;for(let j=0;j<=nee;j++)aee[0][j]=j;for(let i=1;i<=oee;i++){const eee=aee[(i-1)%3],ree=aee[i%3];let oee=ree[0]=i;for(let j=1;j<=nee;j++){const tee=a[i-1]===b[j-1]?0:1;let nee=Math.min(eee[j]+1,ree[j-1]+1,eee[j-1]+tee);if(i>1&&j>1&&a[i-1]===b[j-2]&&a[i-2]===b[j-1]){const eee=aee[(i-2)%3][j-2];nee=Math.min(nee,eee+1)}neetee)return}const iee=aee[oee%3][nee];return iee<=tee?iee:void 0}}function yhe(eee){const tee=eee.length,ree=new Array(tee);for(let i=0;ieee.value},Variable:{leave:eee=>"$"+eee.name},Document:{leave:eee=>Rhe(eee.definitions,"\n\n")},OperationDefinition:{leave(eee){const tee=Dhe("(",Rhe(eee.variableDefinitions,", "),")"),ree=Rhe([eee.operation,Rhe([eee.name,tee]),Rhe(eee.directives," ")]," ");return("query"===ree?"":ree+" ")+eee.selectionSet}},VariableDefinition:{leave:({variable:eee,type:tee,defaultValue:ree,directives:oee})=>eee+": "+tee+Dhe(" = ",ree)+Dhe(" ",Rhe(oee," "))},SelectionSet:{leave:({selections:eee})=>Che(eee)},Field:{leave({alias:eee,name:tee,arguments:ree,directives:oee,selectionSet:nee}){const aee=Dhe("",eee,": ")+tee;let iee=aee+Dhe("(",Rhe(ree,", "),")");return iee.length>80&&(iee=aee+Dhe("(\n",Lhe(Rhe(ree,"\n")),"\n)")),Rhe([iee,Rhe(oee," "),nee]," ")}},Argument:{leave:({name:eee,value:tee})=>eee+": "+tee},FragmentSpread:{leave:({name:eee,directives:tee})=>"..."+eee+Dhe(" ",Rhe(tee," "))},InlineFragment:{leave:({typeCondition:eee,directives:tee,selectionSet:ree})=>Rhe(["...",Dhe("on ",eee),Rhe(tee," "),ree]," ")},FragmentDefinition:{leave:({name:eee,typeCondition:tee,variableDefinitions:ree,directives:oee,selectionSet:nee})=>`fragment ${eee}${Dhe("(",Rhe(ree,", "),")")} on ${tee} ${Dhe("",Rhe(oee," ")," ")}`+nee},IntValue:{leave:({value:eee})=>eee},FloatValue:{leave:({value:eee})=>eee},StringValue:{leave:({value:eee,block:tee})=>tee?Nue(eee):`"${eee.replace(khe,_he)}"`},BooleanValue:{leave:({value:eee})=>eee?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:eee})=>eee},ListValue:{leave:({values:eee})=>"["+Rhe(eee,", ")+"]"},ObjectValue:{leave:({fields:eee})=>"{"+Rhe(eee,", ")+"}"},ObjectField:{leave:({name:eee,value:tee})=>eee+": "+tee},Directive:{leave:({name:eee,arguments:tee})=>"@"+eee+Dhe("(",Rhe(tee,", "),")")},NamedType:{leave:({name:eee})=>eee},ListType:{leave:({type:eee})=>"["+eee+"]"},NonNullType:{leave:({type:eee})=>eee+"!"},SchemaDefinition:{leave:({description:eee,directives:tee,operationTypes:ree})=>Dhe("",eee,"\n")+Rhe(["schema",Rhe(tee," "),Che(ree)]," ")},OperationTypeDefinition:{leave:({operation:eee,type:tee})=>eee+": "+tee},ScalarTypeDefinition:{leave:({description:eee,name:tee,directives:ree})=>Dhe("",eee,"\n")+Rhe(["scalar",tee,Rhe(ree," ")]," ")},ObjectTypeDefinition:{leave:({description:eee,name:tee,interfaces:ree,directives:oee,fields:nee})=>Dhe("",eee,"\n")+Rhe(["type",tee,Dhe("implements ",Rhe(ree," & ")),Rhe(oee," "),Che(nee)]," ")},FieldDefinition:{leave:({description:eee,name:tee,arguments:ree,type:oee,directives:nee})=>Dhe("",eee,"\n")+tee+(Fhe(ree)?Dhe("(\n",Lhe(Rhe(ree,"\n")),"\n)"):Dhe("(",Rhe(ree,", "),")"))+": "+oee+Dhe(" ",Rhe(nee," "))},InputValueDefinition:{leave:({description:eee,name:tee,type:ree,defaultValue:oee,directives:nee})=>Dhe("",eee,"\n")+Rhe([tee+": "+ree,Dhe("= ",oee),Rhe(nee," ")]," ")},InterfaceTypeDefinition:{leave:({description:eee,name:tee,interfaces:ree,directives:oee,fields:nee})=>Dhe("",eee,"\n")+Rhe(["interface",tee,Dhe("implements ",Rhe(ree," & ")),Rhe(oee," "),Che(nee)]," ")},UnionTypeDefinition:{leave:({description:eee,name:tee,directives:ree,types:oee})=>Dhe("",eee,"\n")+Rhe(["union",tee,Rhe(ree," "),Dhe("= ",Rhe(oee," | "))]," ")},EnumTypeDefinition:{leave:({description:eee,name:tee,directives:ree,values:oee})=>Dhe("",eee,"\n")+Rhe(["enum",tee,Rhe(ree," "),Che(oee)]," ")},EnumValueDefinition:{leave:({description:eee,name:tee,directives:ree})=>Dhe("",eee,"\n")+Rhe([tee,Rhe(ree," ")]," ")},InputObjectTypeDefinition:{leave:({description:eee,name:tee,directives:ree,fields:oee})=>Dhe("",eee,"\n")+Rhe(["input",tee,Rhe(ree," "),Che(oee)]," ")},DirectiveDefinition:{leave:({description:eee,name:tee,arguments:ree,repeatable:oee,locations:nee})=>Dhe("",eee,"\n")+"directive @"+tee+(Fhe(ree)?Dhe("(\n",Lhe(Rhe(ree,"\n")),"\n)"):Dhe("(",Rhe(ree,", "),")"))+(oee?" repeatable":"")+" on "+Rhe(nee," | ")},SchemaExtension:{leave:({directives:eee,operationTypes:tee})=>Rhe(["extend schema",Rhe(eee," "),Che(tee)]," ")},ScalarTypeExtension:{leave:({name:eee,directives:tee})=>Rhe(["extend scalar",eee,Rhe(tee," ")]," ")},ObjectTypeExtension:{leave:({name:eee,interfaces:tee,directives:ree,fields:oee})=>Rhe(["extend type",eee,Dhe("implements ",Rhe(tee," & ")),Rhe(ree," "),Che(oee)]," ")},InterfaceTypeExtension:{leave:({name:eee,interfaces:tee,directives:ree,fields:oee})=>Rhe(["extend interface",eee,Dhe("implements ",Rhe(tee," & ")),Rhe(ree," "),Che(oee)]," ")},UnionTypeExtension:{leave:({name:eee,directives:tee,types:ree})=>Rhe(["extend union",eee,Rhe(tee," "),Dhe("= ",Rhe(ree," | "))]," ")},EnumTypeExtension:{leave:({name:eee,directives:tee,values:ree})=>Rhe(["extend enum",eee,Rhe(tee," "),Che(ree)]," ")},InputObjectTypeExtension:{leave:({name:eee,directives:tee,fields:ree})=>Rhe(["extend input",eee,Rhe(tee," "),Che(ree)]," ")}};function Rhe(eee,tee=""){var ree;return null!==(ree=null==eee?void 0:eee.filter((x=>x)).join(tee))&&void 0!==ree?ree:""}function Che(eee){return Dhe("{\n",Lhe(Rhe(eee,"\n")),"\n}")}function Dhe(eee,tee,ree=""){return null!=tee&&""!==tee?eee+tee+ree:""}function Lhe(eee){return Dhe(" ",eee.replace(/\n/g,"\n "))}function Fhe(eee){var tee;return null!==(tee=null==eee?void 0:eee.some((eee=>eee.includes("\n"))))&&void 0!==tee&&tee}function zhe(eee,tee){switch(eee.kind){case vue.NULL:return null;case vue.INT:return parseInt(eee.value,10);case vue.FLOAT:return parseFloat(eee.value);case vue.STRING:case vue.ENUM:case vue.BOOLEAN:return eee.value;case vue.LIST:return eee.values.map((eee=>zhe(eee,tee)));case vue.OBJECT:return uhe(eee.fields,(eee=>eee.name.value),(eee=>zhe(eee.value,tee)));case vue.VARIABLE:return null==tee?void 0:tee[eee.name.value]}}function Mhe(eee){if(null!=eee||eue(!1,"Must provide name."),"string"==typeof eee||eue(!1,"Expected name to be a string."),0===eee.length)throw new cue("Expected name to be a non-empty string.");for(let i=1;iaee(zhe(eee,tee)),this.extensions=xhe(eee.extensions),this.astNode=eee.astNode,this.extensionASTNodes=null!==(nee=eee.extensionASTNodes)&&void 0!==nee?nee:[],null==eee.specifiedByURL||"string"==typeof eee.specifiedByURL||eue(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${Zue(eee.specifiedByURL)}.`),null==eee.serialize||"function"==typeof eee.serialize||eue(!1,`${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`),eee.parseLiteral&&("function"==typeof eee.parseValue&&"function"==typeof eee.parseLiteral||eue(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}class uge{constructor(eee){var tee;this.name=Mhe(eee.name),this.description=eee.description,this.isTypeOf=eee.isTypeOf,this.extensions=xhe(eee.extensions),this.astNode=eee.astNode,this.extensionASTNodes=null!==(tee=eee.extensionASTNodes)&&void 0!==tee?tee:[],this._fields=()=>gge(eee),this._interfaces=()=>hge(eee),null==eee.isTypeOf||"function"==typeof eee.isTypeOf||eue(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${Zue(eee.isTypeOf)}.`)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return"function"==typeof this._fields&&(this._fields=this._fields()),this._fields}getInterfaces(){return"function"==typeof this._interfaces&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:bge(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function hge(eee){var tee;const ree=cge(null!==(tee=eee.interfaces)&&void 0!==tee?tee:[]);return Array.isArray(ree)||eue(!1,`${eee.name} interfaces must be an Array or a function which returns an Array.`),ree}function gge(eee){const tee=pge(eee.fields);return fge(tee)||eue(!1,`${eee.name} fields must be an object with field names as keys or a function which returns such an object.`),hhe(tee,((tee,ree)=>{var oee;fge(tee)||eue(!1,`${eee.name}.${ree} field config must be an object.`),null==tee.resolve||"function"==typeof tee.resolve||eue(!1,`${eee.name}.${ree} field resolver must be a function if provided, but got: ${Zue(tee.resolve)}.`);const nee=null!==(oee=tee.args)&&void 0!==oee?oee:{};return fge(nee)||eue(!1,`${eee.name}.${ree} args must be an object with argument names as keys.`),{name:Mhe(ree),description:tee.description,type:tee.type,args:wge(nee),resolve:tee.resolve,subscribe:tee.subscribe,deprecationReason:tee.deprecationReason,extensions:xhe(tee.extensions),astNode:tee.astNode}}))}function wge(eee){return Object.entries(eee).map((([eee,tee])=>({name:Mhe(eee),description:tee.description,type:tee.type,defaultValue:tee.defaultValue,deprecationReason:tee.deprecationReason,extensions:xhe(tee.extensions),astNode:tee.astNode})))}function fge(eee){return rue(eee)&&!Array.isArray(eee)}function bge(eee){return hhe(eee,(eee=>({description:eee.description,type:eee.type,args:mge(eee.args),resolve:eee.resolve,subscribe:eee.subscribe,deprecationReason:eee.deprecationReason,extensions:eee.extensions,astNode:eee.astNode})))}function mge(eee){return uhe(eee,(eee=>eee.name),(eee=>({description:eee.description,type:eee.type,defaultValue:eee.defaultValue,deprecationReason:eee.deprecationReason,extensions:eee.extensions,astNode:eee.astNode})))}function vge(eee){return Khe(eee.type)&&void 0===eee.defaultValue}class yge{constructor(eee){var tee;this.name=Mhe(eee.name),this.description=eee.description,this.resolveType=eee.resolveType,this.extensions=xhe(eee.extensions),this.astNode=eee.astNode,this.extensionASTNodes=null!==(tee=eee.extensionASTNodes)&&void 0!==tee?tee:[],this._fields=gge.bind(void 0,eee),this._interfaces=hge.bind(void 0,eee),null==eee.resolveType||"function"==typeof eee.resolveType||eue(!1,`${this.name} must provide "resolveType" as a function, but got: ${Zue(eee.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return"function"==typeof this._fields&&(this._fields=this._fields()),this._fields}getInterfaces(){return"function"==typeof this._interfaces&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:bge(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}class xge{constructor(eee){var tee;this.name=Mhe(eee.name),this.description=eee.description,this.resolveType=eee.resolveType,this.extensions=xhe(eee.extensions),this.astNode=eee.astNode,this.extensionASTNodes=null!==(tee=eee.extensionASTNodes)&&void 0!==tee?tee:[],this._types=kge.bind(void 0,eee),null==eee.resolveType||"function"==typeof eee.resolveType||eue(!1,`${this.name} must provide "resolveType" as a function, but got: ${Zue(eee.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return"function"==typeof this._types&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function kge(eee){const tee=cge(eee.types);return Array.isArray(tee)||eue(!1,`Must provide Array of types or a function which returns such an array for Union ${eee.name}.`),tee}class _ge{constructor(eee){var tee,ree,oee;this.name=Mhe(eee.name),this.description=eee.description,this.extensions=xhe(eee.extensions),this.astNode=eee.astNode,this.extensionASTNodes=null!==(tee=eee.extensionASTNodes)&&void 0!==tee?tee:[],this._values=(ree=this.name,fge(oee=eee.values)||eue(!1,`${ree} values must be an object with value names as keys.`),Object.entries(oee).map((([eee,tee])=>(fge(tee)||eue(!1,`${ree}.${eee} must refer to an object with a "value" key representing an internal value but got: ${Zue(tee)}.`),{name:Phe(eee),description:tee.description,value:void 0!==tee.value?tee.value:eee,deprecationReason:tee.deprecationReason,extensions:xhe(tee.extensions),astNode:tee.astNode})))),this._valueLookup=new Map(this._values.map((eee=>[eee.value,eee]))),this._nameLookup=dhe(this._values,(eee=>eee.name))}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return this._values}getValue(eee){return this._nameLookup[eee]}serialize(eee){const tee=this._valueLookup.get(eee);if(void 0===tee)throw new cue(`Enum "${this.name}" cannot represent value: ${Zue(eee)}`);return tee.name}parseValue(eee){if("string"!=typeof eee){const tee=Zue(eee);throw new cue(`Enum "${this.name}" cannot represent non-string value: ${tee}.`+Ege(this,tee))}const tee=this.getValue(eee);if(null==tee)throw new cue(`Value "${eee}" does not exist in "${this.name}" enum.`+Ege(this,eee));return tee.value}parseLiteral(eee,tee){if(eee.kind!==vue.ENUM){const tee=Nhe(eee);throw new cue(`Enum "${this.name}" cannot represent non-enum value: ${tee}.`+Ege(this,tee),{nodes:eee})}const ree=this.getValue(eee.value);if(null==ree){const tee=Nhe(eee);throw new cue(`Value "${tee}" does not exist in "${this.name}" enum.`+Ege(this,tee),{nodes:eee})}return ree.value}toConfig(){const eee=uhe(this.getValues(),(eee=>eee.name),(eee=>({description:eee.description,value:eee.value,deprecationReason:eee.deprecationReason,extensions:eee.extensions,astNode:eee.astNode})));return{name:this.name,description:this.description,values:eee,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function Ege(eee,tee){return che("the enum value",mhe(tee,eee.getValues().map((eee=>eee.name))))}class Tge{constructor(eee){var tee;this.name=Mhe(eee.name),this.description=eee.description,this.extensions=xhe(eee.extensions),this.astNode=eee.astNode,this.extensionASTNodes=null!==(tee=eee.extensionASTNodes)&&void 0!==tee?tee:[],this._fields=Sge.bind(void 0,eee)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return"function"==typeof this._fields&&(this._fields=this._fields()),this._fields}toConfig(){const eee=hhe(this.getFields(),(eee=>({description:eee.description,type:eee.type,defaultValue:eee.defaultValue,deprecationReason:eee.deprecationReason,extensions:eee.extensions,astNode:eee.astNode})));return{name:this.name,description:this.description,fields:eee,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function Sge(eee){const tee=pge(eee.fields);return fge(tee)||eue(!1,`${eee.name} fields must be an object with field names as keys or a function which returns such an object.`),hhe(tee,((tee,ree)=>(!("resolve"in tee)||eue(!1,`${eee.name}.${ree} field has a resolve property, but Input Types cannot define resolvers.`),{name:Mhe(ree),description:tee.description,type:tee.type,defaultValue:tee.defaultValue,deprecationReason:tee.deprecationReason,extensions:xhe(tee.extensions),astNode:tee.astNode})))}function Ige(eee){return Khe(eee.type)&&void 0===eee.defaultValue}function Oge(eee,tee){return eee===tee||(Khe(eee)&&Khe(tee)||!(!Whe(eee)||!Whe(tee)))&&Oge(eee.ofType,tee.ofType)}function Nge(eee,tee,ree){return tee===ree||(Khe(ree)?!!Khe(tee)&&Nge(eee,tee.ofType,ree.ofType):Khe(tee)?Nge(eee,tee.ofType,ree):Whe(ree)?!!Whe(tee)&&Nge(eee,tee.ofType,ree.ofType):!Whe(tee)&&(ege(ree)&&(qhe(tee)||$he(tee))&&eee.isSubType(ree,tee)))}function Age(eee,tee,ree){return tee===ree||(ege(tee)?ege(ree)?eee.getPossibleTypes(tee).some((tee=>eee.isSubType(ree,tee))):eee.isSubType(tee,ree):!!ege(ree)&&eee.isSubType(ree,tee))}const Rge=2147483647,Cge=-2147483648,Dge=new dge({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",serialize(eee){const tee=jge(eee);if("boolean"==typeof tee)return tee?1:0;let ree=tee;if("string"==typeof tee&&""!==tee&&(ree=Number(tee)),"number"!=typeof ree||!Number.isInteger(ree))throw new cue(`Int cannot represent non-integer value: ${Zue(tee)}`);if(ree>Rge||reeRge||eeeRge||teeeee.name===tee))}function jge(eee){if(rue(eee)){if("function"==typeof eee.valueOf){const tee=eee.valueOf();if(!rue(tee))return tee}if("function"==typeof eee.toJSON)return eee.toJSON()}return eee}function $ge(eee){return ehe(eee,Vge)}class Vge{constructor(eee){var tee,ree;this.name=Mhe(eee.name),this.description=eee.description,this.locations=eee.locations,this.isRepeatable=null!==(tee=eee.isRepeatable)&&void 0!==tee&&tee,this.extensions=xhe(eee.extensions),this.astNode=eee.astNode,Array.isArray(eee.locations)||eue(!1,`@${eee.name} locations must be an Array.`);const oee=null!==(ree=eee.args)&&void 0!==ree?ree:{};rue(oee)&&!Array.isArray(oee)||eue(!1,`@${eee.name} args must be an object with argument names as keys.`),this.args=wge(oee)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:mge(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}}const qge=new Vge({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[mue.FIELD,mue.FRAGMENT_SPREAD,mue.INLINE_FRAGMENT],args:{if:{type:new rge(zge),description:"Included when true."}}}),Bge=new Vge({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[mue.FIELD,mue.FRAGMENT_SPREAD,mue.INLINE_FRAGMENT],args:{if:{type:new rge(zge),description:"Skipped when true."}}}),Yge="No longer supported",Gge=new Vge({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[mue.FIELD_DEFINITION,mue.ARGUMENT_DEFINITION,mue.INPUT_FIELD_DEFINITION,mue.ENUM_VALUE],args:{reason:{type:Fge,description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",defaultValue:Yge}}}),Qge=new Vge({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[mue.SCALAR],args:{url:{type:new rge(Fge),description:"The URL that specifies the behavior of this scalar."}}}),Wge=Object.freeze([qge,Bge,Gge,Qge]);function Kge(eee){return Wge.some((({name:tee})=>tee===eee.name))}function Hge(eee){return"object"==typeof eee&&"function"==typeof(null==eee?void 0:eee[Symbol.iterator])}function Xge(eee,tee){if(Khe(tee)){const ree=Xge(eee,tee.ofType);return(null==ree?void 0:ree.kind)===vue.NULL?null:ree}if(null===eee)return{kind:vue.NULL};if(void 0===eee)return null;if(Whe(tee)){const ree=tee.ofType;if(Hge(eee)){const tee=[];for(const oee of eee){const eee=Xge(oee,ree);null!=eee&&tee.push(eee)}return{kind:vue.LIST,values:tee}}return Xge(eee,ree)}if(Qhe(tee)){if(!rue(eee))return null;const ree=[];for(const oee of Object.values(tee.getFields())){const tee=Xge(eee[oee.name],oee.type);tee&&ree.push({kind:vue.OBJECT_FIELD,name:{kind:vue.NAME,value:oee.name},value:tee})}return{kind:vue.OBJECT,fields:ree}}if(Zhe(tee)){const ree=tee.serialize(eee);if(null==ree)return null;if("boolean"==typeof ree)return{kind:vue.BOOLEAN,value:ree};if("number"==typeof ree&&Number.isFinite(ree)){const eee=String(ree);return Zge.test(eee)?{kind:vue.INT,value:eee}:{kind:vue.FLOAT,value:eee}}if("string"==typeof ree)return Ghe(tee)?{kind:vue.ENUM,value:ree}:tee===Mge&&Zge.test(ree)?{kind:vue.INT,value:ree}:{kind:vue.STRING,value:ree};throw new TypeError(`Cannot convert value to AST: ${Zue(ree)}.`)}oue(!1,"Unexpected input type: "+Zue(tee))}const Zge=/^-?(?:0|[1-9][0-9]*)$/,Jge=new uge({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:()=>({description:{type:Fge,resolve:eee=>eee.description},types:{description:"A list of all types supported by this server.",type:new rge(new tge(new rge(rwe))),resolve:eee=>Object.values(eee.getTypeMap())},queryType:{description:"The type that query operations will be rooted at.",type:new rge(rwe),resolve:eee=>eee.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:rwe,resolve:eee=>eee.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:rwe,resolve:eee=>eee.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new rge(new tge(new rge(ewe))),resolve:eee=>eee.getDirectives()}})}),ewe=new uge({name:"__Directive",description:"A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.",fields:()=>({name:{type:new rge(Fge),resolve:eee=>eee.name},description:{type:Fge,resolve:eee=>eee.description},isRepeatable:{type:new rge(zge),resolve:eee=>eee.isRepeatable},locations:{type:new rge(new tge(new rge(twe))),resolve:eee=>eee.locations},args:{type:new rge(new tge(new rge(nwe))),args:{includeDeprecated:{type:zge,defaultValue:!1}},resolve:(eee,{includeDeprecated:tee})=>tee?eee.args:eee.args.filter((eee=>null==eee.deprecationReason))}})}),twe=new _ge({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:mue.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:mue.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:mue.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:mue.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:mue.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:mue.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:mue.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:mue.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:mue.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:mue.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:mue.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:mue.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:mue.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:mue.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:mue.UNION,description:"Location adjacent to a union definition."},ENUM:{value:mue.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:mue.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:mue.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:mue.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),rwe=new uge({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new rge(swe),resolve:eee=>jhe(eee)?iwe.SCALAR:$he(eee)?iwe.OBJECT:qhe(eee)?iwe.INTERFACE:Yhe(eee)?iwe.UNION:Ghe(eee)?iwe.ENUM:Qhe(eee)?iwe.INPUT_OBJECT:Whe(eee)?iwe.LIST:Khe(eee)?iwe.NON_NULL:void oue(!1,`Unexpected type: "${Zue(eee)}".`)},name:{type:Fge,resolve:eee=>"name"in eee?eee.name:void 0},description:{type:Fge,resolve:eee=>"description"in eee?eee.description:void 0},specifiedByURL:{type:Fge,resolve:eee=>"specifiedByURL"in eee?eee.specifiedByURL:void 0},fields:{type:new tge(new rge(owe)),args:{includeDeprecated:{type:zge,defaultValue:!1}},resolve(eee,{includeDeprecated:tee}){if($he(eee)||qhe(eee)){const ree=Object.values(eee.getFields());return tee?ree:ree.filter((eee=>null==eee.deprecationReason))}}},interfaces:{type:new tge(new rge(rwe)),resolve(eee){if($he(eee)||qhe(eee))return eee.getInterfaces()}},possibleTypes:{type:new tge(new rge(rwe)),resolve(eee,tee,ree,{schema:oee}){if(ege(eee))return oee.getPossibleTypes(eee)}},enumValues:{type:new tge(new rge(awe)),args:{includeDeprecated:{type:zge,defaultValue:!1}},resolve(eee,{includeDeprecated:tee}){if(Ghe(eee)){const ree=eee.getValues();return tee?ree:ree.filter((eee=>null==eee.deprecationReason))}}},inputFields:{type:new tge(new rge(nwe)),args:{includeDeprecated:{type:zge,defaultValue:!1}},resolve(eee,{includeDeprecated:tee}){if(Qhe(eee)){const ree=Object.values(eee.getFields());return tee?ree:ree.filter((eee=>null==eee.deprecationReason))}}},ofType:{type:rwe,resolve:eee=>"ofType"in eee?eee.ofType:void 0}})}),owe=new uge({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new rge(Fge),resolve:eee=>eee.name},description:{type:Fge,resolve:eee=>eee.description},args:{type:new rge(new tge(new rge(nwe))),args:{includeDeprecated:{type:zge,defaultValue:!1}},resolve:(eee,{includeDeprecated:tee})=>tee?eee.args:eee.args.filter((eee=>null==eee.deprecationReason))},type:{type:new rge(rwe),resolve:eee=>eee.type},isDeprecated:{type:new rge(zge),resolve:eee=>null!=eee.deprecationReason},deprecationReason:{type:Fge,resolve:eee=>eee.deprecationReason}})}),nwe=new uge({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new rge(Fge),resolve:eee=>eee.name},description:{type:Fge,resolve:eee=>eee.description},type:{type:new rge(rwe),resolve:eee=>eee.type},defaultValue:{type:Fge,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(eee){const{type:tee,defaultValue:ree}=eee,oee=Xge(ree,tee);return oee?Nhe(oee):null}},isDeprecated:{type:new rge(zge),resolve:eee=>null!=eee.deprecationReason},deprecationReason:{type:Fge,resolve:eee=>eee.deprecationReason}})}),awe=new uge({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new rge(Fge),resolve:eee=>eee.name},description:{type:Fge,resolve:eee=>eee.description},isDeprecated:{type:new rge(zge),resolve:eee=>null!=eee.deprecationReason},deprecationReason:{type:Fge,resolve:eee=>eee.deprecationReason}})});var iwe;!function(eee){eee.SCALAR="SCALAR",eee.OBJECT="OBJECT",eee.INTERFACE="INTERFACE",eee.UNION="UNION",eee.ENUM="ENUM",eee.INPUT_OBJECT="INPUT_OBJECT",eee.LIST="LIST",eee.NON_NULL="NON_NULL"}(iwe||(iwe={}));const swe=new _ge({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:iwe.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:iwe.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:iwe.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:iwe.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:iwe.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:iwe.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:iwe.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:iwe.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),lwe={name:"__schema",type:new rge(Jge),description:"Access the current type schema of this server.",args:[],resolve:(eee,tee,ree,{schema:oee})=>oee,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},cwe={name:"__type",type:rwe,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new rge(Fge),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(eee,{name:tee},ree,{schema:oee})=>oee.getType(tee),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},pwe={name:"__typename",type:new rge(Fge),description:"The name of the current Object type at runtime.",args:[],resolve:(eee,tee,ree,{parentType:oee})=>oee.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},dwe=Object.freeze([Jge,ewe,twe,rwe,owe,nwe,awe,swe]);function uwe(eee){return dwe.some((({name:tee})=>eee.name===tee))}function hwe(eee){return ehe(eee,wwe)}function gwe(eee){if(!hwe(eee))throw new Error(`Expected ${Zue(eee)} to be a GraphQL schema.`);return eee}class wwe{constructor(eee){var tee,ree;this.__validationErrors=!0===eee.assumeValid?[]:void 0,rue(eee)||eue(!1,"Must provide configuration object."),!eee.types||Array.isArray(eee.types)||eue(!1,`"types" must be Array if provided but got: ${Zue(eee.types)}.`),!eee.directives||Array.isArray(eee.directives)||eue(!1,`"directives" must be Array if provided but got: ${Zue(eee.directives)}.`),this.description=eee.description,this.extensions=xhe(eee.extensions),this.astNode=eee.astNode,this.extensionASTNodes=null!==(tee=eee.extensionASTNodes)&&void 0!==tee?tee:[],this._queryType=eee.query,this._mutationType=eee.mutation,this._subscriptionType=eee.subscription,this._directives=null!==(ree=eee.directives)&&void 0!==ree?ree:Wge;const oee=new Set(eee.types);if(null!=eee.types)for(const nee of eee.types)oee.delete(nee),fwe(nee,oee);null!=this._queryType&&fwe(this._queryType,oee),null!=this._mutationType&&fwe(this._mutationType,oee),null!=this._subscriptionType&&fwe(this._subscriptionType,oee);for(const nee of this._directives)if($ge(nee))for(const eee of nee.args)fwe(eee.type,oee);fwe(Jge,oee),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(const nee of oee){if(null==nee)continue;const eee=nee.name;if(eee||eue(!1,"One of the provided types for building the Schema is missing a name."),void 0!==this._typeMap[eee])throw new Error(`Schema must contain uniquely named types but contains multiple types named "${eee}".`);if(this._typeMap[eee]=nee,qhe(nee)){for(const tee of nee.getInterfaces())if(qhe(tee)){let eee=this._implementationsMap[tee.name];void 0===eee&&(eee=this._implementationsMap[tee.name]={objects:[],interfaces:[]}),eee.interfaces.push(nee)}}else if($he(nee))for(const tee of nee.getInterfaces())if(qhe(tee)){let eee=this._implementationsMap[tee.name];void 0===eee&&(eee=this._implementationsMap[tee.name]={objects:[],interfaces:[]}),eee.objects.push(nee)}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(eee){switch(eee){case bue.QUERY:return this.getQueryType();case bue.MUTATION:return this.getMutationType();case bue.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(eee){return this.getTypeMap()[eee]}getPossibleTypes(eee){return Yhe(eee)?eee.getTypes():this.getImplementations(eee).objects}getImplementations(eee){const tee=this._implementationsMap[eee.name];return null!=tee?tee:{objects:[],interfaces:[]}}isSubType(eee,tee){let ree=this._subTypeMap[eee.name];if(void 0===ree){if(ree=Object.create(null),Yhe(eee))for(const tee of eee.getTypes())ree[tee.name]=!0;else{const tee=this.getImplementations(eee);for(const eee of tee.objects)ree[eee.name]=!0;for(const eee of tee.interfaces)ree[eee.name]=!0}this._subTypeMap[eee.name]=ree}return void 0!==ree[tee.name]}getDirectives(){return this._directives}getDirective(eee){return this.getDirectives().find((tee=>tee.name===eee))}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:void 0!==this.__validationErrors}}}function fwe(eee,tee){const ree=lge(eee);if(!tee.has(ree))if(tee.add(ree),Yhe(ree))for(const oee of ree.getTypes())fwe(oee,tee);else if($he(ree)||qhe(ree)){for(const eee of ree.getInterfaces())fwe(eee,tee);for(const eee of Object.values(ree.getFields())){fwe(eee.type,tee);for(const ree of eee.args)fwe(ree.type,tee)}}else if(Qhe(ree))for(const oee of Object.values(ree.getFields()))fwe(oee.type,tee);return tee}function bwe(eee){if(gwe(eee),eee.__validationErrors)return eee.__validationErrors;const tee=new vwe(eee);!function(eee){const tee=eee.schema,ree=tee.getQueryType();if(ree){if(!$he(ree)){var oee;eee.reportError(`Query root type must be Object type, it cannot be ${Zue(ree)}.`,null!==(oee=ywe(tee,bue.QUERY))&&void 0!==oee?oee:ree.astNode)}}else eee.reportError("Query root type must be provided.",tee.astNode);const nee=tee.getMutationType();var aee;nee&&!$he(nee)&&eee.reportError(`Mutation root type must be Object type if provided, it cannot be ${Zue(nee)}.`,null!==(aee=ywe(tee,bue.MUTATION))&&void 0!==aee?aee:nee.astNode);const iee=tee.getSubscriptionType();var see;iee&&!$he(iee)&&eee.reportError(`Subscription root type must be Object type if provided, it cannot be ${Zue(iee)}.`,null!==(see=ywe(tee,bue.SUBSCRIPTION))&&void 0!==see?see:iee.astNode)}(tee),function(eee){for(const ree of eee.schema.getDirectives())if($ge(ree)){xwe(eee,ree);for(const oee of ree.args){var tee;if(xwe(eee,oee),Hhe(oee.type)||eee.reportError(`The type of @${ree.name}(${oee.name}:) must be Input Type but got: ${Zue(oee.type)}.`,oee.astNode),vge(oee)&&null!=oee.deprecationReason)eee.reportError(`Required argument @${ree.name}(${oee.name}:) cannot be deprecated.`,[Rwe(oee.astNode),null===(tee=oee.astNode)||void 0===tee?void 0:tee.type])}}else eee.reportError(`Expected directive but got: ${Zue(ree)}.`,null==ree?void 0:ree.astNode)}(tee),function(eee){const tee=function(eee){const tee=Object.create(null),ree=[],oee=Object.create(null);return nee;function nee(aee){if(tee[aee.name])return;tee[aee.name]=!0,oee[aee.name]=ree.length;const iee=Object.values(aee.getFields());for(const tee of iee)if(Khe(tee.type)&&Qhe(tee.type.ofType)){const aee=tee.type.ofType,iee=oee[aee.name];if(ree.push(tee),void 0===iee)nee(aee);else{const tee=ree.slice(iee),oee=tee.map((eee=>eee.name)).join(".");eee.reportError(`Cannot reference Input Object "${aee.name}" within itself through a series of non-null fields: "${oee}".`,tee.map((eee=>eee.astNode)))}ree.pop()}oee[aee.name]=void 0}}(eee),ree=eee.schema.getTypeMap();for(const oee of Object.values(ree))sge(oee)?(uwe(oee)||xwe(eee,oee),$he(oee)||qhe(oee)?(kwe(eee,oee),_we(eee,oee)):Yhe(oee)?Swe(eee,oee):Ghe(oee)?Iwe(eee,oee):Qhe(oee)&&(Owe(eee,oee),tee(oee))):eee.reportError(`Expected GraphQL named type but got: ${Zue(oee)}.`,oee.astNode)}(tee);const ree=tee.getErrors();return eee.__validationErrors=ree,ree}function mwe(eee){const tee=bwe(eee);if(0!==tee.length)throw new Error(tee.map((eee=>eee.message)).join("\n\n"))}class vwe{constructor(eee){this._errors=[],this.schema=eee}reportError(eee,tee){const ree=Array.isArray(tee)?tee.filter(Boolean):tee;this._errors.push(new cue(eee,{nodes:ree}))}getErrors(){return this._errors}}function ywe(eee,tee){var ree;return null===(ree=[eee.astNode,...eee.extensionASTNodes].flatMap((eee=>{var tee;return null!==(tee=null==eee?void 0:eee.operationTypes)&&void 0!==tee?tee:[]})).find((eee=>eee.operation===tee)))||void 0===ree?void 0:ree.type}function xwe(eee,tee){tee.name.startsWith("__")&&eee.reportError(`Name "${tee.name}" must not begin with "__", which is reserved by GraphQL introspection.`,tee.astNode)}function kwe(eee,tee){const ree=Object.values(tee.getFields());0===ree.length&&eee.reportError(`Type ${tee.name} must define one or more fields.`,[tee.astNode,...tee.extensionASTNodes]);for(const iee of ree){var oee;if(xwe(eee,iee),!Xhe(iee.type))eee.reportError(`The type of ${tee.name}.${iee.name} must be Output Type but got: ${Zue(iee.type)}.`,null===(oee=iee.astNode)||void 0===oee?void 0:oee.type);for(const ree of iee.args){const oee=ree.name;var nee,aee;if(xwe(eee,ree),!Hhe(ree.type))eee.reportError(`The type of ${tee.name}.${iee.name}(${oee}:) must be Input Type but got: ${Zue(ree.type)}.`,null===(nee=ree.astNode)||void 0===nee?void 0:nee.type);if(vge(ree)&&null!=ree.deprecationReason)eee.reportError(`Required argument ${tee.name}.${iee.name}(${oee}:) cannot be deprecated.`,[Rwe(ree.astNode),null===(aee=ree.astNode)||void 0===aee?void 0:aee.type])}}}function _we(eee,tee){const ree=Object.create(null);for(const oee of tee.getInterfaces())qhe(oee)?tee!==oee?ree[oee.name]?eee.reportError(`Type ${tee.name} can only implement ${oee.name} once.`,Nwe(tee,oee)):(ree[oee.name]=!0,Twe(eee,tee,oee),Ewe(eee,tee,oee)):eee.reportError(`Type ${tee.name} cannot implement itself because it would create a circular reference.`,Nwe(tee,oee)):eee.reportError(`Type ${Zue(tee)} must only implement Interface types, it cannot implement ${Zue(oee)}.`,Nwe(tee,oee))}function Ewe(eee,tee,ree){const oee=tee.getFields();for(const lee of Object.values(ree.getFields())){const cee=lee.name,pee=oee[cee];if(pee){var nee,aee;if(!Nge(eee.schema,pee.type,lee.type))eee.reportError(`Interface field ${ree.name}.${cee} expects type ${Zue(lee.type)} but ${tee.name}.${cee} is type ${Zue(pee.type)}.`,[null===(nee=lee.astNode)||void 0===nee?void 0:nee.type,null===(aee=pee.astNode)||void 0===aee?void 0:aee.type]);for(const oee of lee.args){const nee=oee.name,aee=pee.args.find((eee=>eee.name===nee));var iee,see;if(aee){if(!Oge(oee.type,aee.type))eee.reportError(`Interface field argument ${ree.name}.${cee}(${nee}:) expects type ${Zue(oee.type)} but ${tee.name}.${cee}(${nee}:) is type ${Zue(aee.type)}.`,[null===(iee=oee.astNode)||void 0===iee?void 0:iee.type,null===(see=aee.astNode)||void 0===see?void 0:see.type])}else eee.reportError(`Interface field argument ${ree.name}.${cee}(${nee}:) expected but ${tee.name}.${cee} does not provide it.`,[oee.astNode,pee.astNode])}for(const oee of pee.args){const nee=oee.name;!lee.args.find((eee=>eee.name===nee))&&vge(oee)&&eee.reportError(`Object field ${tee.name}.${cee} includes required argument ${nee} that is missing from the Interface field ${ree.name}.${cee}.`,[oee.astNode,lee.astNode])}}else eee.reportError(`Interface field ${ree.name}.${cee} expected but ${tee.name} does not provide it.`,[lee.astNode,tee.astNode,...tee.extensionASTNodes])}}function Twe(eee,tee,ree){const oee=tee.getInterfaces();for(const nee of ree.getInterfaces())oee.includes(nee)||eee.reportError(nee===tee?`Type ${tee.name} cannot implement ${ree.name} because it would create a circular reference.`:`Type ${tee.name} must implement ${nee.name} because it is implemented by ${ree.name}.`,[...Nwe(ree,nee),...Nwe(tee,ree)])}function Swe(eee,tee){const ree=tee.getTypes();0===ree.length&&eee.reportError(`Union type ${tee.name} must define one or more member types.`,[tee.astNode,...tee.extensionASTNodes]);const oee=Object.create(null);for(const nee of ree)oee[nee.name]?eee.reportError(`Union type ${tee.name} can only include type ${nee.name} once.`,Awe(tee,nee.name)):(oee[nee.name]=!0,$he(nee)||eee.reportError(`Union type ${tee.name} can only include Object types, it cannot include ${Zue(nee)}.`,Awe(tee,String(nee))))}function Iwe(eee,tee){const ree=tee.getValues();0===ree.length&&eee.reportError(`Enum type ${tee.name} must define one or more values.`,[tee.astNode,...tee.extensionASTNodes]);for(const oee of ree)xwe(eee,oee)}function Owe(eee,tee){const ree=Object.values(tee.getFields());0===ree.length&&eee.reportError(`Input Object type ${tee.name} must define one or more fields.`,[tee.astNode,...tee.extensionASTNodes]);for(const aee of ree){var oee,nee;if(xwe(eee,aee),!Hhe(aee.type))eee.reportError(`The type of ${tee.name}.${aee.name} must be Input Type but got: ${Zue(aee.type)}.`,null===(oee=aee.astNode)||void 0===oee?void 0:oee.type);if(Ige(aee)&&null!=aee.deprecationReason)eee.reportError(`Required input field ${tee.name}.${aee.name} cannot be deprecated.`,[Rwe(aee.astNode),null===(nee=aee.astNode)||void 0===nee?void 0:nee.type])}}function Nwe(eee,tee){const{astNode:ree,extensionASTNodes:oee}=eee;return(null!=ree?[ree,...oee]:oee).flatMap((eee=>{var tee;return null!==(tee=eee.interfaces)&&void 0!==tee?tee:[]})).filter((eee=>eee.name.value===tee.name))}function Awe(eee,tee){const{astNode:ree,extensionASTNodes:oee}=eee;return(null!=ree?[ree,...oee]:oee).flatMap((eee=>{var tee;return null!==(tee=eee.types)&&void 0!==tee?tee:[]})).filter((eee=>eee.name.value===tee))}function Rwe(eee){var tee;return null==eee||null===(tee=eee.directives)||void 0===tee?void 0:tee.find((eee=>eee.name.value===Gge.name))}function Cwe(eee,tee){switch(tee.kind){case vue.LIST_TYPE:{const ree=Cwe(eee,tee.type);return ree&&new tge(ree)}case vue.NON_NULL_TYPE:{const ree=Cwe(eee,tee.type);return ree&&new rge(ree)}case vue.NAMED_TYPE:return eee.getType(tee.name.value)}}class Dwe{constructor(eee,tee,ree){this._schema=eee,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=null!=ree?ree:Lwe,tee&&(Hhe(tee)&&this._inputTypeStack.push(tee),Jhe(tee)&&this._parentTypeStack.push(tee),Xhe(tee)&&this._typeStack.push(tee))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(eee){const tee=this._schema;switch(eee.kind){case vue.SELECTION_SET:{const eee=lge(this.getType());this._parentTypeStack.push(Jhe(eee)?eee:void 0);break}case vue.FIELD:{const ree=this.getParentType();let oee,nee;ree&&(oee=this._getFieldDef(tee,ree,eee),oee&&(nee=oee.type)),this._fieldDefStack.push(oee),this._typeStack.push(Xhe(nee)?nee:void 0);break}case vue.DIRECTIVE:this._directive=tee.getDirective(eee.name.value);break;case vue.OPERATION_DEFINITION:{const ree=tee.getRootType(eee.operation);this._typeStack.push($he(ree)?ree:void 0);break}case vue.INLINE_FRAGMENT:case vue.FRAGMENT_DEFINITION:{const ree=eee.typeCondition,oee=ree?Cwe(tee,ree):lge(this.getType());this._typeStack.push(Xhe(oee)?oee:void 0);break}case vue.VARIABLE_DEFINITION:{const ree=Cwe(tee,eee.type);this._inputTypeStack.push(Hhe(ree)?ree:void 0);break}case vue.ARGUMENT:{var ree;let tee,oee;const nee=null!==(ree=this.getDirective())&&void 0!==ree?ree:this.getFieldDef();nee&&(tee=nee.args.find((tee=>tee.name===eee.name.value)),tee&&(oee=tee.type)),this._argument=tee,this._defaultValueStack.push(tee?tee.defaultValue:void 0),this._inputTypeStack.push(Hhe(oee)?oee:void 0);break}case vue.LIST:{const eee=ige(this.getInputType()),tee=Whe(eee)?eee.ofType:eee;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Hhe(tee)?tee:void 0);break}case vue.OBJECT_FIELD:{const tee=lge(this.getInputType());let ree,oee;Qhe(tee)&&(oee=tee.getFields()[eee.name.value],oee&&(ree=oee.type)),this._defaultValueStack.push(oee?oee.defaultValue:void 0),this._inputTypeStack.push(Hhe(ree)?ree:void 0);break}case vue.ENUM:{const tee=lge(this.getInputType());let ree;Ghe(tee)&&(ree=tee.getValue(eee.value)),this._enumValue=ree;break}}}leave(eee){switch(eee.kind){case vue.SELECTION_SET:this._parentTypeStack.pop();break;case vue.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case vue.DIRECTIVE:this._directive=null;break;case vue.OPERATION_DEFINITION:case vue.INLINE_FRAGMENT:case vue.FRAGMENT_DEFINITION:this._typeStack.pop();break;case vue.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case vue.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case vue.LIST:case vue.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case vue.ENUM:this._enumValue=null}}}function Lwe(eee,tee,ree){const oee=ree.name.value;return oee===lwe.name&&eee.getQueryType()===tee?lwe:oee===cwe.name&&eee.getQueryType()===tee?cwe:oee===pwe.name&&Jhe(tee)?pwe:$he(tee)||qhe(tee)?tee.getFields()[oee]:void 0}function Fwe(eee,tee){return{enter(...ree){const oee=ree[0];eee.enter(oee);const fn=Ohe(tee,oee.kind).enter;if(fn){const nee=fn.apply(tee,ree);return void 0!==nee&&(eee.leave(oee),fue(nee)&&eee.enter(nee)),nee}},leave(...ree){const oee=ree[0],fn=Ohe(tee,oee.kind).leave;let nee;return fn&&(nee=fn.apply(tee,ree)),eee.leave(oee),nee}}}function zwe(eee){return eee.kind===vue.OPERATION_DEFINITION||eee.kind===vue.FRAGMENT_DEFINITION}function Mwe(eee){return eee.kind===vue.VARIABLE||eee.kind===vue.INT||eee.kind===vue.FLOAT||eee.kind===vue.STRING||eee.kind===vue.BOOLEAN||eee.kind===vue.NULL||eee.kind===vue.ENUM||eee.kind===vue.LIST||eee.kind===vue.OBJECT}function Pwe(eee){return eee.kind===vue.SCHEMA_DEFINITION||Uwe(eee)||eee.kind===vue.DIRECTIVE_DEFINITION}function Uwe(eee){return eee.kind===vue.SCALAR_TYPE_DEFINITION||eee.kind===vue.OBJECT_TYPE_DEFINITION||eee.kind===vue.INTERFACE_TYPE_DEFINITION||eee.kind===vue.UNION_TYPE_DEFINITION||eee.kind===vue.ENUM_TYPE_DEFINITION||eee.kind===vue.INPUT_OBJECT_TYPE_DEFINITION}function jwe(eee){return eee.kind===vue.SCHEMA_EXTENSION||$we(eee)}function $we(eee){return eee.kind===vue.SCALAR_TYPE_EXTENSION||eee.kind===vue.OBJECT_TYPE_EXTENSION||eee.kind===vue.INTERFACE_TYPE_EXTENSION||eee.kind===vue.UNION_TYPE_EXTENSION||eee.kind===vue.ENUM_TYPE_EXTENSION||eee.kind===vue.INPUT_OBJECT_TYPE_EXTENSION}function Vwe(eee){return{Document(tee){for(const ree of tee.definitions)if(!zwe(ree)){const tee=ree.kind===vue.SCHEMA_DEFINITION||ree.kind===vue.SCHEMA_EXTENSION?"schema":'"'+ree.name.value+'"';eee.reportError(new cue(`The ${tee} definition is not executable.`,{nodes:ree}))}return!1}}}function qwe(eee){return{Field(tee){const ree=eee.getParentType();if(ree){if(!eee.getFieldDef()){const oee=eee.getSchema(),nee=tee.name.value;let aee=che("to use an inline fragment on",function(eee,tee,ree){if(!ege(tee))return[];const oee=new Set,nee=Object.create(null);for(const iee of eee.getPossibleTypes(tee))if(iee.getFields()[ree]){oee.add(iee),nee[iee.name]=1;for(const eee of iee.getInterfaces()){var aee;eee.getFields()[ree]&&(oee.add(eee),nee[eee.name]=(null!==(aee=nee[eee.name])&&void 0!==aee?aee:0)+1)}}return[...oee].sort(((tee,ree)=>{const oee=nee[ree.name]-nee[tee.name];return 0!==oee?oee:qhe(tee)&&eee.isSubType(tee,ree)?-1:qhe(ree)&&eee.isSubType(ree,tee)?1:ghe(tee.name,ree.name)})).map((x=>x.name))}(oee,ree,nee));""===aee&&(aee=che(function(eee,tee){if($he(eee)||qhe(eee)){return mhe(tee,Object.keys(eee.getFields()))}return[]}(ree,nee))),eee.reportError(new cue(`Cannot query field "${nee}" on type "${ree.name}".`+aee,{nodes:tee}))}}}}}function Bwe(eee){return{InlineFragment(tee){const ree=tee.typeCondition;if(ree){const tee=Cwe(eee.getSchema(),ree);if(tee&&!Jhe(tee)){const tee=Nhe(ree);eee.reportError(new cue(`Fragment cannot condition on non composite type "${tee}".`,{nodes:ree}))}}},FragmentDefinition(tee){const ree=Cwe(eee.getSchema(),tee.typeCondition);if(ree&&!Jhe(ree)){const ree=Nhe(tee.typeCondition);eee.reportError(new cue(`Fragment "${tee.name.value}" cannot condition on non composite type "${ree}".`,{nodes:tee.typeCondition}))}}}}function Ywe(eee){return{...Gwe(eee),Argument(tee){const ree=eee.getArgument(),oee=eee.getFieldDef(),nee=eee.getParentType();if(!ree&&oee&&nee){const ree=tee.name.value,aee=mhe(ree,oee.args.map((eee=>eee.name)));eee.reportError(new cue(`Unknown argument "${ree}" on field "${nee.name}.${oee.name}".`+che(aee),{nodes:tee}))}}}}function Gwe(eee){const tee=Object.create(null),ree=eee.getSchema(),oee=ree?ree.getDirectives():Wge;for(const iee of oee)tee[iee.name]=iee.args.map((eee=>eee.name));const nee=eee.getDocument().definitions;for(const iee of nee)if(iee.kind===vue.DIRECTIVE_DEFINITION){var aee;const eee=null!==(aee=iee.arguments)&&void 0!==aee?aee:[];tee[iee.name.value]=eee.map((eee=>eee.name.value))}return{Directive(ree){const oee=ree.name.value,nee=tee[oee];if(ree.arguments&&nee)for(const tee of ree.arguments){const ree=tee.name.value;if(!nee.includes(ree)){const aee=mhe(ree,nee);eee.reportError(new cue(`Unknown argument "${ree}" on directive "@${oee}".`+che(aee),{nodes:tee}))}}return!1}}}function Qwe(eee){const tee=Object.create(null),ree=eee.getSchema(),oee=ree?ree.getDirectives():Wge;for(const aee of oee)tee[aee.name]=aee.locations;const nee=eee.getDocument().definitions;for(const aee of nee)aee.kind===vue.DIRECTIVE_DEFINITION&&(tee[aee.name.value]=aee.locations.map((eee=>eee.value)));return{Directive(ree,oee,nee,aee,iee){const see=ree.name.value,lee=tee[see];if(!lee)return void eee.reportError(new cue(`Unknown directive "@${see}".`,{nodes:ree}));const cee=function(eee){const tee=eee[eee.length-1];switch("kind"in tee||oue(!1),tee.kind){case vue.OPERATION_DEFINITION:return function(eee){switch(eee){case bue.QUERY:return mue.QUERY;case bue.MUTATION:return mue.MUTATION;case bue.SUBSCRIPTION:return mue.SUBSCRIPTION}}(tee.operation);case vue.FIELD:return mue.FIELD;case vue.FRAGMENT_SPREAD:return mue.FRAGMENT_SPREAD;case vue.INLINE_FRAGMENT:return mue.INLINE_FRAGMENT;case vue.FRAGMENT_DEFINITION:return mue.FRAGMENT_DEFINITION;case vue.VARIABLE_DEFINITION:return mue.VARIABLE_DEFINITION;case vue.SCHEMA_DEFINITION:case vue.SCHEMA_EXTENSION:return mue.SCHEMA;case vue.SCALAR_TYPE_DEFINITION:case vue.SCALAR_TYPE_EXTENSION:return mue.SCALAR;case vue.OBJECT_TYPE_DEFINITION:case vue.OBJECT_TYPE_EXTENSION:return mue.OBJECT;case vue.FIELD_DEFINITION:return mue.FIELD_DEFINITION;case vue.INTERFACE_TYPE_DEFINITION:case vue.INTERFACE_TYPE_EXTENSION:return mue.INTERFACE;case vue.UNION_TYPE_DEFINITION:case vue.UNION_TYPE_EXTENSION:return mue.UNION;case vue.ENUM_TYPE_DEFINITION:case vue.ENUM_TYPE_EXTENSION:return mue.ENUM;case vue.ENUM_VALUE_DEFINITION:return mue.ENUM_VALUE;case vue.INPUT_OBJECT_TYPE_DEFINITION:case vue.INPUT_OBJECT_TYPE_EXTENSION:return mue.INPUT_OBJECT;case vue.INPUT_VALUE_DEFINITION:{const tee=eee[eee.length-3];return"kind"in tee||oue(!1),tee.kind===vue.INPUT_OBJECT_TYPE_DEFINITION?mue.INPUT_FIELD_DEFINITION:mue.ARGUMENT_DEFINITION}default:oue(!1,"Unexpected kind: "+Zue(tee.kind))}}(iee);cee&&!lee.includes(cee)&&eee.reportError(new cue(`Directive "@${see}" may not be used on ${cee}.`,{nodes:ree}))}}}function Wwe(eee){return{FragmentSpread(tee){const ree=tee.name.value;eee.getFragment(ree)||eee.reportError(new cue(`Unknown fragment "${ree}".`,{nodes:tee.name}))}}}function Kwe(eee){const tee=eee.getSchema(),ree=tee?tee.getTypeMap():Object.create(null),oee=Object.create(null);for(const aee of eee.getDocument().definitions)Uwe(aee)&&(oee[aee.name.value]=!0);const nee=[...Object.keys(ree),...Object.keys(oee)];return{NamedType(tee,_1,aee,_2,iee){const see=tee.name.value;if(!ree[see]&&!oee[see]){var lee;const ree=null!==(lee=iee[2])&&void 0!==lee?lee:aee,oee=null!=ree&&("kind"in(cee=ree)&&(Pwe(cee)||jwe(cee)));if(oee&&Hwe.includes(see))return;const pee=mhe(see,oee?Hwe.concat(nee):nee);eee.reportError(new cue(`Unknown type "${see}".`+che(pee),{nodes:tee}))}var cee}}}const Hwe=[...Pge,...dwe].map((eee=>eee.name));function Xwe(eee){let tee=0;return{Document(eee){tee=eee.definitions.filter((eee=>eee.kind===vue.OPERATION_DEFINITION)).length},OperationDefinition(ree){!ree.name&&tee>1&&eee.reportError(new cue("This anonymous operation must be the only defined operation.",{nodes:ree}))}}}function Zwe(eee){var tee,ree,oee;const nee=eee.getSchema(),aee=null!==(tee=null!==(ree=null!==(oee=null==nee?void 0:nee.astNode)&&void 0!==oee?oee:null==nee?void 0:nee.getQueryType())&&void 0!==ree?ree:null==nee?void 0:nee.getMutationType())&&void 0!==tee?tee:null==nee?void 0:nee.getSubscriptionType();let iee=0;return{SchemaDefinition(tee){aee?eee.reportError(new cue("Cannot define a new schema within a schema extension.",{nodes:tee})):(iee>0&&eee.reportError(new cue("Must provide only one schema definition.",{nodes:tee})),++iee)}}}function Jwe(eee){const tee=Object.create(null),ree=[],oee=Object.create(null);return{OperationDefinition:()=>!1,FragmentDefinition:eee=>(nee(eee),!1)};function nee(aee){if(tee[aee.name.value])return;const iee=aee.name.value;tee[iee]=!0;const see=eee.getFragmentSpreads(aee.selectionSet);if(0!==see.length){oee[iee]=ree.length;for(const tee of see){const aee=tee.name.value,iee=oee[aee];if(ree.push(tee),void 0===iee){const tee=eee.getFragment(aee);tee&&nee(tee)}else{const tee=ree.slice(iee),oee=tee.slice(0,-1).map((s=>'"'+s.name.value+'"')).join(", ");eee.reportError(new cue(`Cannot spread fragment "${aee}" within itself`+(""!==oee?` via ${oee}.`:"."),{nodes:tee}))}ree.pop()}oee[iee]=void 0}}}function efe(eee){let tee=Object.create(null);return{OperationDefinition:{enter(){tee=Object.create(null)},leave(ree){const oee=eee.getRecursiveVariableUsages(ree);for(const{node:nee}of oee){const oee=nee.name.value;!0!==tee[oee]&&eee.reportError(new cue(ree.name?`Variable "$${oee}" is not defined by operation "${ree.name.value}".`:`Variable "$${oee}" is not defined.`,{nodes:[nee,ree]}))}}},VariableDefinition(eee){tee[eee.variable.name.value]=!0}}}function tfe(eee){const tee=[],ree=[];return{OperationDefinition:eee=>(tee.push(eee),!1),FragmentDefinition:eee=>(ree.push(eee),!1),Document:{leave(){const oee=Object.create(null);for(const ree of tee)for(const tee of eee.getRecursivelyReferencedFragments(ree))oee[tee.name.value]=!0;for(const tee of ree){const ree=tee.name.value;!0!==oee[ree]&&eee.reportError(new cue(`Fragment "${ree}" is never used.`,{nodes:tee}))}}}}}function rfe(eee){let tee=[];return{OperationDefinition:{enter(){tee=[]},leave(ree){const oee=Object.create(null),nee=eee.getRecursiveVariableUsages(ree);for(const{node:eee}of nee)oee[eee.name.value]=!0;for(const aee of tee){const tee=aee.variable.name.value;!0!==oee[tee]&&eee.reportError(new cue(ree.name?`Variable "$${tee}" is never used in operation "${ree.name.value}".`:`Variable "$${tee}" is never used.`,{nodes:aee}))}}},VariableDefinition(eee){tee.push(eee)}}}function ofe(eee){switch(eee.kind){case vue.OBJECT:return{...eee,fields:(tee=eee.fields,tee.map((eee=>({...eee,value:ofe(eee.value)}))).sort(((eee,tee)=>ghe(eee.name.value,tee.name.value))))};case vue.LIST:return{...eee,values:eee.values.map(ofe)};case vue.INT:case vue.FLOAT:case vue.STRING:case vue.BOOLEAN:case vue.NULL:case vue.ENUM:case vue.VARIABLE:return eee}var tee}function nfe(eee){return Array.isArray(eee)?eee.map((([eee,tee])=>`subfields "${eee}" conflict because `+nfe(tee))).join(" and "):eee}function afe(eee){const tee=new wfe,ree=new Map;return{SelectionSet(oee){const nee=function(eee,tee,ree,oee,nee){const aee=[],[iee,see]=ufe(eee,tee,oee,nee);if(function(eee,tee,ree,oee,nee){for(const[aee,iee]of Object.entries(nee))if(iee.length>1)for(let i=0;i[eee.value,tee])));return ree.every((eee=>{const tee=eee.value,ree=nee.get(eee.name.value);return void 0!==ree&&pfe(tee)===pfe(ree)}))}(lee,dee))return[[nee,"they have differing arguments"],[lee],[dee]]}const gee=null==cee?void 0:cee.type,wee=null==uee?void 0:uee.type;if(gee&&wee&&dfe(gee,wee))return[[nee,`they return conflicting types "${Zue(gee)}" and "${Zue(wee)}"`],[lee],[dee]];const fee=lee.selectionSet,bee=dee.selectionSet;if(fee&&bee){const oee=function(eee,tee,ree,oee,nee,aee,iee,see){const lee=[],[cee,pee]=ufe(eee,tee,nee,aee),[dee,uee]=ufe(eee,tee,iee,see);lfe(eee,lee,tee,ree,oee,cee,dee);for(const hee of uee)ife(eee,lee,tee,ree,oee,cee,hee);for(const hee of pee)ife(eee,lee,tee,ree,oee,dee,hee);for(const hee of pee)for(const nee of uee)sfe(eee,lee,tee,ree,oee,hee,nee);return lee}(eee,tee,ree,hee,lge(gee),fee,lge(wee),bee);return function(eee,tee,ree,oee){if(eee.length>0)return[[tee,eee.map((([eee])=>eee))],[ree,...eee.map((([,eee])=>eee)).flat()],[oee,...eee.map((([,,eee])=>eee)).flat()]]}(oee,nee,lee,dee)}}function pfe(eee){return Nhe(ofe(eee))}function dfe(eee,tee){return Whe(eee)?!Whe(tee)||dfe(eee.ofType,tee.ofType):!!Whe(tee)||(Khe(eee)?!Khe(tee)||dfe(eee.ofType,tee.ofType):!!Khe(tee)||!(!Zhe(eee)&&!Zhe(tee))&&eee!==tee)}function ufe(eee,tee,ree,oee){const nee=tee.get(oee);if(nee)return nee;const aee=Object.create(null),iee=Object.create(null);gfe(eee,ree,oee,aee,iee);const see=[aee,Object.keys(iee)];return tee.set(oee,see),see}function hfe(eee,tee,ree){const oee=tee.get(ree.selectionSet);if(oee)return oee;const nee=Cwe(eee.getSchema(),ree.typeCondition);return ufe(eee,tee,nee,ree.selectionSet)}function gfe(eee,tee,ree,oee,nee){for(const aee of ree.selections)switch(aee.kind){case vue.FIELD:{const eee=aee.name.value;let ree;($he(tee)||qhe(tee))&&(ree=tee.getFields()[eee]);const nee=aee.alias?aee.alias.value:eee;oee[nee]||(oee[nee]=[]),oee[nee].push([tee,aee,ree]);break}case vue.FRAGMENT_SPREAD:nee[aee.name.value]=!0;break;case vue.INLINE_FRAGMENT:{const ree=aee.typeCondition,iee=ree?Cwe(eee.getSchema(),ree):tee;gfe(eee,iee,aee.selectionSet,oee,nee);break}}}class wfe{constructor(){this._data=new Map}has(a,b,eee){var tee;const[ree,oee]=aeee.name.value)));for(const aee of oee.args)if(!nee.has(aee.name)&&vge(aee)){const ree=Zue(aee.type);eee.reportError(new cue(`Field "${oee.name}" argument "${aee.name}" of type "${ree}" is required, but it was not provided.`,{nodes:tee}))}}}}}function yfe(eee){var tee;const ree=Object.create(null),oee=eee.getSchema(),nee=null!==(tee=null==oee?void 0:oee.getDirectives())&&void 0!==tee?tee:Wge;for(const see of nee)ree[see.name]=dhe(see.args.filter(vge),(eee=>eee.name));const aee=eee.getDocument().definitions;for(const see of aee)if(see.kind===vue.DIRECTIVE_DEFINITION){var iee;const eee=null!==(iee=see.arguments)&&void 0!==iee?iee:[];ree[see.name.value]=dhe(eee.filter(xfe),(eee=>eee.name.value))}return{Directive:{leave(tee){const oee=tee.name.value,nee=ree[oee];if(nee){var aee;const ree=null!==(aee=tee.arguments)&&void 0!==aee?aee:[],iee=new Set(ree.map((eee=>eee.name.value)));for(const[aee,see]of Object.entries(nee))if(!iee.has(aee)){const ree=Uhe(see.type)?Zue(see.type):Nhe(see.type);eee.reportError(new cue(`Directive "@${oee}" argument "${aee}" of type "${ree}" is required, but it was not provided.`,{nodes:tee}))}}}}}}function xfe(eee){return eee.type.kind===vue.NON_NULL_TYPE&&null==eee.defaultValue}function kfe(eee){return{Field(tee){const ree=eee.getType(),oee=tee.selectionSet;if(ree)if(Zhe(lge(ree))){if(oee){const nee=tee.name.value,aee=Zue(ree);eee.reportError(new cue(`Field "${nee}" must not have a selection since type "${aee}" has no subfields.`,{nodes:oee}))}}else if(!oee){const oee=tee.name.value,nee=Zue(ree);eee.reportError(new cue(`Field "${oee}" of type "${nee}" must have a selection of subfields. Did you mean "${oee} { ... }"?`,{nodes:tee}))}}}}function _fe(eee){return eee.map((eee=>"number"==typeof eee?"["+eee.toString()+"]":"."+eee)).join("")}function Efe(eee,tee,ree){return{prev:eee,key:tee,typename:ree}}function Tfe(eee){const tee=[];let ree=eee;for(;ree;)tee.push(ree.key),ree=ree.prev;return tee.reverse()}function Sfe(eee,tee,ree=Ife){return Ofe(eee,tee,ree,void 0)}function Ife(eee,tee,ree){let oee="Invalid value "+Zue(tee);throw eee.length>0&&(oee+=` at "value${_fe(eee)}"`),ree.message=oee+": "+ree.message,ree}function Ofe(eee,tee,ree,oee){if(Khe(tee))return null!=eee?Ofe(eee,tee.ofType,ree,oee):void ree(Tfe(oee),eee,new cue(`Expected non-nullable type "${Zue(tee)}" not to be null.`));if(null==eee)return null;if(Whe(tee)){const nee=tee.ofType;return Hge(eee)?Array.from(eee,((eee,tee)=>{const aee=Efe(oee,tee,void 0);return Ofe(eee,nee,ree,aee)})):[Ofe(eee,nee,ree,oee)]}if(Qhe(tee)){if(!rue(eee))return void ree(Tfe(oee),eee,new cue(`Expected type "${tee.name}" to be an object.`));const nee={},aee=tee.getFields();for(const iee of Object.values(aee)){const aee=eee[iee.name];if(void 0!==aee)nee[iee.name]=Ofe(aee,iee.type,ree,Efe(oee,iee.name,tee.name));else if(void 0!==iee.defaultValue)nee[iee.name]=iee.defaultValue;else if(Khe(iee.type)){const tee=Zue(iee.type);ree(Tfe(oee),eee,new cue(`Field "${iee.name}" of required type "${tee}" was not provided.`))}}for(const iee of Object.keys(eee))if(!aee[iee]){const nee=mhe(iee,Object.keys(tee.getFields()));ree(Tfe(oee),eee,new cue(`Field "${iee}" is not defined by type "${tee.name}".`+che(nee)))}return nee}if(Zhe(tee)){let aee;try{aee=tee.parseValue(eee)}catch(nee){return void ree(Tfe(oee),eee,nee instanceof cue?nee:new cue(`Expected type "${tee.name}". `+nee.message,{originalError:nee}))}return void 0===aee&&ree(Tfe(oee),eee,new cue(`Expected type "${tee.name}".`)),aee}oue(!1,"Unexpected input type: "+Zue(tee))}function Nfe(eee,tee,ree){if(eee){if(eee.kind===vue.VARIABLE){const oee=eee.name.value;if(null==ree||void 0===ree[oee])return;const nee=ree[oee];if(null===nee&&Khe(tee))return;return nee}if(Khe(tee)){if(eee.kind===vue.NULL)return;return Nfe(eee,tee.ofType,ree)}if(eee.kind===vue.NULL)return null;if(Whe(tee)){const oee=tee.ofType;if(eee.kind===vue.LIST){const tee=[];for(const nee of eee.values)if(Afe(nee,ree)){if(Khe(oee))return;tee.push(null)}else{const eee=Nfe(nee,oee,ree);if(void 0===eee)return;tee.push(eee)}return tee}const nee=Nfe(eee,oee,ree);if(void 0===nee)return;return[nee]}if(Qhe(tee)){if(eee.kind!==vue.OBJECT)return;const oee=Object.create(null),nee=dhe(eee.fields,(eee=>eee.name.value));for(const eee of Object.values(tee.getFields())){const tee=nee[eee.name];if(!tee||Afe(tee.value,ree)){if(void 0!==eee.defaultValue)oee[eee.name]=eee.defaultValue;else if(Khe(eee.type))return;continue}const aee=Nfe(tee.value,eee.type,ree);if(void 0===aee)return;oee[eee.name]=aee}return oee}if(Zhe(tee)){let nee;try{nee=tee.parseLiteral(eee,ree)}catch(oee){return}if(void 0===nee)return;return nee}oue(!1,"Unexpected input type: "+Zue(tee))}}function Afe(eee,tee){return eee.kind===vue.VARIABLE&&(null==tee||void 0===tee[eee.name.value])}function Rfe(eee,tee,ree,oee){const nee=[],aee=null==oee?void 0:oee.maxErrors;try{const oee=function(eee,tee,ree,oee){const nee={};for(const aee of tee){const tee=aee.variable.name.value,iee=Cwe(eee,aee.type);if(!Hhe(iee)){const eee=Nhe(aee.type);oee(new cue(`Variable "$${tee}" expected value of type "${eee}" which cannot be used as an input type.`,{nodes:aee.type}));continue}if(!Lfe(ree,tee)){if(aee.defaultValue)nee[tee]=Nfe(aee.defaultValue,iee);else if(Khe(iee)){const eee=Zue(iee);oee(new cue(`Variable "$${tee}" of required type "${eee}" was not provided.`,{nodes:aee}))}continue}const see=ree[tee];if(null===see&&Khe(iee)){const eee=Zue(iee);oee(new cue(`Variable "$${tee}" of non-null type "${eee}" must not be null.`,{nodes:aee}))}else nee[tee]=Sfe(see,iee,((eee,ree,nee)=>{let iee=`Variable "$${tee}" got invalid value `+Zue(ree);eee.length>0&&(iee+=` at "${tee}${_fe(eee)}"`),oee(new cue(iee+"; "+nee.message,{nodes:aee,originalError:nee}))}))}return nee}(eee,tee,ree,(eee=>{if(null!=aee&&nee.length>=aee)throw new cue("Too many errors processing variables, error limit reached. Execution aborted.");nee.push(eee)}));if(0===nee.length)return{coerced:oee}}catch(iee){nee.push(iee)}return{errors:nee}}function Cfe(eee,tee,ree){var oee;const nee={},aee=dhe(null!==(oee=tee.arguments)&&void 0!==oee?oee:[],(eee=>eee.name.value));for(const iee of eee.args){const eee=iee.name,oee=iee.type,see=aee[eee];if(!see){if(void 0!==iee.defaultValue)nee[eee]=iee.defaultValue;else if(Khe(oee))throw new cue(`Argument "${eee}" of required type "${Zue(oee)}" was not provided.`,{nodes:tee});continue}const lee=see.value;let cee=lee.kind===vue.NULL;if(lee.kind===vue.VARIABLE){const tee=lee.name.value;if(null==ree||!Lfe(ree,tee)){if(void 0!==iee.defaultValue)nee[eee]=iee.defaultValue;else if(Khe(oee))throw new cue(`Argument "${eee}" of required type "${Zue(oee)}" was provided the variable "$${tee}" which was not provided a runtime value.`,{nodes:lee});continue}cee=null==ree[tee]}if(cee&&Khe(oee))throw new cue(`Argument "${eee}" of non-null type "${Zue(oee)}" must not be null.`,{nodes:lee});const pee=Nfe(lee,oee,ree);if(void 0===pee)throw new cue(`Argument "${eee}" has invalid value ${Nhe(lee)}.`,{nodes:lee});nee[eee]=pee}return nee}function Dfe(eee,tee,ree){var oee;const nee=null===(oee=tee.directives)||void 0===oee?void 0:oee.find((tee=>tee.name.value===eee.name));if(nee)return Cfe(eee,nee,ree)}function Lfe(eee,tee){return Object.prototype.hasOwnProperty.call(eee,tee)}function Ffe(eee,tee,ree,oee,nee){const aee=new Map;return zfe(eee,tee,ree,oee,nee,aee,new Set),aee}function zfe(eee,tee,ree,oee,nee,aee,iee){for(const lee of nee.selections)switch(lee.kind){case vue.FIELD:{if(!Mfe(ree,lee))continue;const eee=(see=lee).alias?see.alias.value:see.name.value,tee=aee.get(eee);void 0!==tee?tee.push(lee):aee.set(eee,[lee]);break}case vue.INLINE_FRAGMENT:if(!Mfe(ree,lee)||!Pfe(eee,lee,oee))continue;zfe(eee,tee,ree,oee,lee.selectionSet,aee,iee);break;case vue.FRAGMENT_SPREAD:{const nee=lee.name.value;if(iee.has(nee)||!Mfe(ree,lee))continue;iee.add(nee);const see=tee[nee];if(!see||!Pfe(eee,see,oee))continue;zfe(eee,tee,ree,oee,see.selectionSet,aee,iee);break}}var see}function Mfe(eee,tee){const ree=Dfe(Bge,tee,eee);if(!0===(null==ree?void 0:ree.if))return!1;const oee=Dfe(qge,tee,eee);return!1!==(null==oee?void 0:oee.if)}function Pfe(eee,tee,ree){const oee=tee.typeCondition;if(!oee)return!0;const nee=Cwe(eee,oee);return nee===ree||!!ege(nee)&&eee.isSubType(nee,ree)}function Ufe(eee){return{OperationDefinition(tee){if("subscription"===tee.operation){const ree=eee.getSchema(),oee=ree.getSubscriptionType();if(oee){const nee=tee.name?tee.name.value:null,aee=Object.create(null),iee=eee.getDocument(),see=Object.create(null);for(const eee of iee.definitions)eee.kind===vue.FRAGMENT_DEFINITION&&(see[eee.name.value]=eee);const lee=Ffe(ree,see,aee,oee,tee.selectionSet);if(lee.size>1){const tee=[...lee.values()].slice(1).flat();eee.reportError(new cue(null!=nee?`Subscription "${nee}" must select only one top level field.`:"Anonymous Subscription must select only one top level field.",{nodes:tee}))}for(const tee of lee.values()){tee[0].name.value.startsWith("__")&&eee.reportError(new cue(null!=nee?`Subscription "${nee}" must not select an introspection top level field.`:"Anonymous Subscription must not select an introspection top level field.",{nodes:tee}))}}}}}}function jfe(eee,tee){const ree=new Map;for(const oee of eee){const eee=tee(oee),nee=ree.get(eee);void 0===nee?ree.set(eee,[oee]):nee.push(oee)}return ree}function $fe(eee){return{DirectiveDefinition(eee){var tee;const oee=null!==(tee=eee.arguments)&&void 0!==tee?tee:[];return ree(`@${eee.name.value}`,oee)},InterfaceTypeDefinition:tee,InterfaceTypeExtension:tee,ObjectTypeDefinition:tee,ObjectTypeExtension:tee};function tee(eee){var tee;const oee=eee.name.value,nee=null!==(tee=eee.fields)&&void 0!==tee?tee:[];for(const iee of nee){var aee;ree(`${oee}.${iee.name.value}`,null!==(aee=iee.arguments)&&void 0!==aee?aee:[])}return!1}function ree(tee,ree){const oee=jfe(ree,(eee=>eee.name.value));for(const[nee,aee]of oee)aee.length>1&&eee.reportError(new cue(`Argument "${tee}(${nee}:)" can only be defined once.`,{nodes:aee.map((eee=>eee.name))}));return!1}}function Vfe(eee){return{Field:tee,Directive:tee};function tee(tee){var ree;const oee=jfe(null!==(ree=tee.arguments)&&void 0!==ree?ree:[],(eee=>eee.name.value));for(const[nee,aee]of oee)aee.length>1&&eee.reportError(new cue(`There can be only one argument named "${nee}".`,{nodes:aee.map((eee=>eee.name))}))}}function qfe(eee){const tee=Object.create(null),ree=eee.getSchema();return{DirectiveDefinition(oee){const nee=oee.name.value;if(null==ree||!ree.getDirective(nee))return tee[nee]?eee.reportError(new cue(`There can be only one directive named "@${nee}".`,{nodes:[tee[nee],oee.name]})):tee[nee]=oee.name,!1;eee.reportError(new cue(`Directive "@${nee}" already exists in the schema. It cannot be redefined.`,{nodes:oee.name}))}}}function Bfe(eee){const tee=Object.create(null),ree=eee.getSchema(),oee=ree?ree.getDirectives():Wge;for(const see of oee)tee[see.name]=!see.isRepeatable;const nee=eee.getDocument().definitions;for(const see of nee)see.kind===vue.DIRECTIVE_DEFINITION&&(tee[see.name.value]=!see.repeatable);const aee=Object.create(null),iee=Object.create(null);return{enter(ree){if(!("directives"in ree)||!ree.directives)return;let oee;if(ree.kind===vue.SCHEMA_DEFINITION||ree.kind===vue.SCHEMA_EXTENSION)oee=aee;else if(Uwe(ree)||$we(ree)){const eee=ree.name.value;oee=iee[eee],void 0===oee&&(iee[eee]=oee=Object.create(null))}else oee=Object.create(null);for(const nee of ree.directives){const ree=nee.name.value;tee[ree]&&(oee[ree]?eee.reportError(new cue(`The directive "@${ree}" can only be used once at this location.`,{nodes:[oee[ree],nee]})):oee[ree]=nee)}}}}function Yfe(eee){const tee=eee.getSchema(),ree=tee?tee.getTypeMap():Object.create(null),oee=Object.create(null);return{EnumTypeDefinition:nee,EnumTypeExtension:nee};function nee(tee){var nee;const aee=tee.name.value;oee[aee]||(oee[aee]=Object.create(null));const iee=null!==(nee=tee.values)&&void 0!==nee?nee:[],see=oee[aee];for(const oee of iee){const tee=oee.name.value,nee=ree[aee];Ghe(nee)&&nee.getValue(tee)?eee.reportError(new cue(`Enum value "${aee}.${tee}" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:oee.name})):see[tee]?eee.reportError(new cue(`Enum value "${aee}.${tee}" can only be defined once.`,{nodes:[see[tee],oee.name]})):see[tee]=oee.name}return!1}}function Gfe(eee){const tee=eee.getSchema(),ree=tee?tee.getTypeMap():Object.create(null),oee=Object.create(null);return{InputObjectTypeDefinition:nee,InputObjectTypeExtension:nee,InterfaceTypeDefinition:nee,InterfaceTypeExtension:nee,ObjectTypeDefinition:nee,ObjectTypeExtension:nee};function nee(tee){var nee;const aee=tee.name.value;oee[aee]||(oee[aee]=Object.create(null));const iee=null!==(nee=tee.fields)&&void 0!==nee?nee:[],see=oee[aee];for(const oee of iee){const tee=oee.name.value;Qfe(ree[aee],tee)?eee.reportError(new cue(`Field "${aee}.${tee}" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:oee.name})):see[tee]?eee.reportError(new cue(`Field "${aee}.${tee}" can only be defined once.`,{nodes:[see[tee],oee.name]})):see[tee]=oee.name}return!1}}function Qfe(eee,tee){return!!($he(eee)||qhe(eee)||Qhe(eee))&&null!=eee.getFields()[tee]}function Wfe(eee){const tee=Object.create(null);return{OperationDefinition:()=>!1,FragmentDefinition(ree){const oee=ree.name.value;return tee[oee]?eee.reportError(new cue(`There can be only one fragment named "${oee}".`,{nodes:[tee[oee],ree.name]})):tee[oee]=ree.name,!1}}}function Kfe(eee){const tee=[];let ree=Object.create(null);return{ObjectValue:{enter(){tee.push(ree),ree=Object.create(null)},leave(){const eee=tee.pop();eee||oue(!1),ree=eee}},ObjectField(tee){const oee=tee.name.value;ree[oee]?eee.reportError(new cue(`There can be only one input field named "${oee}".`,{nodes:[ree[oee],tee.name]})):ree[oee]=tee.name}}}function Hfe(eee){const tee=Object.create(null);return{OperationDefinition(ree){const oee=ree.name;return oee&&(tee[oee.value]?eee.reportError(new cue(`There can be only one operation named "${oee.value}".`,{nodes:[tee[oee.value],oee]})):tee[oee.value]=oee),!1},FragmentDefinition:()=>!1}}function Xfe(eee){const tee=eee.getSchema(),ree=Object.create(null),oee=tee?{query:tee.getQueryType(),mutation:tee.getMutationType(),subscription:tee.getSubscriptionType()}:{};return{SchemaDefinition:nee,SchemaExtension:nee};function nee(tee){var nee;const aee=null!==(nee=tee.operationTypes)&&void 0!==nee?nee:[];for(const iee of aee){const tee=iee.operation,nee=ree[tee];oee[tee]?eee.reportError(new cue(`Type for ${tee} already defined in the schema. It cannot be redefined.`,{nodes:iee})):nee?eee.reportError(new cue(`There can be only one ${tee} type in schema.`,{nodes:[nee,iee]})):ree[tee]=iee}return!1}}function Zfe(eee){const tee=Object.create(null),ree=eee.getSchema();return{ScalarTypeDefinition:oee,ObjectTypeDefinition:oee,InterfaceTypeDefinition:oee,UnionTypeDefinition:oee,EnumTypeDefinition:oee,InputObjectTypeDefinition:oee};function oee(oee){const nee=oee.name.value;if(null==ree||!ree.getType(nee))return tee[nee]?eee.reportError(new cue(`There can be only one type named "${nee}".`,{nodes:[tee[nee],oee.name]})):tee[nee]=oee.name,!1;eee.reportError(new cue(`Type "${nee}" already exists in the schema. It cannot also be defined in this type definition.`,{nodes:oee.name}))}}function Jfe(eee){return{OperationDefinition(tee){var ree;const oee=jfe(null!==(ree=tee.variableDefinitions)&&void 0!==ree?ree:[],(eee=>eee.variable.name.value));for(const[nee,aee]of oee)aee.length>1&&eee.reportError(new cue(`There can be only one variable named "$${nee}".`,{nodes:aee.map((eee=>eee.variable.name))}))}}}function ebe(eee){return{ListValue(tee){if(!Whe(ige(eee.getParentInputType())))return tbe(eee,tee),!1},ObjectValue(tee){const ree=lge(eee.getInputType());if(!Qhe(ree))return tbe(eee,tee),!1;const oee=dhe(tee.fields,(eee=>eee.name.value));for(const nee of Object.values(ree.getFields())){if(!oee[nee.name]&&Ige(nee)){const oee=Zue(nee.type);eee.reportError(new cue(`Field "${ree.name}.${nee.name}" of required type "${oee}" was not provided.`,{nodes:tee}))}}},ObjectField(tee){const ree=lge(eee.getParentInputType());if(!eee.getInputType()&&Qhe(ree)){const oee=mhe(tee.name.value,Object.keys(ree.getFields()));eee.reportError(new cue(`Field "${tee.name.value}" is not defined by type "${ree.name}".`+che(oee),{nodes:tee}))}},NullValue(tee){const ree=eee.getInputType();Khe(ree)&&eee.reportError(new cue(`Expected value of type "${Zue(ree)}", found ${Nhe(tee)}.`,{nodes:tee}))},EnumValue:tee=>tbe(eee,tee),IntValue:tee=>tbe(eee,tee),FloatValue:tee=>tbe(eee,tee),StringValue:tee=>tbe(eee,tee),BooleanValue:tee=>tbe(eee,tee)}}function tbe(eee,tee){const ree=eee.getInputType();if(!ree)return;const oee=lge(ree);if(Zhe(oee))try{if(void 0===oee.parseLiteral(tee,void 0)){const oee=Zue(ree);eee.reportError(new cue(`Expected value of type "${oee}", found ${Nhe(tee)}.`,{nodes:tee}))}}catch(nee){const oee=Zue(ree);nee instanceof cue?eee.reportError(nee):eee.reportError(new cue(`Expected value of type "${oee}", found ${Nhe(tee)}; `+nee.message,{nodes:tee,originalError:nee}))}else{const oee=Zue(ree);eee.reportError(new cue(`Expected value of type "${oee}", found ${Nhe(tee)}.`,{nodes:tee}))}}function rbe(eee){return{VariableDefinition(tee){const ree=Cwe(eee.getSchema(),tee.type);if(void 0!==ree&&!Hhe(ree)){const ree=tee.variable.name.value,oee=Nhe(tee.type);eee.reportError(new cue(`Variable "$${ree}" cannot be non-input type "${oee}".`,{nodes:tee.type}))}}}}function obe(eee){let tee=Object.create(null);return{OperationDefinition:{enter(){tee=Object.create(null)},leave(ree){const oee=eee.getRecursiveVariableUsages(ree);for(const{node:nee,type:aee,defaultValue:iee}of oee){const ree=nee.name.value,oee=tee[ree];if(oee&&aee){const tee=eee.getSchema(),see=Cwe(tee,oee.type);if(see&&!nbe(tee,see,oee.defaultValue,aee,iee)){const tee=Zue(see),iee=Zue(aee);eee.reportError(new cue(`Variable "$${ree}" of type "${tee}" used in position expecting type "${iee}".`,{nodes:[oee,nee]}))}}}}},VariableDefinition(eee){tee[eee.variable.name.value]=eee}}}function nbe(eee,tee,ree,oee,nee){if(Khe(oee)&&!Khe(tee)){if(!(null!=ree&&ree.kind!==vue.NULL)&&!(void 0!==nee))return!1;return Nge(eee,tee,oee.ofType)}return Nge(eee,tee,oee)}const abe=Object.freeze([Vwe,Hfe,Xwe,Ufe,Kwe,Bwe,rbe,kfe,qwe,Wfe,Wwe,tfe,ffe,Jwe,Jfe,efe,rfe,Qwe,Bfe,Ywe,Vfe,ebe,vfe,obe,afe,Kfe]),ibe=Object.freeze([Zwe,Xfe,Zfe,Yfe,Gfe,$fe,qfe,Kwe,Qwe,Bfe,bfe,Gwe,Vfe,Kfe,yfe]);class sbe{constructor(eee,tee){this._ast=eee,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=tee}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(eee){this._onError(eee)}getDocument(){return this._ast}getFragment(eee){let tee;if(this._fragments)tee=this._fragments;else{tee=Object.create(null);for(const eee of this.getDocument().definitions)eee.kind===vue.FRAGMENT_DEFINITION&&(tee[eee.name.value]=eee);this._fragments=tee}return tee[eee]}getFragmentSpreads(eee){let tee=this._fragmentSpreads.get(eee);if(!tee){tee=[];const ree=[eee];let oee;for(;oee=ree.pop();)for(const eee of oee.selections)eee.kind===vue.FRAGMENT_SPREAD?tee.push(eee):eee.selectionSet&&ree.push(eee.selectionSet);this._fragmentSpreads.set(eee,tee)}return tee}getRecursivelyReferencedFragments(eee){let tee=this._recursivelyReferencedFragments.get(eee);if(!tee){tee=[];const ree=Object.create(null),oee=[eee.selectionSet];let nee;for(;nee=oee.pop();)for(const eee of this.getFragmentSpreads(nee)){const nee=eee.name.value;if(!0!==ree[nee]){ree[nee]=!0;const eee=this.getFragment(nee);eee&&(tee.push(eee),oee.push(eee.selectionSet))}}this._recursivelyReferencedFragments.set(eee,tee)}return tee}}class lbe extends sbe{constructor(eee,tee,ree){super(eee,ree),this._schema=tee}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}}class cbe extends sbe{constructor(eee,tee,ree,oee){super(tee,oee),this._schema=eee,this._typeInfo=ree,this._variableUsages=new Map,this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return"ValidationContext"}getSchema(){return this._schema}getVariableUsages(eee){let tee=this._variableUsages.get(eee);if(!tee){const ree=[],oee=new Dwe(this._schema);She(eee,Fwe(oee,{VariableDefinition:()=>!1,Variable(eee){ree.push({node:eee,type:oee.getInputType(),defaultValue:oee.getDefaultValue()})}})),tee=ree,this._variableUsages.set(eee,tee)}return tee}getRecursiveVariableUsages(eee){let tee=this._recursiveVariableUsages.get(eee);if(!tee){tee=this.getVariableUsages(eee);for(const ree of this.getRecursivelyReferencedFragments(eee))tee=tee.concat(this.getVariableUsages(ree));this._recursiveVariableUsages.set(eee,tee)}return tee}getType(){return this._typeInfo.getType()}getParentType(){return this._typeInfo.getParentType()}getInputType(){return this._typeInfo.getInputType()}getParentInputType(){return this._typeInfo.getParentInputType()}getFieldDef(){return this._typeInfo.getFieldDef()}getDirective(){return this._typeInfo.getDirective()}getArgument(){return this._typeInfo.getArgument()}getEnumValue(){return this._typeInfo.getEnumValue()}}function pbe(eee,tee,ree=abe,oee,nee=new Dwe(eee)){var aee;const iee=null!==(aee=null==oee?void 0:oee.maxErrors)&&void 0!==aee?aee:100;tee||eue(!1,"Must provide document."),mwe(eee);const see=Object.freeze({}),lee=[],cee=new cbe(eee,tee,nee,(eee=>{if(lee.length>=iee)throw lee.push(new cue("Too many validation errors, error limit reached. Validation aborted.")),see;lee.push(eee)})),pee=Ihe(ree.map((eee=>eee(cee))));try{She(tee,Fwe(nee,pee))}catch(e){if(e!==see)throw e}return lee}function dbe(eee,tee,ree=ibe){const oee=[],nee=new lbe(eee,tee,(eee=>{oee.push(eee)}));return She(eee,Ihe(ree.map((eee=>eee(nee))))),oee}function ube(eee){return Promise.all(Object.values(eee)).then((tee=>{const ree=Object.create(null);for(const[i,oee]of Object.keys(eee).entries())ree[oee]=tee[i];return ree}))}class hbe extends Error{constructor(eee){super("Unexpected error value: "+Zue(eee)),this.name="NonErrorThrown",this.thrownValue=eee}}function gbe(eee,tee,ree){var oee;const nee=(aee=eee)instanceof Error?aee:new hbe(aee);var aee,iee;return iee=nee,Array.isArray(iee.path)?nee:new cue(nee.message,{nodes:null!==(oee=nee.nodes)&&void 0!==oee?oee:tee,source:nee.source,positions:nee.positions,path:ree,originalError:nee})}const wbe=function(fn){let eee;return function(a1,a2,a3){void 0===eee&&(eee=new WeakMap);let tee=eee.get(a1);void 0===tee&&(tee=new WeakMap,eee.set(a1,tee));let ree=tee.get(a2);void 0===ree&&(ree=new WeakMap,tee.set(a2,ree));let oee=ree.get(a3);return void 0===oee&&(oee=fn(a1,a2,a3),ree.set(a3,oee)),oee}}(((eee,tee,ree)=>function(eee,tee,ree,oee,nee){const aee=new Map,iee=new Set;for(const see of nee)see.selectionSet&&zfe(eee,tee,ree,oee,see.selectionSet,aee,iee);return aee}(eee.schema,eee.fragments,eee.variableValues,tee,ree)));function fbe(eee){arguments.length<2||eue(!1,"graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.");const{schema:tee,document:ree,variableValues:oee,rootValue:nee}=eee;vbe(tee,ree,oee);const aee=ybe(eee);if(!("schema"in aee))return{errors:aee};try{const{operation:eee}=aee,tee=function(eee,tee,ree){const oee=eee.schema.getRootType(tee.operation);if(null==oee)throw new cue(`Schema is not configured to execute ${tee.operation} operation.`,{nodes:tee});const nee=Ffe(eee.schema,eee.fragments,eee.variableValues,oee,tee.selectionSet),aee=void 0;switch(tee.operation){case bue.QUERY:return xbe(eee,oee,ree,aee,nee);case bue.MUTATION:return function(eee,tee,ree,oee,nee){return function(eee,tee,ree){let oee=ree;for(const nee of eee)oee=tue(oee)?oee.then((eee=>tee(eee,nee))):tee(oee,nee);return oee}(nee.entries(),((nee,[aee,iee])=>{const see=Efe(oee,aee,tee.name),lee=kbe(eee,tee,ree,iee,see);return void 0===lee?nee:tue(lee)?lee.then((eee=>(nee[aee]=eee,nee))):(nee[aee]=lee,nee)}),Object.create(null))}(eee,oee,ree,aee,nee);case bue.SUBSCRIPTION:return xbe(eee,oee,ree,aee,nee)}}(aee,eee,nee);return tue(tee)?tee.then((eee=>mbe(eee,aee.errors)),(eee=>(aee.errors.push(eee),mbe(null,aee.errors)))):mbe(tee,aee.errors)}catch(iee){return aee.errors.push(iee),mbe(null,aee.errors)}}function bbe(eee){const tee=fbe(eee);if(tue(tee))throw new Error("GraphQL execution failed to complete synchronously.");return tee}function mbe(eee,tee){return 0===tee.length?{data:eee}:{errors:tee,data:eee}}function vbe(eee,tee,ree){tee||eue(!1,"Must provide document."),mwe(eee),null==ree||rue(ree)||eue(!1,"Variables must be provided as an Object where each property is a variable value. Perhaps look to see if an unparsed JSON string was provided.")}function ybe(eee){var tee,ree;const{schema:oee,document:nee,rootValue:aee,contextValue:iee,variableValues:see,operationName:lee,fieldResolver:cee,typeResolver:pee,subscribeFieldResolver:dee}=eee;let uee;const hee=Object.create(null);for(const wee of nee.definitions)switch(wee.kind){case vue.OPERATION_DEFINITION:if(null==lee){if(void 0!==uee)return[new cue("Must provide operation name if query contains multiple operations.")];uee=wee}else(null===(tee=wee.name)||void 0===tee?void 0:tee.value)===lee&&(uee=wee);break;case vue.FRAGMENT_DEFINITION:hee[wee.name.value]=wee}if(!uee)return null!=lee?[new cue(`Unknown operation named "${lee}".`)]:[new cue("Must provide an operation.")];const gee=Rfe(oee,null!==(ree=uee.variableDefinitions)&&void 0!==ree?ree:[],null!=see?see:{},{maxErrors:50});return gee.errors?gee.errors:{schema:oee,fragments:hee,rootValue:aee,contextValue:iee,operation:uee,variableValues:gee.coerced,fieldResolver:null!=cee?cee:Abe,typeResolver:null!=pee?pee:Nbe,subscribeFieldResolver:null!=dee?dee:Abe,errors:[]}}function xbe(eee,tee,ree,oee,nee){const aee=Object.create(null);let iee=!1;try{for(const[see,lee]of nee.entries()){const nee=kbe(eee,tee,ree,lee,Efe(oee,see,tee.name));void 0!==nee&&(aee[see]=nee,tue(nee)&&(iee=!0))}}catch(see){if(iee)return ube(aee).finally((()=>{throw see}));throw see}return iee?ube(aee):aee}function kbe(eee,tee,ree,oee,nee){var aee;const iee=Rbe(eee.schema,tee,oee[0]);if(!iee)return;const see=iee.type,lee=null!==(aee=iee.resolve)&&void 0!==aee?aee:eee.fieldResolver,cee=_be(eee,iee,oee,tee,nee);try{const tee=Cfe(iee,oee[0],eee.variableValues),aee=lee(ree,tee,eee.contextValue,cee);let pee;return pee=tue(aee)?aee.then((tee=>Tbe(eee,see,oee,cee,nee,tee))):Tbe(eee,see,oee,cee,nee,aee),tue(pee)?pee.then(void 0,(tee=>Ebe(gbe(tee,oee,Tfe(nee)),see,eee))):pee}catch(pee){return Ebe(gbe(pee,oee,Tfe(nee)),see,eee)}}function _be(eee,tee,ree,oee,nee){return{fieldName:tee.name,fieldNodes:ree,returnType:tee.type,parentType:oee,path:nee,schema:eee.schema,fragments:eee.fragments,rootValue:eee.rootValue,operation:eee.operation,variableValues:eee.variableValues}}function Ebe(eee,tee,ree){if(Khe(tee))throw eee;return ree.errors.push(eee),null}function Tbe(eee,tee,ree,oee,nee,aee){if(aee instanceof Error)throw aee;if(Khe(tee)){const iee=Tbe(eee,tee.ofType,ree,oee,nee,aee);if(null===iee)throw new Error(`Cannot return null for non-nullable field ${oee.parentType.name}.${oee.fieldName}.`);return iee}return null==aee?null:Whe(tee)?function(eee,tee,ree,oee,nee,aee){if(!Hge(aee))throw new cue(`Expected Iterable, but did not find one for field "${oee.parentType.name}.${oee.fieldName}".`);const iee=tee.ofType;let see=!1;const lee=Array.from(aee,((tee,aee)=>{const lee=Efe(nee,aee,void 0);try{let nee;return nee=tue(tee)?tee.then((tee=>Tbe(eee,iee,ree,oee,lee,tee))):Tbe(eee,iee,ree,oee,lee,tee),tue(nee)?(see=!0,nee.then(void 0,(tee=>Ebe(gbe(tee,ree,Tfe(lee)),iee,eee)))):nee}catch(cee){return Ebe(gbe(cee,ree,Tfe(lee)),iee,eee)}}));return see?Promise.all(lee):lee}(eee,tee,ree,oee,nee,aee):Zhe(tee)?function(eee,tee){const ree=eee.serialize(tee);if(null==ree)throw new Error(`Expected \`${Zue(eee)}.serialize(${Zue(tee)})\` to return non-nullable value, returned: ${Zue(ree)}`);return ree}(tee,aee):ege(tee)?function(eee,tee,ree,oee,nee,aee){var iee;const see=null!==(iee=tee.resolveType)&&void 0!==iee?iee:eee.typeResolver,lee=eee.contextValue,cee=see(aee,lee,oee,tee);if(tue(cee))return cee.then((iee=>Ibe(eee,Sbe(iee,eee,tee,ree,oee,aee),ree,oee,nee,aee)));return Ibe(eee,Sbe(cee,eee,tee,ree,oee,aee),ree,oee,nee,aee)}(eee,tee,ree,oee,nee,aee):$he(tee)?Ibe(eee,tee,ree,oee,nee,aee):void oue(!1,"Cannot complete value of unexpected output type: "+Zue(tee))}function Sbe(eee,tee,ree,oee,nee,aee){if(null==eee)throw new cue(`Abstract type "${ree.name}" must resolve to an Object type at runtime for field "${nee.parentType.name}.${nee.fieldName}". Either the "${ree.name}" type should provide a "resolveType" function or each possible type should provide an "isTypeOf" function.`,oee);if($he(eee))throw new cue("Support for returning GraphQLObjectType from resolveType was removed in graphql-js@16.0.0 please return type name instead.");if("string"!=typeof eee)throw new cue(`Abstract type "${ree.name}" must resolve to an Object type at runtime for field "${nee.parentType.name}.${nee.fieldName}" with value ${Zue(aee)}, received "${Zue(eee)}".`);const iee=tee.schema.getType(eee);if(null==iee)throw new cue(`Abstract type "${ree.name}" was resolved to a type "${eee}" that does not exist inside the schema.`,{nodes:oee});if(!$he(iee))throw new cue(`Abstract type "${ree.name}" was resolved to a non-object type "${eee}".`,{nodes:oee});if(!tee.schema.isSubType(ree,iee))throw new cue(`Runtime Object type "${iee.name}" is not a possible type for "${ree.name}".`,{nodes:oee});return iee}function Ibe(eee,tee,ree,oee,nee,aee){const iee=wbe(eee,tee,ree);if(tee.isTypeOf){const see=tee.isTypeOf(aee,eee.contextValue,oee);if(tue(see))return see.then((oee=>{if(!oee)throw Obe(tee,aee,ree);return xbe(eee,tee,aee,nee,iee)}));if(!see)throw Obe(tee,aee,ree)}return xbe(eee,tee,aee,nee,iee)}function Obe(eee,tee,ree){return new cue(`Expected value of type "${eee.name}" but got: ${Zue(tee)}.`,{nodes:ree})}const Nbe=function(eee,tee,ree,oee){if(rue(eee)&&"string"==typeof eee.__typename)return eee.__typename;const nee=ree.schema.getPossibleTypes(oee),aee=[];for(let i=0;i{for(let i=0;i0)return{errors:cee};let pee;try{pee=ohe(ree)}catch(due){return{errors:[due]}}const dee=pbe(tee,pee);return dee.length>0?{errors:dee}:fbe({schema:tee,document:pee,rootValue:oee,contextValue:nee,variableValues:aee,operationName:iee,fieldResolver:see,typeResolver:lee})}function Dbe(eee){return"function"==typeof(null==eee?void 0:eee[Symbol.asyncIterator])}async function Lbe(...eee){const tee=function(eee){const tee=eee[0];return tee&&"document"in tee?tee:{schema:tee,document:eee[1],rootValue:eee[2],contextValue:eee[3],variableValues:eee[4],operationName:eee[5],subscribeFieldResolver:eee[6]}}(eee),{schema:ree,document:oee,variableValues:nee}=tee;vbe(ree,oee,nee);const aee=ybe(tee);if(!("schema"in aee))return{errors:aee};try{const eee=await async function(eee){const{schema:tee,fragments:ree,operation:oee,variableValues:nee,rootValue:aee}=eee,iee=tee.getSubscriptionType();if(null==iee)throw new cue("Schema is not configured to execute subscription operation.",{nodes:oee});const see=Ffe(tee,ree,nee,iee,oee.selectionSet),[lee,cee]=[...see.entries()][0],pee=Rbe(tee,iee,cee[0]);if(!pee){const eee=cee[0].name.value;throw new cue(`The subscription field "${eee}" is not defined.`,{nodes:cee})}const dee=Efe(void 0,lee,iee.name),uee=_be(eee,pee,cee,iee,dee);try{var hee;const tee=Cfe(pee,cee[0],nee),ree=eee.contextValue,oee=null!==(hee=pee.subscribe)&&void 0!==hee?hee:eee.subscribeFieldResolver,iee=await oee(aee,tee,ree,uee);if(iee instanceof Error)throw iee;return iee}catch(gee){throw gbe(gee,cee,Tfe(dee))}}(aee);if(!Dbe(eee))throw new Error(`Subscription field must return Async Iterable. Received: ${Zue(eee)}.`);return eee}catch(iee){if(iee instanceof cue)return{errors:[iee]};throw iee}}function Fbe(eee){const tee={descriptions:!0,specifiedByUrl:!1,directiveIsRepeatable:!1,schemaDescription:!1,inputValueDeprecation:!1,...eee},ree=tee.descriptions?"description":"",oee=tee.specifiedByUrl?"specifiedByURL":"",nee=tee.directiveIsRepeatable?"isRepeatable":"";function aee(eee){return tee.inputValueDeprecation?eee:""}return`\n query IntrospectionQuery {\n __schema {\n ${tee.schemaDescription?ree:""}\n queryType { name }\n mutationType { name }\n subscriptionType { name }\n types {\n ...FullType\n }\n directives {\n name\n ${ree}\n ${nee}\n locations\n args${aee("(includeDeprecated: true)")} {\n ...InputValue\n }\n }\n }\n }\n\n fragment FullType on __Type {\n kind\n name\n ${ree}\n ${oee}\n fields(includeDeprecated: true) {\n name\n ${ree}\n args${aee("(includeDeprecated: true)")} {\n ...InputValue\n }\n type {\n ...TypeRef\n }\n isDeprecated\n deprecationReason\n }\n inputFields${aee("(includeDeprecated: true)")} {\n ...InputValue\n }\n interfaces {\n ...TypeRef\n }\n enumValues(includeDeprecated: true) {\n name\n ${ree}\n isDeprecated\n deprecationReason\n }\n possibleTypes {\n ...TypeRef\n }\n }\n\n fragment InputValue on __InputValue {\n name\n ${ree}\n type { ...TypeRef }\n defaultValue\n ${aee("isDeprecated")}\n ${aee("deprecationReason")}\n }\n\n fragment TypeRef on __Type {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n `}function zbe(eee,tee,ree){var oee,nee,aee,iee;const see=[],lee=Object.create(null),cee=[];let pee;const dee=[];for(const Aee of tee.definitions)if(Aee.kind===vue.SCHEMA_DEFINITION)pee=Aee;else if(Aee.kind===vue.SCHEMA_EXTENSION)dee.push(Aee);else if(Uwe(Aee))see.push(Aee);else if($we(Aee)){const eee=Aee.name.value,tee=lee[eee];lee[eee]=tee?tee.concat([Aee]):[Aee]}else Aee.kind===vue.DIRECTIVE_DEFINITION&&cee.push(Aee);if(0===Object.keys(lee).length&&0===see.length&&0===cee.length&&0===dee.length&&null==pee)return eee;const uee=Object.create(null);for(const Aee of eee.types)uee[Aee.name]=bee(Aee);for(const Aee of see){var hee;const eee=Aee.name.value;uee[eee]=null!==(hee=Mbe[eee])&&void 0!==hee?hee:Nee(Aee)}const gee={query:eee.query&&fee(eee.query),mutation:eee.mutation&&fee(eee.mutation),subscription:eee.subscription&&fee(eee.subscription),...pee&&yee([pee]),...yee(dee)};return{description:null===(oee=pee)||void 0===oee||null===(nee=oee.description)||void 0===nee?void 0:nee.value,...gee,types:Object.values(uee),directives:[...eee.directives.map((function(eee){const tee=eee.toConfig();return new Vge({...tee,args:hhe(tee.args,vee)})})),...cee.map((function(eee){var tee;return new Vge({name:eee.name.value,description:null===(tee=eee.description)||void 0===tee?void 0:tee.value,locations:eee.locations.map((({value:eee})=>eee)),isRepeatable:eee.repeatable,args:Eee(eee.arguments),astNode:eee})}))],extensions:Object.create(null),astNode:null!==(aee=pee)&&void 0!==aee?aee:eee.astNode,extensionASTNodes:eee.extensionASTNodes.concat(dee),assumeValid:null!==(iee=null==ree?void 0:ree.assumeValid)&&void 0!==iee&&iee};function wee(eee){return Whe(eee)?new tge(wee(eee.ofType)):Khe(eee)?new rge(wee(eee.ofType)):fee(eee)}function fee(eee){return uee[eee.name]}function bee(eee){return uwe(eee)||Uge(eee)?eee:jhe(eee)?function(eee){var tee;const ree=eee.toConfig(),oee=null!==(tee=lee[ree.name])&&void 0!==tee?tee:[];let nee=ree.specifiedByURL;for(const iee of oee){var aee;nee=null!==(aee=Ube(iee))&&void 0!==aee?aee:nee}return new dge({...ree,specifiedByURL:nee,extensionASTNodes:ree.extensionASTNodes.concat(oee)})}(eee):$he(eee)?function(eee){var tee;const ree=eee.toConfig(),oee=null!==(tee=lee[ree.name])&&void 0!==tee?tee:[];return new uge({...ree,interfaces:()=>[...eee.getInterfaces().map(fee),...Iee(oee)],fields:()=>({...hhe(ree.fields,mee),..._ee(oee)}),extensionASTNodes:ree.extensionASTNodes.concat(oee)})}(eee):qhe(eee)?function(eee){var tee;const ree=eee.toConfig(),oee=null!==(tee=lee[ree.name])&&void 0!==tee?tee:[];return new yge({...ree,interfaces:()=>[...eee.getInterfaces().map(fee),...Iee(oee)],fields:()=>({...hhe(ree.fields,mee),..._ee(oee)}),extensionASTNodes:ree.extensionASTNodes.concat(oee)})}(eee):Yhe(eee)?function(eee){var tee;const ree=eee.toConfig(),oee=null!==(tee=lee[ree.name])&&void 0!==tee?tee:[];return new xge({...ree,types:()=>[...eee.getTypes().map(fee),...Oee(oee)],extensionASTNodes:ree.extensionASTNodes.concat(oee)})}(eee):Ghe(eee)?function(eee){var tee;const ree=eee.toConfig(),oee=null!==(tee=lee[eee.name])&&void 0!==tee?tee:[];return new _ge({...ree,values:{...ree.values,...See(oee)},extensionASTNodes:ree.extensionASTNodes.concat(oee)})}(eee):Qhe(eee)?function(eee){var tee;const ree=eee.toConfig(),oee=null!==(tee=lee[ree.name])&&void 0!==tee?tee:[];return new Tge({...ree,fields:()=>({...hhe(ree.fields,(eee=>({...eee,type:wee(eee.type)}))),...Tee(oee)}),extensionASTNodes:ree.extensionASTNodes.concat(oee)})}(eee):void oue(!1,"Unexpected type: "+Zue(eee))}function mee(eee){return{...eee,type:wee(eee.type),args:eee.args&&hhe(eee.args,vee)}}function vee(eee){return{...eee,type:wee(eee.type)}}function yee(eee){const tee={};for(const oee of eee){var ree;const eee=null!==(ree=oee.operationTypes)&&void 0!==ree?ree:[];for(const ree of eee)tee[ree.operation]=xee(ree.type)}return tee}function xee(eee){var tee;const ree=eee.name.value,oee=null!==(tee=Mbe[ree])&&void 0!==tee?tee:uee[ree];if(void 0===oee)throw new Error(`Unknown type: "${ree}".`);return oee}function kee(eee){return eee.kind===vue.LIST_TYPE?new tge(kee(eee.type)):eee.kind===vue.NON_NULL_TYPE?new rge(kee(eee.type)):xee(eee)}function _ee(eee){const tee=Object.create(null);for(const nee of eee){var ree;const eee=null!==(ree=nee.fields)&&void 0!==ree?ree:[];for(const ree of eee){var oee;tee[ree.name.value]={type:kee(ree.type),description:null===(oee=ree.description)||void 0===oee?void 0:oee.value,args:Eee(ree.arguments),deprecationReason:Pbe(ree),astNode:ree}}}return tee}function Eee(eee){const tee=null!=eee?eee:[],ree=Object.create(null);for(const nee of tee){var oee;const eee=kee(nee.type);ree[nee.name.value]={type:eee,description:null===(oee=nee.description)||void 0===oee?void 0:oee.value,defaultValue:Nfe(nee.defaultValue,eee),deprecationReason:Pbe(nee),astNode:nee}}return ree}function Tee(eee){const tee=Object.create(null);for(const nee of eee){var ree;const eee=null!==(ree=nee.fields)&&void 0!==ree?ree:[];for(const ree of eee){var oee;const eee=kee(ree.type);tee[ree.name.value]={type:eee,description:null===(oee=ree.description)||void 0===oee?void 0:oee.value,defaultValue:Nfe(ree.defaultValue,eee),deprecationReason:Pbe(ree),astNode:ree}}}return tee}function See(eee){const tee=Object.create(null);for(const nee of eee){var ree;const eee=null!==(ree=nee.values)&&void 0!==ree?ree:[];for(const ree of eee){var oee;tee[ree.name.value]={description:null===(oee=ree.description)||void 0===oee?void 0:oee.value,deprecationReason:Pbe(ree),astNode:ree}}}return tee}function Iee(eee){return eee.flatMap((eee=>{var tee,ree;return null!==(tee=null===(ree=eee.interfaces)||void 0===ree?void 0:ree.map(xee))&&void 0!==tee?tee:[]}))}function Oee(eee){return eee.flatMap((eee=>{var tee,ree;return null!==(tee=null===(ree=eee.types)||void 0===ree?void 0:ree.map(xee))&&void 0!==tee?tee:[]}))}function Nee(eee){var tee;const ree=eee.name.value,oee=null!==(tee=lee[ree])&&void 0!==tee?tee:[];switch(eee.kind){case vue.OBJECT_TYPE_DEFINITION:{var nee;const tee=[eee,...oee];return new uge({name:ree,description:null===(nee=eee.description)||void 0===nee?void 0:nee.value,interfaces:()=>Iee(tee),fields:()=>_ee(tee),astNode:eee,extensionASTNodes:oee})}case vue.INTERFACE_TYPE_DEFINITION:{var aee;const tee=[eee,...oee];return new yge({name:ree,description:null===(aee=eee.description)||void 0===aee?void 0:aee.value,interfaces:()=>Iee(tee),fields:()=>_ee(tee),astNode:eee,extensionASTNodes:oee})}case vue.ENUM_TYPE_DEFINITION:{var iee;const tee=[eee,...oee];return new _ge({name:ree,description:null===(iee=eee.description)||void 0===iee?void 0:iee.value,values:See(tee),astNode:eee,extensionASTNodes:oee})}case vue.UNION_TYPE_DEFINITION:{var see;const tee=[eee,...oee];return new xge({name:ree,description:null===(see=eee.description)||void 0===see?void 0:see.value,types:()=>Oee(tee),astNode:eee,extensionASTNodes:oee})}case vue.SCALAR_TYPE_DEFINITION:var cee;return new dge({name:ree,description:null===(cee=eee.description)||void 0===cee?void 0:cee.value,specifiedByURL:Ube(eee),astNode:eee,extensionASTNodes:oee});case vue.INPUT_OBJECT_TYPE_DEFINITION:{var pee;const tee=[eee,...oee];return new Tge({name:ree,description:null===(pee=eee.description)||void 0===pee?void 0:pee.value,fields:()=>Tee(tee),astNode:eee,extensionASTNodes:oee})}}}}const Mbe=dhe([...Pge,...dwe],(eee=>eee.name));function Pbe(eee){const tee=Dfe(Gge,eee);return null==tee?void 0:tee.reason}function Ube(eee){const tee=Dfe(Qge,eee);return null==tee?void 0:tee.url}function jbe(eee,tee){null!=eee&&eee.kind===vue.DOCUMENT||eue(!1,"Must provide valid Document AST."),!0!==(null==tee?void 0:tee.assumeValid)&&!0!==(null==tee?void 0:tee.assumeValidSDL)&&function(eee){const tee=dbe(eee);if(0!==tee.length)throw new Error(tee.map((eee=>eee.message)).join("\n\n"))}(eee);const ree=zbe({description:void 0,types:[],directives:[],extensions:Object.create(null),extensionASTNodes:[],assumeValid:!1},eee,tee);if(null==ree.astNode)for(const nee of ree.types)switch(nee.name){case"Query":ree.query=nee;break;case"Mutation":ree.mutation=nee;break;case"Subscription":ree.subscription=nee}const oee=[...ree.directives,...Wge.filter((eee=>ree.directives.every((tee=>tee.name!==eee.name))))];return new wwe({...ree,directives:oee})}function $be(eee,tee){const ree=Object.create(null);for(const oee of Object.keys(eee).sort(ghe))ree[oee]=tee(eee[oee]);return ree}function Vbe(eee){return qbe(eee,(eee=>eee.name))}function qbe(eee,tee){return eee.slice().sort(((eee,ree)=>ghe(tee(eee),tee(ree))))}function Bbe(eee){return!Uge(eee)&&!uwe(eee)}function Ybe(eee,tee,ree){const oee=eee.getDirectives().filter(tee),nee=Object.values(eee.getTypeMap()).filter(ree);return[Gbe(eee),...oee.map((eee=>function(eee){return eme(eee)+"directive @"+eee.name+Xbe(eee.args)+(eee.isRepeatable?" repeatable":"")+" on "+eee.locations.join(" | ")}(eee))),...nee.map((eee=>Qbe(eee)))].filter(Boolean).join("\n\n")}function Gbe(eee){if(null==eee.description&&function(eee){const tee=eee.getQueryType();if(tee&&"Query"!==tee.name)return!1;const ree=eee.getMutationType();if(ree&&"Mutation"!==ree.name)return!1;const oee=eee.getSubscriptionType();if(oee&&"Subscription"!==oee.name)return!1;return!0}(eee))return;const tee=[],ree=eee.getQueryType();ree&&tee.push(` query: ${ree.name}`);const oee=eee.getMutationType();oee&&tee.push(` mutation: ${oee.name}`);const nee=eee.getSubscriptionType();return nee&&tee.push(` subscription: ${nee.name}`),eme(eee)+`schema {\n${tee.join("\n")}\n}`}function Qbe(eee){return jhe(eee)?function(eee){return eme(eee)+`scalar ${eee.name}`+function(eee){if(null==eee.specifiedByURL)return"";return` @specifiedBy(url: ${Nhe({kind:vue.STRING,value:eee.specifiedByURL})})`}(eee)}(eee):$he(eee)?function(eee){return eme(eee)+`type ${eee.name}`+Wbe(eee)+Kbe(eee)}(eee):qhe(eee)?function(eee){return eme(eee)+`interface ${eee.name}`+Wbe(eee)+Kbe(eee)}(eee):Yhe(eee)?function(eee){const tee=eee.getTypes(),ree=tee.length?" = "+tee.join(" | "):"";return eme(eee)+"union "+eee.name+ree}(eee):Ghe(eee)?function(eee){const tee=eee.getValues().map(((eee,i)=>eme(eee," ",!i)+" "+eee.name+Jbe(eee.deprecationReason)));return eme(eee)+`enum ${eee.name}`+Hbe(tee)}(eee):Qhe(eee)?function(eee){const tee=Object.values(eee.getFields()).map(((f,i)=>eme(f," ",!i)+" "+Zbe(f)));return eme(eee)+`input ${eee.name}`+Hbe(tee)}(eee):void oue(!1,"Unexpected type: "+Zue(eee))}function Wbe(eee){const tee=eee.getInterfaces();return tee.length?" implements "+tee.map((i=>i.name)).join(" & "):""}function Kbe(eee){const tee=Object.values(eee.getFields()).map(((f,i)=>eme(f," ",!i)+" "+f.name+Xbe(f.args," ")+": "+String(f.type)+Jbe(f.deprecationReason)));return Hbe(tee)}function Hbe(eee){return 0!==eee.length?" {\n"+eee.join("\n")+"\n}":""}function Xbe(eee,tee=""){return 0===eee.length?"":eee.every((eee=>!eee.description))?"("+eee.map(Zbe).join(", ")+")":"(\n"+eee.map(((eee,i)=>eme(eee," "+tee,!i)+" "+tee+Zbe(eee))).join("\n")+"\n"+tee+")"}function Zbe(eee){const tee=Xge(eee.defaultValue,eee.type);let ree=eee.name+": "+String(eee.type);return tee&&(ree+=` = ${Nhe(tee)}`),ree+Jbe(eee.deprecationReason)}function Jbe(eee){if(null==eee)return"";if(eee!==Yge){return` @deprecated(reason: ${Nhe({kind:vue.STRING,value:eee})})`}return" @deprecated"}function eme(eee,tee="",ree=!0){const{description:oee}=eee;if(null==oee)return"";return(tee&&!ree?"\n"+tee:tee)+Nhe({kind:vue.STRING,value:oee,block:Oue(oee)}).replace(/\n/g,"\n"+tee)+"\n"}function tme(eee,tee,ree){if(!eee.has(ree)){eee.add(ree);const oee=tee[ree];if(void 0!==oee)for(const ree of oee)tme(eee,tee,ree)}}function rme(eee){const tee=[];return She(eee,{FragmentSpread(eee){tee.push(eee.name.value)}}),tee}function ome(eee){if("string"==typeof eee||eue(!1,"Expected name to be a string."),eee.startsWith("__"))return new cue(`Name "${eee}" must not begin with "__", which is reserved by GraphQL introspection.`);try{Mhe(eee)}catch(tee){return tee}}var nme,ame;function ime(eee,tee){return[...lme(eee,tee),...sme(eee,tee)]}function sme(eee,tee){const ree=[],oee=vme(eee.getDirectives(),tee.getDirectives());for(const nee of oee.removed)ree.push({type:nme.DIRECTIVE_REMOVED,description:`${nee.name} was removed.`});for(const[nee,aee]of oee.persisted){const eee=vme(nee.args,aee.args);for(const tee of eee.added)vge(tee)&&ree.push({type:nme.REQUIRED_DIRECTIVE_ARG_ADDED,description:`A required arg ${tee.name} on directive ${nee.name} was added.`});for(const tee of eee.removed)ree.push({type:nme.DIRECTIVE_ARG_REMOVED,description:`${tee.name} was removed from ${nee.name}.`});nee.isRepeatable&&!aee.isRepeatable&&ree.push({type:nme.DIRECTIVE_REPEATABLE_REMOVED,description:`Repeatable flag was removed from ${nee.name}.`});for(const tee of nee.locations)aee.locations.includes(tee)||ree.push({type:nme.DIRECTIVE_LOCATION_REMOVED,description:`${tee} was removed from ${nee.name}.`})}return ree}function lme(eee,tee){const ree=[],oee=vme(Object.values(eee.getTypeMap()),Object.values(tee.getTypeMap()));for(const nee of oee.removed)ree.push({type:nme.TYPE_REMOVED,description:Uge(nee)?`Standard scalar ${nee.name} was removed because it is not referenced anymore.`:`${nee.name} was removed.`});for(const[nee,aee]of oee.persisted)Ghe(nee)&&Ghe(aee)?ree.push(...dme(nee,aee)):Yhe(nee)&&Yhe(aee)?ree.push(...pme(nee,aee)):Qhe(nee)&&Qhe(aee)?ree.push(...cme(nee,aee)):$he(nee)&&$he(aee)||qhe(nee)&&qhe(aee)?ree.push(...hme(nee,aee),...ume(nee,aee)):nee.constructor!==aee.constructor&&ree.push({type:nme.TYPE_CHANGED_KIND,description:`${nee.name} changed from ${bme(nee)} to ${bme(aee)}.`});return ree}function cme(eee,tee){const ree=[],oee=vme(Object.values(eee.getFields()),Object.values(tee.getFields()));for(const nee of oee.added)Ige(nee)?ree.push({type:nme.REQUIRED_INPUT_FIELD_ADDED,description:`A required field ${nee.name} on input type ${eee.name} was added.`}):ree.push({type:ame.OPTIONAL_INPUT_FIELD_ADDED,description:`An optional field ${nee.name} on input type ${eee.name} was added.`});for(const nee of oee.removed)ree.push({type:nme.FIELD_REMOVED,description:`${eee.name}.${nee.name} was removed.`});for(const[nee,aee]of oee.persisted){fme(nee.type,aee.type)||ree.push({type:nme.FIELD_CHANGED_KIND,description:`${eee.name}.${nee.name} changed type from ${String(nee.type)} to ${String(aee.type)}.`})}return ree}function pme(eee,tee){const ree=[],oee=vme(eee.getTypes(),tee.getTypes());for(const nee of oee.added)ree.push({type:ame.TYPE_ADDED_TO_UNION,description:`${nee.name} was added to union type ${eee.name}.`});for(const nee of oee.removed)ree.push({type:nme.TYPE_REMOVED_FROM_UNION,description:`${nee.name} was removed from union type ${eee.name}.`});return ree}function dme(eee,tee){const ree=[],oee=vme(eee.getValues(),tee.getValues());for(const nee of oee.added)ree.push({type:ame.VALUE_ADDED_TO_ENUM,description:`${nee.name} was added to enum type ${eee.name}.`});for(const nee of oee.removed)ree.push({type:nme.VALUE_REMOVED_FROM_ENUM,description:`${nee.name} was removed from enum type ${eee.name}.`});return ree}function ume(eee,tee){const ree=[],oee=vme(eee.getInterfaces(),tee.getInterfaces());for(const nee of oee.added)ree.push({type:ame.IMPLEMENTED_INTERFACE_ADDED,description:`${nee.name} added to interfaces implemented by ${eee.name}.`});for(const nee of oee.removed)ree.push({type:nme.IMPLEMENTED_INTERFACE_REMOVED,description:`${eee.name} no longer implements interface ${nee.name}.`});return ree}function hme(eee,tee){const ree=[],oee=vme(Object.values(eee.getFields()),Object.values(tee.getFields()));for(const nee of oee.removed)ree.push({type:nme.FIELD_REMOVED,description:`${eee.name}.${nee.name} was removed.`});for(const[nee,aee]of oee.persisted){ree.push(...gme(eee,nee,aee));wme(nee.type,aee.type)||ree.push({type:nme.FIELD_CHANGED_KIND,description:`${eee.name}.${nee.name} changed type from ${String(nee.type)} to ${String(aee.type)}.`})}return ree}function gme(eee,tee,ree){const oee=[],nee=vme(tee.args,ree.args);for(const aee of nee.removed)oee.push({type:nme.ARG_REMOVED,description:`${eee.name}.${tee.name} arg ${aee.name} was removed.`});for(const[aee,iee]of nee.persisted){if(fme(aee.type,iee.type)){if(void 0!==aee.defaultValue)if(void 0===iee.defaultValue)oee.push({type:ame.ARG_DEFAULT_VALUE_CHANGE,description:`${eee.name}.${tee.name} arg ${aee.name} defaultValue was removed.`});else{const ree=mme(aee.defaultValue,aee.type),nee=mme(iee.defaultValue,iee.type);ree!==nee&&oee.push({type:ame.ARG_DEFAULT_VALUE_CHANGE,description:`${eee.name}.${tee.name} arg ${aee.name} has changed defaultValue from ${ree} to ${nee}.`})}}else oee.push({type:nme.ARG_CHANGED_KIND,description:`${eee.name}.${tee.name} arg ${aee.name} has changed type from ${String(aee.type)} to ${String(iee.type)}.`})}for(const aee of nee.added)vge(aee)?oee.push({type:nme.REQUIRED_ARG_ADDED,description:`A required arg ${aee.name} on ${eee.name}.${tee.name} was added.`}):oee.push({type:ame.OPTIONAL_ARG_ADDED,description:`An optional arg ${aee.name} on ${eee.name}.${tee.name} was added.`});return oee}function wme(eee,tee){return Whe(eee)?Whe(tee)&&wme(eee.ofType,tee.ofType)||Khe(tee)&&wme(eee,tee.ofType):Khe(eee)?Khe(tee)&&wme(eee.ofType,tee.ofType):sge(tee)&&eee.name===tee.name||Khe(tee)&&wme(eee,tee.ofType)}function fme(eee,tee){return Whe(eee)?Whe(tee)&&fme(eee.ofType,tee.ofType):Khe(eee)?Khe(tee)&&fme(eee.ofType,tee.ofType)||!Khe(tee)&&fme(eee.ofType,tee):sge(tee)&&eee.name===tee.name}function bme(eee){return jhe(eee)?"a Scalar type":$he(eee)?"an Object type":qhe(eee)?"an Interface type":Yhe(eee)?"a Union type":Ghe(eee)?"an Enum type":Qhe(eee)?"an Input type":void oue(!1,"Unexpected type: "+Zue(eee))}function mme(eee,tee){const ree=Xge(eee,tee);return null!=ree||oue(!1),Nhe(ofe(ree))}function vme(eee,tee){const ree=[],oee=[],nee=[],aee=dhe(eee,(({name:eee})=>eee)),iee=dhe(tee,(({name:eee})=>eee));for(const see of eee){const eee=iee[see.name];void 0===eee?oee.push(see):nee.push([see,eee])}for(const see of tee)void 0===aee[see.name]&&ree.push(see);return{added:ree,persisted:nee,removed:oee}}!function(eee){eee.TYPE_REMOVED="TYPE_REMOVED",eee.TYPE_CHANGED_KIND="TYPE_CHANGED_KIND",eee.TYPE_REMOVED_FROM_UNION="TYPE_REMOVED_FROM_UNION",eee.VALUE_REMOVED_FROM_ENUM="VALUE_REMOVED_FROM_ENUM",eee.REQUIRED_INPUT_FIELD_ADDED="REQUIRED_INPUT_FIELD_ADDED",eee.IMPLEMENTED_INTERFACE_REMOVED="IMPLEMENTED_INTERFACE_REMOVED",eee.FIELD_REMOVED="FIELD_REMOVED",eee.FIELD_CHANGED_KIND="FIELD_CHANGED_KIND",eee.REQUIRED_ARG_ADDED="REQUIRED_ARG_ADDED",eee.ARG_REMOVED="ARG_REMOVED",eee.ARG_CHANGED_KIND="ARG_CHANGED_KIND",eee.DIRECTIVE_REMOVED="DIRECTIVE_REMOVED",eee.DIRECTIVE_ARG_REMOVED="DIRECTIVE_ARG_REMOVED",eee.REQUIRED_DIRECTIVE_ARG_ADDED="REQUIRED_DIRECTIVE_ARG_ADDED",eee.DIRECTIVE_REPEATABLE_REMOVED="DIRECTIVE_REPEATABLE_REMOVED",eee.DIRECTIVE_LOCATION_REMOVED="DIRECTIVE_LOCATION_REMOVED"}(nme||(nme={})),function(eee){eee.VALUE_ADDED_TO_ENUM="VALUE_ADDED_TO_ENUM",eee.TYPE_ADDED_TO_UNION="TYPE_ADDED_TO_UNION",eee.OPTIONAL_INPUT_FIELD_ADDED="OPTIONAL_INPUT_FIELD_ADDED",eee.OPTIONAL_ARG_ADDED="OPTIONAL_ARG_ADDED",eee.IMPLEMENTED_INTERFACE_ADDED="IMPLEMENTED_INTERFACE_ADDED",eee.ARG_DEFAULT_VALUE_CHANGE="ARG_DEFAULT_VALUE_CHANGE"}(ame||(ame={}));const yme=Object.freeze(Object.defineProperty({__proto__:null,BREAK:The,get BreakingChangeType(){return nme},DEFAULT_DEPRECATION_REASON:Yge,get DangerousChangeType(){return ame},get DirectiveLocation(){return mue},ExecutableDefinitionsRule:Vwe,FieldsOnCorrectTypeRule:qwe,FragmentsOnCompositeTypesRule:Bwe,GRAPHQL_MAX_INT:Rge,GRAPHQL_MIN_INT:Cge,GraphQLBoolean:zge,GraphQLDeprecatedDirective:Gge,GraphQLDirective:Vge,GraphQLEnumType:_ge,GraphQLError:cue,GraphQLFloat:Lge,GraphQLID:Mge,GraphQLIncludeDirective:qge,GraphQLInputObjectType:Tge,GraphQLInt:Dge,GraphQLInterfaceType:yge,GraphQLList:tge,GraphQLNonNull:rge,GraphQLObjectType:uge,GraphQLScalarType:dge,GraphQLSchema:wwe,GraphQLSkipDirective:Bge,GraphQLSpecifiedByDirective:Qge,GraphQLString:Fge,GraphQLUnionType:xge,get Kind(){return vue},KnownArgumentNamesRule:Ywe,KnownDirectivesRule:Qwe,KnownFragmentNamesRule:Wwe,KnownTypeNamesRule:Kwe,Lexer:Aue,Location:uue,LoneAnonymousOperationRule:Xwe,LoneSchemaDefinitionRule:Zwe,NoDeprecatedCustomRule:function(eee){return{Field(tee){const ree=eee.getFieldDef(),oee=null==ree?void 0:ree.deprecationReason;if(ree&&null!=oee){const nee=eee.getParentType();null!=nee||oue(!1),eee.reportError(new cue(`The field ${nee.name}.${ree.name} is deprecated. ${oee}`,{nodes:tee}))}},Argument(tee){const ree=eee.getArgument(),oee=null==ree?void 0:ree.deprecationReason;if(ree&&null!=oee){const nee=eee.getDirective();if(null!=nee)eee.reportError(new cue(`Directive "@${nee.name}" argument "${ree.name}" is deprecated. ${oee}`,{nodes:tee}));else{const nee=eee.getParentType(),aee=eee.getFieldDef();null!=nee&&null!=aee||oue(!1),eee.reportError(new cue(`Field "${nee.name}.${aee.name}" argument "${ree.name}" is deprecated. ${oee}`,{nodes:tee}))}}},ObjectField(tee){const ree=lge(eee.getParentInputType());if(Qhe(ree)){const oee=ree.getFields()[tee.name.value],nee=null==oee?void 0:oee.deprecationReason;null!=nee&&eee.reportError(new cue(`The input field ${ree.name}.${oee.name} is deprecated. ${nee}`,{nodes:tee}))}},EnumValue(tee){const ree=eee.getEnumValue(),oee=null==ree?void 0:ree.deprecationReason;if(ree&&null!=oee){const nee=lge(eee.getInputType());null!=nee||oue(!1),eee.reportError(new cue(`The enum value "${nee.name}.${ree.name}" is deprecated. ${oee}`,{nodes:tee}))}}}},NoFragmentCyclesRule:Jwe,NoSchemaIntrospectionCustomRule:function(eee){return{Field(tee){const ree=lge(eee.getType());ree&&uwe(ree)&&eee.reportError(new cue(`GraphQL introspection has been disabled, but the requested query contained the field "${tee.name.value}".`,{nodes:tee}))}}},NoUndefinedVariablesRule:efe,NoUnusedFragmentsRule:tfe,NoUnusedVariablesRule:rfe,get OperationTypeNode(){return bue},OverlappingFieldsCanBeMergedRule:afe,PossibleFragmentSpreadsRule:ffe,PossibleTypeExtensionsRule:bfe,ProvidedRequiredArgumentsRule:vfe,ScalarLeafsRule:kfe,SchemaMetaFieldDef:lwe,SingleFieldSubscriptionsRule:Ufe,Source:the,Token:hue,get TokenKind(){return yue},TypeInfo:Dwe,get TypeKind(){return iwe},TypeMetaFieldDef:cwe,TypeNameMetaFieldDef:pwe,UniqueArgumentDefinitionNamesRule:$fe,UniqueArgumentNamesRule:Vfe,UniqueDirectiveNamesRule:qfe,UniqueDirectivesPerLocationRule:Bfe,UniqueEnumValueNamesRule:Yfe,UniqueFieldDefinitionNamesRule:Gfe,UniqueFragmentNamesRule:Wfe,UniqueInputFieldNamesRule:Kfe,UniqueOperationNamesRule:Hfe,UniqueOperationTypesRule:Xfe,UniqueTypeNamesRule:Zfe,UniqueVariableNamesRule:Jfe,ValidationContext:cbe,ValuesOfCorrectTypeRule:ebe,VariablesAreInputTypesRule:rbe,VariablesInAllowedPositionRule:obe,__Directive:ewe,__DirectiveLocation:twe,__EnumValue:awe,__Field:owe,__InputValue:nwe,__Schema:Jge,__Type:rwe,__TypeKind:swe,assertAbstractType:function(eee){if(!ege(eee))throw new Error(`Expected ${Zue(eee)} to be a GraphQL abstract type.`);return eee},assertCompositeType:function(eee){if(!Jhe(eee))throw new Error(`Expected ${Zue(eee)} to be a GraphQL composite type.`);return eee},assertDirective:function(eee){if(!$ge(eee))throw new Error(`Expected ${Zue(eee)} to be a GraphQL directive.`);return eee},assertEnumType:function(eee){if(!Ghe(eee))throw new Error(`Expected ${Zue(eee)} to be a GraphQL Enum type.`);return eee},assertEnumValueName:Phe,assertInputObjectType:function(eee){if(!Qhe(eee))throw new Error(`Expected ${Zue(eee)} to be a GraphQL Input Object type.`);return eee},assertInputType:function(eee){if(!Hhe(eee))throw new Error(`Expected ${Zue(eee)} to be a GraphQL input type.`);return eee},assertInterfaceType:Bhe,assertLeafType:function(eee){if(!Zhe(eee))throw new Error(`Expected ${Zue(eee)} to be a GraphQL leaf type.`);return eee},assertListType:function(eee){if(!Whe(eee))throw new Error(`Expected ${Zue(eee)} to be a GraphQL List type.`);return eee},assertName:Mhe,assertNamedType:function(eee){if(!sge(eee))throw new Error(`Expected ${Zue(eee)} to be a GraphQL named type.`);return eee},assertNonNullType:function(eee){if(!Khe(eee))throw new Error(`Expected ${Zue(eee)} to be a GraphQL Non-Null type.`);return eee},assertNullableType:age,assertObjectType:Vhe,assertOutputType:function(eee){if(!Xhe(eee))throw new Error(`Expected ${Zue(eee)} to be a GraphQL output type.`);return eee},assertScalarType:function(eee){if(!jhe(eee))throw new Error(`Expected ${Zue(eee)} to be a GraphQL Scalar type.`);return eee},assertSchema:gwe,assertType:function(eee){if(!Uhe(eee))throw new Error(`Expected ${Zue(eee)} to be a GraphQL type.`);return eee},assertUnionType:function(eee){if(!Yhe(eee))throw new Error(`Expected ${Zue(eee)} to be a GraphQL Union type.`);return eee},assertValidName:function(eee){const tee=ome(eee);if(tee)throw tee;return eee},assertValidSchema:mwe,assertWrappingType:function(eee){if(!oge(eee))throw new Error(`Expected ${Zue(eee)} to be a GraphQL wrapping type.`);return eee},astFromValue:Xge,buildASTSchema:jbe,buildClientSchema:function(eee,tee){rue(eee)&&rue(eee.__schema)||eue(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${Zue(eee)}.`);const ree=eee.__schema,oee=uhe(ree.types,(eee=>eee.name),(eee=>function(eee){if(null!=eee&&null!=eee.name&&null!=eee.kind)switch(eee.kind){case iwe.SCALAR:return new dge({name:(oee=eee).name,description:oee.description,specifiedByURL:oee.specifiedByURL});case iwe.OBJECT:return new uge({name:(ree=eee).name,description:ree.description,interfaces:()=>uee(ree),fields:()=>hee(ree)});case iwe.INTERFACE:return new yge({name:(tee=eee).name,description:tee.description,interfaces:()=>uee(tee),fields:()=>hee(tee)});case iwe.UNION:return function(eee){if(!eee.possibleTypes){const tee=Zue(eee);throw new Error(`Introspection result missing possibleTypes: ${tee}.`)}return new xge({name:eee.name,description:eee.description,types:()=>eee.possibleTypes.map(pee)})}(eee);case iwe.ENUM:return function(eee){if(!eee.enumValues){const tee=Zue(eee);throw new Error(`Introspection result missing enumValues: ${tee}.`)}return new _ge({name:eee.name,description:eee.description,values:uhe(eee.enumValues,(eee=>eee.name),(eee=>({description:eee.description,deprecationReason:eee.deprecationReason})))})}(eee);case iwe.INPUT_OBJECT:return function(eee){if(!eee.inputFields){const tee=Zue(eee);throw new Error(`Introspection result missing inputFields: ${tee}.`)}return new Tge({name:eee.name,description:eee.description,fields:()=>wee(eee.inputFields)})}(eee)}var tee;var ree;var oee;const nee=Zue(eee);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${nee}.`)}(eee)));for(const bee of[...Pge,...dwe])oee[bee.name]&&(oee[bee.name]=bee);const nee=ree.queryType?pee(ree.queryType):null,aee=ree.mutationType?pee(ree.mutationType):null,iee=ree.subscriptionType?pee(ree.subscriptionType):null,see=ree.directives?ree.directives.map((function(eee){if(!eee.args){const tee=Zue(eee);throw new Error(`Introspection result missing directive args: ${tee}.`)}if(!eee.locations){const tee=Zue(eee);throw new Error(`Introspection result missing directive locations: ${tee}.`)}return new Vge({name:eee.name,description:eee.description,isRepeatable:eee.isRepeatable,locations:eee.locations.slice(),args:wee(eee.args)})})):[];return new wwe({description:ree.description,query:nee,mutation:aee,subscription:iee,types:Object.values(oee),directives:see,assumeValid:null==tee?void 0:tee.assumeValid});function lee(eee){if(eee.kind===iwe.LIST){const tee=eee.ofType;if(!tee)throw new Error("Decorated type deeper than introspection query.");return new tge(lee(tee))}if(eee.kind===iwe.NON_NULL){const tee=eee.ofType;if(!tee)throw new Error("Decorated type deeper than introspection query.");const ree=lee(tee);return new rge(age(ree))}return cee(eee)}function cee(eee){const tee=eee.name;if(!tee)throw new Error(`Unknown type reference: ${Zue(eee)}.`);const ree=oee[tee];if(!ree)throw new Error(`Invalid or incomplete schema, unknown type: ${tee}. Ensure that a full introspection query is used in order to build a client schema.`);return ree}function pee(eee){return Vhe(cee(eee))}function dee(eee){return Bhe(cee(eee))}function uee(eee){if(null===eee.interfaces&&eee.kind===iwe.INTERFACE)return[];if(!eee.interfaces){const tee=Zue(eee);throw new Error(`Introspection result missing interfaces: ${tee}.`)}return eee.interfaces.map(dee)}function hee(eee){if(!eee.fields)throw new Error(`Introspection result missing fields: ${Zue(eee)}.`);return uhe(eee.fields,(eee=>eee.name),gee)}function gee(eee){const tee=lee(eee.type);if(!Xhe(tee)){const eee=Zue(tee);throw new Error(`Introspection must provide output type for fields, but received: ${eee}.`)}if(!eee.args){const tee=Zue(eee);throw new Error(`Introspection result missing field args: ${tee}.`)}return{description:eee.description,deprecationReason:eee.deprecationReason,type:tee,args:wee(eee.args)}}function wee(eee){return uhe(eee,(eee=>eee.name),fee)}function fee(eee){const tee=lee(eee.type);if(!Hhe(tee)){const eee=Zue(tee);throw new Error(`Introspection must provide input type for arguments, but received: ${eee}.`)}const ree=null!=eee.defaultValue?Nfe(nhe(eee.defaultValue),tee):void 0;return{description:eee.description,type:tee,defaultValue:ree,deprecationReason:eee.deprecationReason}}},buildSchema:function(eee,tee){return jbe(ohe(eee,{noLocation:null==tee?void 0:tee.noLocation,allowLegacyFragmentVariables:null==tee?void 0:tee.allowLegacyFragmentVariables}),{assumeValidSDL:null==tee?void 0:tee.assumeValidSDL,assumeValid:null==tee?void 0:tee.assumeValid})},coerceInputValue:Sfe,concatAST:function(eee){const tee=[];for(const ree of eee)tee.push(...ree.definitions);return{kind:vue.DOCUMENT,definitions:tee}},createSourceEventStream:Lbe,defaultFieldResolver:Abe,defaultTypeResolver:Nbe,doTypesOverlap:Age,execute:fbe,executeSync:bbe,extendSchema:function(eee,tee,ree){gwe(eee),null!=tee&&tee.kind===vue.DOCUMENT||eue(!1,"Must provide valid Document AST."),!0!==(null==ree?void 0:ree.assumeValid)&&!0!==(null==ree?void 0:ree.assumeValidSDL)&&function(eee,tee){const ree=dbe(eee,tee);if(0!==ree.length)throw new Error(ree.map((eee=>eee.message)).join("\n\n"))}(tee,eee);const oee=eee.toConfig(),nee=zbe(oee,tee,ree);return oee===nee?eee:new wwe(nee)},findBreakingChanges:function(eee,tee){return ime(eee,tee).filter((eee=>eee.type in nme))},findDangerousChanges:function(eee,tee){return ime(eee,tee).filter((eee=>eee.type in ame))},formatError:function(eee){return eee.toJSON()},getArgumentValues:Cfe,getDirectiveValues:Dfe,getEnterLeaveForKind:Ohe,getIntrospectionQuery:Fbe,getLocation:aue,getNamedType:lge,getNullableType:ige,getOperationAST:function(eee,tee){let ree=null;for(const nee of eee.definitions){var oee;if(nee.kind===vue.OPERATION_DEFINITION)if(null==tee){if(ree)return null;ree=nee}else if((null===(oee=nee.name)||void 0===oee?void 0:oee.value)===tee)return nee}return ree},getOperationRootType:function(eee,tee){if("query"===tee.operation){const ree=eee.getQueryType();if(!ree)throw new cue("Schema does not define the required query root type.",{nodes:tee});return ree}if("mutation"===tee.operation){const ree=eee.getMutationType();if(!ree)throw new cue("Schema is not configured for mutations.",{nodes:tee});return ree}if("subscription"===tee.operation){const ree=eee.getSubscriptionType();if(!ree)throw new cue("Schema is not configured for subscriptions.",{nodes:tee});return ree}throw new cue("Can only have query, mutation and subscription operations.",{nodes:tee})},getVariableValues:Rfe,getVisitFn:function(eee,tee,ree){const{enter:oee,leave:nee}=Ohe(eee,tee);return ree?nee:oee},graphql:function(eee){return new Promise((tee=>tee(Cbe(eee))))},graphqlSync:function(eee){const tee=Cbe(eee);if(tue(tee))throw new Error("GraphQL execution failed to complete synchronously.");return tee},introspectionFromSchema:function(eee,tee){const ree=bbe({schema:eee,document:ohe(Fbe({specifiedByUrl:!0,directiveIsRepeatable:!0,schemaDescription:!0,inputValueDeprecation:!0,...tee}))});return!ree.errors&&ree.data||oue(!1),ree.data},introspectionTypes:dwe,isAbstractType:ege,isCompositeType:Jhe,isConstValueNode:function eee(tee){return Mwe(tee)&&(tee.kind===vue.LIST?tee.values.some(eee):tee.kind===vue.OBJECT?tee.fields.some((tee=>eee(tee.value))):tee.kind!==vue.VARIABLE)},isDefinitionNode:function(eee){return zwe(eee)||Pwe(eee)||jwe(eee)},isDirective:$ge,isEnumType:Ghe,isEqualType:Oge,isExecutableDefinitionNode:zwe,isInputObjectType:Qhe,isInputType:Hhe,isInterfaceType:qhe,isIntrospectionType:uwe,isLeafType:Zhe,isListType:Whe,isNamedType:sge,isNonNullType:Khe,isNullableType:nge,isObjectType:$he,isOutputType:Xhe,isRequiredArgument:vge,isRequiredInputField:Ige,isScalarType:jhe,isSchema:hwe,isSelectionNode:function(eee){return eee.kind===vue.FIELD||eee.kind===vue.FRAGMENT_SPREAD||eee.kind===vue.INLINE_FRAGMENT},isSpecifiedDirective:Kge,isSpecifiedScalarType:Uge,isType:Uhe,isTypeDefinitionNode:Uwe,isTypeExtensionNode:$we,isTypeNode:function(eee){return eee.kind===vue.NAMED_TYPE||eee.kind===vue.LIST_TYPE||eee.kind===vue.NON_NULL_TYPE},isTypeSubTypeOf:Nge,isTypeSystemDefinitionNode:Pwe,isTypeSystemExtensionNode:jwe,isUnionType:Yhe,isValidNameError:ome,isValueNode:Mwe,isWrappingType:oge,lexicographicSortSchema:function(eee){const tee=eee.toConfig(),ree=uhe(Vbe(tee.types),(eee=>eee.name),(function(eee){if(jhe(eee)||uwe(eee))return eee;if($he(eee)){const tee=eee.toConfig();return new uge({...tee,interfaces:()=>lee(tee.interfaces),fields:()=>see(tee.fields)})}if(qhe(eee)){const tee=eee.toConfig();return new yge({...tee,interfaces:()=>lee(tee.interfaces),fields:()=>see(tee.fields)})}if(Yhe(eee)){const tee=eee.toConfig();return new xge({...tee,types:()=>lee(tee.types)})}if(Ghe(eee)){const tee=eee.toConfig();return new _ge({...tee,values:$be(tee.values,(eee=>eee))})}if(Qhe(eee)){const tee=eee.toConfig();return new Tge({...tee,fields:()=>$be(tee.fields,(eee=>({...eee,type:oee(eee.type)})))})}oue(!1,"Unexpected type: "+Zue(eee))}));return new wwe({...tee,types:Object.values(ree),directives:Vbe(tee.directives).map((function(eee){const tee=eee.toConfig();return new Vge({...tee,locations:qbe(tee.locations,(x=>x)),args:iee(tee.args)})})),query:aee(tee.query),mutation:aee(tee.mutation),subscription:aee(tee.subscription)});function oee(eee){return Whe(eee)?new tge(oee(eee.ofType)):Khe(eee)?new rge(oee(eee.ofType)):nee(eee)}function nee(eee){return ree[eee.name]}function aee(eee){return eee&&nee(eee)}function iee(eee){return $be(eee,(eee=>({...eee,type:oee(eee.type)})))}function see(eee){return $be(eee,(eee=>({...eee,type:oee(eee.type),args:eee.args&&iee(eee.args)})))}function lee(eee){return Vbe(eee).map(nee)}},locatedError:gbe,parse:ohe,parseConstValue:function(eee,tee){const ree=new ahe(eee,tee);ree.expectToken(yue.SOF);const oee=ree.parseConstValueLiteral();return ree.expectToken(yue.EOF),oee},parseType:function(eee,tee){const ree=new ahe(eee,tee);ree.expectToken(yue.SOF);const oee=ree.parseTypeReference();return ree.expectToken(yue.EOF),oee},parseValue:nhe,print:Nhe,printError:function(eee){return eee.toString()},printIntrospectionSchema:function(eee){return Ybe(eee,Kge,uwe)},printLocation:iue,printSchema:function(eee){return Ybe(eee,(n=>!Kge(n)),Bbe)},printSourceLocation:sue,printType:Qbe,resolveObjMapThunk:pge,resolveReadonlyArrayThunk:cge,responsePathAsArray:Tfe,separateOperations:function(eee){const tee=[],ree=Object.create(null);for(const nee of eee.definitions)switch(nee.kind){case vue.OPERATION_DEFINITION:tee.push(nee);break;case vue.FRAGMENT_DEFINITION:ree[nee.name.value]=rme(nee.selectionSet)}const oee=Object.create(null);for(const nee of tee){const tee=new Set;for(const eee of rme(nee.selectionSet))tme(tee,ree,eee);oee[nee.name?nee.name.value:""]={kind:vue.DOCUMENT,definitions:eee.definitions.filter((eee=>eee===nee||eee.kind===vue.FRAGMENT_DEFINITION&&tee.has(eee.name.value)))}}return oee},specifiedDirectives:Wge,specifiedRules:abe,specifiedScalarTypes:Pge,stripIgnoredCharacters:function(eee){const tee=rhe(eee)?eee:new the(eee),ree=tee.body,oee=new Aue(tee);let nee="",aee=!1;for(;oee.advance().kind!==yue.EOF;){const eee=oee.token,tee=eee.kind,iee=!Rue(eee.kind);aee&&(iee||eee.kind===yue.SPREAD)&&(nee+=" ");const see=ree.slice(eee.start,eee.end);tee===yue.BLOCK_STRING?nee+=Nue(eee.value,{minimize:!0}):nee+=see,aee=iee}return nee},subscribe:async function(eee){arguments.length<2||eue(!1,"graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.");const tee=await Lbe(eee);return Dbe(tee)?function(eee,tee){const ree=eee[Symbol.asyncIterator]();async function oee(eee){if(eee.done)return eee;try{return{value:await tee(eee.value),done:!1}}catch(oee){if("function"==typeof ree.return)try{await ree.return()}catch(_e){}throw oee}}return{next:async()=>oee(await ree.next()),return:async()=>"function"==typeof ree.return?oee(await ree.return()):{value:void 0,done:!0},async throw(eee){if("function"==typeof ree.throw)return oee(await ree.throw(eee));throw eee},[Symbol.asyncIterator](){return this}}}(tee,(tee=>fbe({...eee,rootValue:tee}))):tee},syntaxError:due,typeFromAST:Cwe,validate:pbe,validateSchema:bwe,valueFromAST:Nfe,valueFromASTUntyped:zhe,version:"16.8.1",versionInfo:Jde,visit:She,visitInParallel:Ihe,visitWithTypeInfo:Fwe},Symbol.toStringTag,{value:"Module"}));function xme(_a,eee){var tee=_a.directives;return!tee||!tee.length||_me(tee).every((function(_a){var tee=_a.directive,ree=_a.ifArgument,oee=!1;return"Variable"===ree.value.kind?(oee=eee&&eee[ree.value.name.value],Yde(void 0!==oee,68,tee.name.value)):oee=ree.value.value,"skip"===tee.name.value?!oee:oee}))}function kme(eee,tee,ree){var oee=new Set(eee),nee=oee.size;return She(tee,{Directive:function(eee){if(oee.delete(eee.name.value)&&(!ree||!oee.size))return The}}),ree?!oee.size:oee.sizeObject.create(null),{forEach:Tme,slice:Sme}=Array.prototype,{hasOwnProperty:Ime}=Object.prototype;let Ome=class eee{constructor(eee=!0,tee=Eme){this.weakness=eee,this.makeData=tee}lookup(){return this.lookupArray(arguments)}lookupArray(eee){let tee=this;return Tme.call(eee,(eee=>tee=tee.getChildTrie(eee))),Ime.call(tee,"data")?tee.data:tee.data=this.makeData(Sme.call(eee))}peek(){return this.peekArray(arguments)}peekArray(eee){let tee=this;for(let i=0,ree=eee.length;tee&&i=0}))||!1,zme=Lme&&!Fme;function Mme(eee){return null!==eee&&"object"==typeof eee}function Pme(eee){return null!==eee&&"object"==typeof eee&&(Object.getPrototypeOf(eee)===Object.prototype||null===Object.getPrototypeOf(eee))}function Ume(eee,tee){var ree=tee,oee=[];return eee.definitions.forEach((function(eee){if("OperationDefinition"===eee.kind)throw Gde(72,eee.operation,eee.name?" named '".concat(eee.name.value,"'"):"");"FragmentDefinition"===eee.kind&&oee.push(eee)})),void 0===ree&&(Yde(1===oee.length,73,oee.length),ree=oee[0].name.value),Jpe(Jpe({},eee),{definitions:ude([{kind:"OperationDefinition",operation:"query",selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:ree}}]}}],eee.definitions,!0)})}function jme(eee){void 0===eee&&(eee=[]);var tee={};return eee.forEach((function(eee){tee[eee.name.value]=eee})),tee}function $me(eee,tee){switch(eee.kind){case"InlineFragment":return eee;case"FragmentSpread":var ree=eee.name.value;if("function"==typeof tee)return tee(ree);var oee=tee&&tee[ree];return Yde(oee,74,ree),oee||null;default:return null}}function Vme(){}class qme{constructor(eee=1/0,tee=Vme){this.max=eee,this.dispose=tee,this.map=new Map,this.newest=null,this.oldest=null}has(eee){return this.map.has(eee)}get(eee){const tee=this.getNode(eee);return tee&&tee.value}get size(){return this.map.size}getNode(eee){const tee=this.map.get(eee);if(tee&&tee!==this.newest){const{older:eee,newer:ree}=tee;ree&&(ree.older=eee),eee&&(eee.newer=ree),tee.older=this.newest,tee.older.newer=tee,tee.newer=null,this.newest=tee,tee===this.oldest&&(this.oldest=ree)}return tee}set(eee,tee){let ree=this.getNode(eee);return ree?ree.value=tee:(ree={key:eee,value:tee,newer:null,older:this.newest},this.newest&&(this.newest.newer=ree),this.newest=ree,this.oldest=this.oldest||ree,this.map.set(eee,ree),ree.value)}clean(){for(;this.oldest&&this.map.size>this.max;)this.delete(this.oldest.key)}delete(eee){const tee=this.map.get(eee);return!!tee&&(tee===this.newest&&(this.newest=tee.older),tee===this.oldest&&(this.oldest=tee.newer),tee.newer&&(tee.newer.older=tee.older),tee.older&&(tee.older.newer=tee.newer),this.map.delete(eee),this.dispose(tee.value,eee),!0)}}function Bme(){}const Yme=Bme,Gme="undefined"!=typeof WeakRef?WeakRef:function(eee){return{deref:()=>eee}},Qme="undefined"!=typeof WeakMap?WeakMap:Map,Wme="undefined"!=typeof FinalizationRegistry?FinalizationRegistry:function(){return{register:Bme,unregister:Bme}};class Kme{constructor(eee=1/0,tee=Yme){this.max=eee,this.dispose=tee,this.map=new Qme,this.newest=null,this.oldest=null,this.unfinalizedNodes=new Set,this.finalizationScheduled=!1,this.size=0,this.finalize=()=>{const eee=this.unfinalizedNodes.values();for(let i=0;i<10024;i++){const tee=eee.next().value;if(!tee)break;this.unfinalizedNodes.delete(tee);const ree=tee.key;delete tee.key,tee.keyRef=new Gme(ree),this.registry.register(ree,tee,tee)}this.unfinalizedNodes.size>0?queueMicrotask(this.finalize):this.finalizationScheduled=!1},this.registry=new Wme(this.deleteNode.bind(this))}has(eee){return this.map.has(eee)}get(eee){const tee=this.getNode(eee);return tee&&tee.value}getNode(eee){const tee=this.map.get(eee);if(tee&&tee!==this.newest){const{older:eee,newer:ree}=tee;ree&&(ree.older=eee),eee&&(eee.newer=ree),tee.older=this.newest,tee.older.newer=tee,tee.newer=null,this.newest=tee,tee===this.oldest&&(this.oldest=ree)}return tee}set(eee,tee){let ree=this.getNode(eee);return ree?ree.value=tee:(ree={key:eee,value:tee,newer:null,older:this.newest},this.newest&&(this.newest.newer=ree),this.newest=ree,this.oldest=this.oldest||ree,this.scheduleFinalization(ree),this.map.set(eee,ree),this.size++,ree.value)}clean(){for(;this.oldest&&this.size>this.max;)this.deleteNode(this.oldest)}deleteNode(eee){eee===this.newest&&(this.newest=eee.older),eee===this.oldest&&(this.oldest=eee.newer),eee.newer&&(eee.newer.older=eee.older),eee.older&&(eee.older.newer=eee.newer),this.size--;const tee=eee.key||eee.keyRef&&eee.keyRef.deref();this.dispose(eee.value,tee),eee.keyRef?this.registry.unregister(eee):this.unfinalizedNodes.delete(eee),tee&&this.map.delete(tee)}delete(eee){const tee=this.map.get(eee);return!!tee&&(this.deleteNode(tee),!0)}scheduleFinalization(eee){this.unfinalizedNodes.add(eee),this.finalizationScheduled||(this.finalizationScheduled=!0,queueMicrotask(this.finalize))}}var Hme=new WeakSet;function Xme(eee){eee.size<=(eee.max||-1)||Hme.has(eee)||(Hme.add(eee),setTimeout((function(){eee.clean(),Hme.delete(eee)}),100))}var Zme=function(eee,tee){var ree=new Kme(eee,tee);return ree.set=function(eee,tee){var ree=Kme.prototype.set.call(this,eee,tee);return Xme(this),ree},ree},Jme=function(eee,tee){var ree=new qme(eee,tee);return ree.set=function(eee,tee){var ree=qme.prototype.set.call(this,eee,tee);return Xme(this),ree},ree},eve=Symbol.for("apollo.cacheSize"),tve=Jpe({},jde[eve]),rve={};function ove(eee,tee){rve[eee]=tee}var nve=!1!==globalThis.__DEV__?function(){var eee=this.config.fragments;return Jpe(Jpe({},ive.apply(this)),{addTypenameDocumentTransform:cve(this.addTypenameTransform),inMemoryCache:{executeSelectionSet:sve(this.storeReader.executeSelectionSet),executeSubSelectedArray:sve(this.storeReader.executeSubSelectedArray),maybeBroadcastWatch:sve(this.maybeBroadcastWatch)},fragmentRegistry:{findFragmentSpreads:sve(null==eee?void 0:eee.findFragmentSpreads),lookup:sve(null==eee?void 0:eee.lookup),transform:sve(null==eee?void 0:eee.transform)}})}:void 0,ave=!1!==globalThis.__DEV__?ive:void 0;function ive(){return{cache:{fragmentQueryDocuments:sve(this.getFragmentDoc)}}}function sve(f){return function(f){return!!f&&"dirtyKey"in f}(f)?f.size:void 0}function lve(eee){return null!=eee}function cve(eee){return pve(eee).map((function(eee){return{cache:eee}}))}function pve(eee){return eee?ude(ude([sve(null==eee?void 0:eee.performWork)],pve(null==eee?void 0:eee.left),!0),pve(null==eee?void 0:eee.right),!0).filter(lve):[]}var dve,uve=Object.assign((function(eee){return JSON.stringify(eee,hve)}),{reset:function(){dve=new Jme(tve.canonicalStringify||1e3)}});function hve(eee,tee){if(tee&&"object"==typeof tee){var ree=Object.getPrototypeOf(tee);if(ree===Object.prototype||null===ree){var oee=Object.keys(tee);if(oee.every(gve))return tee;var nee=JSON.stringify(oee),aee=dve.get(nee);if(!aee){oee.sort();var iee=JSON.stringify(oee);aee=dve.get(iee)||oee,dve.set(nee,aee),dve.set(iee,aee)}var see=Object.create(ree);return aee.forEach((function(eee){see[eee]=tee[eee]})),see}}return tee}function gve(eee,i,tee){return 0===i||tee[i-1]<=eee}function wve(id){return{__ref:String(id)}}function fve(eee){return Boolean(eee&&"object"==typeof eee&&"string"==typeof eee.__ref)}function bve(eee,tee,ree,oee){if(function(eee){return"IntValue"===eee.kind}(ree)||function(eee){return"FloatValue"===eee.kind}(ree))eee[tee.value]=Number(ree.value);else if(function(eee){return"BooleanValue"===eee.kind}(ree)||function(eee){return"StringValue"===eee.kind}(ree))eee[tee.value]=ree.value;else if(function(eee){return"ObjectValue"===eee.kind}(ree)){var nee={};ree.fields.map((function(eee){return bve(nee,eee.name,eee.value,oee)})),eee[tee.value]=nee}else if(function(eee){return"Variable"===eee.kind}(ree)){var aee=(oee||{})[ree.name.value];eee[tee.value]=aee}else if(function(eee){return"ListValue"===eee.kind}(ree))eee[tee.value]=ree.values.map((function(eee){var ree={};return bve(ree,tee,eee,oee),ree[tee.value]}));else if(function(eee){return"EnumValue"===eee.kind}(ree))eee[tee.value]=ree.value;else{if(!function(eee){return"NullValue"===eee.kind}(ree))throw Gde(83,tee.value,ree.kind);eee[tee.value]=null}}function mve(eee,tee){var ree=null;eee.directives&&(ree={},eee.directives.forEach((function(eee){ree[eee.name.value]={},eee.arguments&&eee.arguments.forEach((function(_a){var oee=_a.name,nee=_a.value;return bve(ree[eee.name.value],oee,nee,tee)}))})));var oee=null;return eee.arguments&&eee.arguments.length&&(oee={},eee.arguments.forEach((function(_a){var eee=_a.name,ree=_a.value;return bve(oee,eee,ree,tee)}))),xve(eee.name.value,oee,ree)}!1!==globalThis.__DEV__&&ove("canonicalStringify",(function(){return dve.size})),uve.reset();var vve=["connection","include","skip","client","rest","export","nonreactive"],yve=uve,xve=Object.assign((function(eee,tee,ree){if(tee&&ree&&ree.connection&&ree.connection.key){if(ree.connection.filter&&ree.connection.filter.length>0){var oee=ree.connection.filter?ree.connection.filter:[];oee.sort();var nee={};return oee.forEach((function(eee){nee[eee]=tee[eee]})),"".concat(ree.connection.key,"(").concat(yve(nee),")")}return ree.connection.key}var aee=eee;if(tee){var iee=yve(tee);aee+="(".concat(iee,")")}return ree&&Object.keys(ree).forEach((function(eee){-1===vve.indexOf(eee)&&(ree[eee]&&Object.keys(ree[eee]).length?aee+="@".concat(eee,"(").concat(yve(ree[eee]),")"):aee+="@".concat(eee))})),aee}),{setStringify:function(s){var eee=yve;return yve=s,eee}});function kve(eee,tee){if(eee.arguments&&eee.arguments.length){var ree={};return eee.arguments.forEach((function(_a){var eee=_a.name,oee=_a.value;return bve(ree,eee,oee,tee)})),ree}return null}function _ve(eee){return eee.alias?eee.alias.value:eee.name.value}function Eve(eee,tee,ree){for(var oee,_i=0,_a=tee.selections;_i<_a.length;_i++){if(Tve(aee=_a[_i])){if("__typename"===aee.name.value)return eee[_ve(aee)]}else oee?oee.push(aee):oee=[aee]}if("string"==typeof eee.__typename)return eee.__typename;if(oee)for(var _b=0,nee=oee;_bObject.create(null),{forEach:Fve,slice:zve}=Array.prototype,{hasOwnProperty:Mve}=Object.prototype;class Pve{constructor(eee=!0,tee=Lve){this.weakness=eee,this.makeData=tee}lookup(...eee){return this.lookupArray(eee)}lookupArray(eee){let tee=this;return Fve.call(eee,(eee=>tee=tee.getChildTrie(eee))),Mve.call(tee,"data")?tee.data:tee.data=this.makeData(zve.call(eee))}peek(...eee){return this.peekArray(eee)}peekArray(eee){let tee=this;for(let i=0,ree=eee.length;tee&&iglobalThis))||qve((()=>global))||Object.create(null),Gve=Yve[Bve]||Array[Bve]||function(eee){try{Object.defineProperty(Yve,Bve,{value:eee,enumerable:!1,writable:!1,configurable:!0})}finally{return eee}}(class{constructor(){this.id=["slot",Vve++,Date.now(),Math.random().toString(36).slice(2)].join(":")}hasValue(){for(let eee=jve;eee;eee=eee.parent)if(this.id in eee.slots){const tee=eee.slots[this.id];if(tee===$ve)break;return eee!==jve&&(jve.slots[this.id]=tee),!0}return jve&&(jve.slots[this.id]=$ve),!1}getValue(){if(this.hasValue())return jve.slots[this.id]}withValue(eee,tee,ree,oee){const nee={__proto__:null,[this.id]:eee},aee=jve;jve={parent:aee,slots:nee};try{return tee.apply(oee,ree)}finally{jve=aee}}static bind(eee){const tee=jve;return function(){const ree=jve;try{return jve=tee,eee.apply(this,arguments)}finally{jve=ree}}}static noContext(eee,tee,ree){if(!jve)return eee.apply(ree,tee);{const oee=jve;try{return jve=null,eee.apply(ree,tee)}finally{jve=oee}}}}),Qve=new Gve,{hasOwnProperty:Wve}=Object.prototype,Kve=Array.from||function(eee){const tee=[];return eee.forEach((eee=>tee.push(eee))),tee};function Hve(eee){const{unsubscribe:tee}=eee;"function"==typeof tee&&(eee.unsubscribe=void 0,tee())}const Xve=[],Zve=100;function Jve(eee,tee){if(!eee)throw new Error(tee||"assertion failure")}function eye(a,b){const eee=a.length;return eee>0&&eee===b.length&&a[eee-1]===b[eee-1]}function tye(eee){switch(eee.length){case 0:throw new Error("unknown value");case 1:return eee[0];case 2:throw eee[1]}}function rye(eee){return eee.slice(0)}class oye{constructor(fn){this.fn=fn,this.parents=new Set,this.childValues=new Map,this.dirtyChildren=null,this.dirty=!0,this.recomputing=!1,this.value=[],this.deps=null,++oye.count}peek(){if(1===this.value.length&&!iye(this))return nye(this),this.value[0]}recompute(eee){return Jve(!this.recomputing,"already recomputing"),nye(this),iye(this)?function(eee,tee){hye(eee),Qve.withValue(eee,aye,[eee,tee]),function(eee,tee){if("function"==typeof eee.subscribe)try{Hve(eee),eee.unsubscribe=eee.subscribe.apply(null,tee)}catch(e){return eee.setDirty(),!1}return!0}(eee,tee)&&function(eee){if(eee.dirty=!1,iye(eee))return;lye(eee)}(eee);return tye(eee.value)}(this,eee):tye(this.value)}setDirty(){this.dirty||(this.dirty=!0,sye(this),Hve(this))}dispose(){this.setDirty(),hye(this),cye(this,((eee,tee)=>{eee.setDirty(),gye(eee,this)}))}forget(){this.dispose()}dependOn(eee){eee.add(this),this.deps||(this.deps=Xve.pop()||new Set),this.deps.add(eee)}forgetDeps(){this.deps&&(Kve(this.deps).forEach((eee=>eee.delete(this))),this.deps.clear(),Xve.push(this.deps),this.deps=null)}}function nye(eee){const tee=Qve.getValue();if(tee)return eee.parents.add(tee),tee.childValues.has(eee)||tee.childValues.set(eee,[]),iye(eee)?pye(tee,eee):dye(tee,eee),tee}function aye(eee,tee){eee.recomputing=!0;const{normalizeResult:ree}=eee;let oee;ree&&1===eee.value.length&&(oee=rye(eee.value)),eee.value.length=0;try{if(eee.value[0]=eee.fn.apply(null,tee),ree&&oee&&!eye(oee,eee.value))try{eee.value[0]=ree(eee.value[0],oee[0])}catch(_a){}}catch(e){eee.value[1]=e}eee.recomputing=!1}function iye(eee){return eee.dirty||!(!eee.dirtyChildren||!eee.dirtyChildren.size)}function sye(eee){cye(eee,pye)}function lye(eee){cye(eee,dye)}function cye(eee,tee){const ree=eee.parents.size;if(ree){const oee=Kve(eee.parents);for(let i=0;i0&&eee.childValues.forEach(((tee,ree)=>{gye(eee,ree)})),eee.forgetDeps(),Jve(null===eee.dirtyChildren)}function gye(eee,tee){tee.parents.delete(eee),eee.childValues.delete(tee),uye(eee,tee)}oye.count=0;const wye={setDirty:!0,dispose:!0,forget:!0};function fye(eee){const tee=new Map;function ree(eee){const ree=Qve.getValue();if(ree){let oee=tee.get(eee);oee||tee.set(eee,oee=new Set),ree.dependOn(oee)}}return ree.dirty=function(eee,ree){const oee=tee.get(eee);if(oee){const m=ree&&Wve.call(wye,ree)?ree:"setDirty";Kve(oee).forEach((eee=>eee[m]())),tee.delete(eee),Hve(oee)}},ree}let bye;function mye(...eee){return(bye||(bye=new Pve("function"==typeof WeakMap))).lookupArray(eee)}const vye=new Set;function yye(eee,{max:tee=Math.pow(2,16),keyArgs:ree,makeCacheKey:oee=mye,normalizeResult:nee,subscribe:aee,cache:iee=qme}=Object.create(null)){const see="function"==typeof iee?new iee(tee,(eee=>eee.dispose())):iee,lee=function(){const tee=oee.apply(null,ree?ree.apply(null,arguments):arguments);if(void 0===tee)return eee.apply(null,arguments);let iee=see.get(tee);iee||(see.set(tee,iee=new oye(eee)),iee.normalizeResult=nee,iee.subscribe=aee,iee.forget=()=>see.delete(tee));const lee=iee.recompute(Array.prototype.slice.call(arguments));return see.set(tee,iee),vye.add(see),Qve.hasValue()||(vye.forEach((eee=>eee.clean())),vye.clear()),lee};function cee(eee){const tee=eee&&see.get(eee);tee&&tee.setDirty()}function pee(eee){const tee=eee&&see.get(eee);if(tee)return tee.peek()}function dee(eee){return!!eee&&see.delete(eee)}return Object.defineProperty(lee,"size",{get:()=>see.size,configurable:!1,enumerable:!1}),Object.freeze(lee.options={max:tee,keyArgs:ree,makeCacheKey:oee,normalizeResult:nee,subscribe:aee,cache:see}),lee.dirtyKey=cee,lee.dirty=function(){cee(oee.apply(null,arguments))},lee.peekKey=pee,lee.peek=function(){return pee(oee.apply(null,arguments))},lee.forgetKey=dee,lee.forget=function(){return dee(oee.apply(null,arguments))},lee.makeCacheKey=oee,lee.getKey=ree?function(){return oee.apply(null,ree.apply(null,arguments))}:oee,Object.freeze(lee)}function xye(eee){return eee}var kye,_ye=function(){function eee(eee,tee){void 0===tee&&(tee=Object.create(null)),this.resultCache=Rme?new WeakSet:new Set,this.transform=eee,tee.getCacheKey&&(this.getCacheKey=tee.getCacheKey),this.cached=!1!==tee.cache,this.resetCache()}return eee.prototype.getCacheKey=function(eee){return[eee]},eee.identity=function(){return new eee(xye,{cache:!1})},eee.split=function(tee,ree,oee){return void 0===oee&&(oee=eee.identity()),Object.assign(new eee((function(eee){return(tee(eee)?ree:oee).transformDocument(eee)}),{cache:!1}),{left:ree,right:oee})},eee.prototype.resetCache=function(){var tee=this;if(this.cached){var ree=new Ome(Ame);this.performWork=yye(eee.prototype.performWork.bind(this),{makeCacheKey:function(eee){var oee=tee.getCacheKey(eee);if(oee)return Yde(Array.isArray(oee),67),ree.lookupArray(oee)},max:tve["documentTransform.cache"],cache:Kme})}},eee.prototype.performWork=function(eee){return Sve(eee),this.transform(eee)},eee.prototype.transformDocument=function(eee){if(this.resultCache.has(eee))return eee;var tee=this.performWork(eee);return this.resultCache.add(tee),tee},eee.prototype.concat=function(tee){var ree=this;return Object.assign(new eee((function(eee){return tee.transformDocument(ree.transformDocument(eee))}),{cache:!1}),{left:this,right:tee})},eee}(),Eye=Object.assign((function(eee){var tee=kye.get(eee);return tee||(tee=Nhe(eee),kye.set(eee,tee)),tee}),{reset:function(){kye=new Zme(tve.print||2e3)}});Eye.reset(),!1!==globalThis.__DEV__&&ove("print",(function(){return kye?kye.size:0}));var Tye=Array.isArray;function Sye(eee){return Array.isArray(eee)&&eee.length>0}var Iye={kind:vue.FIELD,name:{kind:vue.NAME,value:"__typename"}};function Oye(op,eee){return!op||op.selectionSet.selections.every((function(tee){return tee.kind===vue.FRAGMENT_SPREAD&&Oye(eee[tee.name.value],eee)}))}function Nye(eee){return Oye(Ive(eee)||Rve(eee),jme(Nve(eee)))?null:eee}function Aye(eee){var tee=new Map;return function(ree){void 0===ree&&(ree=eee);var oee=tee.get(ree);return oee||tee.set(ree,oee={variables:new Set,fragmentSpreads:new Set}),oee}}function Rye(eee,tee){Sve(tee);for(var ree=Aye(""),oee=Aye(""),nee=function(eee){for(var p=0,tee=void 0;p=0;--i)tee.definitions[i].kind===vue.OPERATION_DEFINITION&&++aee;var iee,see,lee,cee=(iee=eee,see=new Map,lee=new Map,iee.forEach((function(eee){eee&&(eee.name?see.set(eee.name,eee):eee.test&&lee.set(eee.test,eee))})),function(eee){var tee=see.get(eee.name.value);return!tee&&lee.size&&lee.forEach((function(ree,oee){oee(eee)&&(tee=ree)})),tee}),pee=function(eee){return Sye(eee)&&eee.map(cee).some((function(eee){return eee&&eee.remove}))},dee=new Map,uee=!1,hee={enter:function(eee){if(pee(eee.directives))return uee=!0,null}},gee=She(tee,{Field:hee,InlineFragment:hee,VariableDefinition:{enter:function(){return!1}},Variable:{enter:function(eee,tee,ree,oee,aee){var iee=nee(aee);iee&&iee.variables.add(eee.name.value)}},FragmentSpread:{enter:function(eee,tee,ree,oee,aee){if(pee(eee.directives))return uee=!0,null;var iee=nee(aee);iee&&iee.fragmentSpreads.add(eee.name.value)}},FragmentDefinition:{enter:function(eee,tee,ree,oee){dee.set(JSON.stringify(oee),eee)},leave:function(eee,tee,ree,nee){return eee===dee.get(JSON.stringify(nee))?eee:aee>0&&eee.selectionSet.selections.every((function(eee){return eee.kind===vue.FIELD&&"__typename"===eee.name.value}))?(oee(eee.name.value).removed=!0,uee=!0,null):void 0}},Directive:{leave:function(eee){if(cee(eee))return uee=!0,null}}});if(!uee)return tee;var wee=function(eee){return eee.transitiveVars||(eee.transitiveVars=new Set(eee.variables),eee.removed||eee.fragmentSpreads.forEach((function(tee){wee(oee(tee)).transitiveVars.forEach((function(tee){eee.transitiveVars.add(tee)}))}))),eee},fee=new Set;gee.definitions.forEach((function(eee){eee.kind===vue.OPERATION_DEFINITION?wee(ree(eee.name&&eee.name.value)).fragmentSpreads.forEach((function(eee){fee.add(eee)})):eee.kind!==vue.FRAGMENT_DEFINITION||0!==aee||oee(eee.name.value).removed||fee.add(eee.name.value)})),fee.forEach((function(eee){wee(oee(eee)).fragmentSpreads.forEach((function(eee){fee.add(eee)}))}));var bee={enter:function(eee){if(tee=eee.name.value,!fee.has(tee)||oee(tee).removed)return null;var tee}};return Nye(She(gee,{FragmentSpread:bee,FragmentDefinition:bee,OperationDefinition:{leave:function(eee){if(eee.variableDefinitions){var tee=wee(ree(eee.name&&eee.name.value)).transitiveVars;if(tee.size1)for(var oee=new jye,i=1;i=o.length?{done:!0}:{done:!1,value:o[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function Bye(eee,tee){(null==tee||tee>eee.length)&&(tee=eee.length);for(var i=0,ree=new Array(tee);i1,ree=!1,oee=arguments[1];return new C((function(nee){return eee.subscribe({next:function(eee){var aee=!ree;if(ree=!0,!aee||tee)try{oee=fn(oee,eee)}catch(e){return nee.error(e)}else oee=eee},error:function(e){nee.error(e)},complete:function(){if(!ree&&!tee)return nee.error(new TypeError("Cannot reduce an empty sequence"));nee.next(oee),nee.complete()}})}))},tee.concat=function(){for(var eee=this,tee=arguments.length,ree=new Array(tee),oee=0;oee=0&&ree.splice(i,1),nee()}});ree.push(oee)},error:function(e){tee.error(e)},complete:function(){nee()}});function nee(){oee.closed&&0===ree.length&&tee.complete()}return function(){ree.forEach((function(s){return s.unsubscribe()})),oee.unsubscribe()}}))},tee[Xye]=function(){return this},eee.from=function(x){var C="function"==typeof this?this:eee;if(null==x)throw new TypeError(x+" is not an object");var tee=Jye(x,Xye);if(tee){var ree=tee.call(x);if(Object(ree)!==ree)throw new TypeError(ree+" is not an object");return txe(ree)&&ree.constructor===C?ree:new C((function(eee){return ree.subscribe(eee)}))}if(Wye("iterator")&&(tee=Jye(x,Hye)))return new C((function(eee){oxe((function(){if(!eee.closed){for(var ree,oee=qye(tee.call(x));!(ree=oee()).done;){var nee=ree.value;if(eee.next(nee),eee.closed)return}eee.complete()}}))}));if(Array.isArray(x))return new C((function(eee){oxe((function(){if(!eee.closed){for(var i=0;i=0;--i){var nee=tee[i],aee=!isNaN(+nee)?[]:{};aee[nee]=eee,eee=aee}ree=oee.merge(ree,eee)})),ree},mergeOptions:function(eee,tee){return Txe(eee,tee,tee.variables&&{variables:Txe(Jpe(Jpe({},eee&&eee.variables),tee.variables))})},offsetLimitPagination:function(eee){return void 0===eee&&(eee=!1),{keyArgs:eee,merge:function(eee,tee,_a){var ree=_a.args,oee=eee?eee.slice(0):[];if(tee)if(ree)for(var _b=ree.offset,nee=void 0===_b?0:_b,i=0;i1&&nee===aee&&(nee="");var _b=eee.pageInfo||{},iee=_b.startCursor,see=_b.endCursor;return Jpe(Jpe({},$ye(eee)),{edges:oee,pageInfo:Jpe(Jpe({},eee.pageInfo),{startCursor:iee||nee,endCursor:see||aee})})},merge:function(eee,tee,_a){var ree=_a.args,oee=_a.isReference,nee=_a.readField;if(eee||(eee={edges:[],pageInfo:{hasPreviousPage:!1,hasNextPage:!0,startCursor:"",endCursor:""}}),!tee)return eee;var aee=tee.edges?tee.edges.map((function(eee){return oee(eee=Jpe({},eee))&&(eee.cursor=nee("cursor",eee)),eee})):[];if(tee.pageInfo){var iee=tee.pageInfo,see=iee.startCursor,lee=iee.endCursor,cee=aee[0],pee=aee[aee.length-1];cee&&see&&(cee.cursor=see),pee&&lee&&(pee.cursor=lee);var dee=cee&&cee.cursor;dee&&!see&&(tee=Mye(tee,{pageInfo:{startCursor:dee}}));var uee=pee&&pee.cursor;uee&&!lee&&(tee=Mye(tee,{pageInfo:{endCursor:uee}}))}var hee=eee.edges,gee=[];if(ree&&ree.after)(wee=hee.findIndex((function(eee){return eee.cursor===ree.after})))>=0&&(hee=hee.slice(0,wee+1));else if(ree&&ree.before){var wee;gee=(wee=hee.findIndex((function(eee){return eee.cursor===ree.before})))<0?hee:hee.slice(wee),hee=[]}else tee.edges&&(hee=[]);var fee=ude(ude(ude([],hee,!0),aee,!0),gee,!0),bee=Jpe(Jpe({},tee.pageInfo),eee.pageInfo);if(tee.pageInfo){var _b=tee.pageInfo,mee=_b.hasPreviousPage,vee=_b.hasNextPage,yee=(see=_b.startCursor,lee=_b.endCursor,ede(_b,["hasPreviousPage","hasNextPage","startCursor","endCursor"]));Object.assign(bee,yee),hee.length||(void 0!==mee&&(bee.hasPreviousPage=mee),void 0!==see&&(bee.startCursor=see)),gee.length||(void 0!==vee&&(bee.hasNextPage=vee),void 0!==lee&&(bee.endCursor=lee))}return Jpe(Jpe(Jpe({},$ye(eee)),$ye(tee)),{edges:fee,pageInfo:bee})}}},removeArgumentsFromDocument:function(eee,tee){var ree=function(eee){return function(tee){return eee.some((function(eee){return tee.value&&tee.value.kind===vue.VARIABLE&&tee.value.name&&(eee.name===tee.value.name.value||eee.test&&eee.test(tee))}))}}(eee);return Nye(She(tee,{OperationDefinition:{enter:function(tee){return Jpe(Jpe({},tee),{variableDefinitions:tee.variableDefinitions?tee.variableDefinitions.filter((function(tee){return!eee.some((function(eee){return eee.name===tee.variable.name.value}))})):[]})}},Field:{enter:function(tee){if(eee.some((function(eee){return eee.remove}))){var oee=0;if(tee.arguments&&tee.arguments.forEach((function(eee){ree(eee)&&(oee+=1)})),1===oee)return null}}},Argument:{enter:function(eee){if(ree(eee))return null}}}))},removeClientSetsFromDocument:Lye,removeConnectionDirectiveFromDocument:function(eee){return Rye([Dye],Sve(eee))},removeDirectivesFromDocument:Rye,removeFragmentSpreadFromDocument:function(eee,tee){function ree(tee){if(eee.some((function(eee){return eee.name===tee.name.value})))return null}return Nye(She(tee,{FragmentSpread:{enter:ree},FragmentDefinition:{enter:ree}}))},resultKeyNameFromField:_ve,shouldInclude:xme,storeKeyNameFromField:mve,stringifyForDisplay:qde,stripTypename:function(eee){return Sxe(eee,"__typename")},valueToObjectRepresentation:bve,wrapPromiseWithState:function(eee){if(dxe(eee))return eee;var tee=eee;return tee.status="pending",tee.then((function(eee){if("pending"===tee.status){var ree=tee;ree.status="fulfilled",ree.value=eee}}),(function(eee){if("pending"===tee.status){var ree=tee;ree.status="rejected",ree.reason=eee}})),eee}},Symbol.toStringTag,{value:"Module"}));function Nxe(eee){return new pxe((function(tee){tee.error(eee)}))}var Axe=function(eee,tee,ree){var oee=new Error(ree);throw oee.name="ServerError",oee.response=eee,oee.statusCode=eee.status,oee.result=tee,oee};function Rxe(eee){for(var tee=["query","operationName","variables","extensions","context"],_i=0,_a=Object.keys(eee);_i<_a.length;_i++){var ree=_a[_i];if(tee.indexOf(ree)<0)throw Gde(43,ree)}return eee}function Cxe(eee,tee){var ree=Jpe({},eee);return Object.defineProperty(tee,"setContext",{enumerable:!1,value:function(eee){ree=Jpe(Jpe({},ree),"function"==typeof eee?eee(ree):eee)}}),Object.defineProperty(tee,"getContext",{enumerable:!1,value:function(){return Jpe({},ree)}}),tee}function Dxe(eee){var tee={variables:eee.variables||{},extensions:eee.extensions||{},operationName:eee.operationName,query:eee.query};return tee.operationName||(tee.operationName="string"!=typeof tee.query?Ove(tee.query)||void 0:""),tee}function Lxe(eee,tee){var ree=Jpe({},eee),oee=new Set(Object.keys(eee));return She(tee,{Variable:function(eee,tee,ree){ree&&"VariableDefinition"!==ree.kind&&oee.delete(eee.name.value)}}),oee.forEach((function(eee){delete ree[eee]})),ree}const Fxe=Object.freeze(Object.defineProperty({__proto__:null,createOperation:Cxe,filterOperationVariables:Lxe,fromError:Nxe,fromPromise:function(eee){return new pxe((function(tee){eee.then((function(eee){tee.next(eee),tee.complete()})).catch(tee.error.bind(tee))}))},throwServerError:Axe,toPromise:function(eee){var tee=!1;return new Promise((function(ree,oee){eee.subscribe({next:function(eee){tee?!1!==globalThis.__DEV__&&Yde.warn(42):(tee=!0,ree(eee))},error:oee})}))},transformOperation:Dxe,validateOperation:Rxe},Symbol.toStringTag,{value:"Module"}));function zxe(op,eee){return eee?eee(op):pxe.of()}function Mxe(eee){return"function"==typeof eee?new Uxe(eee):eee}function Pxe(eee){return eee.request.length<=1}var Uxe=function(){function eee(eee){eee&&(this.request=eee)}return eee.empty=function(){return new eee((function(){return pxe.of()}))},eee.from=function(tee){return 0===tee.length?eee.empty():tee.map(Mxe).reduce((function(x,y){return x.concat(y)}))},eee.split=function(tee,ree,oee){var nee,aee=Mxe(ree),iee=Mxe(oee||new eee(zxe));return nee=Pxe(aee)&&Pxe(iee)?new eee((function(eee){return tee(eee)?aee.request(eee)||pxe.of():iee.request(eee)||pxe.of()})):new eee((function(eee,ree){return tee(eee)?aee.request(eee,ree)||pxe.of():iee.request(eee,ree)||pxe.of()})),Object.assign(nee,{left:aee,right:iee})},eee.execute=function(eee,tee){return eee.request(Cxe(tee.context,Dxe(Rxe(tee))))||pxe.of()},eee.concat=function(tee,ree){var oee=Mxe(tee);if(Pxe(oee))return!1!==globalThis.__DEV__&&Yde.warn(35,oee),oee;var nee,aee=Mxe(ree);return nee=Pxe(aee)?new eee((function(eee){return oee.request(eee,(function(op){return aee.request(op)||pxe.of()}))||pxe.of()})):new eee((function(eee,tee){return oee.request(eee,(function(op){return aee.request(op,tee)||pxe.of()}))||pxe.of()})),Object.assign(nee,{left:oee,right:aee})},eee.prototype.split=function(tee,ree,oee){return this.concat(eee.split(tee,ree,oee||new eee(zxe)))},eee.prototype.concat=function(tee){return eee.concat(this,tee)},eee.prototype.request=function(eee,tee){throw Gde(36)},eee.prototype.onError=function(eee,tee){if(tee&&tee.error)return tee.error(eee),!1;throw eee},eee.prototype.setOnError=function(fn){return this.onError=fn,this},eee}(),jxe=Uxe.empty,$xe=Uxe.from,Vxe=Uxe.split,qxe=Uxe.concat,Bxe=Uxe.execute;const Yxe=Object.freeze(Object.defineProperty({__proto__:null,ApolloLink:Uxe,concat:qxe,empty:jxe,execute:Bxe,from:$xe,split:Vxe},Symbol.toStringTag,{value:"Module"}));function Gxe(eee){var tee=null,ree=null,oee=!1,nee=[],aee=[];function iee(eee){if(!ree){if(aee.length){var tee=aee.shift();if(Array.isArray(tee)&&tee[0])return tee[0]({value:eee,done:!1})}nee.push(eee)}}function see(eee){ree=eee,aee.slice().forEach((function(tee){tee[1](eee)})),!tee||tee()}function lee(){oee=!0,aee.slice().forEach((function(eee){eee[0]({value:void 0,done:!0})})),!tee||tee()}tee=function(){tee=null,eee.removeListener("data",iee),eee.removeListener("error",see),eee.removeListener("end",lee),eee.removeListener("finish",lee),eee.removeListener("close",lee)},eee.on("data",iee),eee.on("error",see),eee.on("end",lee),eee.on("finish",lee),eee.on("close",lee);var cee={next:function(){return new Promise((function(eee,tee){return ree?tee(ree):nee.length?eee({value:nee.shift(),done:!1}):oee?eee({value:void 0,done:!0}):void aee.push([eee,tee])}))}};return Dme&&(cee[Symbol.asyncIterator]=function(){return this}),cee}function Qxe(eee){var tee={next:function(){return eee.read()}};return Dme&&(tee[Symbol.asyncIterator]=function(){return this}),tee}function Wxe(eee){var tee,ree,oee,nee=eee;if(eee.body&&(nee=eee.body),function(eee){return!(!Dme||!eee[Symbol.asyncIterator])}(nee))return function(eee){var _a,tee=eee[Symbol.asyncIterator]();return(_a={next:function(){return tee.next()}})[Symbol.asyncIterator]=function(){return this},_a}(nee);if(function(eee){return!!eee.getReader}(nee))return Qxe(nee.getReader());if(function(eee){return!!eee.stream}(nee))return Qxe(nee.stream().getReader());if(function(eee){return!!eee.arrayBuffer}(nee))return tee=nee.arrayBuffer(),ree=!1,oee={next:function(){return ree?Promise.resolve({value:void 0,done:!0}):(ree=!0,new Promise((function(eee,ree){tee.then((function(tee){eee({value:tee,done:!1})})).catch(ree)})))}},Dme&&(oee[Symbol.asyncIterator]=function(){return this}),oee;if(function(eee){return!!eee.pipe}(nee))return Gxe(nee);throw new Error("Unknown body type for responseIterator. Please pass a streamable response.")}var Kxe=Symbol();function Hxe(eee){return eee.hasOwnProperty("graphQLErrors")}var Xxe=function(eee){function tee(_a){var ree=_a.graphQLErrors,oee=_a.protocolErrors,nee=_a.clientErrors,aee=_a.networkError,iee=_a.errorMessage,see=_a.extraInfo,lee=eee.call(this,iee)||this;return lee.name="ApolloError",lee.graphQLErrors=ree||[],lee.protocolErrors=oee||[],lee.clientErrors=nee||[],lee.networkError=aee||null,lee.message=iee||function(eee){var tee=ude(ude(ude([],eee.graphQLErrors,!0),eee.clientErrors,!0),eee.protocolErrors,!0);return eee.networkError&&tee.push(eee.networkError),tee.map((function(eee){return Mme(eee)&&eee.message||"Error message not found."})).join("\n")}(lee),lee.extraInfo=see,lee.__proto__=tee.prototype,lee}return Zpe(tee,eee),tee}(Error);const Zxe=Object.freeze(Object.defineProperty({__proto__:null,ApolloError:Xxe,PROTOCOL_ERRORS_SYMBOL:Kxe,graphQLResultHasProtocolErrors:function(eee){return!!eee.extensions&&Array.isArray(eee.extensions[Kxe])},isApolloError:Hxe},Symbol.toStringTag,{value:"Module"}));var Jxe=Object.prototype.hasOwnProperty;function eke(eee){var tee={};return eee.split("\n").forEach((function(eee){var i=eee.indexOf(":");if(i>-1){var ree=eee.slice(0,i).trim().toLowerCase(),oee=eee.slice(i+1).trim();tee[ree]=oee}})),tee}function tke(eee,tee){if(eee.status>=300){Axe(eee,function(){try{return JSON.parse(tee)}catch(eee){return tee}}(),"Response not successful: Received status code ".concat(eee.status))}try{return JSON.parse(tee)}catch(oee){var ree=oee;throw ree.name="ServerParseError",ree.response=eee,ree.statusCode=eee.status,ree.bodyText=tee,ree}}function rke(eee){return function(tee){return tee.text().then((function(eee){return tke(tee,eee)})).then((function(ree){return Array.isArray(ree)||Jxe.call(ree,"data")||Jxe.call(ree,"errors")||Axe(tee,ree,"Server response was missing for query '".concat(Array.isArray(eee)?eee.map((function(op){return op.operationName})):eee.operationName,"'.")),ree}))}}var oke=function(p,eee){var tee;try{tee=JSON.stringify(p)}catch(e){var ree=Gde(39,eee,e.message);throw ree.parseError=e,ree}return tee},nke={http:{includeQuery:!0,includeExtensions:!1,preserveHeaderCase:!1},headers:{accept:"*/*","content-type":"application/json"},options:{method:"POST"}},ake=function(eee,tee){return tee(eee)};function ike(eee,tee){for(var ree=[],_i=2;_i-1;){if(gee=void 0,_b=[see.slice(0,bi),see.slice(bi+iee.length)],see=_b[1],i=(gee=_b[0]).indexOf("\r\n\r\n"),wee=eke(gee.slice(0,i)),(fee=wee["content-type"])&&-1===fee.toLowerCase().indexOf("application/json"))throw new Error("Unsupported patch content type: application/json is required.");if(bee=gee.slice(i))if(mee=tke(eee,bee),Object.keys(mee).length>1||"data"in mee||"incremental"in mee||"errors"in mee||"payload"in mee)if(_xe(mee)){if(vee={},"payload"in mee){if(1===Object.keys(mee).length&&null===mee.payload)return[2];vee=Jpe({},mee.payload)}"errors"in mee&&(vee=Jpe(Jpe({},vee),{extensions:Jpe(Jpe({},"extensions"in vee?vee.extensions:null),(_c={},_c[Kxe]=mee.errors,_c))})),tee(vee)}else tee(mee);else if(1===Object.keys(mee).length&&"hasNext"in mee&&!mee.hasNext)return[2];bi=see.indexOf(iee)}return[3,1];case 3:return[2]}}))}))}(tee,aee):rke(eee)(tee).then(aee)})).then((function(){wee=void 0,tee.complete()})).catch((function(eee){wee=void 0,function(eee,tee){eee.result&&eee.result.errors&&eee.result.data&&tee.next(eee.result),tee.error(eee)}(eee,tee)})),function(){wee&&wee.abort()}}))}))},uke=function(eee){function tee(tee){void 0===tee&&(tee={});var ree=eee.call(this,dke(tee).request)||this;return ree.options=tee,ree}return Zpe(tee,eee),tee}(Uxe);const hke=Object.freeze(Object.defineProperty({__proto__:null,HttpLink:uke,checkFetcher:ske,createHttpLink:dke,createSignalIfSupported:function(){if("undefined"==typeof AbortController)return{controller:!1,signal:!1};var eee=new AbortController;return{controller:eee,signal:eee.signal}},defaultPrinter:ake,fallbackHttpConfig:nke,parseAndCheckHttpResponse:rke,rewriteURIForGET:cke,selectHttpOptionsAndBody:function(eee,tee){for(var ree=[],_i=2;_i=0&&eee.indexOf(tee,ree)===ree}(eee,kke)}}return!1}function yke(eee){return Object.keys(eee).filter(xke,eee)}function xke(eee){return void 0!==this[eee]}const kke="{ [native code] }";function _ke(a,b){let eee=bke.get(a);if(eee){if(eee.has(b))return!0}else bke.set(a,eee=new Set);return eee.add(b),!1}const Eke=Object.freeze(Object.defineProperty({__proto__:null,default:mke,equal:mke},Symbol.toStringTag,{value:"Module"}));function Tke(eee,_a,_b,tee){var ree=_a.data,oee=ede(_a,["data"]),nee=_b.data;return mke(oee,ede(_b,["data"]))&&Ske(Cve(eee).selectionSet,ree,nee,{fragmentMap:jme(Nve(eee)),variables:tee})}function Ske(eee,tee,ree,oee){if(tee===ree)return!0;var nee=new Set;return eee.selections.every((function(eee){if(nee.has(eee))return!0;if(nee.add(eee),!xme(eee,oee.variables))return!0;if(Ike(eee))return!0;if(Tve(eee)){var aee=_ve(eee),iee=tee&&tee[aee],see=ree&&ree[aee],lee=eee.selectionSet;if(!lee)return mke(iee,see);var cee=Array.isArray(iee),pee=Array.isArray(see);if(cee!==pee)return!1;if(cee&&pee){var dee=iee.length;if(see.length!==dee)return!1;for(var i=0;i=0;--i)iee.missing=((_a={})[iee.path[i]]=iee.missing,_a)}else iee.missing=iee.path;return iee.__proto__=tee.prototype,iee}return Zpe(tee,eee),tee}(Error),Cke=Object.prototype.hasOwnProperty;function Dke(eee){return null==eee}function Lke(_a,eee){var tee=_a.__typename,id=_a.id,ree=_a._id;if("string"==typeof tee&&(eee&&(eee.keyObject=Dke(id)?Dke(ree)?void 0:{_id:ree}:{id:id}),Dke(id)&&!Dke(ree)&&(id=ree),!Dke(id)))return"".concat(tee,":").concat("number"==typeof id||"string"==typeof id?id:JSON.stringify(id))}var Fke={dataIdFromObject:Lke,addTypename:!0,resultCaching:!0,canonizeResults:!1};function zke(eee){var tee=eee.canonizeResults;return void 0===tee?Fke.canonizeResults:tee}var Mke=/^[_a-z][_0-9a-z]*/i;function Pke(eee){var tee=eee.match(Mke);return tee?tee[0]:eee}function Uke(eee,tee,ree){return!!Mme(tee)&&(Tye(tee)?tee.every((function(tee){return Uke(eee,tee,ree)})):eee.selections.every((function(eee){if(Tve(eee)&&xme(eee,ree)){var oee=_ve(eee);return Cke.call(tee,oee)&&(!eee.selectionSet||Uke(eee.selectionSet,tee[oee],ree))}return!0})))}function jke(eee){return Mme(eee)&&!fve(eee)&&!Tye(eee)}function $ke(eee,tee){var ree=jme(Nve(eee));return{fragmentMap:ree,lookupFragment:function(eee){var oee=ree[eee];return!oee&&tee&&(oee=tee.lookup(eee)),oee||null}}}var Vke=Object.create(null),qke=function(){return Vke},Bke=Object.create(null),Yke=function(){function eee(eee,tee){var ree=this;this.policies=eee,this.group=tee,this.data=Object.create(null),this.rootIds=Object.create(null),this.refs=Object.create(null),this.getFieldValue=function(eee,tee){return fxe(fve(eee)?ree.get(eee.__ref,tee):eee&&eee[tee])},this.canRead=function(eee){return fve(eee)?ree.has(eee.__ref):"object"==typeof eee},this.toReference=function(eee,tee){if("string"==typeof eee)return wve(eee);if(fve(eee))return eee;var id=ree.policies.identify(eee)[0];if(id){var oee=wve(id);return tee&&ree.merge(id,eee),oee}}}return eee.prototype.toObject=function(){return Jpe({},this.data)},eee.prototype.has=function(eee){return void 0!==this.lookup(eee,!0)},eee.prototype.get=function(eee,tee){if(this.group.depend(eee,tee),Cke.call(this.data,eee)){var ree=this.data[eee];if(ree&&Cke.call(ree,tee))return ree[tee]}return"__typename"===tee&&Cke.call(this.policies.rootTypenamesById,eee)?this.policies.rootTypenamesById[eee]:this instanceof Kke?this.parent.get(eee,tee):void 0},eee.prototype.lookup=function(eee,tee){return tee&&this.group.depend(eee,"__exists"),Cke.call(this.data,eee)?this.data[eee]:this instanceof Kke?this.parent.lookup(eee,tee):this.policies.rootTypenamesById[eee]?Object.create(null):void 0},eee.prototype.merge=function(eee,tee){var ree,oee=this;fve(eee)&&(eee=eee.__ref),fve(tee)&&(tee=tee.__ref);var nee="string"==typeof eee?this.lookup(ree=eee):eee,aee="string"==typeof tee?this.lookup(ree=tee):tee;if(aee){Yde("string"==typeof ree,1);var iee=new jye(Xke).merge(nee,aee);if(this.data[ree]=iee,iee!==nee&&(delete this.refs[ree],this.group.caching)){var see=Object.create(null);nee||(see.__exists=1),Object.keys(aee).forEach((function(eee){if(!nee||nee[eee]!==iee[eee]){see[eee]=1;var tee=Pke(eee);tee===eee||oee.policies.hasKeyArgs(iee.__typename,tee)||(see[tee]=1),void 0!==iee[eee]||oee instanceof Kke||delete iee[eee]}})),!see.__typename||nee&&nee.__typename||this.policies.rootTypenamesById[ree]!==iee.__typename||delete see.__typename,Object.keys(see).forEach((function(eee){return oee.group.dirty(ree,eee)}))}}},eee.prototype.modify=function(eee,tee){var ree=this,oee=this.lookup(eee);if(oee){var nee=Object.create(null),aee=!1,iee=!0,see={DELETE:Vke,INVALIDATE:Bke,isReference:fve,toReference:this.toReference,canRead:this.canRead,readField:function(tee,oee){return ree.policies.readField("string"==typeof tee?{fieldName:tee,from:oee||wve(eee)}:tee,{store:ree})}};if(Object.keys(oee).forEach((function(lee){var cee=Pke(lee),pee=oee[lee];if(void 0!==pee){var dee="function"==typeof tee?tee:tee[lee]||tee[cee];if(dee){var uee=dee===qke?Vke:dee(fxe(pee),Jpe(Jpe({},see),{fieldName:cee,storeFieldName:lee,storage:ree.getStorage(eee,lee)}));if(uee===Bke)ree.group.dirty(eee,lee);else if(uee===Vke&&(uee=void 0),uee!==pee&&(nee[lee]=uee,aee=!0,pee=uee,!1!==globalThis.__DEV__)){var hee=function(eee){if(void 0===ree.lookup(eee.__ref))return!1!==globalThis.__DEV__&&Yde.warn(2,eee),!0};if(fve(uee))hee(uee);else if(Array.isArray(uee))for(var gee=!1,wee=void 0,_i=0,fee=uee;_i0){var tee=--this.rootIds[eee];return tee||delete this.rootIds[eee],tee}return 0},eee.prototype.getRootIdSet=function(eee){return void 0===eee&&(eee=new Set),Object.keys(this.rootIds).forEach(eee.add,eee),this instanceof Kke?this.parent.getRootIdSet(eee):Object.keys(this.policies.rootTypenamesById).forEach(eee.add,eee),eee},eee.prototype.gc=function(){var eee=this,tee=this.getRootIdSet(),ree=this.toObject();tee.forEach((function(id){Cke.call(ree,id)&&(Object.keys(eee.findChildRefIds(id)).forEach(tee.add,tee),delete ree[id])}));var oee=Object.keys(ree);if(oee.length){for(var nee=this;nee instanceof Kke;)nee=nee.parent;oee.forEach((function(id){return nee.delete(id)}))}return oee},eee.prototype.findChildRefIds=function(eee){if(!Cke.call(this.refs,eee)){var tee=this.refs[eee]=Object.create(null),ree=this.data[eee];if(!ree)return tee;var oee=new Set([ree]);oee.forEach((function(eee){fve(eee)&&(tee[eee.__ref]=!0),Mme(eee)&&Object.keys(eee).forEach((function(tee){var ree=eee[tee];Mme(ree)&&oee.add(ree)}))}))}return this.refs[eee]},eee.prototype.makeCacheKey=function(){return this.group.keyMaker.lookupArray(arguments)},eee}(),Gke=function(){function eee(eee,tee){void 0===tee&&(tee=null),this.caching=eee,this.parent=tee,this.d=null,this.resetCaching()}return eee.prototype.resetCaching=function(){this.d=this.caching?fye():null,this.keyMaker=new Ome(Ame)},eee.prototype.depend=function(eee,tee){if(this.d){this.d(Qke(eee,tee));var ree=Pke(tee);ree!==tee&&this.d(Qke(eee,ree)),this.parent&&this.parent.depend(eee,tee)}},eee.prototype.dirty=function(eee,tee){this.d&&this.d.dirty(Qke(eee,tee),"__exists"===tee?"forget":"setDirty")},eee}();function Qke(eee,tee){return tee+"#"+eee}function Wke(eee,tee){Zke(eee)&&eee.group.depend(tee,"__exists")}!function(eee){var tee=function(eee){function tee(_a){var tee=_a.policies,_b=_a.resultCaching,ree=void 0===_b||_b,oee=_a.seed,nee=eee.call(this,tee,new Gke(ree))||this;return nee.stump=new Hke(nee),nee.storageTrie=new Ome(Ame),oee&&nee.replace(oee),nee}return Zpe(tee,eee),tee.prototype.addLayer=function(eee,tee){return this.stump.addLayer(eee,tee)},tee.prototype.removeLayer=function(){return this},tee.prototype.getStorage=function(){return this.storageTrie.lookupArray(arguments)},tee}(eee);eee.Root=tee}(Yke||(Yke={}));var Kke=function(eee){function tee(id,tee,ree,oee){var nee=eee.call(this,tee.policies,oee)||this;return nee.id=id,nee.parent=tee,nee.replay=ree,nee.group=oee,ree(nee),nee}return Zpe(tee,eee),tee.prototype.addLayer=function(eee,ree){return new tee(eee,this,ree,this.group)},tee.prototype.removeLayer=function(eee){var tee=this,ree=this.parent.removeLayer(eee);return eee===this.id?(this.group.caching&&Object.keys(this.data).forEach((function(eee){var oee=tee.data[eee],nee=ree.lookup(eee);nee?oee?oee!==nee&&Object.keys(oee).forEach((function(ree){mke(oee[ree],nee[ree])||tee.group.dirty(eee,ree)})):(tee.group.dirty(eee,"__exists"),Object.keys(nee).forEach((function(ree){tee.group.dirty(eee,ree)}))):tee.delete(eee)})),ree):ree===this.parent?this:ree.addLayer(this.id,this.replay)},tee.prototype.toObject=function(){return Jpe(Jpe({},this.parent.toObject()),this.data)},tee.prototype.findChildRefIds=function(tee){var ree=this.parent.findChildRefIds(tee);return Cke.call(this.data,tee)?Jpe(Jpe({},ree),eee.prototype.findChildRefIds.call(this,tee)):ree},tee.prototype.getStorage=function(){for(var p=this.parent;p.parent;)p=p.parent;return p.getStorage.apply(p,arguments)},tee}(Yke),Hke=function(eee){function tee(tee){return eee.call(this,"EntityStore.Stump",tee,(function(){}),new Gke(tee.group.caching,tee.group))||this}return Zpe(tee,eee),tee.prototype.removeLayer=function(){return this},tee.prototype.merge=function(eee,tee){return this.parent.merge(eee,tee)},tee}(Kke);function Xke(eee,tee,ree){var oee=eee[ree],nee=tee[ree];return mke(oee,nee)?oee:nee}function Zke(eee){return!!(eee instanceof Yke&&eee.group.caching)}var Jke=function(){function eee(){this.known=new(Rme?WeakSet:Set),this.pool=new Ome(Ame),this.passes=new WeakMap,this.keysByJSON=new Map,this.empty=this.admit({})}return eee.prototype.isKnown=function(eee){return Mme(eee)&&this.known.has(eee)},eee.prototype.pass=function(eee){if(Mme(eee)){var tee=function(eee){return Mme(eee)?Tye(eee)?eee.slice(0):Jpe({__proto__:Object.getPrototypeOf(eee)},eee):eee}(eee);return this.passes.set(tee,eee),tee}return eee},eee.prototype.admit=function(eee){var tee=this;if(Mme(eee)){var ree=this.passes.get(eee);if(ree)return ree;switch(Object.getPrototypeOf(eee)){case Array.prototype:if(this.known.has(eee))return eee;var oee=eee.map(this.admit,this);return(see=this.pool.lookupArray(oee)).array||(this.known.add(see.array=oee),!1!==globalThis.__DEV__&&Object.freeze(oee)),see.array;case null:case Object.prototype:if(this.known.has(eee))return eee;var nee=Object.getPrototypeOf(eee),aee=[nee],iee=this.sortedKeys(eee);aee.push(iee.json);var see,lee=aee.length;if(iee.sorted.forEach((function(ree){aee.push(tee.admit(eee[ree]))})),!(see=this.pool.lookupArray(aee)).object){var cee=see.object=Object.create(nee);this.known.add(cee),iee.sorted.forEach((function(eee,i){cee[eee]=aee[lee+i]})),!1!==globalThis.__DEV__&&Object.freeze(cee)}return see.object}}return eee},eee.prototype.sortedKeys=function(eee){var tee=Object.keys(eee),ree=this.pool.lookupArray(tee);if(!ree.keys){tee.sort();var oee=JSON.stringify(tee);(ree.keys=this.keysByJSON.get(oee))||this.keysByJSON.set(oee,ree.keys={sorted:tee,json:oee})}return ree.keys},eee}();function e_e(eee){return[eee.selectionSet,eee.objectOrReference,eee.context,eee.context.canonizeResults]}var t_e=function(){function eee(eee){var tee=this;this.knownResults=new(Ame?WeakMap:Map),this.config=Txe(eee,{addTypename:!1!==eee.addTypename,canonizeResults:zke(eee)}),this.canon=eee.canon||new Jke,this.executeSelectionSet=yye((function(eee){var _a,ree=eee.context.canonizeResults,oee=e_e(eee);oee[3]=!ree;var nee=(_a=tee.executeSelectionSet).peek.apply(_a,oee);return nee?ree?Jpe(Jpe({},nee),{result:tee.canon.admit(nee.result)}):nee:(Wke(eee.context.store,eee.enclosingRef.__ref),tee.execSelectionSetImpl(eee))}),{max:this.config.resultCacheMaxSize||tve["inMemoryCache.executeSelectionSet"]||5e4,keyArgs:e_e,makeCacheKey:function(eee,tee,ree,oee){if(Zke(ree.store))return ree.store.makeCacheKey(eee,fve(tee)?tee.__ref:tee,ree.varString,oee)}}),this.executeSubSelectedArray=yye((function(eee){return Wke(eee.context.store,eee.enclosingRef.__ref),tee.execSubSelectedArrayImpl(eee)}),{max:this.config.resultCacheMaxSize||tve["inMemoryCache.executeSubSelectedArray"]||1e4,makeCacheKey:function(_a){var eee=_a.field,tee=_a.array,ree=_a.context;if(Zke(ree.store))return ree.store.makeCacheKey(eee,tee,ree.varString)}})}return eee.prototype.resetCanon=function(){this.canon=new Jke},eee.prototype.diffQueryAgainstStore=function(_a){var eee=_a.store,tee=_a.query,_b=_a.rootId,ree=void 0===_b?"ROOT_QUERY":_b,oee=_a.variables,_c=_a.returnPartialData,nee=void 0===_c||_c,_d=_a.canonizeResults,aee=void 0===_d?this.config.canonizeResults:_d,iee=this.config.cache.policies;oee=Jpe(Jpe({},Dve(Ave(tee))),oee);var see,lee=wve(ree),cee=this.executeSelectionSet({selectionSet:Cve(tee).selectionSet,objectOrReference:lee,enclosingRef:lee,context:Jpe({store:eee,query:tee,policies:iee,variables:oee,varString:uve(oee),canonizeResults:aee},$ke(tee,this.config.fragments))});if(cee.missing&&(see=[new Rke(r_e(cee.missing),cee.missing,tee,oee)],!nee))throw see[0];return{result:cee.result,complete:!see,missing:see}},eee.prototype.isFresh=function(eee,tee,ree,oee){if(Zke(oee.store)&&this.knownResults.get(eee)===ree){var nee=this.executeSelectionSet.peek(ree,tee,oee,this.canon.isKnown(eee));if(nee&&eee===nee.result)return!0}return!1},eee.prototype.execSelectionSetImpl=function(_a){var eee=this,tee=_a.selectionSet,ree=_a.objectOrReference,oee=_a.enclosingRef,nee=_a.context;if(fve(ree)&&!nee.policies.rootTypenamesById[ree.__ref]&&!nee.store.has(ree.__ref))return{result:this.canon.empty,missing:"Dangling reference to missing ".concat(ree.__ref," object")};var aee,iee=nee.variables,see=nee.policies,lee=nee.store.getFieldValue(ree,"__typename"),cee=[],pee=new jye;function dee(eee,tee){var _a;return eee.missing&&(aee=pee.merge(aee,((_a={})[tee]=eee.missing,_a))),eee.result}this.config.addTypename&&"string"==typeof lee&&!see.rootIdsByTypename[lee]&&cee.push({__typename:lee});var uee=new Set(tee.selections);uee.forEach((function(tee){var _a,_b;if(xme(tee,iee))if(Tve(tee)){var hee=see.readField({fieldName:tee.name.value,field:tee,variables:nee.variables,from:ree},nee),gee=_ve(tee);void 0===hee?Cye.added(tee)||(aee=pee.merge(aee,((_a={})[gee]="Can't find field '".concat(tee.name.value,"' on ").concat(fve(ree)?ree.__ref+" object":"object "+JSON.stringify(ree,null,2)),_a))):Tye(hee)?hee.length>0&&(hee=dee(eee.executeSubSelectedArray({field:tee,array:hee,enclosingRef:oee,context:nee}),gee)):tee.selectionSet?null!=hee&&(hee=dee(eee.executeSelectionSet({selectionSet:tee.selectionSet,objectOrReference:hee,enclosingRef:fve(hee)?hee:oee,context:nee}),gee)):nee.canonizeResults&&(hee=eee.canon.pass(hee)),void 0!==hee&&cee.push(((_b={})[gee]=hee,_b))}else{var wee=$me(tee,nee.lookupFragment);if(!wee&&tee.kind===vue.FRAGMENT_SPREAD)throw Gde(9,tee.name.value);wee&&see.fragmentMatches(wee,lee)&&wee.selectionSet.selections.forEach(uee.add,uee)}}));var hee={result:Pye(cee),missing:aee},gee=nee.canonizeResults?this.canon.admit(hee):fxe(hee);return gee.result&&this.knownResults.set(gee.result,tee),gee},eee.prototype.execSubSelectedArrayImpl=function(_a){var eee,tee=this,ree=_a.field,oee=_a.array,nee=_a.enclosingRef,aee=_a.context,iee=new jye;function see(tee,i){var _a;return tee.missing&&(eee=iee.merge(eee,((_a={})[i]=tee.missing,_a))),tee.result}return ree.selectionSet&&(oee=oee.filter(aee.store.canRead)),oee=oee.map((function(eee,i){return null===eee?null:Tye(eee)?see(tee.executeSubSelectedArray({field:ree,array:eee,enclosingRef:nee,context:aee}),i):ree.selectionSet?see(tee.executeSelectionSet({selectionSet:ree.selectionSet,objectOrReference:eee,enclosingRef:fve(eee)?eee:nee,context:aee}),i):(!1!==globalThis.__DEV__&&function(eee,tee,ree){if(!tee.selectionSet){var oee=new Set([ree]);oee.forEach((function(ree){Mme(ree)&&(Yde(!fve(ree),10,function(eee,tee){return fve(tee)?eee.get(tee.__ref,"__typename"):tee&&tee.__typename}(eee,ree),tee.name.value),Object.values(ree).forEach(oee.add,oee))}))}}(aee.store,ree,eee),eee)})),{result:aee.canonizeResults?this.canon.admit(oee):oee,missing:eee}},eee}();function r_e(eee){try{JSON.stringify(eee,(function(_,eee){if("string"==typeof eee)throw eee;return eee}))}catch(tee){return tee}}var o_e=new Gve,n_e=new WeakMap;function a_e(eee){var tee=n_e.get(eee);return tee||n_e.set(eee,tee={vars:new Set,dep:fye()}),tee}function i_e(eee){a_e(eee).vars.forEach((function(rv){return rv.forgetCache(eee)}))}function s_e(eee){var tee=new Set,ree=new Set,rv=function(nee){if(arguments.length>0){if(eee!==nee){eee=nee,tee.forEach((function(eee){a_e(eee).dep.dirty(rv),function(eee){eee.broadcastWatches&&eee.broadcastWatches()}(eee)}));var aee=Array.from(ree);ree.clear(),aee.forEach((function(tee){return tee(eee)}))}}else{var iee=o_e.getValue();iee&&(oee(iee),a_e(iee).dep(rv))}return eee};rv.onNextChange=function(eee){return ree.add(eee),function(){ree.delete(eee)}};var oee=rv.attachCache=function(eee){return tee.add(eee),a_e(eee).vars.add(rv),rv};return rv.forgetCache=function(eee){return tee.delete(eee)},rv}var l_e=Object.create(null);function c_e(eee){var tee=JSON.stringify(eee);return l_e[tee]||(l_e[tee]=Object.create(null))}function p_e(eee){var tee=c_e(eee);return tee.keyFieldsFn||(tee.keyFieldsFn=function(tee,ree){var oee=function(eee,tee){return ree.readField(tee,eee)},nee=ree.keyObject=u_e(eee,(function(eee){var nee=w_e(ree.storeObject,eee,oee);return void 0===nee&&tee!==ree.storeObject&&Cke.call(tee,eee[0])&&(nee=w_e(tee,eee,g_e)),Yde(void 0!==nee,4,eee.join("."),tee),nee}));return"".concat(ree.typename,":").concat(JSON.stringify(nee))})}function d_e(eee){var tee=c_e(eee);return tee.keyArgsFn||(tee.keyArgsFn=function(tee,_a){var ree=_a.field,oee=_a.variables,nee=_a.fieldName,aee=u_e(eee,(function(eee){var nee=eee[0],aee=nee.charAt(0);if("@"!==aee)if("$"!==aee){if(tee)return w_e(tee,eee)}else{var iee=nee.slice(1);if(oee&&Cke.call(oee,iee)){var see=eee.slice(0);return see[0]=iee,w_e(oee,see)}}else if(ree&&Sye(ree.directives)){var lee=nee.slice(1),d=ree.directives.find((function(d){return d.name.value===lee})),cee=d&&kve(d,oee);return cee&&w_e(cee,eee.slice(1))}})),iee=JSON.stringify(aee);return(tee||"{}"!==iee)&&(nee+=":"+iee),nee})}function u_e(eee,tee){var ree=new jye;return h_e(eee).reduce((function(eee,oee){var _a,nee=tee(oee);if(void 0!==nee){for(var i=oee.length-1;i>=0;--i)(_a={})[oee[i]]=nee,nee=_a;eee=ree.merge(eee,nee)}return eee}),Object.create(null))}function h_e(eee){var tee=c_e(eee);if(!tee.paths){var ree=tee.paths=[],oee=[];eee.forEach((function(s,i){Tye(s)?(h_e(s).forEach((function(p){return ree.push(oee.concat(p))})),oee.length=0):(oee.push(s),Tye(eee[i+1])||(ree.push(oee.slice(0)),oee.length=0))}))}return tee.paths}function g_e(eee,tee){return eee[tee]}function w_e(eee,tee,ree){return ree=ree||g_e,f_e(tee.reduce((function eee(tee,oee){return Tye(tee)?tee.map((function(tee){return eee(tee,oee)})):tee&&ree(tee,oee)}),eee))}function f_e(eee){return Mme(eee)?Tye(eee)?eee.map(f_e):u_e(Object.keys(eee).sort(),(function(tee){return w_e(eee,tee)})):eee}function b_e(eee){return void 0!==eee.args?eee.args:eee.field?kve(eee.field,eee.variables):null}var m_e=function(){},v_e=function(eee,tee){return tee.fieldName},y_e=function(eee,tee,_a){return(0,_a.mergeObjects)(eee,tee)},x_e=function(_,eee){return eee},k_e=function(){function eee(eee){this.config=eee,this.typePolicies=Object.create(null),this.toBeAdded=Object.create(null),this.supertypeMap=new Map,this.fuzzySubtypes=new Map,this.rootIdsByTypename=Object.create(null),this.rootTypenamesById=Object.create(null),this.usingPossibleTypes=!1,this.config=Jpe({dataIdFromObject:Lke},eee),this.cache=this.config.cache,this.setRootTypename("Query"),this.setRootTypename("Mutation"),this.setRootTypename("Subscription"),eee.possibleTypes&&this.addPossibleTypes(eee.possibleTypes),eee.typePolicies&&this.addTypePolicies(eee.typePolicies)}return eee.prototype.identify=function(eee,tee){var _a,ree=this,oee=tee&&(tee.typename||(null===(_a=tee.storeObject)||void 0===_a?void 0:_a.__typename))||eee.__typename;if(oee===this.rootTypenamesById.ROOT_QUERY)return["ROOT_QUERY"];for(var id,nee=tee&&tee.storeObject||eee,aee=Jpe(Jpe({},tee),{typename:oee,storeObject:nee,readField:tee&&tee.readField||function(){var eee=E_e(arguments,nee);return ree.readField(eee,{store:ree.cache.data,variables:eee.variables})}}),iee=oee&&this.getTypePolicy(oee),see=iee&&iee.keyFn||this.config.dataIdFromObject;see;){var lee=see(Jpe(Jpe({},eee),nee),aee);if(!Tye(lee)){id=lee;break}see=p_e(lee)}return id=id?String(id):void 0,aee.keyObject?[id,aee.keyObject]:[id]},eee.prototype.addTypePolicies=function(eee){var tee=this;Object.keys(eee).forEach((function(ree){var _a=eee[ree],oee=_a.queryType,nee=_a.mutationType,aee=_a.subscriptionType,iee=ede(_a,["queryType","mutationType","subscriptionType"]);oee&&tee.setRootTypename("Query",ree),nee&&tee.setRootTypename("Mutation",ree),aee&&tee.setRootTypename("Subscription",ree),Cke.call(tee.toBeAdded,ree)?tee.toBeAdded[ree].push(iee):tee.toBeAdded[ree]=[iee]}))},eee.prototype.updateTypePolicy=function(eee,tee){var ree=this,oee=this.getTypePolicy(eee),nee=tee.keyFields,aee=tee.fields;function iee(eee,tee){eee.merge="function"==typeof tee?tee:!0===tee?y_e:!1===tee?x_e:eee.merge}iee(oee,tee.merge),oee.keyFn=!1===nee?m_e:Tye(nee)?p_e(nee):"function"==typeof nee?nee:oee.keyFn,aee&&Object.keys(aee).forEach((function(tee){var oee=ree.getFieldPolicy(eee,tee,!0),nee=aee[tee];if("function"==typeof nee)oee.read=nee;else{var see=nee.keyArgs,lee=nee.read,cee=nee.merge;oee.keyFn=!1===see?v_e:Tye(see)?d_e(see):"function"==typeof see?see:oee.keyFn,"function"==typeof lee&&(oee.read=lee),iee(oee,cee)}oee.read&&oee.merge&&(oee.keyFn=oee.keyFn||v_e)}))},eee.prototype.setRootTypename=function(eee,tee){void 0===tee&&(tee=eee);var ree="ROOT_"+eee.toUpperCase(),oee=this.rootTypenamesById[ree];tee!==oee&&(Yde(!oee||oee===eee,5,eee),oee&&delete this.rootIdsByTypename[oee],this.rootIdsByTypename[tee]=ree,this.rootTypenamesById[ree]=tee)},eee.prototype.addPossibleTypes=function(eee){var tee=this;this.usingPossibleTypes=!0,Object.keys(eee).forEach((function(ree){tee.getSupertypeSet(ree,!0),eee[ree].forEach((function(eee){tee.getSupertypeSet(eee,!0).add(ree);var oee=eee.match(Mke);oee&&oee[0]===eee||tee.fuzzySubtypes.set(eee,new RegExp(eee))}))}))},eee.prototype.getTypePolicy=function(eee){var tee=this;if(!Cke.call(this.typePolicies,eee)){var ree=this.typePolicies[eee]=Object.create(null);ree.fields=Object.create(null);var oee=this.supertypeMap.get(eee);!oee&&this.fuzzySubtypes.size&&(oee=this.getSupertypeSet(eee,!0),this.fuzzySubtypes.forEach((function(ree,nee){if(ree.test(eee)){var aee=tee.supertypeMap.get(nee);aee&&aee.forEach((function(eee){return oee.add(eee)}))}}))),oee&&oee.size&&oee.forEach((function(eee){var _a=tee.getTypePolicy(eee),oee=_a.fields,nee=ede(_a,["fields"]);Object.assign(ree,nee),Object.assign(ree.fields,oee)}))}var nee=this.toBeAdded[eee];return nee&&nee.length&&nee.splice(0).forEach((function(ree){tee.updateTypePolicy(eee,ree)})),this.typePolicies[eee]},eee.prototype.getFieldPolicy=function(eee,tee,ree){if(eee){var oee=this.getTypePolicy(eee).fields;return oee[tee]||ree&&(oee[tee]=Object.create(null))}},eee.prototype.getSupertypeSet=function(eee,tee){var ree=this.supertypeMap.get(eee);return!ree&&tee&&this.supertypeMap.set(eee,ree=new Set),ree},eee.prototype.fragmentMatches=function(eee,tee,ree,oee){var nee=this;if(!eee.typeCondition)return!0;if(!tee)return!1;var aee=eee.typeCondition.name.value;if(tee===aee)return!0;if(this.usingPossibleTypes&&this.supertypeMap.has(aee))for(var iee=this.getSupertypeSet(tee,!0),see=[iee],lee=function(eee){var tee=nee.getSupertypeSet(eee,!1);tee&&tee.size&&see.indexOf(tee)<0&&see.push(tee)},cee=!(!ree||!this.fuzzySubtypes.size),pee=!1,i=0;i1?aee:tee}:(oee=Jpe({},nee),Cke.call(oee,"from")||(oee.from=tee)),!1!==globalThis.__DEV__&&void 0===oee.from&&!1!==globalThis.__DEV__&&Yde.warn(7,qde(Array.from(eee))),void 0===oee.variables&&(oee.variables=ree),oee}function T_e(eee){return function(tee,ree){if(Tye(tee)||Tye(ree))throw Gde(8);if(Mme(tee)&&Mme(ree)){var oee=eee.getFieldValue(tee,"__typename"),nee=eee.getFieldValue(ree,"__typename");if(oee&&nee&&oee!==nee)return ree;if(fve(tee)&&jke(ree))return eee.merge(tee.__ref,ree),tee;if(jke(tee)&&fve(ree))return eee.merge(tee,ree.__ref),ree;if(jke(tee)&&jke(ree))return Jpe(Jpe({},tee),ree)}return ree}}function S_e(eee,tee,ree){var oee="".concat(tee).concat(ree),nee=eee.flavors.get(oee);return nee||eee.flavors.set(oee,nee=eee.clientOnly===tee&&eee.deferred===ree?eee:Jpe(Jpe({},eee),{clientOnly:tee,deferred:ree})),nee}var I_e=function(){function eee(eee,tee,ree){this.cache=eee,this.reader=tee,this.fragments=ree}return eee.prototype.writeToStore=function(eee,_a){var tee=this,ree=_a.query,oee=_a.result,nee=_a.dataId,aee=_a.variables,iee=_a.overwrite,see=Ive(ree),lee=new jye;aee=Jpe(Jpe({},Dve(see)),aee);var cee=Jpe(Jpe({store:eee,written:Object.create(null),merge:function(eee,tee){return lee.merge(eee,tee)},variables:aee,varString:uve(aee)},$ke(ree,this.fragments)),{overwrite:!!iee,incomingById:new Map,clientOnly:!1,deferred:!1,flavors:new Map}),pee=this.processSelectionSet({result:oee||Object.create(null),dataId:nee,selectionSet:see.selectionSet,mergeTree:{map:new Map},context:cee});if(!fve(pee))throw Gde(11,oee);return cee.incomingById.forEach((function(_a,ree){var oee=_a.storeObject,nee=_a.mergeTree,aee=_a.fieldNodeSet,iee=wve(ree);if(nee&&nee.map.size){var see=tee.applyMerges(nee,iee,oee,cee);if(fve(see))return;oee=see}if(!1!==globalThis.__DEV__&&!cee.overwrite){var lee=Object.create(null);aee.forEach((function(eee){eee.selectionSet&&(lee[eee.name.value]=!0)}));Object.keys(oee).forEach((function(eee){(function(eee){return!0===lee[Pke(eee)]})(eee)&&!function(eee){var tee=nee&&nee.map.get(eee);return Boolean(tee&&tee.info&&tee.info.merge)}(eee)&&function(eee,tee,ree,oee){var nee=function(eee){var tee=oee.getFieldValue(eee,ree);return"object"==typeof tee&&tee},aee=nee(eee);if(!aee)return;var iee=nee(tee);if(!iee)return;if(fve(aee))return;if(mke(aee,iee))return;if(Object.keys(aee).every((function(eee){return void 0!==oee.getFieldValue(iee,eee)})))return;var see=oee.getFieldValue(eee,"__typename")||oee.getFieldValue(tee,"__typename"),lee=Pke(ree),cee="".concat(see,".").concat(lee);if(D_e.has(cee))return;D_e.add(cee);var pee=[];Tye(aee)||Tye(iee)||[aee,iee].forEach((function(eee){var tee=oee.getFieldValue(eee,"__typename");"string"!=typeof tee||pee.includes(tee)||pee.push(tee)}));!1!==globalThis.__DEV__&&Yde.warn(14,lee,see,pee.length?"either ensure all objects of type "+pee.join(" and ")+" have an ID or a custom merge function, or ":"",cee,Jpe({},aee),Jpe({},iee))}(iee,oee,eee,cee.store)}))}eee.merge(ree,oee)})),eee.retain(pee.__ref),pee},eee.prototype.processSelectionSet=function(_a){var eee=this,tee=_a.dataId,ree=_a.result,oee=_a.selectionSet,nee=_a.context,aee=_a.mergeTree,iee=this.cache.policies,see=Object.create(null),lee=tee&&iee.rootTypenamesById[tee]||Eve(ree,oee,nee.fragmentMap)||tee&&nee.store.get(tee,"__typename");"string"==typeof lee&&(see.__typename=lee);var cee=function(){var eee=E_e(arguments,see,nee.variables);if(fve(eee.from)){var tee=nee.incomingById.get(eee.from.__ref);if(tee){var ree=iee.readField(Jpe(Jpe({},eee),{from:tee.storeObject}),nee);if(void 0!==ree)return ree}}return iee.readField(eee,nee)},pee=new Set;this.flattenFields(oee,ree,nee,lee).forEach((function(tee,oee){var _a,nee=_ve(oee),dee=ree[nee];if(pee.add(oee),void 0!==dee){var uee=iee.getStoreFieldName({typename:lee,fieldName:oee.name.value,field:oee,variables:tee.variables}),hee=N_e(aee,uee),gee=eee.processFieldValue(dee,oee,oee.selectionSet?S_e(tee,!1,!1):tee,hee),wee=void 0;oee.selectionSet&&(fve(gee)||jke(gee))&&(wee=cee("__typename",gee));var fee=iee.getMergeFunction(lee,oee.name.value,wee);fee?hee.info={field:oee,typename:lee,merge:fee}:C_e(aee,uee),see=tee.merge(see,((_a={})[uee]=gee,_a))}else!1===globalThis.__DEV__||tee.clientOnly||tee.deferred||Cye.added(oee)||iee.getReadFunction(lee,oee.name.value)||!1!==globalThis.__DEV__&&Yde.error(12,_ve(oee),ree)}));try{var _b=iee.identify(ree,{typename:lee,selectionSet:oee,fragmentMap:nee.fragmentMap,storeObject:see,readField:cee}),id=_b[0],dee=_b[1];tee=tee||id,dee&&(see=nee.merge(see,dee))}catch(e){if(!tee)throw e}if("string"==typeof tee){var uee=wve(tee),hee=nee.written[tee]||(nee.written[tee]=[]);if(hee.indexOf(oee)>=0)return uee;if(hee.push(oee),this.reader&&this.reader.isFresh(ree,uee,oee,nee))return uee;var gee=nee.incomingById.get(tee);return gee?(gee.storeObject=nee.merge(gee.storeObject,see),gee.mergeTree=A_e(gee.mergeTree,aee),pee.forEach((function(eee){return gee.fieldNodeSet.add(eee)}))):nee.incomingById.set(tee,{storeObject:see,mergeTree:R_e(aee)?void 0:aee,fieldNodeSet:pee}),uee}return see},eee.prototype.processFieldValue=function(eee,tee,ree,oee){var nee=this;return tee.selectionSet&&null!==eee?Tye(eee)?eee.map((function(eee,i){var aee=nee.processFieldValue(eee,tee,ree,N_e(oee,i));return C_e(oee,i),aee})):this.processSelectionSet({result:eee,selectionSet:tee.selectionSet,context:ree,mergeTree:oee}):!1!==globalThis.__DEV__?hxe(eee):eee},eee.prototype.flattenFields=function(eee,tee,ree,oee){void 0===oee&&(oee=Eve(tee,eee,ree.fragmentMap));var nee=new Map,aee=this.cache.policies,iee=new Ome(!1);return function eee(see,lee){var cee=iee.lookup(see,lee.clientOnly,lee.deferred);cee.visited||(cee.visited=!0,see.selections.forEach((function(iee){if(xme(iee,ree.variables)){var see=lee.clientOnly,cee=lee.deferred;if(see&&cee||!Sye(iee.directives)||iee.directives.forEach((function(eee){var tee=eee.name.value;if("client"===tee&&(see=!0),"defer"===tee){var oee=kve(eee,ree.variables);oee&&!1===oee.if||(cee=!0)}})),Tve(iee)){var pee=nee.get(iee);pee&&(see=see&&pee.clientOnly,cee=cee&&pee.deferred),nee.set(iee,S_e(ree,see,cee))}else{var dee=$me(iee,ree.lookupFragment);if(!dee&&iee.kind===vue.FRAGMENT_SPREAD)throw Gde(13,iee.name.value);dee&&aee.fragmentMatches(dee,oee,tee,ree.variables)&&eee(dee.selectionSet,S_e(ree,see,cee))}}})))}(eee,ree),nee},eee.prototype.applyMerges=function(eee,tee,ree,oee,nee){var _a,aee=this;if(eee.map.size&&!fve(ree)){var iee,see=Tye(ree)||!fve(tee)&&!jke(tee)?void 0:tee,lee=ree;see&&!nee&&(nee=[fve(see)?see.__ref:see]);var cee=function(eee,tee){return Tye(eee)?"number"==typeof tee?eee[tee]:void 0:oee.store.getFieldValue(eee,String(tee))};eee.map.forEach((function(eee,tee){var ree=cee(see,tee),pee=cee(lee,tee);if(void 0!==pee){nee&&nee.push(tee);var dee=aee.applyMerges(eee,ree,pee,oee,nee);dee!==pee&&(iee=iee||new Map).set(tee,dee),nee&&Yde(nee.pop()===tee)}})),iee&&(ree=Tye(lee)?lee.slice(0):Jpe({},lee),iee.forEach((function(eee,tee){ree[tee]=eee})))}return eee.info?this.cache.policies.runMergeFunction(tee,ree,eee.info,oee,nee&&(_a=oee.store).getStorage.apply(_a,nee)):ree},eee}(),O_e=[];function N_e(_a,eee){var tee=_a.map;return tee.has(eee)||tee.set(eee,O_e.pop()||{map:new Map}),tee.get(eee)}function A_e(eee,tee){if(eee===tee||!tee||R_e(tee))return eee;if(!eee||R_e(eee))return tee;var ree=eee.info&&tee.info?Jpe(Jpe({},eee.info),tee.info):eee.info||tee.info,oee=eee.map.size&&tee.map.size,nee={info:ree,map:oee?new Map:eee.map.size?eee.map:tee.map};if(oee){var aee=new Set(tee.map.keys());eee.map.forEach((function(eee,ree){nee.map.set(ree,A_e(eee,tee.map.get(ree))),aee.delete(ree)})),aee.forEach((function(ree){nee.map.set(ree,A_e(tee.map.get(ree),eee.map.get(ree)))}))}return nee}function R_e(eee){return!eee||!(eee.info||eee.map.size)}function C_e(_a,eee){var tee=_a.map,ree=tee.get(eee);ree&&R_e(ree)&&(O_e.push(ree),tee.delete(eee))}var D_e=new Set;var L_e=function(eee){function tee(tee){void 0===tee&&(tee={});var ree=eee.call(this)||this;return ree.watches=new Set,ree.addTypenameTransform=new _ye(Cye),ree.assumeImmutableResults=!0,ree.makeVar=s_e,ree.txCount=0,ree.config=function(eee){return Txe(Fke,eee)}(tee),ree.addTypename=!!ree.config.addTypename,ree.policies=new k_e({cache:ree,dataIdFromObject:ree.config.dataIdFromObject,possibleTypes:ree.config.possibleTypes,typePolicies:ree.config.typePolicies}),ree.init(),ree}return Zpe(tee,eee),tee.prototype.init=function(){var eee=this.data=new Yke.Root({policies:this.policies,resultCaching:this.config.resultCaching});this.optimisticData=eee.stump,this.resetResultCache()},tee.prototype.resetResultCache=function(eee){var tee=this,ree=this.storeReader,oee=this.config.fragments;this.storeWriter=new I_e(this,this.storeReader=new t_e({cache:this,addTypename:this.addTypename,resultCacheMaxSize:this.config.resultCacheMaxSize,canonizeResults:zke(this.config),canon:eee?void 0:ree&&ree.canon,fragments:oee}),oee),this.maybeBroadcastWatch=yye((function(c,eee){return tee.broadcastWatch(c,eee)}),{max:this.config.resultCacheMaxSize||tve["inMemoryCache.maybeBroadcastWatch"]||5e3,makeCacheKey:function(c){var eee=c.optimistic?tee.optimisticData:tee.data;if(Zke(eee)){var ree=c.optimistic,id=c.id,oee=c.variables;return eee.makeCacheKey(c.query,c.callback,uve({optimistic:ree,id:id,variables:oee}))}}}),new Set([this.data.group,this.optimisticData.group]).forEach((function(eee){return eee.resetCaching()}))},tee.prototype.restore=function(eee){return this.init(),eee&&this.data.replace(eee),this},tee.prototype.extract=function(eee){return void 0===eee&&(eee=!1),(eee?this.optimisticData:this.data).extract()},tee.prototype.read=function(eee){var _a=eee.returnPartialData,tee=void 0!==_a&&_a;try{return this.storeReader.diffQueryAgainstStore(Jpe(Jpe({},eee),{store:eee.optimistic?this.optimisticData:this.data,config:this.config,returnPartialData:tee})).result||null}catch(e){if(e instanceof Rke)return null;throw e}},tee.prototype.write=function(eee){try{return++this.txCount,this.storeWriter.writeToStore(this.data,eee)}finally{--this.txCount||!1===eee.broadcast||this.broadcastWatches()}},tee.prototype.modify=function(eee){if(Cke.call(eee,"id")&&!eee.id)return!1;var tee=eee.optimistic?this.optimisticData:this.data;try{return++this.txCount,tee.modify(eee.id||"ROOT_QUERY",eee.fields)}finally{--this.txCount||!1===eee.broadcast||this.broadcastWatches()}},tee.prototype.diff=function(eee){return this.storeReader.diffQueryAgainstStore(Jpe(Jpe({},eee),{store:eee.optimistic?this.optimisticData:this.data,rootId:eee.id||"ROOT_QUERY",config:this.config}))},tee.prototype.watch=function(eee){var tee=this;return this.watches.size||function(eee){a_e(eee).vars.forEach((function(rv){return rv.attachCache(eee)}))}(this),this.watches.add(eee),eee.immediate&&this.maybeBroadcastWatch(eee),function(){tee.watches.delete(eee)&&!tee.watches.size&&i_e(tee),tee.maybeBroadcastWatch.forget(eee)}},tee.prototype.gc=function(eee){var _a;uve.reset(),Eye.reset(),this.addTypenameTransform.resetCache(),null===(_a=this.config.fragments)||void 0===_a||_a.resetCaches();var tee=this.optimisticData.gc();return eee&&!this.txCount&&(eee.resetResultCache?this.resetResultCache(eee.resetResultIdentities):eee.resetResultIdentities&&this.storeReader.resetCanon()),tee},tee.prototype.retain=function(eee,tee){return(tee?this.optimisticData:this.data).retain(eee)},tee.prototype.release=function(eee,tee){return(tee?this.optimisticData:this.data).release(eee)},tee.prototype.identify=function(eee){if(fve(eee))return eee.__ref;try{return this.policies.identify(eee)[0]}catch(e){!1!==globalThis.__DEV__&&Yde.warn(e)}},tee.prototype.evict=function(eee){if(!eee.id){if(Cke.call(eee,"id"))return!1;eee=Jpe(Jpe({},eee),{id:"ROOT_QUERY"})}try{return++this.txCount,this.optimisticData.evict(eee,this.data)}finally{--this.txCount||!1===eee.broadcast||this.broadcastWatches()}},tee.prototype.reset=function(eee){var tee=this;return this.init(),uve.reset(),eee&&eee.discardWatches?(this.watches.forEach((function(eee){return tee.maybeBroadcastWatch.forget(eee)})),this.watches.clear(),i_e(this)):this.broadcastWatches(),Promise.resolve()},tee.prototype.removeOptimistic=function(eee){var tee=this.optimisticData.removeLayer(eee);tee!==this.optimisticData&&(this.optimisticData=tee,this.broadcastWatches())},tee.prototype.batch=function(eee){var tee,ree=this,oee=eee.update,_a=eee.optimistic,nee=void 0===_a||_a,aee=eee.removeOptimistic,iee=eee.onWatchUpdated,see=function(eee){var _a=ree,nee=_a.data,aee=_a.optimisticData;++ree.txCount,eee&&(ree.data=ree.optimisticData=eee);try{return tee=oee(ree)}finally{--ree.txCount,ree.data=nee,ree.optimisticData=aee}},lee=new Set;return iee&&!this.txCount&&this.broadcastWatches(Jpe(Jpe({},eee),{onWatchUpdated:function(eee){return lee.add(eee),!1}})),"string"==typeof nee?this.optimisticData=this.optimisticData.addLayer(nee,see):!1===nee?see(this.data):see(),"string"==typeof aee&&(this.optimisticData=this.optimisticData.removeLayer(aee)),iee&&lee.size?(this.broadcastWatches(Jpe(Jpe({},eee),{onWatchUpdated:function(eee,tee){var ree=iee.call(this,eee,tee);return!1!==ree&&lee.delete(eee),ree}})),lee.size&&lee.forEach((function(eee){return ree.maybeBroadcastWatch.dirty(eee)}))):this.broadcastWatches(eee),tee},tee.prototype.performTransaction=function(eee,tee){return this.batch({update:eee,optimistic:tee||null!==tee})},tee.prototype.transformDocument=function(eee){return this.addTypenameToDocument(this.addFragmentsToDocument(eee))},tee.prototype.broadcastWatches=function(eee){var tee=this;this.txCount||this.watches.forEach((function(c){return tee.maybeBroadcastWatch(c,eee)}))},tee.prototype.addFragmentsToDocument=function(eee){var tee=this.config.fragments;return tee?tee.transform(eee):eee},tee.prototype.addTypenameToDocument=function(eee){return this.addTypename?this.addTypenameTransform.transformDocument(eee):eee},tee.prototype.broadcastWatch=function(c,eee){var tee=c.lastDiff,ree=this.diff(c);eee&&(c.optimistic&&"string"==typeof eee.optimistic&&(ree.fromOptimisticTransaction=!0),eee.onWatchUpdated&&!1===eee.onWatchUpdated.call(this,c,ree,tee))||tee&&mke(tee.result,ree.result)||c.callback(c.lastDiff=ree,tee)},tee}(Ake);!1!==globalThis.__DEV__&&(L_e.prototype.getMemoryInternals=nve);var F_e=function(){function eee(){for(var eee=[],_i=0;_i{if(id){const tee=iEe(eee,id);return tee||iEe(ree,id)}const tee=aEe(eee,oee);return tee||aEe(ree,ree.default)}}else tee=id=>id?iEe(ree,id):aEe(ree,ree.default);function oee(id=eee){const ree=tee(id);if(!ree)throw new Error(`Apollo client with id ${null!=id?id:"default"} not found. Use an app.runWithContext() or provideApolloClient() if you are outside of a component setup.`);return ree}return{resolveClient:oee,get client(){return oee()}}}var lEe={};function cEe(eee){return mre(eee)?eee:"function"==typeof eee?kae(eee):vre(eee)}function pEe(){const eee=[];function tee(fn){const tee=eee.indexOf(fn);-1!==tee&&eee.splice(tee,1)}return{on:function(fn){return eee.push(fn),{off:()=>tee(fn)}},off:tee,trigger:function(...tee){for(const fn of eee)fn(...tee)},getCount:function(){return eee.length}}}var dEe="undefined"==typeof window,uEe={queries:vre(0),mutations:vre(0),subscriptions:vre(0),components:new Map};function hEe(eee,tee){if(dEe)return;const{tracking:ree}=function(){const vm=pae();if(!vm)return{};let eee;return uEe.components.has(vm)?eee=uEe.components.get(vm):(uEe.components.set(vm,eee={queries:vre(0),mutations:vre(0),subscriptions:vre(0)}),Roe((()=>{uEe.components.delete(vm)}))),{tracking:eee}}();poe(eee,((eee,oee)=>{if(null!=oee&&eee!==oee){const oee=eee?1:-1;ree&&(ree[tee].value+=oee),uEe[tee].value+=oee}}),{immediate:!0}),Aoe((()=>{eee.value&&(ree&&ree[tee].value--,uEe[tee].value--)}))}function gEe(eee){return eee instanceof Error?Hxe(eee)?eee:new Xxe({networkError:eee,errorMessage:eee.message}):new Xxe({networkError:Object.assign(new Error,{originalError:eee}),errorMessage:String(eee)})}function wEe(eee,tee,ree){return function(eee,tee,ree={},oee=!1){var _a;const vm=pae(),nee=vre(),aee=cEe(eee),iee=cEe(tee),see=(hee=ree,mre(hee)?hee:"function"==typeof hee?kae(hee):hee?are(hee):hee),lee=yre(),cee=pEe(),pee=yre(null),dee=pEe(),uee=vre(!1);var hee;vm&&function(eee){hEe(eee,"queries")}(uee);const gee=vre();let wee,fee,bee,mee=!1;const vee=()=>{mee=!0,wee&&wee()},yee=eee=>{bee=eee,fee&&fee(eee)},xee=()=>{wee=void 0,fee=void 0,mee=!1,bee=void 0};vm&&(null==(_a=Coe)||_a((()=>{var eee;if(Wee.value&&(!dEe||!1!==(null==(eee=nee.value)?void 0:eee.prefetch)))return new Promise(((eee,tee)=>{wee=()=>{xee(),eee()},fee=eee=>{xee(),tee(eee)},mee?wee():bee&&fee(bee)})).finally(Pee)})));const{resolveClient:kee}=sEe();function _ee(){var eee;return kee(null==(eee=nee.value)?void 0:eee.clientId)}const Eee=yre();let Tee,See=!1,Iee=!1,Oee=!0;function Nee(){var eee,_b,_c,_d,_e;if(See||!Wee.value||dEe&&!1===(null==(eee=nee.value)?void 0:eee.prefetch)||!Yee)return void vee();dEe&&(Hee(aee.value),Jee(iee.value),Kee(_re(see))),See=!0,pee.value=null,uee.value=!0;const tee=_ee();if(Eee.value=tee.watchQuery({query:Yee,variables:null!=Xee?Xee:{},...nee.value,...dEe&&"no-cache"!==(null==(_b=nee.value)?void 0:_b.fetchPolicy)?{fetchPolicy:"network-only"}:{}}),Aee(),!dEe&&(Oee||!(null==(_c=nee.value)?void 0:_c.keepPreviousResult))&&("no-cache"!==(null==(_d=nee.value)?void 0:_d.fetchPolicy)||nee.value.notifyOnNetworkStatusChange)){const eee=Eee.value.getCurrentResult(!1);!eee.loading||eee.partial||(null==(_e=nee.value)?void 0:_e.notifyOnNetworkStatusChange)?(Cee(eee),Iee=!eee.loading):eee.error&&(Lee(eee.error),Iee=!0)}if(!dEe)for(const ree of rte)nte(ree);Oee=!1}function Aee(){Tee&&!Tee.closed||Eee.value&&(Iee=!1,Tee=Eee.value.subscribe({next:Cee,error:Lee}))}function Ree(){var eee,_b,_c,_d;const tee=kee(null==(eee=nee.value)?void 0:eee.clientId);return(null==(_b=nee.value)?void 0:_b.errorPolicy)||(null==(_d=null==(_c=tee.defaultOptions)?void 0:_c.watchQuery)?void 0:_d.errorPolicy)}function Cee(eee){var tee;if(Iee)return void(Iee=!1);pee.value=null,Dee(eee);const ree=Ree();ree&&"all"===ree&&!eee.error&&(null==(tee=eee.errors)?void 0:tee.length)&&Fee(function(eee){return new Xxe({graphQLErrors:eee,errorMessage:`GraphQL response contains errors: ${eee.map((e=>e.message)).join(" | ")}`})}(eee.errors)),vee()}function Dee(eee){lee.value=eee.data&&0===Object.keys(eee.data).length?void 0:eee.data,uee.value=eee.loading,gee.value=eee.networkStatus,qre((()=>{cee.trigger(eee,{client:_ee()})}))}function Lee(eee){if(Iee)return void(Iee=!1);const tee=gEe(eee),ree=Ree();ree&&"none"!==ree&&Dee(Eee.value.getCurrentResult()),Fee(tee),yee(tee),zee()}function Fee(eee){pee.value=eee,uee.value=!1,gee.value=8,qre((()=>{dee.trigger(eee,{client:_ee()})}))}function zee(){if(!Eee.value)return;const eee=Eee.value.getLastError(),tee=Eee.value.getLastResult();Eee.value.resetLastResults(),Aee(),Object.assign(Eee.value,{lastError:eee,lastResult:tee})}let Mee=[];function Pee(){vee(),See&&(See=!1,uee.value=!1,Mee.forEach((eee=>eee())),Mee=[],Eee.value&&(Eee.value.stopPolling(),Eee.value=null),Tee&&(Tee.unsubscribe(),Tee=void 0))}let Uee,jee=!1;function $ee(){See&&!jee&&(jee=!0,qre((()=>{See&&(Pee(),Nee()),jee=!1})))}let Vee=!1;function qee(){var eee,_b,tee,ree;nee.value?((null==(eee=nee.value)?void 0:eee.throttle)?Uee=Hpe(nee.value.throttle,$ee):(null==(_b=nee.value)?void 0:_b.debounce)?(tee=nee.value.debounce,Uee=Hpe(tee,$ee,{debounceMode:!1!==(void 0!==(ree={}.atBegin)&&ree)})):Uee=$ee,Vee=!0):Uee=$ee}function Bee(){See&&!jee&&(Vee||qee(),Uee())}let Yee=aee.value;const Gee=vre(oee),Qee=kae((()=>!nee.value||null==nee.value.enabled||nee.value.enabled)),Wee=kae((()=>Qee.value&&!Gee.value&&!!aee.value));function Kee(eee){!nee.value||nee.value.throttle===eee.throttle&&nee.value.debounce===eee.debounce||qee(),nee.value=eee,Bee()}function Hee(eee){Yee=eee,Bee()}let Xee,Zee;function Jee(eee){const tee=JSON.stringify([eee,Wee.value]);tee!==Zee&&(Xee=eee,Bee()),Zee=tee}function ete(eee=void 0){if(Eee.value)return eee&&(Xee=eee),pee.value=null,uee.value=!0,Eee.value.refetch(eee).then((eee=>{var tee;const ree=null==(tee=Eee.value)?void 0:tee.getCurrentResult();return ree&&Dee(ree),eee}))}function tte(eee){if(Eee.value)return pee.value=null,uee.value=!0,Eee.value.fetchMore(eee).then((eee=>{var tee;const ree=null==(tee=Eee.value)?void 0:tee.getCurrentResult();return ree&&Dee(ree),eee}))}poe((()=>_re(see)),Kee,{deep:!0,immediate:!0}),poe(aee,Hee),poe((()=>Wee.value?iee.value:void 0),Jee,{deep:!0,immediate:!0});const rte=[];function ote(eee){if(dEe)return;poe(cEe(eee),((eee,tee,ree)=>{const oee=rte.findIndex((eee=>eee.options===tee));-1!==oee&&rte.splice(oee,1);const nee={options:eee,unsubscribeFns:[]};rte.push(nee),nte(nee),ree((()=>{nee.unsubscribeFns.forEach((fn=>fn())),nee.unsubscribeFns=[]}))}),{immediate:!0})}function nte(eee){if(!See)return;if(!Eee.value)throw new Error("Query is not defined");const tee=Eee.value.subscribeToMore(eee.options);Mee.push(tee),eee.unsubscribeFns.push(tee)}poe(Wee,(eee=>{eee?qre((()=>{Nee()})):Pee()})),Wee.value&&Nee();return vm&&Aoe((()=>{Pee(),rte.length=0})),{result:lee,loading:uee,networkStatus:gee,error:pee,start:Nee,stop:Pee,restart:Bee,forceDisabled:Gee,document:aee,variables:iee,options:see,query:Eee,refetch:ete,fetchMore:tte,subscribeToMore:ote,onResult:cee.on,onError:dee.on}}(eee,tee,ree)}function fEe(eee,tee={}){const vm=pae(),ree=vre(!1);vm&&function(eee){hEe(eee,"mutations")}(ree);const oee=yre(null),nee=vre(!1),aee=pEe(),iee=pEe(),{resolveClient:see}=sEe();return vm&&Aoe((()=>{ree.value=!1})),{mutate:async function(lee,cee={}){let pee,dee;pee="function"==typeof eee?eee():mre(eee)?eee.value:eee,dee="function"==typeof tee?tee():mre(tee)?tee.value:tee;const uee=see(dee.clientId);oee.value=null,ree.value=!0,nee.value=!0;try{const eee=await uee.mutate({mutation:pee,...dee,...cee,variables:(null!=lee?lee:dee.variables)?{...dee.variables,...lee}:void 0});return ree.value=!1,aee.trigger(eee,{client:uee}),eee}catch(e){const eee=gEe(e);if(oee.value=eee,ree.value=!1,iee.trigger(eee,{client:uee}),"always"===dee.throws||"never"!==dee.throws&&!iee.getCount())throw eee}return null},loading:ree,error:oee,called:nee,onDone:aee.on,onError:iee.on}}const bEe={"\n mutation ConnectSignIn($input: ConnectSignInInput!) {\n connectSignIn(input: $input)\n }\n":{kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"ConnectSignIn"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"input"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"ConnectSignInInput"}}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"connectSignIn"},arguments:[{kind:"Argument",name:{kind:"Name",value:"input"},value:{kind:"Variable",name:{kind:"Name",value:"input"}}}]}]}}]},"\n mutation SignOut {\n connectSignOut\n }\n":{kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"SignOut"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"connectSignOut"}}]}}]},"\n fragment PartialCloud on Cloud {\n error\n apiKey {\n valid\n error\n }\n cloud {\n status\n error\n }\n minigraphql {\n status\n error\n }\n relay {\n status\n error\n }\n }\n":{kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"PartialCloud"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Cloud"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"error"}},{kind:"Field",name:{kind:"Name",value:"apiKey"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"valid"}},{kind:"Field",name:{kind:"Name",value:"error"}}]}},{kind:"Field",name:{kind:"Name",value:"cloud"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"status"}},{kind:"Field",name:{kind:"Name",value:"error"}}]}},{kind:"Field",name:{kind:"Name",value:"minigraphql"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"status"}},{kind:"Field",name:{kind:"Name",value:"error"}}]}},{kind:"Field",name:{kind:"Name",value:"relay"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"status"}},{kind:"Field",name:{kind:"Name",value:"error"}}]}}]}}]},"\n query serverState {\n cloud {\n ...PartialCloud\n }\n config {\n error\n valid\n }\n info {\n os {\n hostname\n }\n }\n owner {\n avatar\n username\n }\n registration {\n state\n expiration\n keyFile {\n contents\n }\n updateExpiration\n }\n vars {\n regGen\n regState\n configError\n configValid\n }\n }\n":{kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"serverState"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"cloud"},selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"PartialCloud"}}]}},{kind:"Field",name:{kind:"Name",value:"config"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"error"}},{kind:"Field",name:{kind:"Name",value:"valid"}}]}},{kind:"Field",name:{kind:"Name",value:"info"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"os"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"hostname"}}]}}]}},{kind:"Field",name:{kind:"Name",value:"owner"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"avatar"}},{kind:"Field",name:{kind:"Name",value:"username"}}]}},{kind:"Field",name:{kind:"Name",value:"registration"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"state"}},{kind:"Field",name:{kind:"Name",value:"expiration"}},{kind:"Field",name:{kind:"Name",value:"keyFile"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"contents"}}]}},{kind:"Field",name:{kind:"Name",value:"updateExpiration"}}]}},{kind:"Field",name:{kind:"Name",value:"vars"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"regGen"}},{kind:"Field",name:{kind:"Name",value:"regState"}},{kind:"Field",name:{kind:"Name",value:"configError"}},{kind:"Field",name:{kind:"Name",value:"configValid"}}]}}]}},{kind:"FragmentDefinition",name:{kind:"Name",value:"PartialCloud"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Cloud"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"error"}},{kind:"Field",name:{kind:"Name",value:"apiKey"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"valid"}},{kind:"Field",name:{kind:"Name",value:"error"}}]}},{kind:"Field",name:{kind:"Name",value:"cloud"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"status"}},{kind:"Field",name:{kind:"Name",value:"error"}}]}},{kind:"Field",name:{kind:"Name",value:"minigraphql"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"status"}},{kind:"Field",name:{kind:"Name",value:"error"}}]}},{kind:"Field",name:{kind:"Name",value:"relay"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"status"}},{kind:"Field",name:{kind:"Name",value:"error"}}]}}]}}]}};function mEe(eee){return bEe[eee]??{}}mEe("\n fragment PartialCloud on Cloud {\n error\n apiKey {\n valid\n error\n }\n cloud {\n status\n error\n }\n minigraphql {\n status\n error\n }\n relay {\n status\n error\n }\n }\n");const vEe=mEe("\n query serverState {\n cloud {\n ...PartialCloud\n }\n config {\n error\n valid\n }\n info {\n os {\n hostname\n }\n }\n owner {\n avatar\n username\n }\n registration {\n state\n expiration\n keyFile {\n contents\n }\n updateExpiration\n }\n vars {\n regGen\n regState\n configError\n configValid\n }\n }\n");const yEe="Content-Type",xEe=Symbol(),kEe=Symbol();function _Ee(eee={}){var _a;return null===(_a=Object.entries(eee).find((([k])=>k.toLowerCase()===yEe.toLowerCase())))||void 0===_a?void 0:_a[1]}function EEe(eee){return/^application\/.*json.*/.test(eee)}const TEe=function(eee,tee,ree=!1){return Object.entries(tee).reduce(((tee,[oee,nee])=>{const aee=eee[oee];return Array.isArray(aee)&&Array.isArray(nee)?tee[oee]=ree?[...aee,...nee]:nee:tee[oee]="object"==typeof aee&&"object"==typeof nee?TEe(aee,nee,ree):nee,tee}),{...eee})},SEe={options:{},errorType:"text",polyfills:{},polyfill(p,eee=!0,tee=!1,...ree){const oee=this.polyfills[p]||("undefined"!=typeof self?self[p]:null)||("undefined"!=typeof global?global[p]:null);if(eee&&!oee)throw new Error(p+" is not defined");return tee&&oee?new oee(...ree):oee}};class IEe extends Error{}const OEe=eee=>{const tee=Object.create(null);eee=eee._addons.reduce(((w,ree)=>ree.beforeRequest&&ree.beforeRequest(w,eee._options,tee)||w),eee);const{_url:ree,_options:oee,_config:nee,_catchers:aee,_resolvers:iee,_middlewares:see,_addons:lee}=eee,cee=new Map(aee),pee=TEe(nee.options,oee);let dee=ree;const uee=(eee=>tee=>eee.reduceRight(((eee,tee)=>tee(eee)),tee)||tee)(see)(((eee,tee)=>(dee=eee,nee.polyfill("fetch")(eee,tee))))(ree,pee),hee=new Error,gee=uee.catch((eee=>{throw{[xEe]:eee}})).then((eee=>{if(!eee.ok){const tee=new IEe;if(tee.cause=hee,tee.stack=tee.stack+"\nCAUSE: "+hee.stack,tee.response=eee,tee.url=dee,"opaque"===eee.type)throw tee;return eee.text().then((ree=>{var _a;if(tee.message=ree,"json"===nee.errorType||"application/json"===(null===(_a=eee.headers.get("Content-Type"))||void 0===_a?void 0:_a.split(";")[0]))try{tee.json=JSON.parse(ree)}catch(e){}throw tee.text=ree,tee.status=eee.status,tee}))}return eee})),wee=tee=>tee.catch((tee=>{const ree=tee.hasOwnProperty(xEe),oee=ree?tee[xEe]:tee,nee=(null==oee?void 0:oee.status)&&cee.get(oee.status)||cee.get(null==oee?void 0:oee.name)||ree&&cee.has(xEe)&&cee.get(xEe);if(nee)return nee(oee,eee);const aee=cee.get(kEe);if(aee)return aee(oee,eee);throw oee})),fee=eee=>cb=>wee(eee?gee.then((_=>_&&_[eee]())).then((_=>cb?cb(_):_)):gee.then((_=>cb?cb(_):_))),bee={_wretchReq:eee,_fetchReq:uee,_sharedState:tee,res:fee(null),json:fee("json"),blob:fee("blob"),formData:fee("formData"),arrayBuffer:fee("arrayBuffer"),text:fee("text"),error(eee,cb){return cee.set(eee,cb),this},badRequest(cb){return this.error(400,cb)},unauthorized(cb){return this.error(401,cb)},forbidden(cb){return this.error(403,cb)},notFound(cb){return this.error(404,cb)},timeout(cb){return this.error(408,cb)},internalError(cb){return this.error(500,cb)},fetchError(cb){return this.error(xEe,cb)}},mee=lee.reduce(((eee,tee)=>({...eee,..."function"==typeof tee.resolver?tee.resolver(eee):tee.resolver})),bee);return iee.reduce(((tee,r)=>r(tee,eee)),mee)},NEe={_url:"",_options:{},_config:SEe,_catchers:new Map,_resolvers:[],_deferred:[],_middlewares:[],_addons:[],addon(eee){return{...this,_addons:[...this._addons,eee],...eee.wretch}},errorType(eee){return{...this,_config:{...this._config,errorType:eee}}},polyfills(eee,tee=!1){return{...this,_config:{...this._config,polyfills:tee?eee:TEe(this._config.polyfills,eee)}}},url(eee,tee=!1){if(tee)return{...this,_url:eee};const ree=this._url.split("?");return{...this,_url:ree.length>1?ree[0]+eee+"?"+ree[1]:this._url+eee}},options(eee,tee=!1){return{...this,_options:tee?eee:TEe(this._options,eee)}},headers(eee){const tee=eee?Array.isArray(eee)?Object.fromEntries(eee):"entries"in eee?Object.fromEntries(eee.entries()):eee:{};return{...this,_options:TEe(this._options,{headers:tee})}},accept(eee){return this.headers({Accept:eee})},content(eee){return this.headers({[yEe]:eee})},auth(eee){return this.headers({Authorization:eee})},catcher(eee,tee){const ree=new Map(this._catchers);return ree.set(eee,tee),{...this,_catchers:ree}},catcherFallback(eee){return this.catcher(kEe,eee)},resolve(eee,tee=!1){return{...this,_resolvers:tee?[eee]:[...this._resolvers,eee]}},defer(eee,tee=!1){return{...this,_deferred:tee?[eee]:[...this._deferred,eee]}},middlewares(eee,tee=!1){return{...this,_middlewares:tee?eee:[...this._middlewares,...eee]}},fetch(eee=this._options.method,tee="",ree=null){let oee=this.url(tee).options({method:eee});const nee=_Ee(oee._options.headers),aee="object"==typeof ree&&(!oee._options.headers||!nee||EEe(nee));return oee=ree?aee?oee.json(ree,nee):oee.body(ree):oee,OEe(oee._deferred.reduce(((eee,tee)=>tee(eee,eee._url,eee._options)),oee))},get(eee=""){return this.fetch("GET",eee)},delete(eee=""){return this.fetch("DELETE",eee)},put(eee,tee=""){return this.fetch("PUT",tee,eee)},post(eee,tee=""){return this.fetch("POST",tee,eee)},patch(eee,tee=""){return this.fetch("PATCH",tee,eee)},head(eee=""){return this.fetch("HEAD",eee)},opts(eee=""){return this.fetch("OPTIONS",eee)},body(eee){return{...this,_options:{...this._options,body:eee}}},json(eee,tee){const ree=_Ee(this._options.headers);return this.content(tee||EEe(ree)&&ree||"application/json").body(JSON.stringify(eee))}};function AEe(eee="",tee={}){return{...NEe,_url:eee,_options:tee}}function REe(eee,tee=!1,ree,oee=ree.polyfill("FormData",!0,!0),nee=[]){return Object.entries(eee).forEach((([eee,aee])=>{let iee=nee.reduce(((eee,tee)=>eee?`${eee}[${tee}]`:tee),null);if(iee=iee?`${iee}[${eee}]`:eee,aee instanceof Array||globalThis.FileList&&aee instanceof FileList)for(const tee of aee)oee.append(iee,tee);else!tee||"object"!=typeof aee||tee instanceof Array&&tee.includes(eee)?oee.append(iee,aee):null!==aee&&REe(aee,tee,ree,oee,[...nee,eee])})),oee}AEe.default=AEe,AEe.options=function(eee,tee=!1){SEe.options=tee?eee:TEe(SEe.options,eee)},AEe.errorType=function(eee){SEe.errorType=eee},AEe.polyfills=function(eee,tee=!1){SEe.polyfills=tee?eee:TEe(SEe.polyfills,eee)},AEe.WretchError=IEe;const CEe={wretch:{formData(eee,tee=!1){return this.body(REe(eee,tee,this._config))}}};function DEe(eee,tee){return encodeURIComponent(eee)+"="+encodeURIComponent("object"==typeof tee?JSON.stringify(tee):""+tee)}const LEe={wretch:{formUrl(eee){return this.body("string"==typeof eee?eee:(tee=eee,Object.keys(tee).map((eee=>{const ree=tee[eee];return ree instanceof Array?ree.map((v=>DEe(eee,v))).join("&"):DEe(eee,ree)})).join("&"))).content("application/x-www-form-urlencoded");var tee}}};function FEe(eee){return void 0!==eee?eee:""}const zEe=(eee,qp,tee,ree)=>{let oee;if("string"==typeof qp)oee=qp;else{const eee=ree.polyfill("URLSearchParams",!0,!0);for(const tee in qp){const ree=qp[tee];if(qp[tee]instanceof Array)for(const oee of ree)eee.append(tee,FEe(oee));else eee.append(tee,FEe(ree))}oee=eee.toString()}const nee=eee.split("?");return oee?tee||nee.length<2?nee[0]+"?"+oee:eee+"&"+oee:tee?nee[0]:eee},MEe={wretch:{query(qp,eee=!1){return{...this,_url:zEe(this._url,qp,eee,this._config)}}}};Ece(Nce());const PEe=jce("errors",(()=>{const eee=vre([]);return{errors:eee,removeErrorByIndex:tee=>{eee.value=eee.value.filter(((eee,i)=>i!==tee))},removeErrorByRef:tee=>{eee.value=eee.value.filter((eee=>eee?.ref!==tee))},resetErrors:()=>{eee.value=[]},setError:tee=>{console.error("[setError]",tee),eee.value.push(tee)},openTroubleshoot:async tee=>{try{await FeedbackButton();let ree=document.querySelector(".sweet-alert.visible");for(;!ree;)await new Promise((eee=>setTimeout(eee,100))),ree=document.querySelector(".sweet-alert.visible");if(eee.value.length){let tee=ree.querySelector("#troubleshootDetails");for(;!tee;)await new Promise((eee=>setTimeout(eee,100))),tee=ree.querySelector("#troubleshootDetails");const oee=eee.value.map(((eee,tee)=>{const ree=tee+1;let oee=`• Error ${ree}: ${eee.heading}\n`;var nee;return oee+=`• Error ${ree} Message: ${eee.message}\n`,oee+=`• Error ${ree} Level: ${eee.level}\n`,oee+=`• Error ${ree} Type: ${eee.type}\n`,eee.ref&&(oee+=`• Error ${ree} Ref: ${eee.ref}\n`),eee.debugServer&&(oee+=`• Error ${ree} Debug Server:\n${nee=eee.debugServer,Object.entries(nee).reduce(((eee,[p,tee])=>`${eee}${p}: ${tee}\n`),"")}\n`),oee})).join("\n***************\n");tee.value+="\n##########################\n",tee.value+=`# Debug Details – Component Errors ${eee.value.length} #\n`,tee.value+="##########################\n",tee.value+=oee}let oee=ree.querySelector("#troubleshootEmail");for(;!oee;)await new Promise((eee=>setTimeout(eee,100))),oee=ree.querySelector("#troubleshootEmail");tee.email?oee.value=tee.email:oee.focus();let nee=ree.querySelector("#optTroubleshoot");for(;!nee;)await new Promise((eee=>setTimeout(eee,100))),nee=ree.querySelector("#optTroubleshoot");nee.checked=!0;let aee=ree.querySelectorAll(".allpanels");for(;!aee;)await new Promise((eee=>setTimeout(eee,100))),aee=ree.querySelectorAll(".allpanels");aee.forEach((eee=>{"troubleshoot_panel"===eee.id?eee.style.display="block":eee.style.display="none"}))}catch(ree){console.error("[openTroubleshoot]",ree)}}}})),UEe=PEe(),jEe=AEe().addon(CEe).addon(LEe).addon(MEe).errorType("json").resolve((eee=>eee.error("Error",(eee=>{UEe.setError({heading:`WretchError ${eee.status}`,message:`${eee.text} • ${eee.url}`,level:"error",ref:"wretchError",type:"request"})})).error("TypeError",(eee=>{UEe.setError({heading:`WretchTypeError ${eee.status}`,message:`${eee.text} • ${eee.url}`,level:"error",ref:"wretchTypeError",type:"request"})}))));const $Ee=new URL(sessionStorage.getItem("unraidAccountUrl")??"https://account.unraid.net"??"https://account.unraid.net"),VEe=new URL("https://docs.unraid.net"),qEe=new URL("https://forums.unraid.net"),BEe=new URL(sessionStorage.getItem("unraidPurchaseUrl")??"https://unraid.net"??"https://unraid.net"),YEe=new URL("c",$Ee),GEe=new URL("/bug-reports",qEe);new URL("category/unraid-connect",VEe);const QEe=new URL("https://connect.myunraid.net"),WEe=new URL("/forum/94-connect-plugin-support/",qEe),KEe=new URL("/contact",BEe),HEe=new URL("https://discord.unraid.net"),XEe=new URL("/c",BEe),ZEe=new URL({VITE_ACCOUNT:"https://account.unraid.net",VITE_CONNECT:"https://connect.myunraid.net",VITE_UNRAID_NET:"https://unraid.net",VITE_OS_RELEASES:"https://releases.unraid.net/os",VITE_CALLBACK_KEY:"Uyv2o8e*FiQe8VeLekTqyX6Z*8XonB",BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1}.VITE_WEBGUI??window.location.origin),JEe=new URL("/graphql",ZEe),eTe=new URL("/Settings/ManagementAccess",ZEe),tTe=new URL("#UnraidNetSettings",eTe),rTe=new URL("/Tools/Downgrade",ZEe),oTe=new URL("/Tools/Registration",ZEe),nTe=new URL("/Tools/Update",ZEe),aTe=new URL("https://releases.unraid.net/os"),iTe=new URL("/unraid-os/release-notes/",VEe),sTe=new URL("/unraid-os/faq/licensing-faq",VEe),lTe=new URL("/unraid-os/manual/changing-the-flash-device",VEe),cTe=jEe.url("/webGui/include/InstallKey.php");jEe.url("/update.php");const pTe=jEe.url("/plugins/dynamix.my.servers/data/server-state.php"),dTe=async eee=>{console.debug("[WebguiUpdateIgnore] payload",eee);try{return await jEe.url("/plugins/dynamix.plugin.manager/include/UnraidCheck.php").query(eee).get().json((eee=>(console.debug("[WebguiUpdateIgnore] response",eee),eee))).catch((eee=>{throw console.error("[WebguiUpdateIgnore] catch failed to execute UpdateIgnore",eee),new Error("Error ignoring update")}))}catch(tee){throw console.error("[WebguiUpdateIgnore] catch failed to execute UpdateIgnore",tee),new Error("Error ignoring update")}};function uTe(eee,tee=!0){if(function(eee){const tee=[],{graphQLErrors:ree,networkError:oee}=eee,nee="operation"in eee?eee.operation:void 0,aee="stack"in eee?eee.stack:void 0;let iee;return nee&&(iee=Nhe(nee.query)),ree&&ree.forEach((({message:eee,locations:ree})=>{tee.push(`[GraphQL error] ${eee}`),nee&&(tee.push(function(eee,tee){const ree=eee.split("\n"),l=ree.length,oee=ree.slice(),nee={};for(let i=0;i{const tee=/\[([\w ]*)](.*)/.exec(eee);if(tee){const[,eee,ree]=tee;console.log(`%c${eee}`,"color:white;border-radius:3px;background:#ff4400;font-weight:bold;padding:2px 6px;",ree)}else console.log(eee)})),tee){let eee=(new Error).stack;if(null==eee)return;const tee=eee.indexOf("\n");eee=eee.slice(eee.indexOf("\n",tee+1)),console.log(`%c${eee}`,"color:grey;")}}const hTe=mEe("\n mutation ConnectSignIn($input: ConnectSignInInput!) {\n connectSignIn(input: $input)\n }\n"),gTe=mEe("\n mutation SignOut {\n connectSignOut\n }\n"),wTe=e=>{e.preventDefault(),e.returnValue="",confirm("Closing this pop-up window while actions are being preformed may lead to unintended errors.")},fTe=()=>{window.addEventListener("beforeunload",wTe)},bTe=()=>{window.removeEventListener("beforeunload",wTe)};Ece(Nce());const mTe=jce("installKey",(()=>{const eee=PEe(),tee=vre("ready"),ree=vre(),oee=kae((()=>ree.value?.type)),nee=kae((()=>ree.value?.keyUrl)),aee=kae((()=>{if(!nee.value)return;const eee=nee.value.split("/");return eee[eee.length-1].replace(/\.key|\.unkey/g,"")}));return{keyInstallStatus:tee,keyActionType:oee,keyType:aee,keyUrl:nee,install:async oee=>{if(console.log("[installKey.install]",oee),tee.value="installing",ree.value=oee,!nee.value)return tee.value="failed",console.error("[install] no key to install");try{const eee=await cTe.query({url:nee.value}).get();console.log("[install] WebguiInstallKey installResponse",eee),tee.value="success"}catch(aee){console.error("[install] WebguiInstallKey error",aee);let ree="Unknown error";"string"==typeof aee?ree=aee.toUpperCase():aee instanceof Error&&(ree=aee.message),tee.value="failed",eee.setError({heading:"Failed to install key",message:ree,level:"error",ref:"installKey",type:"installKey"})}}}}));var vTe={exports:{}};vTe.exports=function(){var e={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},t=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\d\d/,r=/\d\d?/,i=/\d*[^-_:/,()\s\d]+/,o={},s=function(e){return(e=+e)+(e>68?1900:2e3)},a=function(e){return function(t){this[e]=+t}},f=[/[+-]\d\d:?(\d\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if("Z"===e)return 0;var t=e.match(/([+-]|\d\d)/g),n=60*t[1]+(+t[2]||0);return 0===n?0:"+"===t[0]?-n:n}(e)}],h=function(e){var t=o[e];return t&&(t.indexOf?t:t.s.concat(t.f))},u=function(e,t){var n,r=o.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?"pm":"PM");return n},d={A:[i,function(e){this.afternoon=u(e,!1)}],a:[i,function(e){this.afternoon=u(e,!0)}],S:[/\d/,function(e){this.milliseconds=100*+e}],SS:[n,function(e){this.milliseconds=10*+e}],SSS:[/\d{3}/,function(e){this.milliseconds=+e}],s:[r,a("seconds")],ss:[r,a("seconds")],m:[r,a("minutes")],mm:[r,a("minutes")],H:[r,a("hours")],h:[r,a("hours")],HH:[r,a("hours")],hh:[r,a("hours")],D:[r,a("day")],DD:[n,a("day")],Do:[i,function(e){var t=o.ordinal,n=e.match(/\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\[|\]/g,"")===e&&(this.day=r)}],M:[r,a("month")],MM:[n,a("month")],MMM:[i,function(e){var t=h("months"),n=(h("monthsShort")||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[i,function(e){var t=h("months").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\d+/,a("year")],YY:[n,function(e){this.year=s(e)}],YYYY:[/\d{4}/,a("year")],Z:f,ZZ:f};function c(n){var r,i;r=n,i=o&&o.formats;for(var s=(n=r.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var o=r&&r.toUpperCase();return n||i[r]||e[r]||i[o].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),a=s.length,f=0;f-1)return new Date(("X"===t?1e3:1)*e);var r=c(t)(e),i=r.year,o=r.month,s=r.day,a=r.hours,f=r.minutes,h=r.seconds,u=r.milliseconds,d=r.zone,l=new Date,m=s||(i||o?1:l.getDate()),M=i||l.getFullYear(),Y=0;i&&!o||(Y=o>0?o-1:l.getMonth());var p=a||0,v=f||0,D=h||0,g=u||0;return d?new Date(Date.UTC(M,Y,m,p,v,D,g+60*d.offset*1e3)):n?new Date(Date.UTC(M,Y,m,p,v,D,g)):new Date(M,Y,m,p,v,D,g)}catch(e){return new Date("")}}(t,a,r),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(a)&&(this.$d=new Date("")),o={}}else if(a instanceof Array)for(var l=a.length,m=1;m<=l;m+=1){s[1]=a[m-1];var M=n.apply(this,s);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}m===l&&(this.$d=new Date(""))}else i.call(this,e)}}}();const yTe=qce(vTe.exports);var xTe={exports:{}};xTe.exports=function(r,e,t){r=r||{};var n=e.prototype,o={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function i(r,e,t,o){return n.fromToBase(r,e,t,o)}t.en.relativeTime=o,n.fromToBase=function(e,n,i,d,u){for(var f,a,s,l=i.$locale().relativeTime||o,h=r.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],m=h.length,c=0;c0,p<=y.r||!y.r){p<=1&&c>0&&(y=h[c-1]);var v=l[y.l];u&&(p=u(""+p)),a="string"==typeof v?v.replace("%d",p):v(p,n,y.l,s);break}}if(n)return a;var M=s?l.future:l.past;return"function"==typeof M?M(a):M.replace("%s",a)},n.to=function(r,e){return i(r,e,this,!0)},n.from=function(r,e){return i(r,e,this)};var d=function(r){return r.$u?t.utc():t()};n.toNow=function(r){return this.to(d(this),r)},n.fromNow=function(r){return this.from(d(this),r)}};const kTe=qce(xTe.exports);Ece(Nce()),Gce.extend(yTe),Gce.extend(kTe);const _Te=jce("updateOs",(()=>{const eee=vre(!1),tee=vre(!1),ree=XSe(),oee=kae((()=>ree.regExp)),nee=kae((()=>ree.regUpdatesExpired)),aee=kae((()=>ree.updateOsResponse)),iee=kae((()=>ree.updateOsIgnoredReleases)),see=kae((()=>{if(aee.value&&!iee.value.includes(aee.value.version))return aee.value.isNewer?aee.value.version:void 0})),lee=kae((()=>{if(see.value&&aee.value&&oee.value&&nee.value)return aee.value?.isEligible?void 0:aee.value.version})),cee=kae((()=>aee.value?.date?Qce(aee.value.date,"YYYY-MM-DD"):void 0)),pee=kae((()=>!aee.value?.sha256)),dee=eee=>{tee.value=eee};return{available:see,availableWithRenewal:lee,checkForUpdatesLoading:eee,modalOpen:tee,updateOsIgnoredReleases:iee,availableReleaseDate:cee,availableRequiresAuth:pee,localCheckForUpdate:async()=>{eee.value=!0,dee(!0);try{const tee=await(async()=>{console.debug("[WebguiCheckForUpdate]");try{const eee={action:"check",json:!0};return"https://releases.unraid.net/os"!==aTe.toString()&&(eee.altUrl=aTe.toString()),await jEe.url("/plugins/dynamix.plugin.manager/include/UnraidCheck.php").query(eee).get().json((eee=>eee)).catch((eee=>{throw console.error("[WebguiCheckForUpdate] catch failed to execute UpdateCheck",eee),new Error("Error checking for updates")}))}catch(eee){throw console.error("[WebguiCheckForUpdate] catch failed to execute UpdateCheck",eee),new Error("Error checking for updates")}})();console.debug("[localCheckForUpdate] response",tee),ree.setUpdateOsResponse(tee),eee.value=!1}catch(tee){throw new Error("[localCheckForUpdate] Error checking for updates")}},cancelUpdate:async()=>{try{if(!(await(async()=>{console.debug("[WebguiUpdateCancel]");try{return await jEe.url("/plugins/dynamix.plugin.manager/include/UnraidUpdateCancel.php").get().json((eee=>eee)).catch((eee=>{throw console.error("[WebguiUpdateCancel] catch failed to execute UpdateUpdateCancel",eee),new Error("Error attempting to revert OS files to cancel update")}))}catch(eee){throw console.error("[WebguiUpdateCancel] catch failed to execute UpdateUpdateCancel",eee),new Error("Error attempting to revert OS files to cancel update")}})()).success)throw new Error("Unable to cancel update");if("/Tools/Update"===window.location.pathname)return void(window.location.href="/Tools");window.location.reload()}catch(eee){throw new Error("[cancelUpdate] Error cancelling update")}},setModalOpen:dee}})),ETe=jEe.url("https://releases.unraid.net");Ece(Nce());const TTe=jce("updateOsActions",(()=>{const eee=BSe(),tee=XSe(),ree=_Te(),{install:oee}={install:eee=>{console.debug("[installPlugin]",eee);try{if("function"==typeof openPlugin){const tee=new URL(eee.pluginUrl),ree=`${tee.pathname.replace(".plg","").substring(1)}:install`;console.debug("[installPlugin]",{installString:ree,plgUrl:tee}),openPlugin(`plugin ${eee.update?"update":"install"} ${eee.pluginUrl}${eee.update?"":" forced"}`,eee.modalTitle,ree,"refresh",0,1)}else openBox(`/plugins/dynamix.plugin.manager/scripts/plugin&arg1=install&arg2=${eee.pluginUrl}`,eee.modalTitle,600,900,!0)}catch(tee){console.error(tee)}}},nee=vre(),aee=kae((()=>tee.guid)),iee=kae((()=>tee.keyfile)),see=kae((()=>tee.osVersion)),lee=kae((()=>tee.osVersionBranch)),cee=kae((()=>tee.regUpdatesExpired)),pee=kae((()=>ree.available)),dee=vre("ready"),uee=vre(!1),hee=vre(null),gee=kae((()=>tee.rebootType)),wee=kae((()=>{switch(gee.value){case"thirdPartyDriversDownloading":return"Updating 3rd party drivers";case"downgrade":return"Reboot Required for Downgrade";case"update":return"Reboot Required for Update";default:return""}})),fee=kae((()=>!aee.value||!iee.value||!see.value||cee.value)),bee=kae((()=>{if(!aee.value)return"A valid GUID is required to check for OS updates.";if(!iee.value)return"A valid keyfile is required to check for OS updates.";if(!see.value)return"A valid OS version is required to check for OS updates.";if(cee.value){const eee="Your {0} license included one year of free updates at the time of purchase. You are now eligible to extend your license and access the latest OS updates.",tee="You are still eligible to access OS updates that were published on or before {1}.";return pee.value?`${eee} ${tee}`:eee}return""})),mee=kae((()=>({href:nTe.toString(),emphasize:!0,icon:Tpe,name:"updateOs",text:"Unraid OS {0} Update Available",textParams:[pee.value]}))),vee=async eee=>{if(console.debug("[getReleaseFromKeyServer]",eee),!eee.keyfile)throw new Error("No payload.keyfile provided");if(!eee.sha256)throw new Error("No payload.sha256 provided");try{const tee=await(async eee=>await ETe.headers({"X-Unraid-Keyfile":eee.keyfile}).url(`/sha256/${eee.sha256}`).get().json())(eee);return console.debug("[getReleaseFromKeyServer]",tee),tee}catch(tee){throw console.error(tee),new Error("Unable to get release from keyserver")}},yee=eee=>{hee.value=eee,xee("confirming")},xee=eee=>{dee.value=eee};return loe((()=>{"ready"===dee.value&&fee.value&&xee("ineligible")})),{callbackTypeDowngrade:uee,callbackUpdateRelease:hee,osVersion:see,osVersionBranch:lee,rebootType:gee,rebootTypeText:wee,status:dee,ineligible:fee,ineligibleText:bee,toolsRegistrationAction:mee,actOnUpdateOsAction:async(eee=!1)=>{const tee=await vee({keyfile:iee.value,sha256:nee.value?.sha256??""});if(eee&&(uee.value=!0),console.debug("[redirectToCallbackType] updateOs foundRelease",tee),!tee)throw new Error("Release not found");if(tee.version===see.value)throw new Error("Release version is the same as the server's current version");yee(tee)},confirmUpdateOs:yee,installOsUpdate:()=>{if(!hee.value)return console.error("[installOsUpdate] release not found");xee("updating"),oee({modalTitle:uee.value?`${hee.value.name} Downgrade`:`${hee.value.name} Update`,pluginUrl:hee.value.plugin_url,update:!1})},updateCallbackButton:()=>({click:()=>{eee.updateOs()},disabled:""!==gee.value,external:!0,icon:pee.value?Tpe:mpe,name:"updateOs",text:pee.value?"Unraid OS {0} Update Available":"View Available Updates",textParams:[pee.value??""],title:""!==gee.value?wee.value:""}),rebootServer:()=>{document.rebootNow.submit()},setStatus:xee,setUpdateOsAction:eee=>nee.value=eee,viewReleaseNotes:(eee,tee)=>{"function"==typeof openChanges?openChanges(`showchanges ${tee??"/var/tmp/unRAIDServer.txt"}`,eee):"function"==typeof openBox?openBox(`/plugins/dynamix.plugin.manager/include/ShowChanges.php?file=${tee??"/var/tmp/unRAIDServer.txt"}`,eee,600,900):alert("Unable to open release notes")},getReleaseFromKeyServer:vee}}));var STe={exports:{}};var ITe={exports:{}};const OTe=Bce(Object.freeze(Object.defineProperty({__proto__:null,default:{}},Symbol.toStringTag,{value:"Module"})));var NTe;function ATe(){return NTe||(NTe=1,ITe.exports=(eee=eee||function(eee,tee){var ree;if("undefined"!=typeof window&&window.crypto&&(ree=window.crypto),"undefined"!=typeof self&&self.crypto&&(ree=self.crypto),"undefined"!=typeof globalThis&&globalThis.crypto&&(ree=globalThis.crypto),!ree&&"undefined"!=typeof window&&window.msCrypto&&(ree=window.msCrypto),!ree&&void 0!==Vce&&Vce.crypto&&(ree=Vce.crypto),!ree)try{ree=OTe}catch(gee){}var oee=function(){if(ree){if("function"==typeof ree.getRandomValues)try{return ree.getRandomValues(new Uint32Array(1))[0]}catch(gee){}if("function"==typeof ree.randomBytes)try{return ree.randomBytes(4).readInt32LE()}catch(gee){}}throw new Error("Native crypto module could not be used to get secure random number.")},nee=Object.create||function(){function F(){}return function(eee){var tee;return F.prototype=eee,tee=new F,F.prototype=null,tee}}(),C={},aee=C.lib={},iee=aee.Base={extend:function(eee){var tee=nee(this);return eee&&tee.mixIn(eee),tee.hasOwnProperty("init")&&this.init!==tee.init||(tee.init=function(){tee.$super.init.apply(this,arguments)}),tee.init.prototype=tee,tee.$super=this,tee},create:function(){var eee=this.extend();return eee.init.apply(eee,arguments),eee},init:function(){},mixIn:function(eee){for(var tee in eee)eee.hasOwnProperty(tee)&&(this[tee]=eee[tee]);eee.hasOwnProperty("toString")&&(this.toString=eee.toString)},clone:function(){return this.init.prototype.extend(this)}},see=aee.WordArray=iee.extend({init:function(eee,ree){eee=this.words=eee||[],this.sigBytes=ree!=tee?ree:4*eee.length},toString:function(eee){return(eee||cee).stringify(this)},concat:function(eee){var tee=this.words,ree=eee.words,oee=this.sigBytes,nee=eee.sigBytes;if(this.clamp(),oee%4)for(var i=0;i>>2]>>>24-i%4*8&255;tee[oee+i>>>2]|=aee<<24-(oee+i)%4*8}else for(var j=0;j>>2]=ree[j>>>2];return this.sigBytes+=nee,this},clamp:function(){var tee=this.words,ree=this.sigBytes;tee[ree>>>2]&=4294967295<<32-ree%4*8,tee.length=eee.ceil(ree/4)},clone:function(){var eee=iee.clone.call(this);return eee.words=this.words.slice(0),eee},random:function(eee){for(var tee=[],i=0;i>>2]>>>24-i%4*8&255;oee.push((nee>>>4).toString(16)),oee.push((15&nee).toString(16))}return oee.join("")},parse:function(eee){for(var tee=eee.length,ree=[],i=0;i>>3]|=parseInt(eee.substr(i,2),16)<<24-i%8*4;return new see.init(ree,tee/2)}},pee=lee.Latin1={stringify:function(eee){for(var tee=eee.words,ree=eee.sigBytes,oee=[],i=0;i>>2]>>>24-i%4*8&255;oee.push(String.fromCharCode(nee))}return oee.join("")},parse:function(eee){for(var tee=eee.length,ree=[],i=0;i>>2]|=(255&eee.charCodeAt(i))<<24-i%4*8;return new see.init(ree,tee)}},dee=lee.Utf8={stringify:function(eee){try{return decodeURIComponent(escape(pee.stringify(eee)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(eee){return pee.parse(unescape(encodeURIComponent(eee)))}},uee=aee.BufferedBlockAlgorithm=iee.extend({reset:function(){this._data=new see.init,this._nDataBytes=0},_append:function(eee){"string"==typeof eee&&(eee=dee.parse(eee)),this._data.concat(eee),this._nDataBytes+=eee.sigBytes},_process:function(tee){var ree,oee=this._data,nee=oee.words,aee=oee.sigBytes,iee=this.blockSize,lee=aee/(4*iee),cee=(lee=tee?eee.ceil(lee):eee.max((0|lee)-this._minBufferSize,0))*iee,pee=eee.min(4*cee,aee);if(cee){for(var dee=0;dee>>6-i%4*2;nee[aee>>>2]|=iee<<24-aee%4*8,aee++}return tee.create(nee,aee)}C.enc.Base64={stringify:function(eee){var tee=eee.words,ree=eee.sigBytes,oee=this._map;eee.clamp();for(var nee=[],i=0;i>>2]>>>24-i%4*8&255)<<16|(tee[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|tee[i+2>>>2]>>>24-(i+2)%4*8&255,j=0;j<4&&i+.75*j>>6*(3-j)&63));var iee=oee.charAt(64);if(iee)for(;nee.length%4;)nee.push(iee);return nee.join("")},parse:function(eee){var tee=eee.length,oee=this._map,nee=this._reverseMap;if(!nee){nee=this._reverseMap=[];for(var j=0;j>>24)|4278255360&(ree<<24|ree>>>8)}var H=this._hash.words,oee=M[eee+0],nee=M[eee+1],aee=M[eee+2],iee=M[eee+3],see=M[eee+4],lee=M[eee+5],cee=M[eee+6],pee=M[eee+7],dee=M[eee+8],uee=M[eee+9],hee=M[eee+10],gee=M[eee+11],wee=M[eee+12],fee=M[eee+13],bee=M[eee+14],mee=M[eee+15],a=H[0],b=H[1],c=H[2],d=H[3];a=FF(a,b,c,d,oee,7,T[0]),d=FF(d,a,b,c,nee,12,T[1]),c=FF(c,d,a,b,aee,17,T[2]),b=FF(b,c,d,a,iee,22,T[3]),a=FF(a,b,c,d,see,7,T[4]),d=FF(d,a,b,c,lee,12,T[5]),c=FF(c,d,a,b,cee,17,T[6]),b=FF(b,c,d,a,pee,22,T[7]),a=FF(a,b,c,d,dee,7,T[8]),d=FF(d,a,b,c,uee,12,T[9]),c=FF(c,d,a,b,hee,17,T[10]),b=FF(b,c,d,a,gee,22,T[11]),a=FF(a,b,c,d,wee,7,T[12]),d=FF(d,a,b,c,fee,12,T[13]),c=FF(c,d,a,b,bee,17,T[14]),a=GG(a,b=FF(b,c,d,a,mee,22,T[15]),c,d,nee,5,T[16]),d=GG(d,a,b,c,cee,9,T[17]),c=GG(c,d,a,b,gee,14,T[18]),b=GG(b,c,d,a,oee,20,T[19]),a=GG(a,b,c,d,lee,5,T[20]),d=GG(d,a,b,c,hee,9,T[21]),c=GG(c,d,a,b,mee,14,T[22]),b=GG(b,c,d,a,see,20,T[23]),a=GG(a,b,c,d,uee,5,T[24]),d=GG(d,a,b,c,bee,9,T[25]),c=GG(c,d,a,b,iee,14,T[26]),b=GG(b,c,d,a,dee,20,T[27]),a=GG(a,b,c,d,fee,5,T[28]),d=GG(d,a,b,c,aee,9,T[29]),c=GG(c,d,a,b,pee,14,T[30]),a=HH(a,b=GG(b,c,d,a,wee,20,T[31]),c,d,lee,4,T[32]),d=HH(d,a,b,c,dee,11,T[33]),c=HH(c,d,a,b,gee,16,T[34]),b=HH(b,c,d,a,bee,23,T[35]),a=HH(a,b,c,d,nee,4,T[36]),d=HH(d,a,b,c,see,11,T[37]),c=HH(c,d,a,b,pee,16,T[38]),b=HH(b,c,d,a,hee,23,T[39]),a=HH(a,b,c,d,fee,4,T[40]),d=HH(d,a,b,c,oee,11,T[41]),c=HH(c,d,a,b,iee,16,T[42]),b=HH(b,c,d,a,cee,23,T[43]),a=HH(a,b,c,d,uee,4,T[44]),d=HH(d,a,b,c,wee,11,T[45]),c=HH(c,d,a,b,mee,16,T[46]),a=II(a,b=HH(b,c,d,a,aee,23,T[47]),c,d,oee,6,T[48]),d=II(d,a,b,c,pee,10,T[49]),c=II(c,d,a,b,bee,15,T[50]),b=II(b,c,d,a,lee,21,T[51]),a=II(a,b,c,d,wee,6,T[52]),d=II(d,a,b,c,iee,10,T[53]),c=II(c,d,a,b,hee,15,T[54]),b=II(b,c,d,a,nee,21,T[55]),a=II(a,b,c,d,dee,6,T[56]),d=II(d,a,b,c,mee,10,T[57]),c=II(c,d,a,b,cee,15,T[58]),b=II(b,c,d,a,fee,21,T[59]),a=II(a,b,c,d,see,6,T[60]),d=II(d,a,b,c,gee,10,T[61]),c=II(c,d,a,b,aee,15,T[62]),b=II(b,c,d,a,uee,21,T[63]),H[0]=H[0]+a|0,H[1]=H[1]+b|0,H[2]=H[2]+c|0,H[3]=H[3]+d|0},_doFinalize:function(){var eee=this._data,ree=eee.words,oee=8*this._nDataBytes,nee=8*eee.sigBytes;ree[nee>>>5]|=128<<24-nee%32;var aee=tee.floor(oee/4294967296),iee=oee;ree[15+(nee+64>>>9<<4)]=16711935&(aee<<8|aee>>>24)|4278255360&(aee<<24|aee>>>8),ree[14+(nee+64>>>9<<4)]=16711935&(iee<<8|iee>>>24)|4278255360&(iee<<24|iee>>>8),eee.sigBytes=4*(ree.length+1),this._process();for(var see=this._hash,H=see.words,i=0;i<4;i++){var lee=H[i];H[i]=16711935&(lee<<8|lee>>>24)|4278255360&(lee<<24|lee>>>8)}return see},clone:function(){var eee=nee.clone.call(this);return eee._hash=this._hash.clone(),eee}});function FF(a,b,c,d,x,s,t){var n=a+(b&c|~b&d)+x+t;return(n<>>32-s)+b}function GG(a,b,c,d,x,s,t){var n=a+(b&d|c&~d)+x+t;return(n<>>32-s)+b}function HH(a,b,c,d,x,s,t){var n=a+(b^c^d)+x+t;return(n<>>32-s)+b}function II(a,b,c,d,x,s,t){var n=a+(c^(b|~d))+x+t;return(n<>>32-s)+b}C.MD5=nee._createHelper(iee),C.HmacMD5=nee._createHmacHelper(iee)}(Math),eee.MD5)),FTe.exports;var eee}var MTe,PTe={exports:{}},UTe={exports:{}};function jTe(){return MTe||(MTe=1,UTe.exports=(eee=ATe(),function(){var C=eee,tee=C.lib,ree=tee.WordArray,oee=tee.Hasher,nee=C.algo,W=[],aee=nee.SHA1=oee.extend({_doReset:function(){this._hash=new ree.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(M,eee){for(var H=this._hash.words,a=H[0],b=H[1],c=H[2],d=H[3],e=H[4],i=0;i<80;i++){if(i<16)W[i]=0|M[eee+i];else{var n=W[i-3]^W[i-8]^W[i-14]^W[i-16];W[i]=n<<1|n>>>31}var t=(a<<5|a>>>27)+e+W[i];t+=i<20?1518500249+(b&c|~b&d):i<40?1859775393+(b^c^d):i<60?(b&c|b&d|c&d)-1894007588:(b^c^d)-899497514,e=d,d=c,c=b<<30|b>>>2,b=a,a=t}H[0]=H[0]+a|0,H[1]=H[1]+b|0,H[2]=H[2]+c|0,H[3]=H[3]+d|0,H[4]=H[4]+e|0},_doFinalize:function(){var eee=this._data,tee=eee.words,ree=8*this._nDataBytes,oee=8*eee.sigBytes;return tee[oee>>>5]|=128<<24-oee%32,tee[14+(oee+64>>>9<<4)]=Math.floor(ree/4294967296),tee[15+(oee+64>>>9<<4)]=ree,eee.sigBytes=4*tee.length,this._process(),this._hash},clone:function(){var eee=oee.clone.call(this);return eee._hash=this._hash.clone(),eee}});C.SHA1=oee._createHelper(aee),C.HmacSHA1=oee._createHmacHelper(aee)}(),eee.SHA1)),UTe.exports;var eee}var $Te,VTe,qTe={exports:{}};function BTe(){return VTe||(VTe=1,PTe.exports=function(eee){return function(){var C=eee,tee=C.lib,ree=tee.Base,oee=tee.WordArray,nee=C.algo,aee=nee.MD5,iee=nee.EvpKDF=ree.extend({cfg:ree.extend({keySize:4,hasher:aee,iterations:1}),init:function(eee){this.cfg=this.cfg.extend(eee)},compute:function(eee,tee){for(var ree,nee=this.cfg,aee=nee.hasher.create(),iee=oee.create(),see=iee.words,lee=nee.keySize,cee=nee.iterations;see.lengthnee&&(tee=eee.finalize(tee)),tee.clamp();for(var aee=this._oKey=tee.clone(),iee=this._iKey=tee.clone(),see=aee.words,lee=iee.words,i=0;i>>8^255&sx^99,oee[x]=sx,nee[sx]=x;var x2=d[x],x4=d[x2],x8=d[x4],t=257*d[sx]^16843008*sx;aee[x]=t<<24|t>>>8,iee[x]=t<<16|t>>>16,see[x]=t<<8|t>>>24,lee[x]=t,t=16843009*x8^65537*x4^257*x2^16843008*x,cee[sx]=t<<24|t>>>8,pee[sx]=t<<16|t>>>16,dee[sx]=t<<8|t>>>24,uee[sx]=t,x?(x=x2^d[d[d[x8^x2]]],xi^=d[d[xi]]):x=xi=1}}();var hee=[0,1,2,4,8,16,32,64,128,27,54],gee=ree.AES=tee.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var eee=this._keyPriorReset=this._key,tee=eee.words,ree=eee.sigBytes/4,nee=4*((this._nRounds=ree+6)+1),aee=this._keySchedule=[],iee=0;iee6&&iee%ree==4&&(t=oee[t>>>24]<<24|oee[t>>>16&255]<<16|oee[t>>>8&255]<<8|oee[255&t]):(t=oee[(t=t<<8|t>>>24)>>>24]<<24|oee[t>>>16&255]<<16|oee[t>>>8&255]<<8|oee[255&t],t^=hee[iee/ree|0]<<24),aee[iee]=aee[iee-ree]^t);for(var see=this._invKeySchedule=[],lee=0;lee>>24]]^pee[oee[t>>>16&255]]^dee[oee[t>>>8&255]]^uee[oee[255&t]]}}},encryptBlock:function(M,eee){this._doCryptBlock(M,eee,this._keySchedule,aee,iee,see,lee,oee)},decryptBlock:function(M,eee){var t=M[eee+1];M[eee+1]=M[eee+3],M[eee+3]=t,this._doCryptBlock(M,eee,this._invKeySchedule,cee,pee,dee,uee,nee),t=M[eee+1],M[eee+1]=M[eee+3],M[eee+3]=t},_doCryptBlock:function(M,eee,tee,ree,oee,nee,aee,iee){for(var see=this._nRounds,s0=M[eee]^tee[0],s1=M[eee+1]^tee[1],s2=M[eee+2]^tee[2],s3=M[eee+3]^tee[3],lee=4,cee=1;cee>>24]^oee[s1>>>16&255]^nee[s2>>>8&255]^aee[255&s3]^tee[lee++],t1=ree[s1>>>24]^oee[s2>>>16&255]^nee[s3>>>8&255]^aee[255&s0]^tee[lee++],t2=ree[s2>>>24]^oee[s3>>>16&255]^nee[s0>>>8&255]^aee[255&s1]^tee[lee++],t3=ree[s3>>>24]^oee[s0>>>16&255]^nee[s1>>>8&255]^aee[255&s2]^tee[lee++];s0=t0,s1=t1,s2=t2,s3=t3}t0=(iee[s0>>>24]<<24|iee[s1>>>16&255]<<16|iee[s2>>>8&255]<<8|iee[255&s3])^tee[lee++],t1=(iee[s1>>>24]<<24|iee[s2>>>16&255]<<16|iee[s3>>>8&255]<<8|iee[255&s0])^tee[lee++],t2=(iee[s2>>>24]<<24|iee[s3>>>16&255]<<16|iee[s0>>>8&255]<<8|iee[255&s1])^tee[lee++],t3=(iee[s3>>>24]<<24|iee[s0>>>16&255]<<16|iee[s1>>>8&255]<<8|iee[255&s2])^tee[lee++],M[eee]=t0,M[eee+1]=t1,M[eee+2]=t2,M[eee+3]=t3},keySize:8});C.AES=tee._createHelper(gee)}(),eee.AES}(ATe(),DTe(),zTe(),BTe(),YTe||(YTe=1,QTe.exports=(GTe=ATe(),BTe(),void(GTe.lib.Cipher||function(eee){var C=GTe,tee=C.lib,ree=tee.Base,oee=tee.WordArray,nee=tee.BufferedBlockAlgorithm,aee=C.enc;aee.Utf8;var iee=aee.Base64,see=C.algo.EvpKDF,lee=tee.Cipher=nee.extend({cfg:ree.extend(),createEncryptor:function(eee,tee){return this.create(this._ENC_XFORM_MODE,eee,tee)},createDecryptor:function(eee,tee){return this.create(this._DEC_XFORM_MODE,eee,tee)},init:function(eee,tee,ree){this.cfg=this.cfg.extend(ree),this._xformMode=eee,this._key=tee,this.reset()},reset:function(){nee.reset.call(this),this._doReset()},process:function(eee){return this._append(eee),this._process()},finalize:function(eee){return eee&&this._append(eee),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function eee(eee){return"string"==typeof eee?bee:wee}return function(tee){return{encrypt:function(ree,oee,nee){return eee(oee).encrypt(tee,ree,oee,nee)},decrypt:function(ree,oee,nee){return eee(oee).decrypt(tee,ree,oee,nee)}}}}()});tee.StreamCipher=lee.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var cee=C.mode={},pee=tee.BlockCipherMode=ree.extend({createEncryptor:function(eee,iv){return this.Encryptor.create(eee,iv)},createDecryptor:function(eee,iv){return this.Decryptor.create(eee,iv)},init:function(eee,iv){this._cipher=eee,this._iv=iv}}),dee=cee.CBC=function(){var tee=pee.extend();function ree(tee,ree,oee){var nee,iv=this._iv;iv?(nee=iv,this._iv=eee):nee=this._prevBlock;for(var i=0;i>>2];eee.sigBytes-=tee}};tee.BlockCipher=lee.extend({cfg:lee.cfg.extend({mode:dee,padding:uee}),reset:function(){var eee;lee.reset.call(this);var tee=this.cfg,iv=tee.iv,ree=tee.mode;this._xformMode==this._ENC_XFORM_MODE?eee=ree.createEncryptor:(eee=ree.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==eee?this._mode.init(this,iv&&iv.words):(this._mode=eee.call(ree,this,iv&&iv.words),this._mode.__creator=eee)},_doProcessBlock:function(eee,tee){this._mode.processBlock(eee,tee)},_doFinalize:function(){var eee,tee=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(tee.pad(this._data,this.blockSize),eee=this._process(!0)):(eee=this._process(!0),tee.unpad(eee)),eee},blockSize:4});var hee=tee.CipherParams=ree.extend({init:function(eee){this.mixIn(eee)},toString:function(eee){return(eee||this.formatter).stringify(this)}}),gee=(C.format={}).OpenSSL={stringify:function(eee){var tee=eee.ciphertext,ree=eee.salt;return(ree?oee.create([1398893684,1701076831]).concat(ree).concat(tee):tee).toString(iee)},parse:function(eee){var tee,ree=iee.parse(eee),nee=ree.words;return 1398893684==nee[0]&&1701076831==nee[1]&&(tee=oee.create(nee.slice(2,4)),nee.splice(0,4),ree.sigBytes-=16),hee.create({ciphertext:ree,salt:tee})}},wee=tee.SerializableCipher=ree.extend({cfg:ree.extend({format:gee}),encrypt:function(eee,tee,ree,oee){oee=this.cfg.extend(oee);var nee=eee.createEncryptor(ree,oee),aee=nee.finalize(tee),iee=nee.cfg;return hee.create({ciphertext:aee,key:ree,iv:iee.iv,algorithm:eee,mode:iee.mode,padding:iee.padding,blockSize:eee.blockSize,formatter:oee.format})},decrypt:function(eee,tee,ree,oee){return oee=this.cfg.extend(oee),tee=this._parse(tee,oee.format),eee.createDecryptor(ree,oee).finalize(tee.ciphertext)},_parse:function(eee,tee){return"string"==typeof eee?tee.parse(eee,this):eee}}),fee=(C.kdf={}).OpenSSL={execute:function(eee,tee,ree,nee,aee){if(nee||(nee=oee.random(8)),aee)iee=see.create({keySize:tee+ree,hasher:aee}).compute(eee,nee);else var iee=see.create({keySize:tee+ree}).compute(eee,nee);var iv=oee.create(iee.words.slice(tee),4*ree);return iee.sigBytes=4*tee,hee.create({key:iee,iv:iv,salt:nee})}},bee=tee.PasswordBasedCipher=wee.extend({cfg:wee.cfg.extend({kdf:fee}),encrypt:function(eee,tee,ree,oee){var nee=(oee=this.cfg.extend(oee)).kdf.execute(ree,eee.keySize,eee.ivSize,oee.salt,oee.hasher);oee.iv=nee.iv;var aee=wee.encrypt.call(this,eee,tee,nee.key,oee);return aee.mixIn(nee),aee},decrypt:function(eee,tee,ree,oee){oee=this.cfg.extend(oee),tee=this._parse(tee,oee.format);var nee=oee.kdf.execute(ree,eee.keySize,eee.ivSize,tee.salt,oee.hasher);return oee.iv=nee.iv,wee.decrypt.call(this,eee,tee,nee.key,oee)}})}()))));const WTe=qce(STe.exports);var KTe={exports:{}};KTe.exports=function(eee){return eee.enc.Utf8}(ATe());const HTe=qce(KTe.exports);Ece(Nce());const XTe=jce("callbackActions",(()=>{const eee=BSe(),tee=mTe(),ree=XSe();_Te();const oee=TTe(),nee=vre("ready"),aee=vre(),iee=vre(),see=["recover","replace","trialExtend","trialStart","purchase","redeem","renew","upgrade"],lee=()=>{if(console.debug("[redirectToCallbackType]"),!aee.value||!aee.value.type||"forUpc"!==aee.value.type||!aee.value.actions?.length)return iee.value="Callback redirect type not present or incorrect",nee.value="ready",console.error("[redirectToCallbackType]",iee.value);nee.value="loading",aee.value.actions.forEach((async(nee,aee,iee)=>{if(console.debug("[redirectToCallbackType]",{action:nee,index:aee,array:iee}),see.includes(nee.type)&&await tee.install(nee),"signIn"===nee.type&&nee?.user&&(eee.setAccountAction(nee),await eee.setConnectSignInPayload({apiKey:nee?.apiKey??"",email:nee.user?.email??"",preferred_username:nee.user?.preferred_username??""})),"signOut"!==nee.type&&"oemSignOut"!==nee.type||(eee.setAccountAction(nee),await eee.setQueueConnectSignOut(!0)),("updateOs"===nee.type||"downgradeOs"===nee.type)&&(oee.setUpdateOsAction(nee),await oee.actOnUpdateOsAction("downgradeOs"===nee.type),1===iee.length))return console.debug("[redirectToCallbackType] updateOs done"),void window.history.replaceState(null,"",window.location.pathname);iee.length===aee+1&&await ree.refreshServerState()}))},cee=kae((()=>ree.refreshServerStateStatus));loe((()=>{if(aee.value?.actions&&"done"===cee.value)if(aee.value.actions.length>1){const ree="success"===eee.accountActionStatus&&"success"===tee.keyInstallStatus;nee.value=ree?"success":"error"}else{const ree="success"===eee.accountActionStatus||"success"===tee.keyInstallStatus;nee.value=ree?"success":"error"}aee.value?.actions&&"timeout"===cee.value&&(nee.value="error")}));return poe(nee,((eee,tee)=>{"loading"===eee&&fTe(),"loading"===tee&&(bTe(),window.history.replaceState(null,"",window.location.pathname))})),{callbackData:aee,callbackStatus:nee,redirectToCallbackType:lee,saveCallbackData:eee=>{if(eee&&(aee.value=eee),!aee.value)return console.error("Saved callback data not found");lee?.()},setCallbackStatus:eee=>{nee.value=eee},sendType:"fromUpc",encryptionKey:"Uyv2o8e*FiQe8VeLekTqyX6Z*8XonB"}})),ZTe=(JTe=XTe,jce("callback",(()=>{const eee=JTe();return{send:(tee,ree,oee,nee)=>{console.debug("[callback.send]");const aee=JSON.stringify({actions:[...ree],sender:window.location.href.replace("/Tools/Update","/Tools"),type:nee??eee.sendType}),iee=WTe.encrypt(aee,eee.encryptionKey).toString(),see=new URL(tee.replace("/Tools/Update","/Tools"));see.searchParams.set("data",encodeURI(iee)),console.debug("[callback.send]",iee,see),"newTab"!==oee?"replace"!==oee?window.location.href=see.toString():window.location.replace(see.toString()):window.open(see.toString(),"_blank")},watcher:()=>{console.debug("[callback.watcher]");const tee=new URL(window.location.toString()),ree=decodeURI(tee.searchParams.get("data")??"");if(console.debug("[callback.watcher]",{callbackValue:ree}),!ree)return console.debug("[callback.watcher] no callback to handle");const oee=WTe.decrypt(ree,eee.encryptionKey),nee=JSON.parse(oee.toString(HTe));console.debug("[callback.watcher]",oee,nee),eee.saveCallbackData(nee)}}})));var JTe;const eSe=jEe.url("https://keys.lime-technology.com"),tSe={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 133.52 76.97",class:Bee("unraid_mark"),role:"img"},rSe=Hne("desc",null,"Unraid logo animating with a wave like effect",-1),oSe={id:"unraidLoadingGradient",x1:"23.76",y1:"81.49",x2:"109.76",y2:"-4.51",gradientUnits:"userSpaceOnUse"},nSe=["stop-color"],aSe=["stop-color"],iSe=eae('',9),sSe=mce(boe({__name:"Loading",props:{gradientStart:{default:"#e32929"},gradientStop:{default:"#ff8d30"},title:{default:"Loading"}},setup:eee=>(eee,tee)=>(Une(),qne("svg",tSe,[Hne("title",null,Qee(eee.title),1),rSe,Hne("defs",null,[Hne("linearGradient",oSe,[Hne("stop",{offset:"0","stop-color":eee.gradientStart},null,8,nSe),Hne("stop",{offset:"1","stop-color":eee.gradientStop},null,8,aSe)])]),iSe]))}),[["styles",['/*! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:clear-sans,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:470px){.container{max-width:470px}}@media (min-width:530px){.container{max-width:530px}}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--color-beta);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:#ff8c2f;font-weight:500;text-decoration:underline}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)):hover{color:#f15a2c}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-inline-start-color:var(--tw-prose-quote-borders);border-inline-start-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em;quotes:"“""”""‘""’"}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-bottom:2em;margin-top:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;text-align:start;width:100%}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em;vertical-align:bottom}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:var(--color-beta);--tw-prose-headings:var(--color-beta);--tw-prose-lead:var(--color-beta);--tw-prose-links:#ff8c2f;--tw-prose-bold:var(--color-beta);--tw-prose-counters:var(--color-beta);--tw-prose-bullets:var(--color-beta);--tw-prose-hr:var(--color-beta);--tw-prose-quotes:var(--color-beta);--tw-prose-quote-borders:var(--color-beta);--tw-prose-captions:var(--color-beta);--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:var(--color-beta);--tw-prose-pre-code:var(--color-beta);--tw-prose-pre-bg:var(--color-alpha);--tw-prose-th-borders:var(--color-beta);--tw-prose-td-borders:var(--color-beta);--tw-prose-invert-body:var(--color-alpha);--tw-prose-invert-headings:var(--color-alpha);--tw-prose-invert-lead:var(--color-alpha);--tw-prose-invert-links:#ff8c2f;--tw-prose-invert-bold:var(--color-alpha);--tw-prose-invert-counters:var(--color-alpha);--tw-prose-invert-bullets:var(--color-alpha);--tw-prose-invert-hr:var(--color-alpha);--tw-prose-invert-quotes:var(--color-alpha);--tw-prose-invert-quote-borders:var(--color-alpha);--tw-prose-invert-captions:var(--color-alpha);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:var(--color-alpha);--tw-prose-invert-pre-code:var(--color-alpha);--tw-prose-invert-pre-bg:var(--color-beta);--tw-prose-invert-th-borders:var(--color-alpha);--tw-prose-invert-td-borders:var(--color-alpha);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose{--tw-prose-invert-code-bg:var(--color-gamma-opaque)}.unraid_mark_2,.unraid_mark_4{animation:mark_2 1.5s ease infinite}.unraid_mark_3{animation:mark_3 1.5s ease infinite}.unraid_mark_6,.unraid_mark_8{animation:mark_6 1.5s ease infinite}.unraid_mark_7{animation:mark_7 1.5s ease infinite}@keyframes mark_2{50%{transform:translateY(-40px)}to{transform:translateY(0)}}@keyframes mark_3{50%{transform:translateY(-62px)}to{transform:translateY(0)}}@keyframes mark_6{50%{transform:translateY(40px)}to{transform:translateY(0)}}@keyframes mark_7{50%{transform:translateY(62px)}to{transform:translateY(0)}}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-\\[2px\\]{bottom:-2px}.-left-\\[2px\\]{left:-2px}.-right-\\[2px\\]{right:-2px}.-top-1{top:-.25rem}.-top-\\[2px\\]{top:-2px}.bottom-0{bottom:0}.bottom-\\[-3px\\]{bottom:-3px}.right-0{right:0}.top-0{top:0}.top-\\[1px\\]{top:1px}.top-full{top:100%}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-\\[99999\\]{z-index:99999}.mx-8px{margin-left:8px;margin-right:8px}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-bottom:0;margin-top:0}.my-12{margin-bottom:3rem;margin-top:3rem}.my-16px{margin-bottom:16px;margin-top:16px}.my-24px{margin-bottom:24px;margin-top:24px}.my-8px{margin-bottom:8px;margin-top:8px}.mb-4px{margin-bottom:4px}.mb-8px{margin-bottom:8px}.ml-3{margin-left:.75rem}.ml-8px{margin-left:8px}.mr-8px{margin-right:8px}.mt-0{margin-top:0}.mt-12px{margin-top:12px}.mt-2{margin-top:.5rem}.mt-24px{margin-top:24px}.mt-4px{margin-top:4px}.mt-8px{margin-top:8px}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-12px{height:12px}.h-16px{height:16px}.h-20px{height:20px}.h-24px{height:24px}.h-2px{height:2px}.h-32px{height:32px}.h-36px{height:36px}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-full{height:100%}.max-h-\\[65vh\\]{max-height:65vh}.min-h-\\[250px\\]{min-height:250px}.min-h-screen{min-height:100vh}.w-1\\/2{width:50%}.w-11{width:2.75rem}.w-12px{width:12px}.w-14px{width:14px}.w-16px{width:16px}.w-20px{width:20px}.w-24px{width:24px}.w-28px{width:28px}.w-2px{width:2px}.w-32px{width:32px}.w-36px{width:36px}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-\\[100px\\]{width:100px}.w-\\[110px\\]{width:110px}.w-\\[120px\\]{width:120px}.w-\\[125\\%\\]{width:125%}.w-\\[150px\\]{width:150px}.w-\\[44px\\]{width:44px}.w-\\[48px\\]{width:48px}.w-full{width:100%}.w-screen{width:100vw}.min-w-300px{min-width:300px}.min-w-\\[280px\\]{min-width:280px}.max-w-1024px{max-width:1024px}.max-w-160px{max-width:160px}.max-w-350px{max-width:350px}.max-w-3xl{max-width:48rem}.max-w-640px{max-width:640px}.max-w-800px{max-width:800px}.max-w-\\[45ch\\]{max-width:45ch}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.grow-0{flex-grow:0}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-20px{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-20px{--tw-translate-x:20px}.translate-x-\\[26px\\]{--tw-translate-x:26px}.translate-x-\\[26px\\],.translate-x-\\[2px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\\[2px\\]{--tw-translate-x:2px}.translate-y-\\[16px\\]{--tw-translate-y:16px}.scale-100,.translate-y-\\[16px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-12px{gap:12px}.gap-16px{gap:16px}.gap-2{gap:.5rem}.gap-20px{gap:20px}.gap-4{gap:1rem}.gap-4px{gap:4px}.gap-6{gap:1.5rem}.gap-8px{gap:8px}.gap-x-16px{-moz-column-gap:16px;column-gap:16px}.gap-x-4px{-moz-column-gap:4px;column-gap:4px}.gap-x-8px{-moz-column-gap:8px;column-gap:8px}.gap-y-16px{row-gap:16px}.gap-y-24px{row-gap:24px}.gap-y-4px{row-gap:4px}.gap-y-8px{row-gap:8px}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-normal{white-space:normal}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b-2{border-bottom-width:2px}.border-l-0{border-left-width:0}.border-r-0{border-right-width:0}.border-t-0{border-top-width:0}.border-solid{border-style:solid}.border-none{border-style:none}.border-black{--tw-border-opacity:1;border-color:rgb(28 27 27/var(--tw-border-opacity))}.border-gamma-opaque{border-color:var(--color-gamma-opaque)}.border-green-600\\/10{border-color:#16a34a1a}.border-grey-mid{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.border-orange{--tw-border-opacity:1;border-color:rgb(255 140 47/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-unraid-red{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.border-unraid-red\\/10{border-color:#e228281a}.border-unraid-red\\/90{border-color:#e22828e6}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.border-white\\/10{border-color:#ffffff1a}.border-yellow-100{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity))}.bg-alpha{background-color:var(--color-alpha)}.bg-beta{background-color:var(--color-beta)}.bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-current{background-color:currentColor}.bg-gamma{background-color:var(--color-gamma)}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.bg-grey{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.bg-orange{--tw-bg-opacity:1;background-color:rgb(255 140 47/var(--tw-bg-opacity))}.bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-unraid-red{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.bg-unraid-red\\/90{background-color:#e22828e6}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity))}.bg-opacity-80{--tw-bg-opacity:.8}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-unraid-red{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-orange{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.to-orange\\/60{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-green-600{fill:#16a34a}.fill-unraid-red{fill:#e22828}.p-0{padding:0}.p-1{padding:.25rem}.p-12px{padding:12px}.p-16px{padding:16px}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8px{padding:8px}.px-12px{padding-left:12px;padding-right:12px}.px-16px{padding-left:16px;padding-right:16px}.px-4{padding-left:1rem;padding-right:1rem}.px-4px{padding-left:4px;padding-right:4px}.px-6px{padding-left:6px;padding-right:6px}.px-8px{padding-left:8px;padding-right:8px}.py-0{padding-bottom:0;padding-top:0}.py-12px{padding-bottom:12px;padding-top:12px}.py-24px{padding-bottom:24px;padding-top:24px}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-4px{padding-bottom:4px;padding-top:4px}.py-8px{padding-bottom:8px;padding-top:8px}.pb-12{padding-bottom:3rem}.pb-8px{padding-bottom:8px}.pl-40px{padding-left:40px}.pr-16px{padding-right:16px}.pr-40px{padding-right:40px}.pr-4px{padding-right:4px}.pt-4px{padding-top:4px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-10px{font-size:10px}.text-12px{font-size:12px}.text-14px{font-size:14px}.text-16px{font-size:16px}.text-18px{font-size:18px}.text-20px{font-size:20px}.text-24px{font-size:24px}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-wide{letter-spacing:.025em}.text-\\[\\#486dba\\]{--tw-text-opacity:1;color:rgb(72 109 186/var(--tw-text-opacity))}.text-alpha{color:var(--color-alpha)}.text-beta{color:var(--color-beta)}.text-black{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.text-current{color:currentColor}.text-gamma{color:var(--color-gamma)}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.text-grey-mid{--tw-text-opacity:1;color:rgb(153 153 153/var(--tw-text-opacity))}.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity))}.text-orange{--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.text-pink-800{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-unraid-red{--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-inner{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\\[var\\(--ring-offset-shadow\\)_var\\(--ring-shadow\\)_var\\(--shadow-beta\\)\\]{--tw-shadow-color:var(--ring-offset-shadow) var(--ring-shadow) var(--shadow-beta);--tw-shadow:var(--tw-shadow-colored)}.shadow-green-600\\/30{--tw-shadow-color:rgba(22,163,74,.3);--tw-shadow:var(--tw-shadow-colored)}.shadow-orange\\/10{--tw-shadow-color:rgba(255,140,47,.1);--tw-shadow:var(--tw-shadow-colored)}.shadow-unraid-red\\/30{--tw-shadow-color:rgba(226,40,40,.3);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-black{outline-color:#1c1b1b}.outline-white{outline-color:#fff}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.even\\:bg-black\\/5:nth-child(2n){background-color:#1c1b1b0d}.even\\:bg-grey-darkest:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(34 34 34/var(--tw-bg-opacity))}@keyframes pulse{50%{opacity:.5}}.hover\\:animate-pulse:hover{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.hover\\:border-beta:hover{border-color:var(--color-beta)}.hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.hover\\:border-grey-mid:hover{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.hover\\:border-orange-dark:hover{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.hover\\:border-unraid-red:hover{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.hover\\:bg-beta:hover{background-color:var(--color-beta)}.hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.hover\\:bg-grey-mid:hover{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.hover\\:bg-unraid-red:hover{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\\:bg-gradient-to-r:hover{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.hover\\:from-unraid-red:hover{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:from-unraid-red\\/60:hover{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:to-orange:hover{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.hover\\:to-orange\\/60:hover{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.hover\\:text-\\[\\#3b5ea9\\]:hover{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.hover\\:text-alpha:hover{color:var(--color-alpha)}.hover\\:text-black:hover{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:no-underline:hover{text-decoration-line:none}.hover\\:opacity-100:hover{opacity:1}.hover\\:opacity-75:hover{opacity:.75}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\\:shadow-orange\\/50:hover{--tw-shadow-color:rgba(255,140,47,.5);--tw-shadow:var(--tw-shadow-colored)}.focus\\:border-beta:focus{border-color:var(--color-beta)}.focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.focus\\:border-grey-mid:focus{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.focus\\:border-orange-dark:focus{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.focus\\:border-unraid-red:focus{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.focus\\:bg-beta:focus{background-color:var(--color-beta)}.focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.focus\\:bg-grey-mid:focus{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.focus\\:bg-unraid-red:focus{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.focus\\:bg-gradient-to-r:focus{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.focus\\:from-unraid-red:focus{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:from-unraid-red\\/60:focus{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:to-orange:focus{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.focus\\:to-orange\\/60:focus{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.focus\\:text-\\[\\#3b5ea9\\]:focus{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.focus\\:text-alpha:focus{color:var(--color-alpha)}.focus\\:text-black:focus{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.focus\\:text-white:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.focus\\:underline:focus{text-decoration-line:underline}.focus\\:no-underline:focus{text-decoration-line:none}.focus\\:opacity-100:focus{opacity:1}.focus\\:opacity-75:focus{opacity:.75}.focus\\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity))}.focus\\:ring-indigo-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(79 70 229/var(--tw-ring-opacity))}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-25:disabled{opacity:.25}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:hover\\:opacity-25:hover:disabled{opacity:.25}.disabled\\:hover\\:opacity-50:hover:disabled{opacity:.5}.disabled\\:focus\\:opacity-25:focus:disabled{opacity:.25}.disabled\\:focus\\:opacity-50:focus:disabled{opacity:.5}.group:hover .group-hover\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:hover .group-hover\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:hover .group-hover\\:underline{text-decoration-line:underline}.group:hover .group-hover\\:opacity-100{opacity:1}.group:hover .group-hover\\:opacity-60{opacity:.6}.group:hover .group-hover\\:opacity-75{opacity:.75}.group:focus .group-focus\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:focus .group-focus\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:focus .group-focus\\:underline{text-decoration-line:underline}.group:focus .group-focus\\:opacity-100{opacity:1}.group:focus .group-focus\\:opacity-60{opacity:.6}.group:focus .group-focus\\:opacity-75{opacity:.75}.prose-a\\:text-unraid-red :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.hover\\:prose-a\\:text-unraid-red\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#e2282899}.hover\\:prose-a\\:no-underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{text-decoration-line:none}@media (min-width:640px){.sm\\:col-span-2{grid-column:span 2/span 2}.sm\\:col-span-3{grid-column:span 3/span 3}.sm\\:col-start-2{grid-column-start:2}.sm\\:block{display:block}.sm\\:w-\\[150px\\]{width:150px}.sm\\:w-full{width:100%}.sm\\:min-w-\\[400px\\]{min-width:400px}.sm\\:max-w-300px{max-width:300px}.sm\\:max-w-lg{max-width:32rem}.sm\\:flex-shrink-0{flex-shrink:0}.sm\\:flex-grow-0{flex-grow:0}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-start{align-items:flex-start}.sm\\:items-center{align-items:center}.sm\\:justify-end{justify-content:flex-end}.sm\\:justify-between{justify-content:space-between}.sm\\:gap-16px{gap:16px}.sm\\:gap-24px{gap:24px}.sm\\:gap-y-24px{row-gap:24px}.sm\\:p-16px{padding:16px}.sm\\:px-20px{padding-left:20px;padding-right:20px}.sm\\:pr-40px{padding-right:40px}.sm\\:text-right{text-align:right}.sm\\:text-18px{font-size:18px}.sm\\:text-20px{font-size:20px}.sm\\:text-24px{font-size:24px}}@media (min-width:768px){.md\\:inline-block{display:inline-block}.md\\:min-w-\\[500px\\]{min-width:500px}.md\\:flex-row{flex-direction:row}.md\\:items-start{align-items:flex-start}.md\\:items-end{align-items:flex-end}.md\\:justify-between{justify-content:space-between}.md\\:gap-16px{gap:16px}.md\\:p-24px{padding:24px}.md\\:p-6{padding:1.5rem}.md\\:py-24px{padding-bottom:24px;padding-top:24px}.md\\:text-24px{font-size:24px}}@media (min-width:470px){.\\32xs\\:block{display:block}}@media (min-width:530px){.xs\\:block{display:block}.xs\\:flex-row{flex-direction:row}.xs\\:items-baseline{align-items:baseline}.xs\\:justify-start{justify-content:flex-start}.xs\\:gap-x-12px{-moz-column-gap:12px;column-gap:12px}.xs\\:text-12px{font-size:12px}}@media (min-height:700px){.tall\\:max-h-\\[75vh\\]{max-height:75vh}}@media (prefers-color-scheme:dark){.dark\\:border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.dark\\:bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.dark\\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\\:prose-a\\:text-orange :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.hover\\:dark\\:prose-a\\:text-orange\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#ff8c2f99}}']]]),lSe=boe({__name:"LoadingWhite",setup:eee=>(eee,tee)=>{const ree=sSe;return Une(),Bne(ree,{"gradient-start":"#ffffff","gradient-stop":"#ffffff"})}});Ece(Nce());const cSe="unraidReplaceCheck",pSe=jce("replaceRenewCheck",(()=>{const eee=XSe(),tee=kae((()=>eee.guid)),ree=kae((()=>eee.keyfile)),oee=kae((()=>ree.value?.slice(-10))),nee=vre(null),aee=vre("ready"),iee=eee=>{aee.value=eee},see=kae((()=>{switch(aee.value){case"checking":return{color:"gamma",icon:lSe,text:"Checking..."};case"linked":return{color:"green",icon:Spe,text:"Linked"};case"notLinked":return{color:"yellow",icon:Rpe,text:"Not Linked"};case"error":return{color:"red",icon:Bpe,text:nee.value?.message||"Unknown error"};default:return{color:"gray",icon:Rpe,text:"Unknown"}}})),lee=vre("ready"),cee=vre(tee.value?"ready":"error"),pee=eee=>{cee.value=eee},dee=kae((()=>{switch(cee.value){case"checking":return{color:"gamma",icon:lSe,text:"Checking..."};case"eligible":return{color:"green",icon:Spe,text:"Eligible"};case"error":return{color:"red",icon:Bpe,text:nee.value?.message||"Unknown error"};case"ineligible":return{color:"red",icon:Wpe,text:"Ineligible"};default:return}})),uee=vre(sessionStorage.getItem(cSe)?JSON.parse(sessionStorage.getItem(cSe)):void 0),hee=async()=>{uee.value=void 0,await sessionStorage.removeItem(cSe)};return{keyLinkedStatus:aee,keyLinkedOutput:see,renewStatus:lee,replaceStatus:cee,replaceStatusOutput:dee,check:async(eee=!1)=>{tee.value||(pee("error"),nee.value={name:"Error",message:"Flash GUID required to check replacement status"}),ree.value||(pee("error"),nee.value={name:"Error",message:"Keyfile required to check replacement status"});try{let aee;eee?await hee():await(async()=>{if(!uee.value)return;const eee=(new Date).getTime()-uee.value.timestamp>6048e5,tee=!uee.value.key,ree=uee.value.key!==oee.value;(eee||tee||ree)&&await hee()})(),iee("checking"),pee("checking"),nee.value=null,aee=uee.value?uee.value:await(async eee=>await eSe.url("/validate/guid").formUrl(eee).post().json())({guid:tee.value,keyfile:ree.value}),pee(aee?.replaceable?"eligible":"ineligible"),iee(aee?.linked?"linked":"notLinked"),"eligible"!==cee.value&&"ineligible"!==cee.value||uee.value||sessionStorage.setItem(cSe,JSON.stringify({key:oee.value,timestamp:Date.now(),...aee}))}catch(aee){const eee=aee;pee("error"),nee.value=eee?.message?eee:{name:"Error",message:"Unknown error"},console.error("[ReplaceCheck.check]",eee)}},purgeValidationResponse:hee,setReplaceStatus:pee,setRenewStatus:eee=>{lee.value=eee}}}));var dSe={};const uSe=Bce(Ode),hSe=Bce(Zde),gSe=Bce(Yxe),wSe=Bce(hke),fSe=Bce(Eke),bSe=Bce(Oxe),mSe=Bce(z_e),vSe=Bce(Zxe),ySe=Bce(yme),xSe=Bce(Nme),kSe=Bce(Fxe),_Se=Bce(Mde),ESe=Bce(rEe);function TSe(eee){return new Uxe((function(tee,ree){return new pxe((function(oee){var nee,aee,iee;try{nee=ree(tee).subscribe({next:function(nee){nee.errors&&(iee=eee({graphQLErrors:nee.errors,response:nee,operation:tee,forward:ree}))?aee=iee.subscribe({next:oee.next.bind(oee),error:oee.error.bind(oee),complete:oee.complete.bind(oee)}):oee.next(nee)},error:function(nee){(iee=eee({operation:tee,networkError:nee,graphQLErrors:nee&&nee.result&&nee.result.errors,forward:ree}))?aee=iee.subscribe({next:oee.next.bind(oee),error:oee.error.bind(oee),complete:oee.complete.bind(oee)}):oee.error(nee)},complete:function(){iee||oee.complete.bind(oee)()}})}catch(e){eee({networkError:e,operation:tee,forward:ree}),oee.error(e)}return function(){nee&&nee.unsubscribe(),aee&&nee.unsubscribe()}}))}))}!function(eee){Object.defineProperty(eee,"__esModule",{value:!0});var tee=uSe,ree=hSe,oee=gSe,nee=wSe,aee=fSe,iee=bSe,see=mSe,lee=vSe,cee=ySe,pee=xSe,dee=kSe,uee=_Se,hee=ESe;function gee(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var wee=gee(aee);function fee(eee){return null!==eee&&"object"==typeof eee}var bee,mee=Object.prototype.hasOwnProperty,vee=function(eee,tee,ree){return this.merge(eee[ree],tee[ree])},yee=function(){function eee(eee){void 0===eee&&(eee=vee),this.reconciler=eee,this.isObject=fee,this.pastCopies=new Set}return eee.prototype.merge=function(eee,ree){for(var oee=this,nee=[],_i=2;_i0}(tee.incremental)&&tee.incremental.forEach((function(_a){for(var eee=_a.data,tee=_a.path,i=tee.length-1;i>=0;--i){var nee=tee[i],aee=!isNaN(+nee)?[]:{};aee[nee]=eee,eee=aee}ree=oee.merge(ree,eee)})),ree}function kee(eee){return!!eee&&eee<7}function _ee(eee,_a,_b,ree){var oee=_a.data,nee=tee.__rest(_a,["data"]),aee=_b.data,see=tee.__rest(_b,["data"]);return wee(nee,see)&&Eee(iee.getMainDefinition(eee).selectionSet,oee,aee,{fragmentMap:iee.createFragmentMap(iee.getFragmentDefinitions(eee)),variables:ree})}function Eee(eee,tee,ree,oee){if(tee===ree)return!0;var nee=new Set;return eee.selections.every((function(eee){if(nee.has(eee))return!0;if(nee.add(eee),!iee.shouldInclude(eee,oee.variables))return!0;if(Tee(eee))return!0;if(iee.isField(eee)){var aee=iee.resultKeyNameFromField(eee),see=tee&&tee[aee],lee=ree&&ree[aee],cee=eee.selectionSet;if(!cee)return wee(see,lee);var pee=Array.isArray(see),dee=Array.isArray(lee);if(pee!==dee)return!1;if(pee&&dee){var uee=see.length;if(lee.length!==uee)return!1;for(var i=0;i0},nee.prototype.tearDownQuery=function(){this.isTornDown||(this.concast&&this.observer&&(this.concast.removeObserver(this.observer),delete this.concast,delete this.observer),this.stopPolling(),this.subscriptions.forEach((function(eee){return eee.unsubscribe()})),this.subscriptions.clear(),this.queryManager.stopQuery(this.queryId),this.observers.clear(),this.isTornDown=!0)},nee.prototype.transformDocument=function(eee){return this.queryManager.transform(eee)},nee}(iee.Observable);function Aee(eee){var _a=eee.options,tee=_a.fetchPolicy,ree=_a.nextFetchPolicy;return"cache-and-network"===tee||"network-only"===tee?eee.reobserve({fetchPolicy:"cache-first",nextFetchPolicy:function(eee,oee){return this.nextFetchPolicy=ree,"function"==typeof this.nextFetchPolicy?this.nextFetchPolicy(eee,oee):tee}}):eee.reobserve()}function Ree(eee){!1!==globalThis.__DEV__&&ree.invariant.error(23,eee.message,eee.stack)}function Cee(eee){!1!==globalThis.__DEV__&&eee&&!1!==globalThis.__DEV__&&ree.invariant.debug(24,eee)}function Dee(eee){return"network-only"===eee||"no-cache"===eee||"standby"===eee}iee.fixObservableSubclass(Nee);var Lee=function(){function eee(_a){var eee=_a.cache,tee=_a.client,ree=_a.resolvers,oee=_a.fragmentMatcher;this.selectionsToResolveCache=new WeakMap,this.cache=eee,tee&&(this.client=tee),ree&&this.addResolvers(ree),oee&&this.setFragmentMatcher(oee)}return eee.prototype.addResolvers=function(eee){var tee=this;this.resolvers=this.resolvers||{},Array.isArray(eee)?eee.forEach((function(eee){tee.resolvers=iee.mergeDeep(tee.resolvers,eee)})):this.resolvers=iee.mergeDeep(this.resolvers,eee)},eee.prototype.setResolvers=function(eee){this.resolvers={},this.addResolvers(eee)},eee.prototype.getResolvers=function(){return this.resolvers||{}},eee.prototype.runResolvers=function(_a){return tee.__awaiter(this,arguments,void 0,(function(_b){var eee=_b.document,ree=_b.remoteResult,oee=_b.context,nee=_b.variables,_c=_b.onlyRunForcedResolvers,aee=void 0!==_c&&_c;return tee.__generator(this,(function(_d){return eee?[2,this.resolveDocument(eee,ree.data,oee,nee,this.fragmentMatcher,aee).then((function(eee){return tee.__assign(tee.__assign({},ree),{data:eee.result})}))]:[2,ree]}))}))},eee.prototype.setFragmentMatcher=function(eee){this.fragmentMatcher=eee},eee.prototype.getFragmentMatcher=function(){return this.fragmentMatcher},eee.prototype.clientQuery=function(eee){return iee.hasDirectives(["client"],eee)&&this.resolvers?eee:null},eee.prototype.serverQuery=function(eee){return iee.removeClientSetsFromDocument(eee)},eee.prototype.prepareContext=function(eee){var ree=this.cache;return tee.__assign(tee.__assign({},eee),{cache:ree,getCacheKey:function(eee){return ree.identify(eee)}})},eee.prototype.addExportedVariables=function(eee){return tee.__awaiter(this,arguments,void 0,(function(eee,ree,oee){return void 0===ree&&(ree={}),void 0===oee&&(oee={}),tee.__generator(this,(function(_a){return eee?[2,this.resolveDocument(eee,this.buildRootValueFromCache(eee,ree)||{},this.prepareContext(oee),ree).then((function(eee){return tee.__assign(tee.__assign({},ree),eee.exportedVariables)}))]:[2,tee.__assign({},ree)]}))}))},eee.prototype.shouldForceResolvers=function(eee){var tee=!1;return cee.visit(eee,{Directive:{enter:function(eee){if("client"===eee.name.value&&eee.arguments&&(tee=eee.arguments.some((function(eee){return"always"===eee.name.value&&"BooleanValue"===eee.value.kind&&!0===eee.value.value}))))return cee.BREAK}}}),tee},eee.prototype.buildRootValueFromCache=function(eee,tee){return this.cache.diff({query:iee.buildQueryFromSelectionSet(eee),variables:tee,returnPartialData:!0,optimistic:!1}).result},eee.prototype.resolveDocument=function(eee,ree){return tee.__awaiter(this,arguments,void 0,(function(eee,ree,oee,nee,aee,see){var lee,cee,pee,dee,uee,hee,_a,gee,wee,fee;return void 0===oee&&(oee={}),void 0===nee&&(nee={}),void 0===aee&&(aee=function(){return!0}),void 0===see&&(see=!1),tee.__generator(this,(function(_b){return lee=iee.getMainDefinition(eee),cee=iee.getFragmentDefinitions(eee),pee=iee.createFragmentMap(cee),dee=this.collectSelectionsToResolve(lee,pee),uee=lee.operation,hee=uee?uee.charAt(0).toUpperCase()+uee.slice(1):"Query",gee=(_a=this).cache,wee=_a.client,fee={fragmentMap:pee,context:tee.__assign(tee.__assign({},oee),{cache:gee,client:wee}),variables:nee,fragmentMatcher:aee,defaultOperationType:hee,exportedVariables:{},selectionsToResolve:dee,onlyRunForcedResolvers:see},!1,[2,this.resolveSelectionSet(lee.selectionSet,false,ree,fee).then((function(eee){return{result:eee,exportedVariables:fee.exportedVariables}}))]}))}))},eee.prototype.resolveSelectionSet=function(eee,oee,nee,aee){return tee.__awaiter(this,void 0,void 0,(function(){var see,lee,cee,pee,dee,uee=this;return tee.__generator(this,(function(_a){return see=aee.fragmentMap,lee=aee.context,cee=aee.variables,pee=[nee],dee=function(eee){return tee.__awaiter(uee,void 0,void 0,(function(){var dee,uee;return tee.__generator(this,(function(_a){return(oee||aee.selectionsToResolve.has(eee))&&iee.shouldInclude(eee,cee)?iee.isField(eee)?[2,this.resolveField(eee,oee,nee,aee).then((function(tee){var _a;void 0!==tee&&pee.push(((_a={})[iee.resultKeyNameFromField(eee)]=tee,_a))}))]:(iee.isInlineFragment(eee)?dee=eee:(dee=see[eee.name.value],ree.invariant(dee,18,eee.name.value)),dee&&dee.typeCondition&&(uee=dee.typeCondition.name.value,aee.fragmentMatcher(nee,uee,lee))?[2,this.resolveSelectionSet(dee.selectionSet,oee,nee,aee).then((function(eee){pee.push(eee)}))]:[2]):[2]}))}))},[2,Promise.all(eee.selections.map(dee)).then((function(){return iee.mergeDeepArray(pee)}))]}))}))},eee.prototype.resolveField=function(eee,ree,oee,nee){return tee.__awaiter(this,void 0,void 0,(function(){var aee,lee,cee,pee,dee,uee,hee,gee,wee,fee=this;return tee.__generator(this,(function(_a){return oee?(aee=nee.variables,lee=eee.name.value,cee=iee.resultKeyNameFromField(eee),pee=lee!==cee,dee=oee[cee]||oee[lee],uee=Promise.resolve(dee),nee.onlyRunForcedResolvers&&!this.shouldForceResolvers(eee)||(hee=oee.__typename||nee.defaultOperationType,(gee=this.resolvers&&this.resolvers[hee])&&(wee=gee[pee?lee:cee])&&(uee=Promise.resolve(see.cacheSlot.withValue(this.cache,wee,[oee,iee.argumentsObjectFromField(eee,aee),nee.context,{field:eee,fragmentMap:nee.fragmentMap}])))),[2,uee.then((function(tee){var _a,_b;if(void 0===tee&&(tee=dee),eee.directives&&eee.directives.forEach((function(eee){"export"===eee.name.value&&eee.arguments&&eee.arguments.forEach((function(eee){"as"===eee.name.value&&"StringValue"===eee.value.kind&&(nee.exportedVariables[eee.value.value]=tee)}))})),!eee.selectionSet)return tee;if(null==tee)return tee;var oee=null!==(_b=null===(_a=eee.directives)||void 0===_a?void 0:_a.some((function(d){return"client"===d.name.value})))&&void 0!==_b&&_b;return Array.isArray(tee)?fee.resolveSubSelectedArray(eee,ree||oee,tee,nee):eee.selectionSet?fee.resolveSelectionSet(eee.selectionSet,ree||oee,tee,nee):void 0}))]):[2,null]}))}))},eee.prototype.resolveSubSelectedArray=function(eee,tee,ree,oee){var nee=this;return Promise.all(ree.map((function(ree){return null===ree?null:Array.isArray(ree)?nee.resolveSubSelectedArray(eee,tee,ree,oee):eee.selectionSet?nee.resolveSelectionSet(eee.selectionSet,tee,ree,oee):void 0})))},eee.prototype.collectSelectionsToResolve=function(eee,tee){var oee=function(eee){return!Array.isArray(eee)},nee=this.selectionsToResolveCache;return function eee(aee){if(!nee.has(aee)){var iee=new Set;nee.set(aee,iee),cee.visit(aee,{Directive:function(eee,_,__,tee,ree){"client"===eee.name.value&&ree.forEach((function(eee){oee(eee)&&cee.isSelectionNode(eee)&&iee.add(eee)}))},FragmentSpread:function(nee,_,__,aee,see){var lee=tee[nee.name.value];ree.invariant(lee,19,nee.name.value);var pee=eee(lee);pee.size>0&&(see.forEach((function(eee){oee(eee)&&cee.isSelectionNode(eee)&&iee.add(eee)})),iee.add(nee),pee.forEach((function(eee){iee.add(eee)})))}})}return nee.get(aee)}(eee)},eee}(),Fee=new(iee.canUseWeakMap?WeakMap:Map);function zee(eee,tee){var ree=eee[tee];"function"==typeof ree&&(eee[tee]=function(){return Fee.set(eee,(Fee.get(eee)+1)%1e15),ree.apply(this,arguments)})}function Mee(eee){eee.notifyTimeout&&(clearTimeout(eee.notifyTimeout),eee.notifyTimeout=void 0)}var Pee=function(){function ree(eee,tee){void 0===tee&&(tee=eee.generateQueryId()),this.queryId=tee,this.listeners=new Set,this.document=null,this.lastRequestId=1,this.stopped=!1,this.dirty=!1,this.observableQuery=null;var ree=this.cache=eee.cache;Fee.has(ree)||(Fee.set(ree,0),zee(ree,"evict"),zee(ree,"modify"),zee(ree,"reset"))}return ree.prototype.init=function(tee){var ree=tee.networkStatus||eee.NetworkStatus.loading;return this.variables&&this.networkStatus!==eee.NetworkStatus.loading&&!aee.equal(this.variables,tee.variables)&&(ree=eee.NetworkStatus.setVariables),aee.equal(tee.variables,this.variables)||(this.lastDiff=void 0),Object.assign(this,{document:tee.document,variables:tee.variables,networkError:null,graphQLErrors:this.graphQLErrors||[],networkStatus:ree}),tee.observableQuery&&this.setObservableQuery(tee.observableQuery),tee.lastRequestId&&(this.lastRequestId=tee.lastRequestId),this},ree.prototype.reset=function(){Mee(this),this.dirty=!1},ree.prototype.resetDiff=function(){this.lastDiff=void 0},ree.prototype.getDiff=function(){var eee=this.getDiffOptions();if(this.lastDiff&&aee.equal(eee,this.lastDiff.options))return this.lastDiff.diff;this.updateWatch(this.variables);var oq=this.observableQuery;if(oq&&"no-cache"===oq.options.fetchPolicy)return{complete:!1};var tee=this.cache.diff(eee);return this.updateLastDiff(tee,eee),tee},ree.prototype.updateLastDiff=function(eee,tee){this.lastDiff=eee?{diff:eee,options:tee||this.getDiffOptions()}:void 0},ree.prototype.getDiffOptions=function(eee){var _a;return void 0===eee&&(eee=this.variables),{query:this.document,variables:eee,returnPartialData:!0,optimistic:!0,canonizeResults:null===(_a=this.observableQuery)||void 0===_a?void 0:_a.options.canonizeResults}},ree.prototype.setDiff=function(eee){var _a,tee=this,ree=this.lastDiff&&this.lastDiff.diff;eee&&!eee.complete&&(null===(_a=this.observableQuery)||void 0===_a?void 0:_a.getLastError())||(this.updateLastDiff(eee),this.dirty||aee.equal(ree&&ree.result,eee&&eee.result)||(this.dirty=!0,this.notifyTimeout||(this.notifyTimeout=setTimeout((function(){return tee.notify()}),0))))},ree.prototype.setObservableQuery=function(oq){var eee=this;oq!==this.observableQuery&&(this.oqListener&&this.listeners.delete(this.oqListener),this.observableQuery=oq,oq?(oq.queryInfo=this,this.listeners.add(this.oqListener=function(){eee.getDiff().fromOptimisticTransaction?oq.observe():Aee(oq)})):delete this.oqListener)},ree.prototype.notify=function(){var eee=this;Mee(this),this.shouldNotify()&&this.listeners.forEach((function(tee){return tee(eee)})),this.dirty=!1},ree.prototype.shouldNotify=function(){if(!this.dirty||!this.listeners.size)return!1;if(kee(this.networkStatus)&&this.observableQuery){var eee=this.observableQuery.options.fetchPolicy;if("cache-only"!==eee&&"cache-and-network"!==eee)return!1}return!0},ree.prototype.stop=function(){if(!this.stopped){this.stopped=!0,this.reset(),this.cancel(),this.cancel=ree.prototype.cancel;var oq=this.observableQuery;oq&&oq.stopPolling()}},ree.prototype.cancel=function(){},ree.prototype.updateWatch=function(eee){var ree=this;void 0===eee&&(eee=this.variables);var oq=this.observableQuery;if(!oq||"no-cache"!==oq.options.fetchPolicy){var oee=tee.__assign(tee.__assign({},this.getDiffOptions(eee)),{watcher:this,callback:function(eee){return ree.setDiff(eee)}});this.lastWatch&&aee.equal(oee,this.lastWatch)||(this.cancel(),this.cancel=this.cache.watch(this.lastWatch=oee))}},ree.prototype.resetLastWrite=function(){this.lastWrite=void 0},ree.prototype.shouldWrite=function(eee,tee){var ree=this.lastWrite;return!(ree&&ree.dmCount===Fee.get(this.cache)&&aee.equal(tee,ree.variables)&&aee.equal(eee.data,ree.result.data))},ree.prototype.markResult=function(eee,tee,ree,oee){var nee=this,see=new iee.DeepMerger,lee=iee.isNonEmptyArray(eee.errors)?eee.errors.slice(0):[];if(this.reset(),"incremental"in eee&&iee.isNonEmptyArray(eee.incremental)){var cee=iee.mergeIncrementalData(this.getDiff().result,eee);eee.data=cee}else if("hasNext"in eee&&eee.hasNext){var pee=this.getDiff();eee.data=see.merge(pee.result,eee.data)}this.graphQLErrors=lee,"no-cache"===ree.fetchPolicy?this.updateLastDiff({result:eee.data,complete:!0},this.getDiffOptions(ree.variables)):0!==oee&&(Uee(eee,ree.errorPolicy)?this.cache.performTransaction((function(iee){if(nee.shouldWrite(eee,ree.variables))iee.writeQuery({query:tee,data:eee.data,variables:ree.variables,overwrite:1===oee}),nee.lastWrite={result:eee,variables:ree.variables,dmCount:Fee.get(nee.cache)};else if(nee.lastDiff&&nee.lastDiff.diff.complete)return void(eee.data=nee.lastDiff.diff.result);var see=nee.getDiffOptions(ree.variables),lee=iee.diff(see);!nee.stopped&&aee.equal(nee.variables,ree.variables)&&nee.updateWatch(ree.variables),nee.updateLastDiff(lee,see),lee.complete&&(eee.data=lee.result)})):this.lastWrite=void 0)},ree.prototype.markReady=function(){return this.networkError=null,this.networkStatus=eee.NetworkStatus.ready},ree.prototype.markError=function(tee){return this.networkStatus=eee.NetworkStatus.error,this.lastWrite=void 0,this.reset(),tee.graphQLErrors&&(this.graphQLErrors=tee.graphQLErrors),tee.networkError&&(this.networkError=tee.networkError),tee},ree}();function Uee(eee,tee){void 0===tee&&(tee="none");var ree="ignore"===tee||"all"===tee,oee=!iee.graphQLResultHasError(eee);return!oee&&ree&&eee.data&&(oee=!0),oee}var jee=Object.prototype.hasOwnProperty,$ee=Object.create(null),Vee=function(){function nee(_a){var eee=_a.cache,tee=_a.link,ree=_a.defaultOptions,oee=_a.documentTransform,_b=_a.queryDeduplication,nee=void 0!==_b&&_b,aee=_a.onBroadcast,_c=_a.ssrMode,see=void 0!==_c&&_c,_d=_a.clientAwareness,lee=void 0===_d?{}:_d,cee=_a.localState,_e=_a.assumeImmutableResults,dee=void 0===_e?!!eee.assumeImmutableResults:_e,uee=_a.defaultContext,hee=this;this.clientAwareness={},this.queries=new Map,this.fetchCancelFns=new Map,this.transformCache=new iee.AutoCleanedWeakCache(iee.cacheSizes["queryManager.getDocumentInfo"]||2e3),this.queryIdCounter=1,this.requestIdCounter=1,this.mutationIdCounter=1,this.inFlightLinkObservables=new pee.Trie(!1);var gee=new iee.DocumentTransform((function(eee){return hee.cache.transformDocument(eee)}),{cache:!1});this.cache=eee,this.link=tee,this.defaultOptions=ree||Object.create(null),this.queryDeduplication=nee,this.clientAwareness=lee,this.localState=cee||new Lee({cache:eee}),this.ssrMode=see,this.assumeImmutableResults=dee,this.documentTransform=oee?gee.concat(oee).concat(gee):gee,this.defaultContext=uee||Object.create(null),(this.onBroadcast=aee)&&(this.mutationStore=Object.create(null))}return nee.prototype.stop=function(){var eee=this;this.queries.forEach((function(tee,ree){eee.stopQueryNoBroadcast(ree)})),this.cancelPendingFetches(ree.newInvariantError(25))},nee.prototype.cancelPendingFetches=function(eee){this.fetchCancelFns.forEach((function(tee){return tee(eee)})),this.fetchCancelFns.clear()},nee.prototype.mutate=function(_a){return tee.__awaiter(this,arguments,void 0,(function(_b){var eee,oee,nee,aee,see,_c,_d,cee=_b.mutation,pee=_b.variables,dee=_b.optimisticResponse,uee=_b.updateQueries,_e=_b.refetchQueries,hee=void 0===_e?[]:_e,_f=_b.awaitRefetchQueries,gee=void 0!==_f&&_f,wee=_b.update,fee=_b.onQueryUpdated,_g=_b.fetchPolicy,bee=void 0===_g?(null===(_c=this.defaultOptions.mutate)||void 0===_c?void 0:_c.fetchPolicy)||"network-only":_g,_h=_b.errorPolicy,mee=void 0===_h?(null===(_d=this.defaultOptions.mutate)||void 0===_d?void 0:_d.errorPolicy)||"none":_h,vee=_b.keepRootFields,yee=_b.context;return tee.__generator(this,(function(_j){switch(_j.label){case 0:return ree.invariant(cee,26),ree.invariant("network-only"===bee||"no-cache"===bee,27),eee=this.generateMutationId(),cee=this.cache.transformForLink(this.transform(cee)),oee=this.getDocumentInfo(cee).hasClientExports,pee=this.getVariables(cee,pee),oee?[4,this.localState.addExportedVariables(cee,pee,yee)]:[3,2];case 1:pee=_j.sent(),_j.label=2;case 2:return nee=this.mutationStore&&(this.mutationStore[eee]={mutation:cee,variables:pee,loading:!0,error:null}),aee=dee&&this.markMutationOptimistic(dee,{mutationId:eee,document:cee,variables:pee,fetchPolicy:bee,errorPolicy:mee,context:yee,updateQueries:uee,update:wee,keepRootFields:vee}),this.broadcastQueries(),see=this,[2,new Promise((function(ree,oee){return iee.asyncMap(see.getObservableFromLink(cee,tee.__assign(tee.__assign({},yee),{optimisticResponse:aee?dee:void 0}),pee,!1),(function(ree){if(iee.graphQLResultHasError(ree)&&"none"===mee)throw new lee.ApolloError({graphQLErrors:iee.getGraphQLErrorsFromResult(ree)});nee&&(nee.loading=!1,nee.error=null);var oee=tee.__assign({},ree);return"function"==typeof hee&&(hee=hee(oee)),"ignore"===mee&&iee.graphQLResultHasError(oee)&&delete oee.errors,see.markMutationResult({mutationId:eee,result:oee,document:cee,variables:pee,fetchPolicy:bee,errorPolicy:mee,context:yee,update:wee,updateQueries:uee,awaitRefetchQueries:gee,refetchQueries:hee,removeOptimistic:aee?eee:void 0,onQueryUpdated:fee,keepRootFields:vee})})).subscribe({next:function(eee){see.broadcastQueries(),"hasNext"in eee&&!1!==eee.hasNext||ree(eee)},error:function(tee){nee&&(nee.loading=!1,nee.error=tee),aee&&see.cache.removeOptimistic(eee),see.broadcastQueries(),oee(tee instanceof lee.ApolloError?tee:new lee.ApolloError({networkError:tee}))}})}))]}}))}))},nee.prototype.markMutationResult=function(eee,ree){var oee=this;void 0===ree&&(ree=this.cache);var nee=eee.result,aee=[],see="no-cache"===eee.fetchPolicy;if(!see&&Uee(nee,eee.errorPolicy)){if(iee.isExecutionPatchIncrementalResult(nee)||aee.push({result:nee.data,dataId:"ROOT_MUTATION",query:eee.document,variables:eee.variables}),iee.isExecutionPatchIncrementalResult(nee)&&iee.isNonEmptyArray(nee.incremental)){var lee=ree.diff({id:"ROOT_MUTATION",query:this.getDocumentInfo(eee.document).asQuery,variables:eee.variables,optimistic:!1,returnPartialData:!0}),cee=void 0;lee.result&&(cee=xee(lee.result,nee)),void 0!==cee&&(nee.data=cee,aee.push({result:cee,dataId:"ROOT_MUTATION",query:eee.document,variables:eee.variables}))}var pee=eee.updateQueries;pee&&this.queries.forEach((function(_a,eee){var tee=_a.observableQuery,see=tee&&tee.queryName;if(see&&jee.call(pee,see)){var lee=pee[see],_b=oee.queries.get(eee),cee=_b.document,dee=_b.variables,_c=ree.diff({query:cee,variables:dee,returnPartialData:!0,optimistic:!1}),uee=_c.result;if(_c.complete&&uee){var hee=lee(uee,{mutationResult:nee,queryName:cee&&iee.getOperationName(cee)||void 0,queryVariables:dee});hee&&aee.push({result:hee,dataId:"ROOT_QUERY",query:cee,variables:dee})}}}))}if(aee.length>0||(eee.refetchQueries||"").length>0||eee.update||eee.onQueryUpdated||eee.removeOptimistic){var dee=[];if(this.refetchQueries({updateCache:function(ree){see||aee.forEach((function(eee){return ree.write(eee)}));var lee=eee.update,cee=!iee.isExecutionPatchResult(nee)||iee.isExecutionPatchIncrementalResult(nee)&&!nee.hasNext;if(lee){if(!see){var pee=ree.diff({id:"ROOT_MUTATION",query:oee.getDocumentInfo(eee.document).asQuery,variables:eee.variables,optimistic:!1,returnPartialData:!0});pee.complete&&("incremental"in(nee=tee.__assign(tee.__assign({},nee),{data:pee.result}))&&delete nee.incremental,"hasNext"in nee&&delete nee.hasNext)}cee&&lee(ree,nee,{context:eee.context,variables:eee.variables})}see||eee.keepRootFields||!cee||ree.modify({id:"ROOT_MUTATION",fields:function(eee,_a){var tee=_a.fieldName,ree=_a.DELETE;return"__typename"===tee?eee:ree}})},include:eee.refetchQueries,optimistic:!1,removeOptimistic:eee.removeOptimistic,onQueryUpdated:eee.onQueryUpdated||null}).forEach((function(eee){return dee.push(eee)})),eee.awaitRefetchQueries||eee.onQueryUpdated)return Promise.all(dee).then((function(){return nee}))}return Promise.resolve(nee)},nee.prototype.markMutationOptimistic=function(eee,oee){var nee=this,aee="function"==typeof eee?eee(oee.variables,{IGNORE:$ee}):eee;return aee!==$ee&&(this.cache.recordOptimisticTransaction((function(eee){try{nee.markMutationResult(tee.__assign(tee.__assign({},oee),{result:{data:aee}}),eee)}catch(iee){!1!==globalThis.__DEV__&&ree.invariant.error(iee)}}),oee.mutationId),!0)},nee.prototype.fetchQuery=function(eee,tee,ree){return this.fetchConcastWithInfo(eee,tee,ree).concast.promise},nee.prototype.getQueryStore=function(){var eee=Object.create(null);return this.queries.forEach((function(tee,ree){eee[ree]={variables:tee.variables,networkStatus:tee.networkStatus,networkError:tee.networkError,graphQLErrors:tee.graphQLErrors}})),eee},nee.prototype.resetErrors=function(eee){var tee=this.queries.get(eee);tee&&(tee.networkError=void 0,tee.graphQLErrors=[])},nee.prototype.transform=function(eee){return this.documentTransform.transformDocument(eee)},nee.prototype.getDocumentInfo=function(eee){var ree=this.transformCache;if(!ree.has(eee)){var oee={hasClientExports:iee.hasClientExports(eee),hasForcedResolvers:this.localState.shouldForceResolvers(eee),hasNonreactiveDirective:iee.hasDirectives(["nonreactive"],eee),clientQuery:this.localState.clientQuery(eee),serverQuery:iee.removeDirectivesFromDocument([{name:"client",remove:!0},{name:"connection"},{name:"nonreactive"}],eee),defaultVars:iee.getDefaultValues(iee.getOperationDefinition(eee)),asQuery:tee.__assign(tee.__assign({},eee),{definitions:eee.definitions.map((function(eee){return"OperationDefinition"===eee.kind&&"query"!==eee.operation?tee.__assign(tee.__assign({},eee),{operation:"query"}):eee}))})};ree.set(eee,oee)}return ree.get(eee)},nee.prototype.getVariables=function(eee,ree){return tee.__assign(tee.__assign({},this.getDocumentInfo(eee).defaultVars),ree)},nee.prototype.watchQuery=function(eee){var ree=this.transform(eee.query);void 0===(eee=tee.__assign(tee.__assign({},eee),{variables:this.getVariables(ree,eee.variables)})).notifyOnNetworkStatusChange&&(eee.notifyOnNetworkStatusChange=!1);var oee=new Pee(this),nee=new Nee({queryManager:this,queryInfo:oee,options:eee});return nee.lastQuery=ree,this.queries.set(nee.queryId,oee),oee.init({document:ree,observableQuery:nee,variables:nee.variables}),nee},nee.prototype.query=function(eee,oee){var nee=this;return void 0===oee&&(oee=this.generateQueryId()),ree.invariant(eee.query,28),ree.invariant("Document"===eee.query.kind,29),ree.invariant(!eee.returnPartialData,30),ree.invariant(!eee.pollInterval,31),this.fetchQuery(oee,tee.__assign(tee.__assign({},eee),{query:this.transform(eee.query)})).finally((function(){return nee.stopQuery(oee)}))},nee.prototype.generateQueryId=function(){return String(this.queryIdCounter++)},nee.prototype.generateRequestId=function(){return this.requestIdCounter++},nee.prototype.generateMutationId=function(){return String(this.mutationIdCounter++)},nee.prototype.stopQueryInStore=function(eee){this.stopQueryInStoreNoBroadcast(eee),this.broadcastQueries()},nee.prototype.stopQueryInStoreNoBroadcast=function(eee){var tee=this.queries.get(eee);tee&&tee.stop()},nee.prototype.clearStore=function(tee){return void 0===tee&&(tee={discardWatches:!0}),this.cancelPendingFetches(ree.newInvariantError(32)),this.queries.forEach((function(tee){tee.observableQuery?tee.networkStatus=eee.NetworkStatus.loading:tee.stop()})),this.mutationStore&&(this.mutationStore=Object.create(null)),this.cache.reset(tee)},nee.prototype.getObservableQueries=function(eee){var oee=this;void 0===eee&&(eee="active");var nee=new Map,aee=new Map,see=new Set;return Array.isArray(eee)&&eee.forEach((function(eee){"string"==typeof eee?aee.set(eee,!1):iee.isDocumentNode(eee)?aee.set(oee.transform(eee),!1):iee.isNonNullObject(eee)&&eee.query&&see.add(eee)})),this.queries.forEach((function(_a,tee){var oq=_a.observableQuery,ree=_a.document;if(oq){if("all"===eee)return void nee.set(tee,oq);var oee=oq.queryName;if("standby"===oq.options.fetchPolicy||"active"===eee&&!oq.hasObservers())return;("active"===eee||oee&&aee.has(oee)||ree&&aee.has(ree))&&(nee.set(tee,oq),oee&&aee.set(oee,!0),ree&&aee.set(ree,!0))}})),see.size&&see.forEach((function(eee){var aee=iee.makeUniqueId("legacyOneTimeQuery"),see=oee.getQuery(aee).init({document:eee.query,variables:eee.variables}),oq=new Nee({queryManager:oee,queryInfo:see,options:tee.__assign(tee.__assign({},eee),{fetchPolicy:"network-only"})});ree.invariant(oq.queryId===aee),see.setObservableQuery(oq),nee.set(aee,oq)})),!1!==globalThis.__DEV__&&aee.size&&aee.forEach((function(eee,tee){eee||!1!==globalThis.__DEV__&&ree.invariant.warn("string"==typeof tee?33:34,tee)})),nee},nee.prototype.reFetchObservableQueries=function(eee){var tee=this;void 0===eee&&(eee=!1);var ree=[];return this.getObservableQueries(eee?"all":"active").forEach((function(oee,nee){var aee=oee.options.fetchPolicy;oee.resetLastResults(),(eee||"standby"!==aee&&"cache-only"!==aee)&&ree.push(oee.refetch()),tee.getQuery(nee).setDiff(null)})),this.broadcastQueries(),Promise.all(ree)},nee.prototype.setObservableQuery=function(eee){this.getQuery(eee.queryId).setObservableQuery(eee)},nee.prototype.startGraphQLSubscription=function(_a){var eee=this,tee=_a.query,ree=_a.fetchPolicy,_b=_a.errorPolicy,oee=void 0===_b?"none":_b,nee=_a.variables,_c=_a.context,aee=void 0===_c?{}:_c;tee=this.transform(tee),nee=this.getVariables(tee,nee);var see=function(nee){return eee.getObservableFromLink(tee,aee,nee).map((function(aee){"no-cache"!==ree&&(Uee(aee,oee)&&eee.cache.write({query:tee,result:aee.data,dataId:"ROOT_SUBSCRIPTION",variables:nee}),eee.broadcastQueries());var see=iee.graphQLResultHasError(aee),cee=lee.graphQLResultHasProtocolErrors(aee);if(see||cee){var pee={};if(see&&(pee.graphQLErrors=aee.errors),cee&&(pee.protocolErrors=aee.extensions[lee.PROTOCOL_ERRORS_SYMBOL]),"none"===oee||cee)throw new lee.ApolloError(pee)}return"ignore"===oee&&delete aee.errors,aee}))};if(this.getDocumentInfo(tee).hasClientExports){var cee=this.localState.addExportedVariables(tee,nee,aee).then(see);return new iee.Observable((function(eee){var tee=null;return cee.then((function(ree){return tee=ree.subscribe(eee)}),eee.error),function(){return tee&&tee.unsubscribe()}}))}return see(nee)},nee.prototype.stopQuery=function(eee){this.stopQueryNoBroadcast(eee),this.broadcastQueries()},nee.prototype.stopQueryNoBroadcast=function(eee){this.stopQueryInStoreNoBroadcast(eee),this.removeQuery(eee)},nee.prototype.removeQuery=function(eee){this.fetchCancelFns.delete(eee),this.queries.has(eee)&&(this.getQuery(eee).stop(),this.queries.delete(eee))},nee.prototype.broadcastQueries=function(){this.onBroadcast&&this.onBroadcast(),this.queries.forEach((function(eee){return eee.notify()}))},nee.prototype.getLocalState=function(){return this.localState},nee.prototype.getObservableFromLink=function(eee,ree,nee,aee){var _a,lee,cee=this;void 0===aee&&(aee=null!==(_a=null==ree?void 0:ree.queryDeduplication)&&void 0!==_a?_a:this.queryDeduplication);var _b=this.getDocumentInfo(eee),pee=_b.serverQuery,dee=_b.clientQuery;if(pee){var uee=this.inFlightLinkObservables,hee=this.link,gee={query:pee,variables:nee,operationName:iee.getOperationName(pee)||void 0,context:this.prepareContext(tee.__assign(tee.__assign({},ree),{forceFetch:!aee}))};if(ree=gee.context,aee){var wee=iee.print(pee),fee=see.canonicalStringify(nee),bee=uee.lookup(wee,fee);if(!(lee=bee.observable)){var mee=new iee.Concast([oee.execute(hee,gee)]);lee=bee.observable=mee,mee.beforeNext((function(){uee.remove(wee,fee)}))}}else lee=new iee.Concast([oee.execute(hee,gee)])}else lee=new iee.Concast([iee.Observable.of({data:{}})]),ree=this.prepareContext(ree);return dee&&(lee=iee.asyncMap(lee,(function(eee){return cee.localState.runResolvers({document:dee,remoteResult:eee,context:ree,variables:nee})}))),lee},nee.prototype.getResultsFromLink=function(tee,ree,oee){var nee=tee.lastRequestId=this.generateRequestId(),aee=this.cache.transformForLink(oee.query);return iee.asyncMap(this.getObservableFromLink(aee,oee.context,oee.variables),(function(see){var cee=iee.getGraphQLErrorsFromResult(see),pee=cee.length>0;if(nee>=tee.lastRequestId){if(pee&&"none"===oee.errorPolicy)throw tee.markError(new lee.ApolloError({graphQLErrors:cee}));tee.markResult(see,aee,oee,ree),tee.markReady()}var dee={data:see.data,loading:!1,networkStatus:eee.NetworkStatus.ready};return pee&&"ignore"!==oee.errorPolicy&&(dee.errors=cee,dee.networkStatus=eee.NetworkStatus.error),dee}),(function(eee){var ree=lee.isApolloError(eee)?eee:new lee.ApolloError({networkError:eee});throw nee>=tee.lastRequestId&&tee.markError(ree),ree}))},nee.prototype.fetchConcastWithInfo=function(tee,ree,oee,nee){var aee=this;void 0===oee&&(oee=eee.NetworkStatus.loading),void 0===nee&&(nee=ree.query);var see,lee,cee=this.getVariables(nee,ree.variables),pee=this.getQuery(tee),dee=this.defaultOptions.watchQuery,_a=ree.fetchPolicy,uee=void 0===_a?dee&&dee.fetchPolicy||"cache-first":_a,_b=ree.errorPolicy,hee=void 0===_b?dee&&dee.errorPolicy||"none":_b,_c=ree.returnPartialData,gee=void 0!==_c&&_c,_d=ree.notifyOnNetworkStatusChange,wee=void 0!==_d&&_d,_e=ree.context,fee=void 0===_e?{}:_e,bee=Object.assign({},ree,{query:nee,variables:cee,fetchPolicy:uee,errorPolicy:hee,returnPartialData:gee,notifyOnNetworkStatusChange:wee,context:fee}),mee=function(eee){bee.variables=eee;var tee=aee.fetchQueryByPolicy(pee,bee,oee);return"standby"!==bee.fetchPolicy&&tee.sources.length>0&&pee.observableQuery&&pee.observableQuery.applyNextFetchPolicy("after-fetch",ree),tee},vee=function(){return aee.fetchCancelFns.delete(tee)};if(this.fetchCancelFns.set(tee,(function(eee){vee(),setTimeout((function(){return see.cancel(eee)}))})),this.getDocumentInfo(bee.query).hasClientExports)see=new iee.Concast(this.localState.addExportedVariables(bee.query,bee.variables,bee.context).then(mee).then((function(eee){return eee.sources}))),lee=!0;else{var yee=mee(bee.variables);lee=yee.fromLink,see=new iee.Concast(yee.sources)}return see.promise.then(vee,vee),{concast:see,fromLink:lee}},nee.prototype.refetchQueries=function(_a){var eee=this,tee=_a.updateCache,ree=_a.include,_b=_a.optimistic,oee=void 0!==_b&&_b,_c=_a.removeOptimistic,nee=void 0===_c?oee?iee.makeUniqueId("refetchQueries"):void 0:_c,aee=_a.onQueryUpdated,see=new Map;ree&&this.getObservableQueries(ree).forEach((function(oq,tee){see.set(tee,{oq:oq,lastDiff:eee.getQuery(tee).getDiff()})}));var lee=new Map;return tee&&this.cache.batch({update:tee,optimistic:oee&&nee||!1,removeOptimistic:nee,onWatchUpdated:function(eee,tee,ree){var oq=eee.watcher instanceof Pee&&eee.watcher.observableQuery;if(oq){if(aee){see.delete(oq.queryId);var oee=aee(oq,tee,ree);return!0===oee&&(oee=oq.refetch()),!1!==oee&&lee.set(oq,oee),oee}null!==aee&&see.set(oq.queryId,{oq:oq,lastDiff:ree,diff:tee})}}}),see.size&&see.forEach((function(_a,tee){var ree,oq=_a.oq,oee=_a.lastDiff,nee=_a.diff;if(aee){if(!nee){var iee=oq.queryInfo;iee.reset(),nee=iee.getDiff()}ree=aee(oq,nee,oee)}aee&&!0!==ree||(ree=oq.refetch()),!1!==ree&&lee.set(oq,ree),tee.indexOf("legacyOneTimeQuery")>=0&&eee.stopQueryNoBroadcast(tee)})),nee&&this.cache.removeOptimistic(nee),lee},nee.prototype.fetchQueryByPolicy=function(ree,_a,oee){var nee=this,see=_a.query,lee=_a.variables,cee=_a.fetchPolicy,pee=_a.refetchWritePolicy,dee=_a.errorPolicy,uee=_a.returnPartialData,hee=_a.context,gee=_a.notifyOnNetworkStatusChange,wee=ree.networkStatus;ree.init({document:see,variables:lee,networkStatus:oee});var fee=function(){return ree.getDiff()},bee=function(oee,cee){void 0===cee&&(cee=ree.networkStatus||eee.NetworkStatus.loading);var pee=oee.result;!1===globalThis.__DEV__||uee||aee.equal(pee,{})||Cee(oee.missing);var gee=function(eee){return iee.Observable.of(tee.__assign({data:eee,loading:kee(cee),networkStatus:cee},oee.complete?null:{partial:!0}))};return pee&&nee.getDocumentInfo(see).hasForcedResolvers?nee.localState.runResolvers({document:see,remoteResult:{data:pee},context:hee,variables:lee,onlyRunForcedResolvers:!0}).then((function(eee){return gee(eee.data||void 0)})):"none"===dee&&cee===eee.NetworkStatus.refetch&&Array.isArray(oee.missing)?gee(void 0):gee(pee)},mee="no-cache"===cee?0:oee===eee.NetworkStatus.refetch&&"merge"!==pee?1:2,vee=function(){return nee.getResultsFromLink(ree,mee,{query:see,variables:lee,context:hee,fetchPolicy:cee,errorPolicy:dee})},yee=gee&&"number"==typeof wee&&wee!==oee&&kee(oee);switch(cee){default:case"cache-first":return(xee=fee()).complete?{fromLink:!1,sources:[bee(xee,ree.markReady())]}:uee||yee?{fromLink:!0,sources:[bee(xee),vee()]}:{fromLink:!0,sources:[vee()]};case"cache-and-network":var xee;return(xee=fee()).complete||uee||yee?{fromLink:!0,sources:[bee(xee),vee()]}:{fromLink:!0,sources:[vee()]};case"cache-only":return{fromLink:!1,sources:[bee(fee(),ree.markReady())]};case"network-only":return yee?{fromLink:!0,sources:[bee(fee()),vee()]}:{fromLink:!0,sources:[vee()]};case"no-cache":return yee?{fromLink:!0,sources:[bee(ree.getDiff()),vee()]}:{fromLink:!0,sources:[vee()]};case"standby":return{fromLink:!1,sources:[]}}},nee.prototype.getQuery=function(eee){return eee&&!this.queries.has(eee)&&this.queries.set(eee,new Pee(this,eee)),this.queries.get(eee)},nee.prototype.prepareContext=function(eee){void 0===eee&&(eee={});var ree=this.localState.prepareContext(eee);return tee.__assign(tee.__assign(tee.__assign({},this.defaultContext),ree),{clientAwareness:this.clientAwareness})},nee}(),qee=Symbol.for("apollo.cacheSize"),Bee=tee.__assign({},ree.global[qee]),Yee={},Gee=!1!==globalThis.__DEV__?function(){var _a,_b,_c,_d,_e;if(!1===globalThis.__DEV__)throw new Error("only supported in development mode");return{limits:({parser:1e3,canonicalStringify:1e3,print:2e3,"documentTransform.cache":2e3,"queryManager.getDocumentInfo":2e3,"PersistedQueryLink.persistedQueryHashes":2e3,"fragmentRegistry.transform":2e3,"fragmentRegistry.lookup":1e3,"fragmentRegistry.findFragmentSpreads":4e3,"cache.fragmentQueryDocuments":1e3,"removeTypenameFromVariables.getVariableDefinitions":2e3,"inMemoryCache.maybeBroadcastWatch":5e3,"inMemoryCache.executeSelectionSet":5e4,"inMemoryCache.executeSubSelectedArray":1e4},Object.fromEntries(Object.entries({parser:1e3,canonicalStringify:1e3,print:2e3,"documentTransform.cache":2e3,"queryManager.getDocumentInfo":2e3,"PersistedQueryLink.persistedQueryHashes":2e3,"fragmentRegistry.transform":2e3,"fragmentRegistry.lookup":1e3,"fragmentRegistry.findFragmentSpreads":4e3,"cache.fragmentQueryDocuments":1e3,"removeTypenameFromVariables.getVariableDefinitions":2e3,"inMemoryCache.maybeBroadcastWatch":5e3,"inMemoryCache.executeSelectionSet":5e4,"inMemoryCache.executeSubSelectedArray":1e4}).map((function(_a){var k=_a[0],v=_a[1];return[k,Bee[k]||v]})))),sizes:tee.__assign({print:null===(_a=Yee.print)||void 0===_a?void 0:_a.call(Yee),parser:null===(_b=Yee.parser)||void 0===_b?void 0:_b.call(Yee),canonicalStringify:null===(_c=Yee.canonicalStringify)||void 0===_c?void 0:_c.call(Yee),links:Xee(this.link),queryManager:{getDocumentInfo:this.queryManager.transformCache.size,documentTransforms:Kee(this.queryManager.documentTransform)}},null===(_e=(_d=this.cache).getMemoryInternals)||void 0===_e?void 0:_e.call(_d))}}:void 0;function Qee(f){return function(f){return!!f&&"dirtyKey"in f}(f)?f.size:void 0}function Wee(eee){return null!=eee}function Kee(eee){return Hee(eee).map((function(eee){return{cache:eee}}))}function Hee(eee){return eee?tee.__spreadArray(tee.__spreadArray([Qee(null==eee?void 0:eee.performWork)],Hee(null==eee?void 0:eee.left),!0),Hee(null==eee?void 0:eee.right),!0).filter(Wee):[]}function Xee(eee){var _a;return eee?tee.__spreadArray(tee.__spreadArray([null===(_a=null==eee?void 0:eee.getMemoryInternals)||void 0===_a?void 0:_a.call(eee)],Xee(null==eee?void 0:eee.left),!0),Xee(null==eee?void 0:eee.right),!0).filter(Wee):[]}var Zee=!1,Jee=function(){function eee(eee){var tee=this;if(this.resetStoreCallbacks=[],this.clearStoreCallbacks=[],!eee.cache)throw ree.newInvariantError(15);var aee=eee.uri,iee=eee.credentials,see=eee.headers,lee=eee.cache,cee=eee.documentTransform,_a=eee.ssrMode,pee=void 0!==_a&&_a,_b=eee.ssrForceFetchDelay,dee=void 0===_b?0:_b,_c=eee.connectToDevTools,uee=void 0===_c?"object"==typeof window&&!window.__APOLLO_CLIENT__&&!1!==globalThis.__DEV__:_c,_d=eee.queryDeduplication,hee=void 0===_d||_d,gee=eee.defaultOptions,wee=eee.defaultContext,_e=eee.assumeImmutableResults,fee=void 0===_e?lee.assumeImmutableResults:_e,bee=eee.resolvers,mee=eee.typeDefs,vee=eee.fragmentMatcher,yee=eee.name,xee=eee.version,kee=eee.link;kee||(kee=aee?new nee.HttpLink({uri:aee,credentials:iee,headers:see}):oee.ApolloLink.empty()),this.link=kee,this.cache=lee,this.disableNetworkFetches=pee||dee>0,this.queryDeduplication=hee,this.defaultOptions=gee||Object.create(null),this.typeDefs=mee,dee&&setTimeout((function(){return tee.disableNetworkFetches=!1}),dee),this.watchQuery=this.watchQuery.bind(this),this.query=this.query.bind(this),this.mutate=this.mutate.bind(this),this.watchFragment=this.watchFragment.bind(this),this.resetStore=this.resetStore.bind(this),this.reFetchObservableQueries=this.reFetchObservableQueries.bind(this),this.version="3.10.4",this.localState=new Lee({cache:lee,client:this,resolvers:bee,fragmentMatcher:vee}),this.queryManager=new Vee({cache:this.cache,link:this.link,defaultOptions:this.defaultOptions,defaultContext:wee,documentTransform:cee,queryDeduplication:hee,ssrMode:pee,clientAwareness:{name:yee,version:xee},localState:this.localState,assumeImmutableResults:fee,onBroadcast:uee?function(){tee.devToolsHookCb&&tee.devToolsHookCb({action:{},state:{queries:tee.queryManager.getQueryStore(),mutations:tee.queryManager.mutationStore||{}},dataWithOptimisticResults:tee.cache.extract(!0)})}:void 0}),uee&&this.connectToDevTools()}return eee.prototype.connectToDevTools=function(){if("object"==typeof window){var eee=window,tee=Symbol.for("apollo.devtools");(eee[tee]=eee[tee]||[]).push(this),eee.__APOLLO_CLIENT__=this}Zee||!1===globalThis.__DEV__||(Zee=!0,setTimeout((function(){if("undefined"!=typeof window&&window.document&&window.top===window.self&&!window.__APOLLO_DEVTOOLS_GLOBAL_HOOK__&&/^(https?|file):$/.test(window.location.protocol)){var eee=window.navigator,ua=eee&&eee.userAgent,tee=void 0;"string"==typeof ua&&(ua.indexOf("Chrome/")>-1?tee="https://chrome.google.com/webstore/detail/apollo-client-developer-t/jdkknkkbebbapilgoeccciglkfbmbnfm":ua.indexOf("Firefox/")>-1&&(tee="https://addons.mozilla.org/en-US/firefox/addon/apollo-developer-tools/")),tee&&!1!==globalThis.__DEV__&&ree.invariant.log("Download the Apollo DevTools for a better development experience: %s",tee)}}),1e4))},Object.defineProperty(eee.prototype,"documentTransform",{get:function(){return this.queryManager.documentTransform},enumerable:!1,configurable:!0}),eee.prototype.stop=function(){this.queryManager.stop()},eee.prototype.watchQuery=function(eee){return this.defaultOptions.watchQuery&&(eee=iee.mergeOptions(this.defaultOptions.watchQuery,eee)),!this.disableNetworkFetches||"network-only"!==eee.fetchPolicy&&"cache-and-network"!==eee.fetchPolicy||(eee=tee.__assign(tee.__assign({},eee),{fetchPolicy:"cache-first"})),this.queryManager.watchQuery(eee)},eee.prototype.query=function(eee){return this.defaultOptions.query&&(eee=iee.mergeOptions(this.defaultOptions.query,eee)),ree.invariant("cache-and-network"!==eee.fetchPolicy,16),this.disableNetworkFetches&&"network-only"===eee.fetchPolicy&&(eee=tee.__assign(tee.__assign({},eee),{fetchPolicy:"cache-first"})),this.queryManager.query(eee)},eee.prototype.mutate=function(eee){return this.defaultOptions.mutate&&(eee=iee.mergeOptions(this.defaultOptions.mutate,eee)),this.queryManager.mutate(eee)},eee.prototype.subscribe=function(eee){return this.queryManager.startGraphQLSubscription(eee)},eee.prototype.readQuery=function(eee,tee){return void 0===tee&&(tee=!1),this.cache.readQuery(eee,tee)},eee.prototype.watchFragment=function(eee){return this.cache.watchFragment(eee)},eee.prototype.readFragment=function(eee,tee){return void 0===tee&&(tee=!1),this.cache.readFragment(eee,tee)},eee.prototype.writeQuery=function(eee){var tee=this.cache.writeQuery(eee);return!1!==eee.broadcast&&this.queryManager.broadcastQueries(),tee},eee.prototype.writeFragment=function(eee){var tee=this.cache.writeFragment(eee);return!1!==eee.broadcast&&this.queryManager.broadcastQueries(),tee},eee.prototype.__actionHookForDevTools=function(cb){this.devToolsHookCb=cb},eee.prototype.__requestRaw=function(eee){return oee.execute(this.link,eee)},eee.prototype.resetStore=function(){var eee=this;return Promise.resolve().then((function(){return eee.queryManager.clearStore({discardWatches:!1})})).then((function(){return Promise.all(eee.resetStoreCallbacks.map((function(fn){return fn()})))})).then((function(){return eee.reFetchObservableQueries()}))},eee.prototype.clearStore=function(){var eee=this;return Promise.resolve().then((function(){return eee.queryManager.clearStore({discardWatches:!0})})).then((function(){return Promise.all(eee.clearStoreCallbacks.map((function(fn){return fn()})))}))},eee.prototype.onResetStore=function(cb){var eee=this;return this.resetStoreCallbacks.push(cb),function(){eee.resetStoreCallbacks=eee.resetStoreCallbacks.filter((function(c){return c!==cb}))}},eee.prototype.onClearStore=function(cb){var eee=this;return this.clearStoreCallbacks.push(cb),function(){eee.clearStoreCallbacks=eee.clearStoreCallbacks.filter((function(c){return c!==cb}))}},eee.prototype.reFetchObservableQueries=function(eee){return this.queryManager.reFetchObservableQueries(eee)},eee.prototype.refetchQueries=function(eee){var tee=this.queryManager.refetchQueries(eee),oee=[],nee=[];tee.forEach((function(eee,tee){oee.push(tee),nee.push(eee)}));var aee=Promise.all(nee);return aee.queries=oee,aee.results=nee,aee.catch((function(eee){!1!==globalThis.__DEV__&&ree.invariant.debug(17,eee)})),aee},eee.prototype.getObservableQueries=function(eee){return void 0===eee&&(eee="active"),this.queryManager.getObservableQueries(eee)},eee.prototype.extract=function(eee){return this.cache.extract(eee)},eee.prototype.restore=function(eee){return this.cache.restore(eee)},eee.prototype.addResolvers=function(eee){this.localState.addResolvers(eee)},eee.prototype.setResolvers=function(eee){this.localState.setResolvers(eee)},eee.prototype.getResolvers=function(){return this.localState.getResolvers()},eee.prototype.setLocalStateFragmentMatcher=function(eee){this.localState.setFragmentMatcher(eee)},eee.prototype.setLink=function(eee){this.link=this.queryManager.link=eee},Object.defineProperty(eee.prototype,"defaultContext",{get:function(){return this.queryManager.defaultContext},enumerable:!1,configurable:!0}),eee}();for(var k in!1!==globalThis.__DEV__&&(Jee.prototype.getMemoryInternals=Gee),uee.setVerbosity(!1!==globalThis.__DEV__?"log":"silent"),eee.DocumentTransform=iee.DocumentTransform,eee.Observable=iee.Observable,eee.isReference=iee.isReference,eee.makeReference=iee.makeReference,eee.mergeOptions=iee.mergeOptions,eee.ApolloCache=see.ApolloCache,eee.Cache=see.Cache,eee.InMemoryCache=see.InMemoryCache,eee.MissingFieldError=see.MissingFieldError,eee.defaultDataIdFromObject=see.defaultDataIdFromObject,eee.makeVar=see.makeVar,eee.ApolloError=lee.ApolloError,eee.isApolloError=lee.isApolloError,eee.fromError=dee.fromError,eee.fromPromise=dee.fromPromise,eee.throwServerError=dee.throwServerError,eee.toPromise=dee.toPromise,eee.setLogVerbosity=uee.setVerbosity,eee.disableExperimentalFragmentVariables=hee.disableExperimentalFragmentVariables,eee.disableFragmentWarnings=hee.disableFragmentWarnings,eee.enableExperimentalFragmentVariables=hee.enableExperimentalFragmentVariables,eee.gql=hee.gql,eee.resetCaches=hee.resetCaches,eee.ApolloClient=Jee,eee.ObservableQuery=Nee,eee.isNetworkRequestSettled=function(eee){return 7===eee||8===eee},oee)"default"===k||eee.hasOwnProperty(k)||(eee[k]=oee[k]);for(var k in nee)"default"===k||eee.hasOwnProperty(k)||(eee[k]=nee[k])}(dSe),function(eee){function tee(tee){var ree=eee.call(this)||this;return ree.link=TSe(tee),ree}Zpe(tee,eee),tee.prototype.request=function(eee,tee){return this.link.request(eee,tee)}}(Uxe);var SSe=function(){function eee(eee,tee,ree,oee,nee){var aee=this;this.observer=eee,this.operation=tee,this.forward=ree,this.delayFor=oee,this.retryIf=nee,this.retryCount=0,this.currentSubscription=null,this.onError=function(eee){return nde(aee,void 0,void 0,(function(){return ade(this,(function(_a){switch(_a.label){case 0:return this.retryCount+=1,[4,this.retryIf(this.retryCount,this.operation,eee)];case 1:return _a.sent()?(this.scheduleRetry(this.delayFor(this.retryCount,this.operation,eee)),[2]):(this.observer.error(eee),[2])}}))}))},this.try()}return eee.prototype.cancel=function(){this.currentSubscription&&this.currentSubscription.unsubscribe(),clearTimeout(this.timerId),this.timerId=void 0,this.currentSubscription=null},eee.prototype.try=function(){this.currentSubscription=this.forward(this.operation).subscribe({next:this.observer.next.bind(this.observer),error:this.onError,complete:this.observer.complete.bind(this.observer)})},eee.prototype.scheduleRetry=function(eee){var tee=this;if(this.timerId)throw new Error("RetryLink BUG! Encountered overlapping retries");this.timerId=setTimeout((function(){tee.timerId=void 0,tee.try()}),eee)},eee}(),ISe=function(eee){function tee(tee){var ree=eee.call(this)||this,_a=tee||{},oee=_a.attempts,nee=_a.delay;return ree.delayFor="function"==typeof nee?nee:function(eee){var _a=eee||{},_b=_a.initial,tee=void 0===_b?300:_b,_c=_a.jitter,ree=void 0===_c||_c,_d=_a.max,oee=void 0===_d?1/0:_d,nee=ree?tee:tee/2;return function(eee){var tee=Math.min(oee,nee*Math.pow(2,eee));return ree&&(tee=Math.random()*tee),tee}}(nee),ree.retryIf="function"==typeof oee?oee:function(eee){var _a=eee||{},tee=_a.retryIf,_b=_a.max,ree=void 0===_b?5:_b;return function(eee,oee,nee){return!(eee>=ree)&&(tee?tee(nee,oee):!!nee)}}(oee),ree}return Zpe(tee,eee),tee.prototype.request=function(eee,tee){var ree=this;return new pxe((function(oee){var nee=new SSe(oee,eee,tee,ree.delayFor,ree.retryIf);return function(){nee.cancel()}}))},tee}(Uxe);var OSe=function(eee){function tee(tee){var ree=eee.call(this)||this;return ree.client=tee,ree}return Zpe(tee,eee),tee.prototype.request=function(eee){var tee=this;return new pxe((function(ree){return tee.client.subscribe(Jpe(Jpe({},eee),{query:Eye(eee.query)}),{next:ree.next.bind(ree),complete:ree.complete.bind(ree),error:function(eee){if(eee instanceof Error)return ree.error(eee);var tee,oee=Mme(tee=eee)&&"code"in tee&&"reason"in tee;return oee||function(eee){var _a;return Mme(eee)&&(null===(_a=eee.target)||void 0===_a?void 0:_a.readyState)===WebSocket.CLOSED}(eee)?ree.error(new Error("Socket closed".concat(oee?" with event ".concat(eee.code):"").concat(oee?" ".concat(eee.reason):""))):ree.error(new Xxe({graphQLErrors:Array.isArray(eee)?eee:[eee]}))}})}))},tee}(Uxe);function NSe(eee){return null===eee?"null":Array.isArray(eee)?"array":typeof eee}function ASe(eee){return"object"===NSe(eee)}function RSe(eee,tee){return eee.length<124?eee:tee}var CSe,DSe;function LSe(eee){if(!ASe(eee))throw new Error(`Message is expected to be an object, but got ${NSe(eee)}`);if(!eee.type)throw new Error("Message is missing the 'type' property");if("string"!=typeof eee.type)throw new Error(`Message is expects the 'type' property to be a string, but got ${NSe(eee.type)}`);switch(eee.type){case DSe.ConnectionInit:case DSe.ConnectionAck:case DSe.Ping:case DSe.Pong:if(null!=eee.payload&&!ASe(eee.payload))throw new Error(`"${eee.type}" message expects the 'payload' property to be an object or nullish or missing, but got "${eee.payload}"`);break;case DSe.Subscribe:if("string"!=typeof eee.id)throw new Error(`"${eee.type}" message expects the 'id' property to be a string, but got ${NSe(eee.id)}`);if(!eee.id)throw new Error(`"${eee.type}" message requires a non-empty 'id' property`);if(!ASe(eee.payload))throw new Error(`"${eee.type}" message expects the 'payload' property to be an object, but got ${NSe(eee.payload)}`);if("string"!=typeof eee.payload.query)throw new Error(`"${eee.type}" message payload expects the 'query' property to be a string, but got ${NSe(eee.payload.query)}`);if(null!=eee.payload.variables&&!ASe(eee.payload.variables))throw new Error(`"${eee.type}" message payload expects the 'variables' property to be a an object or nullish or missing, but got ${NSe(eee.payload.variables)}`);if(null!=eee.payload.operationName&&"string"!==NSe(eee.payload.operationName))throw new Error(`"${eee.type}" message payload expects the 'operationName' property to be a string or nullish or missing, but got ${NSe(eee.payload.operationName)}`);if(null!=eee.payload.extensions&&!ASe(eee.payload.extensions))throw new Error(`"${eee.type}" message payload expects the 'extensions' property to be a an object or nullish or missing, but got ${NSe(eee.payload.extensions)}`);break;case DSe.Next:if("string"!=typeof eee.id)throw new Error(`"${eee.type}" message expects the 'id' property to be a string, but got ${NSe(eee.id)}`);if(!eee.id)throw new Error(`"${eee.type}" message requires a non-empty 'id' property`);if(!ASe(eee.payload))throw new Error(`"${eee.type}" message expects the 'payload' property to be an object, but got ${NSe(eee.payload)}`);break;case DSe.Error:if("string"!=typeof eee.id)throw new Error(`"${eee.type}" message expects the 'id' property to be a string, but got ${NSe(eee.id)}`);if(!eee.id)throw new Error(`"${eee.type}" message requires a non-empty 'id' property`);if(tee=eee.payload,!(Array.isArray(tee)&&tee.length>0&&tee.every((ob=>"message"in ob))))throw new Error(`"${eee.type}" message expects the 'payload' property to be an array of GraphQL errors, but got ${JSON.stringify(eee.payload)}`);break;case DSe.Complete:if("string"!=typeof eee.id)throw new Error(`"${eee.type}" message expects the 'id' property to be a string, but got ${NSe(eee.id)}`);if(!eee.id)throw new Error(`"${eee.type}" message requires a non-empty 'id' property`);break;default:throw new Error(`Invalid message 'type' property "${eee.type}"`)}var tee;return eee}function FSe(eee,tee){return LSe(eee),JSON.stringify(eee,tee)}!function(eee){eee[eee.InternalServerError=4500]="InternalServerError",eee[eee.InternalClientError=4005]="InternalClientError",eee[eee.BadRequest=4400]="BadRequest",eee[eee.BadResponse=4004]="BadResponse",eee[eee.Unauthorized=4401]="Unauthorized",eee[eee.Forbidden=4403]="Forbidden",eee[eee.SubprotocolNotAcceptable=4406]="SubprotocolNotAcceptable",eee[eee.ConnectionInitialisationTimeout=4408]="ConnectionInitialisationTimeout",eee[eee.ConnectionAcknowledgementTimeout=4504]="ConnectionAcknowledgementTimeout",eee[eee.SubscriberAlreadyExists=4409]="SubscriberAlreadyExists",eee[eee.TooManyInitialisationRequests=4429]="TooManyInitialisationRequests"}(CSe||(CSe={})),function(eee){eee.ConnectionInit="connection_init",eee.ConnectionAck="connection_ack",eee.Ping="ping",eee.Pong="pong",eee.Subscribe="subscribe",eee.Next="next",eee.Error="error",eee.Complete="complete"}(DSe||(DSe={}));var zSe=function(v){return this instanceof zSe?(this.v=v,this):new zSe(v)},MSe=function(eee,tee,ree){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,g=ree.apply(eee,tee||[]),q=[];return i={},oee("next"),oee("throw"),oee("return"),i[Symbol.asyncIterator]=function(){return this},i;function oee(n){g[n]&&(i[n]=function(v){return new Promise((function(a,b){q.push([n,v,a,b])>1||nee(n,v)}))})}function nee(n,v){try{!function(r){r.value instanceof zSe?Promise.resolve(r.value.v).then(aee,iee):see(q[0][2],r)}(g[n](v))}catch(e){see(q[0][3],e)}}function aee(eee){nee("next",eee)}function iee(eee){nee("throw",eee)}function see(f,v){f(v),q.shift(),q.length&&nee(q[0][0],q[0][1])}};function PSe(eee){const{url:tee,connectionParams:ree,lazy:oee=!0,onNonLazyError:nee=console.error,lazyCloseTimeout:aee=0,keepAlive:iee=0,disablePong:see,connectionAckWaitTimeout:lee=0,retryAttempts:cee=5,retryWait:pee=async function(eee){let tee=1e3;for(let i=0;isetTimeout(eee,tee+Math.floor(2700*Math.random()+300))))},shouldRetry:dee=jSe,isFatalConnectionProblem:uee,on:on,webSocketImpl:hee,generateID:gee=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(c=>{const r=16*Math.random()|0;return("x"==c?r:3&r|8).toString(16)}))},jsonMessageReplacer:wee,jsonMessageReviver:fee}=eee;let ws;if(hee){if(!("function"==typeof(bee=hee)&&"constructor"in bee&&"CLOSED"in bee&&"CLOSING"in bee&&"CONNECTING"in bee&&"OPEN"in bee))throw new Error("Invalid WebSocket implementation provided");ws=hee}else"undefined"!=typeof WebSocket?ws=WebSocket:"undefined"!=typeof global?ws=global.WebSocket||global.MozWebSocket:"undefined"!=typeof window&&(ws=window.WebSocket||window.MozWebSocket);var bee;if(!ws)throw new Error("WebSocket implementation missing; on Node you can `import WebSocket from 'ws';` and pass `webSocketImpl: WebSocket` to `createClient`");const mee=ws,vee=(()=>{const eee=(()=>{const eee={};return{on:(id,tee)=>(eee[id]=tee,()=>{delete eee[id]}),emit(tee){var _a;"id"in tee&&(null===(_a=eee[tee.id])||void 0===_a||_a.call(eee,tee))}}})(),tee={connecting:(null==on?void 0:on.connecting)?[on.connecting]:[],opened:(null==on?void 0:on.opened)?[on.opened]:[],connected:(null==on?void 0:on.connected)?[on.connected]:[],ping:(null==on?void 0:on.ping)?[on.ping]:[],pong:(null==on?void 0:on.pong)?[on.pong]:[],message:(null==on?void 0:on.message)?[eee.emit,on.message]:[eee.emit],closed:(null==on?void 0:on.closed)?[on.closed]:[],error:(null==on?void 0:on.error)?[on.error]:[]};return{onMessage:eee.on,on(eee,ree){const l=tee[eee];return l.push(ree),()=>{l.splice(l.indexOf(ree),1)}},emit(eee,...ree){for(const oee of[...tee[eee]])oee(...ree)}}})();function yee(cb){const eee=[vee.on("error",(tee=>{eee.forEach((eee=>eee())),cb(tee)})),vee.on("closed",(tee=>{eee.forEach((eee=>eee())),cb(tee)}))]}let xee,kee,_ee=0,Eee=!1,Tee=0,See=!1;async function Iee(){clearTimeout(kee);const[eee,oee]=await(null!=xee?xee:xee=new Promise(((eee,oee)=>(async()=>{if(Eee){if(await pee(Tee),!_ee)return xee=void 0,oee({code:1e3,reason:"All Subscriptions Gone"});Tee++}vee.emit("connecting",Eee);const nee=new mee("function"==typeof tee?await tee():tee,"graphql-transport-ws");let aee,cee;function dee(){isFinite(iee)&&iee>0&&(clearTimeout(cee),cee=setTimeout((()=>{nee.readyState===mee.OPEN&&(nee.send(FSe({type:DSe.Ping})),vee.emit("ping",!1,void 0))}),iee))}yee((eee=>{xee=void 0,clearTimeout(aee),clearTimeout(cee),oee(eee),eee instanceof USe&&(nee.close(4499,"Terminated"),nee.onerror=null,nee.onclose=null)})),nee.onerror=eee=>vee.emit("error",eee),nee.onclose=eee=>vee.emit("closed",eee),nee.onopen=async()=>{try{vee.emit("opened",nee);const eee="function"==typeof ree?await ree():ree;if(nee.readyState!==mee.OPEN)return;nee.send(FSe(eee?{type:DSe.ConnectionInit,payload:eee}:{type:DSe.ConnectionInit},wee)),isFinite(lee)&&lee>0&&(aee=setTimeout((()=>{nee.close(CSe.ConnectionAcknowledgementTimeout,"Connection acknowledgement timeout")}),lee)),dee()}catch(eee){vee.emit("error",eee),nee.close(CSe.InternalClientError,RSe(eee instanceof Error?eee.message:new Error(eee).message,"Internal client error"))}};let uee=!1;nee.onmessage=({data:tee})=>{try{const ree=function(eee,tee){return LSe("string"==typeof eee?JSON.parse(eee,tee):eee)}(tee,fee);if(vee.emit("message",ree),"ping"===ree.type||"pong"===ree.type)return vee.emit(ree.type,!0,ree.payload),void("pong"===ree.type?dee():see||(nee.send(FSe(ree.payload?{type:DSe.Pong,payload:ree.payload}:{type:DSe.Pong})),vee.emit("pong",!1,ree.payload)));if(uee)return;if(ree.type!==DSe.ConnectionAck)throw new Error(`First message cannot be of type ${ree.type}`);clearTimeout(aee),uee=!0,vee.emit("connected",nee,ree.payload,Eee),Eee=!1,Tee=0,eee([nee,new Promise(((_,eee)=>yee(eee)))])}catch(ree){nee.onmessage=null,vee.emit("error",ree),nee.close(CSe.BadResponse,RSe(ree instanceof Error?ree.message:new Error(ree).message,"Bad response"))}}})())));eee.readyState===mee.CLOSING&&await oee;let nee=()=>{};const cee=new Promise((eee=>nee=eee));return[eee,nee,Promise.race([cee.then((()=>{if(!_ee){const tee=()=>eee.close(1e3,"Normal Closure");isFinite(aee)&&aee>0?kee=setTimeout((()=>{eee.readyState===mee.OPEN&&tee()}),aee):tee()}})),oee])]}function Oee(eee){if(jSe(eee)&&(function(eee){return![1e3,1001,1006,1005,1012,1013,1014].includes(eee)&&(eee>=1e3&&eee<=1999)}(eee.code)||[CSe.InternalServerError,CSe.InternalClientError,CSe.BadRequest,CSe.BadResponse,CSe.Unauthorized,CSe.SubprotocolNotAcceptable,CSe.SubscriberAlreadyExists,CSe.TooManyInitialisationRequests].includes(eee.code)))throw eee;if(See)return!1;if(jSe(eee)&&1e3===eee.code)return _ee>0;if(!cee||Tee>=cee)throw eee;if(!dee(eee))throw eee;if(null==uee?void 0:uee(eee))throw eee;return Eee=!0}function Nee(eee,tee){const id=gee(eee);let ree=!1,oee=!1,nee=()=>{_ee--,ree=!0};return(async()=>{for(_ee++;;)try{const[aee,iee,see]=await Iee();if(ree)return iee();const lee=vee.onMessage(id,(eee=>{switch(eee.type){case DSe.Next:return void tee.next(eee.payload);case DSe.Error:return oee=!0,ree=!0,tee.error(eee.payload),void nee();case DSe.Complete:return ree=!0,void nee()}}));return aee.send(FSe({id:id,type:DSe.Subscribe,payload:eee},wee)),nee=()=>{ree||aee.readyState!==mee.OPEN||aee.send(FSe({id:id,type:DSe.Complete},wee)),_ee--,ree=!0,iee()},void(await see.finally(lee))}catch(aee){if(!Oee(aee))return}})().then((()=>{oee||tee.complete()})).catch((eee=>{tee.error(eee)})),()=>{ree||nee()}}return oee||(async()=>{for(_ee++;;)try{const[,,eee]=await Iee();await eee}catch(eee){try{if(!Oee(eee))return}catch(eee){return null==nee?void 0:nee(eee)}}})(),{on:vee.on,subscribe:Nee,iterate(eee){const tee=[],ree={done:!1,error:null,resolve:()=>{}},oee=Nee(eee,{next(eee){tee.push(eee),ree.resolve()},error(eee){ree.done=!0,ree.error=eee,ree.resolve()},complete(){ree.done=!0,ree.resolve()}}),nee=function(){return MSe(this,arguments,(function*(){for(;;){for(tee.length||(yield zSe(new Promise((eee=>ree.resolve=eee))));tee.length;)yield yield zSe(tee.shift());if(ree.error)throw ree.error;if(ree.done)return yield zSe(void 0)}}))}();return nee.throw=async eee=>(ree.done||(ree.done=!0,ree.error=eee,ree.resolve()),{done:!0,value:void 0}),nee.return=async()=>(oee(),{done:!0,value:void 0}),nee},async dispose(){if(See=!0,xee){const[eee]=await xee;eee.close(1e3,"Normal Closure")}},terminate(){xee&&vee.emit("closed",new USe)}}}class USe extends Error{constructor(){super(...arguments),this.name="TerminatedCloseEvent",this.message="4499: Terminated",this.code=4499,this.reason="Terminated",this.wasClean=!1}}function jSe(eee){return ASe(eee)&&"code"in eee&&"reason"in eee}Ece(Nce());const $Se=JEe,VSe=new URL(JEe.toString().replace("http","ws")),qSe=jce("unraidApi",(()=>{const eee=PEe(),tee=XSe(),ree=vre(null);poe(ree,(eee=>{if(eee){tee.fetchServerFromApi()&&(oee.value="online")}}));const oee=vre("offline"),nee=vre(!1),aee=kae((()=>{const{connectPluginInstalled:eee,stateDataError:ree}=tee;if("offline"===oee.value&&eee&&!ree)return{click:()=>see(),emphasize:!0,icon:mpe,text:"Restart unraid-api"}})),iee=()=>{oee.value="connecting";const iee={"x-api-key":tee.apiKey},lee=dSe.createHttpLink({uri:$Se.toString(),headers:iee}),cee=new OSe(PSe({url:VSe.toString(),connectionParams:()=>({headers:iee})})),pee=TSe((({graphQLErrors:tee,networkError:ree})=>{if(tee&&tee.map((tee=>{console.error("[GraphQL error]",tee);const ree=tee.error&&tee.error.message?tee.error.message:tee.message;if(ree&&ree.includes("offline")&&(oee.value="offline",aee&&see()),ree&&ree.includes("The CORS policy for this site does not allow access from the specified Origin")){nee.value=!0;const tee=`

The CORS policy for the unraid-api does not allow access from the specified origin.

If you are using a reverse proxy, you need to copy your origin ${window.location.origin} and paste it into the "Extra Origins" list in the Connect settings.

`;eee.setError({heading:"Unraid API • CORS Error",message:tee,level:"error",ref:"unraidApiCorsError",type:"unraidApiGQL",actions:[{href:`${eTe.toString()}#extraOriginsSettings`,icon:Ape,text:"Go to Connect Settings"}]})}return tee.message})),ree&&!nee){console.error(`[Network error]: ${ree}`);const eee=ree.message?ree.message:ree;return"string"==typeof eee&&eee.includes("Unexpected token < in JSON at position 0")?"Unraid API • CORS Error":eee}})),dee=new ISe({attempts:{max:20,retryIf:(eee,tee)=>!!eee&&!nee},delay:{initial:nee?3e3:300,max:1e4,jitter:!0}}),uee=dSe.split((({query:eee})=>{const tee=Cve(eee);return"OperationDefinition"===tee.kind&&"subscription"===tee.operation}),cee,lee),hee=dSe.from([pee,dee,uee]),gee=new dSe.ApolloClient({link:hee,cache:new dSe.InMemoryCache});ree.value=gee,lEe={default:gee}},see=async()=>{const nee="offline"===oee.value?"start":"restart";oee.value="restarting";try{return await(async eee=>{if(console.debug("[WebguiUnraidApiCommand] payload",eee),!eee)return console.error("[WebguiUnraidApiCommand] payload is required");try{return await jEe.url("/plugins/dynamix.my.servers/include/unraid-api.php").formUrl(eee).post().json((eee=>eee)).catch((tee=>(console.error("[WebguiUnraidApiCommand] catch failed to execute unraid-api",tee,eee),tee)))}catch(tee){return console.error("[WebguiUnraidApiCommand] catch failed to execute unraid-api",tee,eee),tee}})({csrf_token:tee.csrf,command:nee}),setTimeout((()=>{ree.value&&iee()}),5e3)}catch(aee){let tee="Unknown error";"string"==typeof aee?tee=aee.toUpperCase():aee instanceof Error&&(tee=aee.message),eee.setError({heading:"Error: unraid-api restart",message:tee,level:"error",ref:"restartUnraidApiClient",type:"request"})}};return{unraidApiClient:ree,unraidApiStatus:oee,prioritizeCorsError:nee,unraidApiRestartAction:aee,createApolloClient:iee,closeUnraidApiClient:async()=>{ree.value&&(ree.value&&(await ree.value.clearStore(),ree.value.stop()),ree.value=null,oee.value="offline")},restartUnraidApiClient:see}}));Ece(Nce());const BSe=jce("account",(()=>{const eee=ZTe(),tee=PEe(),ree=pSe(),oee=XSe(),nee=qSe(),aee=kae((()=>oee.serverAccountPayload)),iee=kae((()=>oee.inIframe)),see=vre(),lee=vre(!1),cee=vre("ready"),pee=kae((()=>nee.unraidApiClient)),dee=vre(),uee=eee=>{dee.value=eee,eee&&(cee.value="waiting")},hee=vre(!1),gee=eee=>{hee.value=eee,eee&&(cee.value="waiting")};loe((()=>{pee.value&&dee.value&&setTimeout((()=>{fee()}),250),pee.value&&hee.value&&setTimeout((()=>{bee()}),250)}));const wee=kae((()=>see.value?.type)),fee=async()=>{if(!dee.value||dee.value&&(!dee.value.apiKey||!dee.value.email||!dee.value.preferred_username))return cee.value="failed",console.error("[connectSignInMutation] incorrect payload",dee.value);cee.value="updating";const{mutate:eee,onDone:ree,onError:oee}=await fEe(hTe,{variables:{input:{apiKey:dee.value.apiKey,userInfo:{email:dee.value.email,preferred_username:dee.value.preferred_username}}}});eee(),ree((eee=>{if(eee.data?.connectSignIn)return cee.value="success",void uee(void 0);cee.value="failed",tee.setError({heading:"unraid-api failed to update Connect account configuration",message:"Sign In mutation unsuccessful",level:"error",ref:"connectSignInMutation",type:"account"})})),oee((eee=>{uTe(eee),cee.value="failed",tee.setError({heading:"unraid-api failed to update Connect account configuration",message:eee.message,level:"error",ref:"connectSignInMutation",type:"account"})}))},bee=async()=>{cee.value="updating";const{mutate:eee,onDone:ree,onError:oee}=await fEe(gTe);eee(),ree((eee=>{console.debug("[connectSignOutMutation]",eee),cee.value="success",gee(!1)})),oee((eee=>{uTe(eee),cee.value="failed",tee.setError({heading:"Failed to update Connect account configuration",message:eee.message,level:"error",ref:"connectSignOutMutation",type:"account"})}))};return{accountAction:see,accountActionHide:lee,accountActionStatus:cee,accountActionType:wee,downgradeOs:async tee=>{await eee.send(YEe.toString(),[{server:{...aee.value},type:"downgradeOs"}],iee.value?"newTab":tee?"replace":void 0)},manage:()=>{eee.send(YEe.toString(),[{server:{...aee.value},type:"manage"}],iee.value?"newTab":void 0)},myKeys:async()=>{await ree.purgeValidationResponse(),eee.send(YEe.toString(),[{server:{...aee.value},type:"myKeys"}],iee.value?"newTab":void 0)},linkKey:async()=>{await ree.purgeValidationResponse(),eee.send(YEe.toString(),[{server:{...aee.value},type:"linkKey"}],iee.value?"newTab":void 0)},recover:()=>{eee.send(YEe.toString(),[{server:{...aee.value},type:"recover"}],iee.value?"newTab":void 0)},replace:()=>{eee.send(YEe.toString(),[{server:{...aee.value},type:"replace"}],iee.value?"newTab":void 0)},signIn:()=>{eee.send(YEe.toString(),[{server:{...aee.value},type:"signIn"}],iee.value?"newTab":void 0)},signOut:()=>{eee.send(YEe.toString(),[{server:{...aee.value},type:"signOut"}],iee.value?"newTab":void 0)},trialExtend:()=>{eee.send(YEe.toString(),[{server:{...aee.value},type:"trialExtend"}],iee.value?"newTab":void 0)},trialStart:()=>{eee.send(YEe.toString(),[{server:{...aee.value},type:"trialStart"}],iee.value?"newTab":void 0)},updateOs:async tee=>{await eee.send(YEe.toString(),[{server:{...aee.value},type:"updateOs"}],iee.value?"newTab":tee?"replace":void 0)},setAccountAction:eee=>{console.debug("[setAccountAction]",{action:eee}),see.value=eee},setConnectSignInPayload:uee,setQueueConnectSignOut:gee}}));Ece(Nce());const YSe=jce("purchase",(()=>{const eee=ZTe(),tee=XSe();return{redeem:()=>{eee.send(XEe.toString(),[{server:{...tee.serverPurchasePayload},type:"redeem"}],tee.inIframe?"newTab":void 0)},purchase:()=>{eee.send(XEe.toString(),[{server:{...tee.serverPurchasePayload},type:"purchase"}],tee.inIframe?"newTab":void 0)},upgrade:()=>{eee.send(XEe.toString(),[{server:{...tee.serverPurchasePayload},type:"upgrade"}],tee.inIframe?"newTab":void 0)},renew:()=>{eee.send(XEe.toString(),[{server:{...tee.serverPurchasePayload},type:"renew"}],tee.inIframe?"newTab":void 0)}}}));var GSe=function(eee){return parseInt(eee,16)},QSe=function(eee,tee){var r=eee.r,g=eee.g,b=eee.b,ree=eee.a,a=function(n){return!isNaN(parseFloat(n))&&isFinite(n)}(tee)?tee:ree;return"rgba(".concat(r,", ").concat(g,", ").concat(b,", ").concat(a,")")},WSe=function(eee,a){var tee,ree,oee=function(eee){return"#"===eee.charAt(0)?eee.slice(1):eee}(eee),nee=function(eee){var r=eee.r,g=eee.g,b=eee.b,a=eee.a;return{r:GSe(r),g:GSe(g),b:GSe(b),a:+(GSe(a)/255).toFixed(2)}}({r:(ree=3===(tee=oee).length||4===tee.length)?"".concat(tee.slice(0,1)).concat(tee.slice(0,1)):tee.slice(0,2),g:ree?"".concat(tee.slice(1,2)).concat(tee.slice(1,2)):tee.slice(2,4),b:ree?"".concat(tee.slice(2,3)).concat(tee.slice(2,3)):tee.slice(4,6),a:(ree?"".concat(tee.slice(3,4)).concat(tee.slice(3,4)):tee.slice(6,8))||"ff"});return QSe(nee,a)};const KSe=qce(WSe);Ece(Nce());const HSe=jce("theme",(()=>{const eee=vre(),tee=kae((()=>("black"===eee.value?.name||"azure"===eee.value?.name)??!1)),ree=kae((()=>{if(!eee.value?.banner||!eee.value?.bannerGradient)return;return`background-image: linear-gradient(90deg, ${eee.value?.bgColor?"var(--color-customgradient-start)":"rgba(0, 0, 0, 0)"} 0, ${eee.value?.bgColor?"var(--color-customgradient-end)":"var(--color-beta)"} 30%);`}));return poe(eee,(()=>{(()=>{const ree=document.body,oee={darkTheme:{alpha:"#1c1b1b",beta:"#f2f2f2",gamma:"#999999"},lightTheme:{alpha:"#f2f2f2",beta:"#1c1b1b",gamma:"#999999"}};let{alpha:nee,beta:aee,gamma:iee}=tee.value?oee.darkTheme:oee.lightTheme;eee.value?.textColor&&(nee=eee.value?.textColor),eee.value?.bgColor&&(aee=eee.value?.bgColor,ree.style.setProperty("--color-customgradient-start",KSe(aee,0)),ree.style.setProperty("--color-customgradient-end",KSe(aee,.7))),eee.value?.metaColor&&(iee=eee.value?.metaColor),ree.style.setProperty("--color-alpha",nee),ree.style.setProperty("--color-beta",aee),ree.style.setProperty("--color-gamma",iee),ree.style.setProperty("--color-gamma-opaque",KSe(iee,.25)),ree.style.setProperty("--shadow-beta",`0 25px 50px -12px ${KSe(aee,.15)}`),ree.style.setProperty("--ring-offset-shadow",`0 0 ${aee}`),ree.style.setProperty("--ring-shadow",`0 0 ${aee}`)})()})),{bannerGradient:ree,darkMode:tee,theme:eee,setTheme:tee=>{eee.value=tee}}}));Ece(Nce());const XSe=jce("server",(()=>{const eee=BSe(),tee=PEe(),ree=YSe(),oee=HSe(),nee=qSe(),aee=vre("");poe(aee,((eee,tee)=>eee?nee.createApolloClient():tee?nee.closeUnraidApiClient():void 0));const iee=vre(""),see=vre(),lee=kae((()=>!(!Ite.value&&!Cte.value))),cee=kae((()=>lee.value?"Stopped"===see.value?.state?"Stopped. The Array will not start until the above issue is resolved.":"Started. If stopped, the Array will not restart until the above issue is resolved.":see.value?.state)),pee=vre(""),dee=vre(""),uee=vre(),hee=vre(),gee=vre(""),wee=vre(""),fee=vre(""),bee=vre(),mee=vre(""),vee=vre(0),yee=vre(""),xee=vre(0),kee=vre(!1),_ee=vre(""),Eee=vre(""),Tee=vre(""),See=vre(),Iee=vre(),Oee=vre(),Nee=vre(window.self!==window.top),Aee=vre(""),Ree=vre(""),Cee=vre(""),Dee=vre(""),Lee=vre(""),Fee=vre(""),zee=vre("stable"),Mee=vre(""),Pee=vre(),Uee=vre(),jee=vre(0),$ee=kae((()=>{if(jee.value>0)return jee.value;switch(Gee.value){case"Starter":case"Basic":return 6;case"Plus":return 12;case"Unleashed":case"Lifetime":case"Pro":case"Trial":return-1;default:return 0}})),Vee=vre(0),qee=vre(""),Bee=vre(0),Yee=vre(""),Gee=vre(""),Qee=vre(0),Wee=kae((()=>Qee.value?Qce(Qee.value).format("YYYY-MM-DD"):null)),Kee=kae((()=>{if(!Qee.value)return!1;const eee=Qce(),tee=Qce(Qee.value);return eee.isAfter(tee,"day")})),Hee=vre(""),Xee=vre(),Zee=vre();poe(Zee,(eee=>{eee&&oee.setTheme(eee)}));const Jee=vre(),ete=vre([]),tte=vre(!1),rte=vre(0),ote=vre(""),nte=vre(""),ate=vre([]),ite=vre(),ste=kae((()=>nte.value||Hee.value&&Hee.value.includes("www.")&&Hee.value.includes("unraid.net"))),lte=kae((()=>!1)),cte=kae((()=>!fpe(Fee.value))),pte=kae((()=>({apiKey:aee.value,apiVersion:iee.value,array:see.value,avatar:pee.value,connectPluginVersion:wee.value,connectPluginInstalled:gee.value,description:mee.value,deviceCount:vee.value,email:yee.value,expireTime:xee.value,flashProduct:_ee.value,flashVendor:Eee.value,guid:Tee.value,inIframe:Nee.value,keyfile:Aee.value,lanIp:Ree.value,license:Cee.value,locale:Dee.value,name:Lee.value,osVersion:Fee.value,osVersionBranch:zee.value,rebootType:Mee.value,rebootVersion:Pee.value,registered:Uee.value,regDevs:$ee.value,regGen:Vee.value,regGuid:qee.value,regExp:Qee.value,regUpdatesExpired:Kee.value,site:Hee.value,state:Xee.value,theme:Zee.value,uptime:rte.value,username:ote.value,wanFQDN:nte.value}))),dte=kae((()=>{let eee="Trial";switch(Xee.value){case"BASIC":eee="Basic";break;case"PLUS":eee="Plus";break;case"PRO":eee="Pro";break;case"STARTER":eee="Starter";break;case"UNLEASHED":eee="Unleashed"}return{apiVersion:iee.value,connectPluginVersion:wee.value,deviceCount:vee.value,email:yee.value,guid:Tee.value,inIframe:Nee.value,keyTypeForPurchase:eee,locale:Dee.value,osVersion:Fee.value,osVersionBranch:zee.value,registered:Uee.value??!1,regExp:Qee.value,regTy:Gee.value,regUpdatesExpired:Kee.value,state:Xee.value,site:Hee.value}})),ute=kae((()=>({apiVersion:iee.value,caseModel:dee.value,connectPluginVersion:wee.value,description:mee.value,expireTime:xee.value,flashProduct:_ee.value,flashVendor:Eee.value,guid:Tee.value,inIframe:Nee.value,keyfile:Aee.value,lanIp:Ree.value,name:Lee.value,osVersion:Fee.value,osVersionBranch:zee.value,rebootType:Mee.value,rebootVersion:Pee.value,registered:Uee.value??!1,regGuid:qee.value,regExp:Qee.value,regTy:Gee.value,regUpdatesExpired:Kee.value,site:Hee.value,state:Xee.value,wanFQDN:nte.value}))),hte=kae((()=>{const eee={apiKey:aee.value&&"string"==typeof aee.value?`${aee.value.substring(0,6)}__[REDACTED]`:"",apiVersion:iee.value,avatar:pee.value,connectPluginInstalled:gee.value,connectPluginVersion:wee.value,description:mee.value,deviceCount:vee.value,email:yee.value,expireTime:xee.value,flashProduct:_ee.value,flashVendor:Eee.value,guid:Tee.value,inIframe:Nee.value,lanIp:Ree.value,locale:Dee.value,name:Lee.value,osVersion:Fee.value,osVersionBranch:zee.value,rebootType:Mee.value,rebootVersion:Pee.value,registered:Uee.value,regGen:Vee.value,regGuid:qee.value,regTy:Gee.value,site:Hee.value,state:Xee.value,uptime:rte.value,username:ote.value,wanFQDN:nte.value};return Object.fromEntries(Object.entries(eee).filter((([_,v])=>null!=v&&""!==v)))})),gte=kae((()=>{const eee=!(!gee.value||"online"===nee.unraidApiStatus&&!nee.prioritizeCorsError);return{disable:eee,title:eee?"Requires the local unraid-api to be running successfully":""}})),wte=kae((()=>({click:()=>{ree.purchase()},disabled:gte.value.disable,external:!0,icon:Ppe,name:"purchase",text:"Purchase Key",title:gte.value.title}))),fte=kae((()=>({click:()=>{ree.upgrade()},disabled:gte.value.disable,external:!0,icon:Ppe,name:"upgrade",text:"Upgrade Key",title:gte.value.title}))),bte=kae((()=>({click:()=>{eee.recover()},disabled:gte.value.disable,external:!0,icon:Ppe,name:"recover",text:"Recover Key",title:gte.value.title}))),mte=kae((()=>({click:()=>{ree.redeem()},disabled:gte.value.disable,external:!0,icon:Ppe,name:"redeem",text:"Redeem Activation Code",title:gte.value.title}))),vte=kae((()=>({click:()=>{ree.renew()},disabled:gte.value.disable,external:!0,icon:Ppe,name:"renew",text:"Extend License to Enable OS Updates",title:gte.value.title}))),yte=kae((()=>({click:()=>{eee.replace()},external:!0,icon:Ppe,name:"replace",text:"Replace Key"}))),xte=kae((()=>({click:()=>{eee.signIn()},disabled:gte.value.disable,external:!0,icon:Fpe,name:"signIn",text:"Sign In with Unraid.net Account",title:gte.value.title}))),kte=kae((()=>{const tee=!Aee.value||gte.value.disable;let ree="";return Aee.value||(ree="Sign Out requires a keyfile"),gte.value.disable&&(ree=gte.value.title),{click:()=>{eee.signOut()},disabled:tee,external:!0,icon:vpe,name:"signOut",text:"Sign Out of Unraid.net",title:ree}})),_te=kae((()=>({click:()=>{eee.trialExtend()},disabled:gte.value.disable,external:!0,icon:Ppe,name:"trialExtend",text:"Extend Trial",title:gte.value.title}))),Ete=kae((()=>({click:()=>{eee.trialStart()},disabled:gte.value.disable,external:!0,icon:Ppe,name:"trialStart",text:"Start Free 30 Day Trial",title:gte.value.title})));let Tte="";const Ste=kae((()=>{switch(Xee.value){case"ENOKEYFILE":return{actions:[...!Uee.value&&gee.value?[xte.value]:[],Ete.value,wte.value,mte.value,bte.value,...Uee.value&&gee.value?[kte.value]:[]],humanReadable:"No Keyfile",heading:"Let's Unleash Your Hardware",message:'

Choose an option below, then use our Getting Started Guide to configure your array in less than 15 minutes.

'};case"TRIAL":return{actions:[...!Uee.value&&gee.value?[xte.value]:[],wte.value,mte.value,...Uee.value&&gee.value?[kte.value]:[]],humanReadable:"Trial",heading:"Thank you for choosing Unraid OS!",message:"

Your Trial key includes all the functionality and device support of an Unleashed key.

After your Trial has reached expiration, your server still functions normally until the next time you Stop the array or reboot your server.

At that point you may either purchase a license key or request a Trial extension.

"};case"EEXPIRED":return{actions:[...!Uee.value&&gee.value?[xte.value]:[],wte.value,mte.value,...Rte.value?[_te.value]:[],...Uee.value&&gee.value?[kte.value]:[]],error:!0,humanReadable:"Trial Expired",heading:"Your Trial has expired",message:Rte.value?"

To continue using Unraid OS you may purchase a license key. Alternately, you may request a Trial extension.

":"

You have used all your Trial extensions. To continue using Unraid OS you may purchase a license key.

"};case"BASIC":case"STARTER":return{actions:[...!Uee.value&&gee.value?[xte.value]:[],...Kee.value?[vte.value]:[],fte.value,...Uee.value&&gee.value?[kte.value]:[]],humanReadable:"BASIC"===Xee.value?"Basic":"Starter",heading:"Thank you for choosing Unraid OS!",message:!Uee.value&&gee.value?"

Register for Connect by signing in to your Unraid.net account

":Iee.value?"

To support more storage devices as your server grows, click Upgrade Key.

":""};case"PLUS":return{actions:[...!Uee.value&&gee.value?[xte.value]:[],fte.value,...Uee.value&&gee.value?[kte.value]:[]],humanReadable:"Plus",heading:"Thank you for choosing Unraid OS!",message:!Uee.value&&gee.value?"

Register for Connect by signing in to your Unraid.net account

":Iee.value?"

To support more storage devices as your server grows, click Upgrade Key.

":""};case"PRO":case"LIFETIME":case"UNLEASHED":return{actions:[...!Uee.value&&gee.value?[xte.value]:[],...Kee.value?[vte.value]:[],..."UNLEASHED"===Xee.value?[fte.value]:[],...Uee.value&&gee.value?[kte.value]:[]],humanReadable:"PRO"===Xee.value?"Pro":"LIFETIME"===Xee.value?"Lifetime":"Unleashed",heading:"Thank you for choosing Unraid OS!",message:!Uee.value&&gee.value?"

Register for Connect by signing in to your Unraid.net account

":""};case"EGUID":return Tte=Oee.value?"

Your Unraid registration key is ineligible for replacement as it has been replaced within the last 12 months.

":!1===Oee.value&&See.value?"

The license key file does not correspond to the USB Flash boot device. Please copy the correct key file to the /config directory on your USB Flash boot device or choose Purchase Key.

Your Unraid registration key is ineligible for replacement as it is blacklisted.

":!1!==Oee.value||See.value?"

The license key file does not correspond to the USB Flash boot device. Please copy the correct key file to the /config directory on your USB Flash boot device.

You may also attempt to Purchase or Replace your key.

":"

The license key file does not correspond to the USB Flash boot device. Please copy the correct key file to the /config directory on your USB Flash boot device or choose Purchase Key.

Your Unraid registration key is ineligible for replacement as it has been replaced within the last 12 months.

",{actions:[...!Uee.value&&gee.value?[xte.value]:[],yte.value,wte.value,mte.value,...Uee.value&&gee.value?[kte.value]:[]],error:!0,humanReadable:"Flash GUID Error",heading:"Registration key / USB Flash GUID mismatch",message:Tte};case"EGUID1":return{actions:[...!Uee.value&&gee.value?[xte.value]:[],wte.value,mte.value,...Uee.value&&gee.value?[kte.value]:[]],error:!0,humanReadable:"Multiple License Keys Present",heading:"Multiple License Keys Present",message:"

There are multiple license key files present on your USB flash device and none of them correspond to the USB Flash boot device. Please remove all key files, except the one you want to replace, from the /config directory on your USB Flash boot device.

Alternately you may purchase a license key for this USB flash device.

If you want to replace one of your license keys with a new key bound to this USB Flash device, please first remove all other key files first.

"};case"ENOKEYFILE2":return{actions:[...!Uee.value&&gee.value?[xte.value]:[],bte.value,wte.value,mte.value,...Uee.value?[kte.value]:[]],error:!0,humanReadable:"Missing key file",heading:"Missing key file",message:gee.value?"

Your license key file is corrupted or missing. The key file should be located in the /config directory on your USB Flash boot device.

You may attempt to recover your key with your Unraid.net account.

If this was an expired Trial installation, you may purchase a license key.

":"

Your license key file is corrupted or missing. The key file should be located in the /config directory on your USB Flash boot device.

If you do not have a backup copy of your license key file you may attempt to recover your key.

If this was an expired Trial installation, you may purchase a license key.

"};case"ETRIAL":return{actions:[...!Uee.value&&gee.value?[xte.value]:[],wte.value,mte.value,...Uee.value&&gee.value?[kte.value]:[]],error:!0,humanReadable:"Invalid installation",heading:"Invalid installation",message:"

It is not possible to use a Trial key with an existing Unraid OS installation.

You may purchase a license key corresponding to this USB Flash device to continue using this installation.

"};case"ENOKEYFILE1":return{actions:[...!Uee.value&&gee.value?[xte.value]:[],wte.value,mte.value,...Uee.value&&gee.value?[kte.value]:[]],error:!0,humanReadable:"No Keyfile",heading:"No USB flash configuration data",message:"

There is a problem with your USB Flash device

"};case"ENOFLASH":case"ENOFLASH1":case"ENOFLASH2":case"ENOFLASH3":case"ENOFLASH4":case"ENOFLASH5":case"ENOFLASH6":case"ENOFLASH7":return{error:!0,humanReadable:"No Flash",heading:"Cannot access your USB Flash boot device",message:"

There is a physical problem accessing your USB Flash boot device

"};case"EBLACKLISTED":return{error:!0,humanReadable:"BLACKLISTED",heading:"Blacklisted USB Flash GUID",message:"

This USB Flash boot device has been blacklisted. This can occur as a result of transferring your license key to a replacement USB Flash device, and you are currently booted from your old USB Flash device.

A USB Flash device may also be blacklisted if we discover the serial number is not unique – this is common with USB card readers.

"};case"EBLACKLISTED1":return{error:!0,humanReadable:"BLACKLISTED",heading:"USB Flash device error",message:"

This USB Flash device has an invalid GUID. Please try a different USB Flash device

"};case"EBLACKLISTED2":return{error:!0,humanReadable:"BLACKLISTED",heading:"USB Flash has no serial number",message:"

This USB Flash boot device has been blacklisted. This can occur as a result of transferring your license key to a replacement USB Flash device, and you are currently booted from your old USB Flash device.

A USB Flash device may also be blacklisted if we discover the serial number is not unique – this is common with USB card readers.

"};case"ENOCONN":return{error:!0,humanReadable:"Trial Requires Internet Connection",heading:"Cannot validate Unraid Trial key",message:'

Your Trial key requires an internet connection.

Please check Settings > Network

'};default:return{error:!0,humanReadable:"Stale",heading:"Stale Server",message:"

Please refresh the page to ensure you load your latest configuration

"}}})),Ite=kae((()=>{if(Ste.value?.error)return{actions:[{click:()=>{tee.openTroubleshoot({email:yee.value,includeUnraidApiLogs:!!gee.value})},icon:$pe,text:"Contact Support"}],debugServer:hte.value,heading:Ste.value?.heading??"",level:"error",message:Ste.value?.message??"",ref:`stateDataError__${Xee.value}`,type:"serverState"}}));poe(Ite,((eee,ree)=>{ree&&ree.ref&&tee.removeErrorByRef(ree.ref),eee&&tee.setError(eee)}));const Ote=["signIn","signOut"],Nte=kae((()=>{if(Ste.value.actions)return Ste.value.actions.find((eee=>Ote.includes(eee.name)))})),Ate=kae((()=>{if(Ste.value.actions)return Ste.value.actions.filter((eee=>!Ote.includes(eee.name)))})),Rte=kae((()=>!Vee.value||Vee.value<2)),Cte=kae((()=>{if(hee.value?.valid||!hee.value?.error);else switch(hee.value?.error){case"INELIGIBLE":return{heading:"Ineligible for OS Version",level:"error",message:"Your License Key does not support this OS Version. OS build date greater than key expiration. Please consider extending your registration key.",actions:[{href:oTe.toString(),icon:Ape,text:"Learn More at Tools > Registration"}],ref:"configError",type:"server"};case"INVALID":return{heading:"Too Many Devices",level:"error",message:"You have exceeded the number of devices allowed for your license. Please remove a device to start the array, or upgrade your key to support more devices.",ref:"configError",type:"server"};case"NO_KEY_SERVER":return{heading:"Check Network Connection",level:"error",message:"Unable to validate your trial key. Please check your network connection.",ref:"configError",type:"server"};case"WITHDRAWN":return{heading:"OS Version Withdrawn",level:"error",message:"This OS release should not be run. OS Update Required.",actions:[{href:nTe.toString(),icon:mpe,text:"Check for Update"}],ref:"configError",type:"server"}}}));poe(Cte,((eee,ree)=>{ree&&ree.ref&&tee.removeErrorByRef(ree.ref),eee&&tee.setError(eee)}));const Dte=kae((()=>0!==vee.value&&$ee.value>0&&vee.value>$ee.value||!hee.value?.valid&&"INVALID"===hee.value?.error)),Lte=kae((()=>{if(gee.value&&gee.value.includes("_installFailed"))return{actions:[{external:!0,href:"https://forums.unraid.net/topic/112073-my-servers-releases/#comment-1154449",icon:Mpe,text:"Learn More"}],heading:"Unraid Connect Install Failed",level:"error",message:"Rebooting will likely solve this.",ref:"pluginInstallFailed",type:"server"}}));poe(Lte,((eee,ree)=>{ree&&ree.ref&&tee.removeErrorByRef(ree.ref),eee&&tee.setError(eee)}));const Fte=vre(window.location.hostname.includes("localhost")&&"4321"!==window.location.port?{actions:[{href:eTe.toString(),icon:Ape,text:"Go to Management Access Now"},{external:!0,href:"https://unraid.net/blog/ssl-certificate-update",icon:Mpe,text:"Learn More"}],forumLink:!0,heading:"SSL certificates for unraid.net deprecated",level:"error",message:"On January 1st, 2023 SSL certificates for unraid.net were deprecated. You MUST provision a new SSL certificate to use our new myunraid.net domain. You can do this on the Settings > Management Access page.",ref:"deprecatedUnraidSSL",type:"server"}:void 0);poe(Fte,((eee,ree)=>{ree&&ree.ref&&tee.removeErrorByRef(ree.ref),eee&&tee.setError(eee)}));const zte=kae((()=>{if(Uee.value&&uee.value?.error&&"signOut"!==eee.accountActionType&&"oemSignOut"!==eee.accountActionType)return{actions:[{click:()=>{tee.openTroubleshoot({email:yee.value,includeUnraidApiLogs:!!gee.value})},icon:$pe,text:"Contact Support"}],debugServer:hte.value,heading:"Unraid Connect Error",level:"error",message:uee.value?.error??"",ref:"cloudError",type:"unraidApiState"}}));poe(zte,((eee,ree)=>{ree&&ree.ref&&tee.removeErrorByRef(ree.ref),eee&&tee.setError(eee)}));const Mte=kae((()=>[Ite.value,Cte.value,Lte.value,Fte.value,zte.value].filter(Boolean))),Pte=eee=>{console.debug("[setServer]",eee),void 0!==eee?.apiKey&&(aee.value=eee.apiKey),void 0!==eee?.array&&(see.value=eee.array),void 0!==eee?.apiVersion&&(iee.value=eee.apiVersion),void 0!==eee?.avatar&&(pee.value=eee.avatar),void 0!==eee?.caseModel&&(dee.value=eee.caseModel),void 0!==eee?.cloud&&(uee.value=eee.cloud),void 0!==eee?.combinedKnownOrigins&&(ate.value=eee.combinedKnownOrigins),void 0!==eee?.config&&(hee.value=eee.config),void 0!==eee?.connectPluginInstalled&&(gee.value=eee.connectPluginInstalled),void 0!==eee?.connectPluginVersion&&(wee.value=eee.connectPluginVersion),void 0!==eee?.csrf&&(fee.value=eee.csrf),void 0!==eee?.dateTimeFormat&&(bee.value=eee.dateTimeFormat),void 0!==eee?.description&&(mee.value=eee.description),void 0!==eee?.deviceCount&&(vee.value=eee.deviceCount),void 0!==eee?.email&&(yee.value=eee.email),void 0!==eee?.expireTime&&(xee.value=eee.expireTime),void 0!==eee?.flashBackupActivated&&(kee.value=eee.flashBackupActivated),void 0!==eee?.flashProduct&&(_ee.value=eee.flashProduct),void 0!==eee?.flashVendor&&(Eee.value=eee.flashVendor),void 0!==eee?.guid&&(Tee.value=eee.guid),void 0!==eee?.keyfile&&(Aee.value=eee.keyfile),void 0!==eee?.lanIp&&(Ree.value=eee.lanIp),void 0!==eee?.license&&(Cee.value=eee.license),void 0!==eee?.locale&&(Dee.value=eee.locale),void 0!==eee?.name&&(Lee.value=eee.name),void 0!==eee?.osVersion&&(Fee.value=eee.osVersion),void 0!==eee?.osVersionBranch&&(zee.value=eee.osVersionBranch),void 0!==eee?.rebootType&&(Mee.value=eee.rebootType),void 0!==eee?.rebootVersion&&(Pee.value=eee.rebootVersion),void 0!==eee?.registered&&(Uee.value=eee.registered),void 0!==eee?.regGen&&(Vee.value=eee.regGen),void 0!==eee?.regGuid&&(qee.value=eee.regGuid),void 0!==eee?.regTy&&(Gee.value=eee.regTy),void 0!==eee?.regExp&&(Qee.value=eee.regExp),void 0!==eee?.site&&(Hee.value=eee.site),void 0!==eee?.state&&(Xee.value=eee.state),void 0!==eee?.theme&&(Zee.value=eee.theme),void 0!==eee?.updateOsIgnoredReleases&&(ete.value=eee.updateOsIgnoredReleases),void 0!==eee?.updateOsNotificationsEnabled&&(tte.value=eee.updateOsNotificationsEnabled),void 0!==eee?.updateOsResponse&&(Jee.value=eee.updateOsResponse),void 0!==eee?.uptime&&(rte.value=eee.uptime),void 0!==eee?.username&&(ote.value=eee.username),void 0!==eee?.wanFQDN&&(nte.value=eee.wanFQDN),void 0!==eee?.regTm&&(Bee.value=eee.regTm),void 0!==eee?.regTo&&(Yee.value=eee.regTo)};let Ute=0;const jte=vre("ready"),$te=async()=>{if(Ute>=20)return jte.value="timeout",!1;Ute++,jte.value="refreshing";const eee=Uee.value,tee=Xee.value,ree=Qee.value,oee=Boolean(ite?.value)?await(ite?.value?.()):await(async()=>{try{const eee=await pTe.get().json();return Pte(eee),eee}catch(eee){console.error("[phpServerStateRefresh] error",eee)}})();if(!oee)return setTimeout((()=>{$te()}),250);const nee={newRegistered:!1,newState:null,newRegExp:null};"data"in oee?(nee.newRegistered=Boolean(oee.data.owner&&"root"!==oee.data.owner.username),nee.newState=oee.data.vars?.regState??null,nee.newRegExp=Number(oee.data.registration?.updateExpiration??0)):(nee.newRegistered=Boolean(oee.registered),nee.newState=oee.state,nee.newRegExp=Number(oee.regExp??0));const aee=nee.newRegistered!==eee,iee=nee.newState!==tee,see=nee.newRegExp??0>ree;if(aee||iee||see)return jte.value="done",!0;setTimeout((()=>$te()),250)};loe((()=>{Pee.value&&console.debug("[server.rebootVersion]",Pee.value)}));return{apiKey:aee,array:see,avatar:pee,cloud:uee,config:hee,connectPluginInstalled:gee,csrf:fee,dateTimeFormat:bee,description:mee,deviceCount:vee,expireTime:xee,flashBackupActivated:kee,flashProduct:_ee,flashVendor:Eee,guid:Tee,keyfile:Aee,inIframe:Nee,locale:Dee,lanIp:Ree,name:Lee,osVersion:Fee,osVersionBranch:zee,rebootType:Mee,rebootVersion:Pee,registered:Uee,computedRegDevs:$ee,regGen:Vee,regGuid:qee,regTm:Bee,regTo:Yee,regTy:Gee,regExp:Qee,parsedRegExp:Wee,regUpdatesExpired:Kee,site:Hee,state:Xee,theme:Zee,updateOsIgnoredReleases:ete,updateOsNotificationsEnabled:tte,updateOsResponse:Jee,uptime:rte,username:ote,refreshServerStateStatus:jte,isOsVersionStable:cte,renewAction:vte,authAction:Nte,deprecatedUnraidSSL:Fte,isRemoteAccess:ste,keyActions:Ate,pluginInstallFailed:Lte,pluginOutdated:lte,server:pte,serverAccountPayload:ute,serverPurchasePayload:dte,stateData:Ste,stateDataError:Ite,serverErrors:Mte,tooManyDevices:Dte,serverConfigError:Cte,arrayWarning:lee,computedArray:cee,setServer:Pte,setUpdateOsResponse:eee=>{Jee.value=eee},fetchServerFromApi:()=>{const{result:eee,refetch:tee}=wEe(vEe,null,{fetchPolicy:"no-cache"}),ree=kae((()=>eee.value??null));return ite.value=tee,poe(ree,(eee=>{if(eee){const tee=(eee=>{console.debug("mutateServerStateFromApi",eee);const tee={...eee.owner&&"root"!==eee.owner.username?{username:eee.owner.username??"",registered:!0}:{username:"",registered:!1},name:eee.info&&eee.info.os&&eee.info.os.hostname?eee.info.os.hostname:void 0,keyfile:eee.registration&&eee.registration.keyFile&&eee.registration.keyFile.contents?eee.registration.keyFile.contents:void 0,regGen:eee.vars&&eee.vars.regGen?parseInt(eee.vars.regGen):void 0,state:eee.vars&&eee.vars.regState?eee.vars.regState:void 0,config:eee.config?eee.config:{error:eee.vars&&eee.vars.configError?eee.vars.configError:void 0,valid:!eee.vars||!eee.vars.configValid||eee.vars.configValid},expireTime:eee.registration&&eee.registration.expiration?parseInt(eee.registration.expiration):0,cloud:eee.cloud?(ree=eee.cloud,ree):void 0,regExp:eee.registration&&eee.registration.updateExpiration?Number(eee.registration.updateExpiration):void 0};var ree;return console.debug("mutatedData",tee),tee})(eee);Pte(tee)}})),eee},refreshServerState:$te,filteredKeyActions:(eee,tee)=>{if(Ste.value.actions)return Ste.value.actions.filter((ree=>"out"===eee?!tee.includes(ree.name):tee.includes(ree.name)))},setRebootVersion:eee=>{Pee.value=eee},updateOsIgnoreRelease:eee=>{ete.value.push(eee);const tee=dTe({action:"ignoreVersion",version:eee});console.debug("[updateOsIgnoreRelease] response",tee)},updateOsRemoveIgnoredRelease:eee=>{ete.value=ete.value.filter((r=>r!==eee));const tee=dTe({action:"removeIgnoredVersion",version:eee});console.debug("[updateOsRemoveIgnoredRelease] response",tee)},updateOsRemoveAllIgnoredReleases:()=>{ete.value=[];const eee=dTe({action:"removeAllIgnored"});console.debug("[updateOsRemoveAllIgnoredReleases] response",eee)}}})),ZSe={class:"whitespace-normal flex flex-col gap-y-16px max-w-3xl"},JSe={key:0,class:"text-unraid-red font-semibold"},eIe={class:"text-16px mb-8px"},tIe=["innerHTML"],rIe={key:1},oIe=boe({__name:"Auth.ce",setup(eee){const{t:t}=dce(),tee=XSe(),{authAction:ree,stateData:oee}=$ce(tee);return(eee,tee)=>{const nee=kce;return Une(),qne("div",ZSe,[_re(oee).error?(Une(),qne("span",JSe,[Hne("h3",eIe,Qee(_re(t)(_re(oee).heading)),1),Hne("span",{class:"text-14px",innerHTML:_re(t)(_re(oee).message)},null,8,tIe)])):tae("",!0),_re(ree)?(Une(),qne("span",rIe,[Xne(nee,{disabled:_re(ree)?.disabled,icon:_re(ree).icon,size:"12px",text:_re(t)(_re(ree).text),title:_re(ree)?.title?_re(t)(_re(ree)?.title):void 0,onClick:tee[0]||(tee[0]=eee=>_re(ree).click?.())},null,8,["disabled","icon","text","title"])])):tae("",!0)])}}}),nIe=mce(oIe,[["styles",['/*! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:clear-sans,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:470px){.container{max-width:470px}}@media (min-width:530px){.container{max-width:530px}}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--color-beta);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:#ff8c2f;font-weight:500;text-decoration:underline}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)):hover{color:#f15a2c}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-inline-start-color:var(--tw-prose-quote-borders);border-inline-start-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em;quotes:"“""”""‘""’"}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-bottom:2em;margin-top:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;text-align:start;width:100%}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em;vertical-align:bottom}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:var(--color-beta);--tw-prose-headings:var(--color-beta);--tw-prose-lead:var(--color-beta);--tw-prose-links:#ff8c2f;--tw-prose-bold:var(--color-beta);--tw-prose-counters:var(--color-beta);--tw-prose-bullets:var(--color-beta);--tw-prose-hr:var(--color-beta);--tw-prose-quotes:var(--color-beta);--tw-prose-quote-borders:var(--color-beta);--tw-prose-captions:var(--color-beta);--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:var(--color-beta);--tw-prose-pre-code:var(--color-beta);--tw-prose-pre-bg:var(--color-alpha);--tw-prose-th-borders:var(--color-beta);--tw-prose-td-borders:var(--color-beta);--tw-prose-invert-body:var(--color-alpha);--tw-prose-invert-headings:var(--color-alpha);--tw-prose-invert-lead:var(--color-alpha);--tw-prose-invert-links:#ff8c2f;--tw-prose-invert-bold:var(--color-alpha);--tw-prose-invert-counters:var(--color-alpha);--tw-prose-invert-bullets:var(--color-alpha);--tw-prose-invert-hr:var(--color-alpha);--tw-prose-invert-quotes:var(--color-alpha);--tw-prose-invert-quote-borders:var(--color-alpha);--tw-prose-invert-captions:var(--color-alpha);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:var(--color-alpha);--tw-prose-invert-pre-code:var(--color-alpha);--tw-prose-invert-pre-bg:var(--color-beta);--tw-prose-invert-th-borders:var(--color-alpha);--tw-prose-invert-td-borders:var(--color-alpha);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose{--tw-prose-invert-code-bg:var(--color-gamma-opaque)}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-\\[2px\\]{bottom:-2px}.-left-\\[2px\\]{left:-2px}.-right-\\[2px\\]{right:-2px}.-top-1{top:-.25rem}.-top-\\[2px\\]{top:-2px}.bottom-0{bottom:0}.bottom-\\[-3px\\]{bottom:-3px}.right-0{right:0}.top-0{top:0}.top-\\[1px\\]{top:1px}.top-full{top:100%}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-\\[99999\\]{z-index:99999}.mx-8px{margin-left:8px;margin-right:8px}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-bottom:0;margin-top:0}.my-12{margin-bottom:3rem;margin-top:3rem}.my-16px{margin-bottom:16px;margin-top:16px}.my-24px{margin-bottom:24px;margin-top:24px}.my-8px{margin-bottom:8px;margin-top:8px}.mb-4px{margin-bottom:4px}.mb-8px{margin-bottom:8px}.ml-3{margin-left:.75rem}.ml-8px{margin-left:8px}.mr-8px{margin-right:8px}.mt-0{margin-top:0}.mt-12px{margin-top:12px}.mt-2{margin-top:.5rem}.mt-24px{margin-top:24px}.mt-4px{margin-top:4px}.mt-8px{margin-top:8px}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-12px{height:12px}.h-16px{height:16px}.h-20px{height:20px}.h-24px{height:24px}.h-2px{height:2px}.h-32px{height:32px}.h-36px{height:36px}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-full{height:100%}.max-h-\\[65vh\\]{max-height:65vh}.min-h-\\[250px\\]{min-height:250px}.min-h-screen{min-height:100vh}.w-1\\/2{width:50%}.w-11{width:2.75rem}.w-12px{width:12px}.w-14px{width:14px}.w-16px{width:16px}.w-20px{width:20px}.w-24px{width:24px}.w-28px{width:28px}.w-2px{width:2px}.w-32px{width:32px}.w-36px{width:36px}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-\\[100px\\]{width:100px}.w-\\[110px\\]{width:110px}.w-\\[120px\\]{width:120px}.w-\\[125\\%\\]{width:125%}.w-\\[150px\\]{width:150px}.w-\\[44px\\]{width:44px}.w-\\[48px\\]{width:48px}.w-full{width:100%}.w-screen{width:100vw}.min-w-300px{min-width:300px}.min-w-\\[280px\\]{min-width:280px}.max-w-1024px{max-width:1024px}.max-w-160px{max-width:160px}.max-w-350px{max-width:350px}.max-w-3xl{max-width:48rem}.max-w-640px{max-width:640px}.max-w-800px{max-width:800px}.max-w-\\[45ch\\]{max-width:45ch}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.grow-0{flex-grow:0}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-20px{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-20px{--tw-translate-x:20px}.translate-x-\\[26px\\]{--tw-translate-x:26px}.translate-x-\\[26px\\],.translate-x-\\[2px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\\[2px\\]{--tw-translate-x:2px}.translate-y-\\[16px\\]{--tw-translate-y:16px}.scale-100,.translate-y-\\[16px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-12px{gap:12px}.gap-16px{gap:16px}.gap-2{gap:.5rem}.gap-20px{gap:20px}.gap-4{gap:1rem}.gap-4px{gap:4px}.gap-6{gap:1.5rem}.gap-8px{gap:8px}.gap-x-16px{-moz-column-gap:16px;column-gap:16px}.gap-x-4px{-moz-column-gap:4px;column-gap:4px}.gap-x-8px{-moz-column-gap:8px;column-gap:8px}.gap-y-16px{row-gap:16px}.gap-y-24px{row-gap:24px}.gap-y-4px{row-gap:4px}.gap-y-8px{row-gap:8px}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-normal{white-space:normal}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b-2{border-bottom-width:2px}.border-l-0{border-left-width:0}.border-r-0{border-right-width:0}.border-t-0{border-top-width:0}.border-solid{border-style:solid}.border-none{border-style:none}.border-black{--tw-border-opacity:1;border-color:rgb(28 27 27/var(--tw-border-opacity))}.border-gamma-opaque{border-color:var(--color-gamma-opaque)}.border-green-600\\/10{border-color:#16a34a1a}.border-grey-mid{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.border-orange{--tw-border-opacity:1;border-color:rgb(255 140 47/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-unraid-red{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.border-unraid-red\\/10{border-color:#e228281a}.border-unraid-red\\/90{border-color:#e22828e6}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.border-white\\/10{border-color:#ffffff1a}.border-yellow-100{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity))}.bg-alpha{background-color:var(--color-alpha)}.bg-beta{background-color:var(--color-beta)}.bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-current{background-color:currentColor}.bg-gamma{background-color:var(--color-gamma)}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.bg-grey{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.bg-orange{--tw-bg-opacity:1;background-color:rgb(255 140 47/var(--tw-bg-opacity))}.bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-unraid-red{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.bg-unraid-red\\/90{background-color:#e22828e6}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity))}.bg-opacity-80{--tw-bg-opacity:.8}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-unraid-red{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-orange{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.to-orange\\/60{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-green-600{fill:#16a34a}.fill-unraid-red{fill:#e22828}.p-0{padding:0}.p-1{padding:.25rem}.p-12px{padding:12px}.p-16px{padding:16px}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8px{padding:8px}.px-12px{padding-left:12px;padding-right:12px}.px-16px{padding-left:16px;padding-right:16px}.px-4{padding-left:1rem;padding-right:1rem}.px-4px{padding-left:4px;padding-right:4px}.px-6px{padding-left:6px;padding-right:6px}.px-8px{padding-left:8px;padding-right:8px}.py-0{padding-bottom:0;padding-top:0}.py-12px{padding-bottom:12px;padding-top:12px}.py-24px{padding-bottom:24px;padding-top:24px}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-4px{padding-bottom:4px;padding-top:4px}.py-8px{padding-bottom:8px;padding-top:8px}.pb-12{padding-bottom:3rem}.pb-8px{padding-bottom:8px}.pl-40px{padding-left:40px}.pr-16px{padding-right:16px}.pr-40px{padding-right:40px}.pr-4px{padding-right:4px}.pt-4px{padding-top:4px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-10px{font-size:10px}.text-12px{font-size:12px}.text-14px{font-size:14px}.text-16px{font-size:16px}.text-18px{font-size:18px}.text-20px{font-size:20px}.text-24px{font-size:24px}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-wide{letter-spacing:.025em}.text-\\[\\#486dba\\]{--tw-text-opacity:1;color:rgb(72 109 186/var(--tw-text-opacity))}.text-alpha{color:var(--color-alpha)}.text-beta{color:var(--color-beta)}.text-black{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.text-current{color:currentColor}.text-gamma{color:var(--color-gamma)}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.text-grey-mid{--tw-text-opacity:1;color:rgb(153 153 153/var(--tw-text-opacity))}.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity))}.text-orange{--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.text-pink-800{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-unraid-red{--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-inner{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\\[var\\(--ring-offset-shadow\\)_var\\(--ring-shadow\\)_var\\(--shadow-beta\\)\\]{--tw-shadow-color:var(--ring-offset-shadow) var(--ring-shadow) var(--shadow-beta);--tw-shadow:var(--tw-shadow-colored)}.shadow-green-600\\/30{--tw-shadow-color:rgba(22,163,74,.3);--tw-shadow:var(--tw-shadow-colored)}.shadow-orange\\/10{--tw-shadow-color:rgba(255,140,47,.1);--tw-shadow:var(--tw-shadow-colored)}.shadow-unraid-red\\/30{--tw-shadow-color:rgba(226,40,40,.3);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-black{outline-color:#1c1b1b}.outline-white{outline-color:#fff}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.even\\:bg-black\\/5:nth-child(2n){background-color:#1c1b1b0d}.even\\:bg-grey-darkest:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(34 34 34/var(--tw-bg-opacity))}@keyframes pulse{50%{opacity:.5}}.hover\\:animate-pulse:hover{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.hover\\:border-beta:hover{border-color:var(--color-beta)}.hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.hover\\:border-grey-mid:hover{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.hover\\:border-orange-dark:hover{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.hover\\:border-unraid-red:hover{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.hover\\:bg-beta:hover{background-color:var(--color-beta)}.hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.hover\\:bg-grey-mid:hover{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.hover\\:bg-unraid-red:hover{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\\:bg-gradient-to-r:hover{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.hover\\:from-unraid-red:hover{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:from-unraid-red\\/60:hover{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:to-orange:hover{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.hover\\:to-orange\\/60:hover{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.hover\\:text-\\[\\#3b5ea9\\]:hover{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.hover\\:text-alpha:hover{color:var(--color-alpha)}.hover\\:text-black:hover{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:no-underline:hover{text-decoration-line:none}.hover\\:opacity-100:hover{opacity:1}.hover\\:opacity-75:hover{opacity:.75}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\\:shadow-orange\\/50:hover{--tw-shadow-color:rgba(255,140,47,.5);--tw-shadow:var(--tw-shadow-colored)}.focus\\:border-beta:focus{border-color:var(--color-beta)}.focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.focus\\:border-grey-mid:focus{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.focus\\:border-orange-dark:focus{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.focus\\:border-unraid-red:focus{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.focus\\:bg-beta:focus{background-color:var(--color-beta)}.focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.focus\\:bg-grey-mid:focus{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.focus\\:bg-unraid-red:focus{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.focus\\:bg-gradient-to-r:focus{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.focus\\:from-unraid-red:focus{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:from-unraid-red\\/60:focus{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:to-orange:focus{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.focus\\:to-orange\\/60:focus{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.focus\\:text-\\[\\#3b5ea9\\]:focus{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.focus\\:text-alpha:focus{color:var(--color-alpha)}.focus\\:text-black:focus{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.focus\\:text-white:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.focus\\:underline:focus{text-decoration-line:underline}.focus\\:no-underline:focus{text-decoration-line:none}.focus\\:opacity-100:focus{opacity:1}.focus\\:opacity-75:focus{opacity:.75}.focus\\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity))}.focus\\:ring-indigo-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(79 70 229/var(--tw-ring-opacity))}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-25:disabled{opacity:.25}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:hover\\:opacity-25:hover:disabled{opacity:.25}.disabled\\:hover\\:opacity-50:hover:disabled{opacity:.5}.disabled\\:focus\\:opacity-25:focus:disabled{opacity:.25}.disabled\\:focus\\:opacity-50:focus:disabled{opacity:.5}.group:hover .group-hover\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:hover .group-hover\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:hover .group-hover\\:underline{text-decoration-line:underline}.group:hover .group-hover\\:opacity-100{opacity:1}.group:hover .group-hover\\:opacity-60{opacity:.6}.group:hover .group-hover\\:opacity-75{opacity:.75}.group:focus .group-focus\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:focus .group-focus\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:focus .group-focus\\:underline{text-decoration-line:underline}.group:focus .group-focus\\:opacity-100{opacity:1}.group:focus .group-focus\\:opacity-60{opacity:.6}.group:focus .group-focus\\:opacity-75{opacity:.75}.prose-a\\:text-unraid-red :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.hover\\:prose-a\\:text-unraid-red\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#e2282899}.hover\\:prose-a\\:no-underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{text-decoration-line:none}@media (min-width:640px){.sm\\:col-span-2{grid-column:span 2/span 2}.sm\\:col-span-3{grid-column:span 3/span 3}.sm\\:col-start-2{grid-column-start:2}.sm\\:block{display:block}.sm\\:w-\\[150px\\]{width:150px}.sm\\:w-full{width:100%}.sm\\:min-w-\\[400px\\]{min-width:400px}.sm\\:max-w-300px{max-width:300px}.sm\\:max-w-lg{max-width:32rem}.sm\\:flex-shrink-0{flex-shrink:0}.sm\\:flex-grow-0{flex-grow:0}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-start{align-items:flex-start}.sm\\:items-center{align-items:center}.sm\\:justify-end{justify-content:flex-end}.sm\\:justify-between{justify-content:space-between}.sm\\:gap-16px{gap:16px}.sm\\:gap-24px{gap:24px}.sm\\:gap-y-24px{row-gap:24px}.sm\\:p-16px{padding:16px}.sm\\:px-20px{padding-left:20px;padding-right:20px}.sm\\:pr-40px{padding-right:40px}.sm\\:text-right{text-align:right}.sm\\:text-18px{font-size:18px}.sm\\:text-20px{font-size:20px}.sm\\:text-24px{font-size:24px}}@media (min-width:768px){.md\\:inline-block{display:inline-block}.md\\:min-w-\\[500px\\]{min-width:500px}.md\\:flex-row{flex-direction:row}.md\\:items-start{align-items:flex-start}.md\\:items-end{align-items:flex-end}.md\\:justify-between{justify-content:space-between}.md\\:gap-16px{gap:16px}.md\\:p-24px{padding:24px}.md\\:p-6{padding:1.5rem}.md\\:py-24px{padding-bottom:24px;padding-top:24px}.md\\:text-24px{font-size:24px}}@media (min-width:470px){.\\32xs\\:block{display:block}}@media (min-width:530px){.xs\\:block{display:block}.xs\\:flex-row{flex-direction:row}.xs\\:items-baseline{align-items:baseline}.xs\\:justify-start{justify-content:flex-start}.xs\\:gap-x-12px{-moz-column-gap:12px;column-gap:12px}.xs\\:text-12px{font-size:12px}}@media (min-height:700px){.tall\\:max-h-\\[75vh\\]{max-height:75vh}}@media (prefers-color-scheme:dark){.dark\\:border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.dark\\:bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.dark\\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\\:prose-a\\:text-orange :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.hover\\:dark\\:prose-a\\:text-orange\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#ff8c2f99}}']]]),aIe={class:"whitespace-normal flex flex-col gap-y-16px max-w-3xl"},iIe={class:"flex flex-col gap-y-16px"},sIe={class:"flex"},lIe={class:"flex flex-row items-baseline gap-8px"},cIe=["href"],pIe=["href"],dIe=["href"],uIe=boe({__name:"DownloadApiLogs.ce",setup(eee){const{t:t}=dce(),{apiKey:tee}=$ce(XSe()),ree=kae((()=>new URL(`/graphql/api/logs?apiKey=${tee.value}`,JEe)));return(eee,tee)=>{const oee=kce;return Une(),qne("div",aIe,[Hne("span",null,Qee(_re(t)("The primary method of support for Unraid Connect is through our forums and Discord."))+" "+Qee(_re(t)("If you are asked to supply logs, please open a support request on our Contact Page and reply to the email message you receive with your logs attached."))+" "+Qee(_re(t)("The logs may contain sensitive information so do not post them publicly.")),1),Hne("span",iIe,[Hne("div",sIe,[Xne(oee,{class:"grow-0 shrink-0",download:"",external:!0,href:_re(ree).toString(),icon:_re(bpe),size:"12px",text:_re(t)("Download unraid-api Logs")},null,8,["href","icon","text"])]),Hne("div",lIe,[Hne("a",{href:_re(WEe).toString(),target:"_blank",rel:"noopener noreferrer",class:"text-[#486dba] hover:text-[#3b5ea9] focus:text-[#3b5ea9] hover:underline focus:underline inline-flex flex-row items-center justify-start gap-8px"},[Jne(Qee(_re(t)("Unraid Connect Forums"))+" ",1),Xne(_re(xpe),{class:"w-16px"})],8,cIe),Hne("a",{href:_re(HEe).toString(),target:"_blank",rel:"noopener noreferrer",class:"text-[#486dba] hover:text-[#3b5ea9] focus:text-[#3b5ea9] hover:underline focus:underline inline-flex flex-row items-center justify-start gap-8px"},[Jne(Qee(_re(t)("Unraid Discord"))+" ",1),Xne(_re(xpe),{class:"w-16px"})],8,pIe),Hne("a",{href:_re(KEe).toString(),target:"_blank",rel:"noopener noreferrer",class:"text-[#486dba] hover:text-[#3b5ea9] focus:text-[#3b5ea9] hover:underline focus:underline inline-flex flex-row items-center justify-start gap-8px"},[Jne(Qee(_re(t)("Unraid Contact Page"))+" ",1),Xne(_re(xpe),{class:"w-16px"})],8,dIe)])])])}}}),hIe=mce(uIe,[["styles",['/*! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:clear-sans,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:470px){.container{max-width:470px}}@media (min-width:530px){.container{max-width:530px}}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--color-beta);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:#ff8c2f;font-weight:500;text-decoration:underline}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)):hover{color:#f15a2c}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-inline-start-color:var(--tw-prose-quote-borders);border-inline-start-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em;quotes:"“""”""‘""’"}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-bottom:2em;margin-top:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;text-align:start;width:100%}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em;vertical-align:bottom}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:var(--color-beta);--tw-prose-headings:var(--color-beta);--tw-prose-lead:var(--color-beta);--tw-prose-links:#ff8c2f;--tw-prose-bold:var(--color-beta);--tw-prose-counters:var(--color-beta);--tw-prose-bullets:var(--color-beta);--tw-prose-hr:var(--color-beta);--tw-prose-quotes:var(--color-beta);--tw-prose-quote-borders:var(--color-beta);--tw-prose-captions:var(--color-beta);--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:var(--color-beta);--tw-prose-pre-code:var(--color-beta);--tw-prose-pre-bg:var(--color-alpha);--tw-prose-th-borders:var(--color-beta);--tw-prose-td-borders:var(--color-beta);--tw-prose-invert-body:var(--color-alpha);--tw-prose-invert-headings:var(--color-alpha);--tw-prose-invert-lead:var(--color-alpha);--tw-prose-invert-links:#ff8c2f;--tw-prose-invert-bold:var(--color-alpha);--tw-prose-invert-counters:var(--color-alpha);--tw-prose-invert-bullets:var(--color-alpha);--tw-prose-invert-hr:var(--color-alpha);--tw-prose-invert-quotes:var(--color-alpha);--tw-prose-invert-quote-borders:var(--color-alpha);--tw-prose-invert-captions:var(--color-alpha);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:var(--color-alpha);--tw-prose-invert-pre-code:var(--color-alpha);--tw-prose-invert-pre-bg:var(--color-beta);--tw-prose-invert-th-borders:var(--color-alpha);--tw-prose-invert-td-borders:var(--color-alpha);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose{--tw-prose-invert-code-bg:var(--color-gamma-opaque)}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-\\[2px\\]{bottom:-2px}.-left-\\[2px\\]{left:-2px}.-right-\\[2px\\]{right:-2px}.-top-1{top:-.25rem}.-top-\\[2px\\]{top:-2px}.bottom-0{bottom:0}.bottom-\\[-3px\\]{bottom:-3px}.right-0{right:0}.top-0{top:0}.top-\\[1px\\]{top:1px}.top-full{top:100%}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-\\[99999\\]{z-index:99999}.mx-8px{margin-left:8px;margin-right:8px}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-bottom:0;margin-top:0}.my-12{margin-bottom:3rem;margin-top:3rem}.my-16px{margin-bottom:16px;margin-top:16px}.my-24px{margin-bottom:24px;margin-top:24px}.my-8px{margin-bottom:8px;margin-top:8px}.mb-4px{margin-bottom:4px}.mb-8px{margin-bottom:8px}.ml-3{margin-left:.75rem}.ml-8px{margin-left:8px}.mr-8px{margin-right:8px}.mt-0{margin-top:0}.mt-12px{margin-top:12px}.mt-2{margin-top:.5rem}.mt-24px{margin-top:24px}.mt-4px{margin-top:4px}.mt-8px{margin-top:8px}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-12px{height:12px}.h-16px{height:16px}.h-20px{height:20px}.h-24px{height:24px}.h-2px{height:2px}.h-32px{height:32px}.h-36px{height:36px}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-full{height:100%}.max-h-\\[65vh\\]{max-height:65vh}.min-h-\\[250px\\]{min-height:250px}.min-h-screen{min-height:100vh}.w-1\\/2{width:50%}.w-11{width:2.75rem}.w-12px{width:12px}.w-14px{width:14px}.w-16px{width:16px}.w-20px{width:20px}.w-24px{width:24px}.w-28px{width:28px}.w-2px{width:2px}.w-32px{width:32px}.w-36px{width:36px}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-\\[100px\\]{width:100px}.w-\\[110px\\]{width:110px}.w-\\[120px\\]{width:120px}.w-\\[125\\%\\]{width:125%}.w-\\[150px\\]{width:150px}.w-\\[44px\\]{width:44px}.w-\\[48px\\]{width:48px}.w-full{width:100%}.w-screen{width:100vw}.min-w-300px{min-width:300px}.min-w-\\[280px\\]{min-width:280px}.max-w-1024px{max-width:1024px}.max-w-160px{max-width:160px}.max-w-350px{max-width:350px}.max-w-3xl{max-width:48rem}.max-w-640px{max-width:640px}.max-w-800px{max-width:800px}.max-w-\\[45ch\\]{max-width:45ch}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.grow-0{flex-grow:0}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-20px{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-20px{--tw-translate-x:20px}.translate-x-\\[26px\\]{--tw-translate-x:26px}.translate-x-\\[26px\\],.translate-x-\\[2px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\\[2px\\]{--tw-translate-x:2px}.translate-y-\\[16px\\]{--tw-translate-y:16px}.scale-100,.translate-y-\\[16px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-12px{gap:12px}.gap-16px{gap:16px}.gap-2{gap:.5rem}.gap-20px{gap:20px}.gap-4{gap:1rem}.gap-4px{gap:4px}.gap-6{gap:1.5rem}.gap-8px{gap:8px}.gap-x-16px{-moz-column-gap:16px;column-gap:16px}.gap-x-4px{-moz-column-gap:4px;column-gap:4px}.gap-x-8px{-moz-column-gap:8px;column-gap:8px}.gap-y-16px{row-gap:16px}.gap-y-24px{row-gap:24px}.gap-y-4px{row-gap:4px}.gap-y-8px{row-gap:8px}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-normal{white-space:normal}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b-2{border-bottom-width:2px}.border-l-0{border-left-width:0}.border-r-0{border-right-width:0}.border-t-0{border-top-width:0}.border-solid{border-style:solid}.border-none{border-style:none}.border-black{--tw-border-opacity:1;border-color:rgb(28 27 27/var(--tw-border-opacity))}.border-gamma-opaque{border-color:var(--color-gamma-opaque)}.border-green-600\\/10{border-color:#16a34a1a}.border-grey-mid{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.border-orange{--tw-border-opacity:1;border-color:rgb(255 140 47/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-unraid-red{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.border-unraid-red\\/10{border-color:#e228281a}.border-unraid-red\\/90{border-color:#e22828e6}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.border-white\\/10{border-color:#ffffff1a}.border-yellow-100{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity))}.bg-alpha{background-color:var(--color-alpha)}.bg-beta{background-color:var(--color-beta)}.bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-current{background-color:currentColor}.bg-gamma{background-color:var(--color-gamma)}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.bg-grey{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.bg-orange{--tw-bg-opacity:1;background-color:rgb(255 140 47/var(--tw-bg-opacity))}.bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-unraid-red{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.bg-unraid-red\\/90{background-color:#e22828e6}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity))}.bg-opacity-80{--tw-bg-opacity:.8}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-unraid-red{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-orange{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.to-orange\\/60{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-green-600{fill:#16a34a}.fill-unraid-red{fill:#e22828}.p-0{padding:0}.p-1{padding:.25rem}.p-12px{padding:12px}.p-16px{padding:16px}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8px{padding:8px}.px-12px{padding-left:12px;padding-right:12px}.px-16px{padding-left:16px;padding-right:16px}.px-4{padding-left:1rem;padding-right:1rem}.px-4px{padding-left:4px;padding-right:4px}.px-6px{padding-left:6px;padding-right:6px}.px-8px{padding-left:8px;padding-right:8px}.py-0{padding-bottom:0;padding-top:0}.py-12px{padding-bottom:12px;padding-top:12px}.py-24px{padding-bottom:24px;padding-top:24px}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-4px{padding-bottom:4px;padding-top:4px}.py-8px{padding-bottom:8px;padding-top:8px}.pb-12{padding-bottom:3rem}.pb-8px{padding-bottom:8px}.pl-40px{padding-left:40px}.pr-16px{padding-right:16px}.pr-40px{padding-right:40px}.pr-4px{padding-right:4px}.pt-4px{padding-top:4px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-10px{font-size:10px}.text-12px{font-size:12px}.text-14px{font-size:14px}.text-16px{font-size:16px}.text-18px{font-size:18px}.text-20px{font-size:20px}.text-24px{font-size:24px}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-wide{letter-spacing:.025em}.text-\\[\\#486dba\\]{--tw-text-opacity:1;color:rgb(72 109 186/var(--tw-text-opacity))}.text-alpha{color:var(--color-alpha)}.text-beta{color:var(--color-beta)}.text-black{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.text-current{color:currentColor}.text-gamma{color:var(--color-gamma)}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.text-grey-mid{--tw-text-opacity:1;color:rgb(153 153 153/var(--tw-text-opacity))}.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity))}.text-orange{--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.text-pink-800{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-unraid-red{--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-inner{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\\[var\\(--ring-offset-shadow\\)_var\\(--ring-shadow\\)_var\\(--shadow-beta\\)\\]{--tw-shadow-color:var(--ring-offset-shadow) var(--ring-shadow) var(--shadow-beta);--tw-shadow:var(--tw-shadow-colored)}.shadow-green-600\\/30{--tw-shadow-color:rgba(22,163,74,.3);--tw-shadow:var(--tw-shadow-colored)}.shadow-orange\\/10{--tw-shadow-color:rgba(255,140,47,.1);--tw-shadow:var(--tw-shadow-colored)}.shadow-unraid-red\\/30{--tw-shadow-color:rgba(226,40,40,.3);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-black{outline-color:#1c1b1b}.outline-white{outline-color:#fff}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.even\\:bg-black\\/5:nth-child(2n){background-color:#1c1b1b0d}.even\\:bg-grey-darkest:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(34 34 34/var(--tw-bg-opacity))}@keyframes pulse{50%{opacity:.5}}.hover\\:animate-pulse:hover{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.hover\\:border-beta:hover{border-color:var(--color-beta)}.hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.hover\\:border-grey-mid:hover{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.hover\\:border-orange-dark:hover{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.hover\\:border-unraid-red:hover{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.hover\\:bg-beta:hover{background-color:var(--color-beta)}.hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.hover\\:bg-grey-mid:hover{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.hover\\:bg-unraid-red:hover{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\\:bg-gradient-to-r:hover{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.hover\\:from-unraid-red:hover{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:from-unraid-red\\/60:hover{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:to-orange:hover{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.hover\\:to-orange\\/60:hover{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.hover\\:text-\\[\\#3b5ea9\\]:hover{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.hover\\:text-alpha:hover{color:var(--color-alpha)}.hover\\:text-black:hover{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:no-underline:hover{text-decoration-line:none}.hover\\:opacity-100:hover{opacity:1}.hover\\:opacity-75:hover{opacity:.75}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\\:shadow-orange\\/50:hover{--tw-shadow-color:rgba(255,140,47,.5);--tw-shadow:var(--tw-shadow-colored)}.focus\\:border-beta:focus{border-color:var(--color-beta)}.focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.focus\\:border-grey-mid:focus{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.focus\\:border-orange-dark:focus{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.focus\\:border-unraid-red:focus{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.focus\\:bg-beta:focus{background-color:var(--color-beta)}.focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.focus\\:bg-grey-mid:focus{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.focus\\:bg-unraid-red:focus{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.focus\\:bg-gradient-to-r:focus{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.focus\\:from-unraid-red:focus{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:from-unraid-red\\/60:focus{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:to-orange:focus{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.focus\\:to-orange\\/60:focus{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.focus\\:text-\\[\\#3b5ea9\\]:focus{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.focus\\:text-alpha:focus{color:var(--color-alpha)}.focus\\:text-black:focus{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.focus\\:text-white:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.focus\\:underline:focus{text-decoration-line:underline}.focus\\:no-underline:focus{text-decoration-line:none}.focus\\:opacity-100:focus{opacity:1}.focus\\:opacity-75:focus{opacity:.75}.focus\\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity))}.focus\\:ring-indigo-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(79 70 229/var(--tw-ring-opacity))}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-25:disabled{opacity:.25}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:hover\\:opacity-25:hover:disabled{opacity:.25}.disabled\\:hover\\:opacity-50:hover:disabled{opacity:.5}.disabled\\:focus\\:opacity-25:focus:disabled{opacity:.25}.disabled\\:focus\\:opacity-50:focus:disabled{opacity:.5}.group:hover .group-hover\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:hover .group-hover\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:hover .group-hover\\:underline{text-decoration-line:underline}.group:hover .group-hover\\:opacity-100{opacity:1}.group:hover .group-hover\\:opacity-60{opacity:.6}.group:hover .group-hover\\:opacity-75{opacity:.75}.group:focus .group-focus\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:focus .group-focus\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:focus .group-focus\\:underline{text-decoration-line:underline}.group:focus .group-focus\\:opacity-100{opacity:1}.group:focus .group-focus\\:opacity-60{opacity:.6}.group:focus .group-focus\\:opacity-75{opacity:.75}.prose-a\\:text-unraid-red :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.hover\\:prose-a\\:text-unraid-red\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#e2282899}.hover\\:prose-a\\:no-underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{text-decoration-line:none}@media (min-width:640px){.sm\\:col-span-2{grid-column:span 2/span 2}.sm\\:col-span-3{grid-column:span 3/span 3}.sm\\:col-start-2{grid-column-start:2}.sm\\:block{display:block}.sm\\:w-\\[150px\\]{width:150px}.sm\\:w-full{width:100%}.sm\\:min-w-\\[400px\\]{min-width:400px}.sm\\:max-w-300px{max-width:300px}.sm\\:max-w-lg{max-width:32rem}.sm\\:flex-shrink-0{flex-shrink:0}.sm\\:flex-grow-0{flex-grow:0}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-start{align-items:flex-start}.sm\\:items-center{align-items:center}.sm\\:justify-end{justify-content:flex-end}.sm\\:justify-between{justify-content:space-between}.sm\\:gap-16px{gap:16px}.sm\\:gap-24px{gap:24px}.sm\\:gap-y-24px{row-gap:24px}.sm\\:p-16px{padding:16px}.sm\\:px-20px{padding-left:20px;padding-right:20px}.sm\\:pr-40px{padding-right:40px}.sm\\:text-right{text-align:right}.sm\\:text-18px{font-size:18px}.sm\\:text-20px{font-size:20px}.sm\\:text-24px{font-size:24px}}@media (min-width:768px){.md\\:inline-block{display:inline-block}.md\\:min-w-\\[500px\\]{min-width:500px}.md\\:flex-row{flex-direction:row}.md\\:items-start{align-items:flex-start}.md\\:items-end{align-items:flex-end}.md\\:justify-between{justify-content:space-between}.md\\:gap-16px{gap:16px}.md\\:p-24px{padding:24px}.md\\:p-6{padding:1.5rem}.md\\:py-24px{padding-bottom:24px;padding-top:24px}.md\\:text-24px{font-size:24px}}@media (min-width:470px){.\\32xs\\:block{display:block}}@media (min-width:530px){.xs\\:block{display:block}.xs\\:flex-row{flex-direction:row}.xs\\:items-baseline{align-items:baseline}.xs\\:justify-start{justify-content:flex-start}.xs\\:gap-x-12px{-moz-column-gap:12px;column-gap:12px}.xs\\:text-12px{font-size:12px}}@media (min-height:700px){.tall\\:max-h-\\[75vh\\]{max-height:75vh}}@media (prefers-color-scheme:dark){.dark\\:border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.dark\\:bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.dark\\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\\:prose-a\\:text-orange :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.hover\\:dark\\:prose-a\\:text-orange\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#ff8c2f99}}']]]),gIe=boe({__name:"Badge",props:{color:{default:"gray"},icon:{type:[Object,Function],default:void 0},iconRight:{type:[Object,Function],default:void 0},iconStyles:{default:""},size:{default:"16px"}},setup(eee){const tee=eee,ree=kae((()=>{let eee="",ree="",oee="";switch(tee.color){case"alpha":eee="bg-alpha text-white group-hover:opacity-75 group-focus:opacity-75";break;case"beta":eee="bg-beta text-white group-hover:opacity-75 group-focus:opacity-75";break;case"gamma":eee="bg-gamma text-white group-hover:opacity-75 group-focus:opacity-75";break;case"red":eee="bg-unraid-red text-white group-hover:bg-orange-dark group-focus:bg-orange-dark";break;case"yellow":eee="bg-yellow-100 text-black group-hover:bg-yellow-200 group-focus:bg-yellow-200";break;case"green":eee="bg-green-200 text-green-800 group-hover:bg-green-300 group-focus:bg-green-300";break;case"blue":eee="bg-blue-100 text-blue-800 group-hover:bg-blue-200 group-focus:bg-blue-200";break;case"indigo":eee="bg-indigo-100 text-indigo-800 group-hover:bg-indigo-200 group-focus:bg-indigo-200";break;case"purple":eee="bg-purple-100 text-purple-800 group-hover:bg-purple-200 group-focus:bg-purple-200";break;case"pink":eee="bg-pink-100 text-pink-800 group-hover:bg-pink-200 group-focus:bg-pink-200";break;case"orange":eee="bg-orange text-white group-hover:bg-orange-dark group-focus:bg-orange-dark";break;case"black":eee="bg-black text-white group-hover:bg-gray-800 group-focus:bg-gray-800";break;case"white":eee="bg-white text-black group-hover:bg-gray-100 group-focus:bg-gray-100";break;case"transparent":eee="bg-transparent text-black group-hover:bg-gray-100 group-focus:bg-gray-100";break;case"current":eee="bg-current text-black group-hover:bg-gray-100 group-focus:bg-gray-100";break;case"gray":eee="bg-gray-200 text-gray-800 group-hover:bg-gray-300 group-focus:bg-gray-300";break;case"custom":eee=""}switch(tee.size){case"12px":ree="text-12px px-8px py-4px gap-4px",oee="w-12px";break;case"14px":ree="text-14px px-8px py-4px gap-8px",oee="w-14px";break;case"16px":ree="text-16px px-12px py-8px gap-8px",oee="w-16px";break;case"18px":ree="text-18px px-12px py-8px gap-8px",oee="w-18px";break;case"20px":ree="text-20px px-16px py-12px gap-8px",oee="w-20px";break;case"24px":ree="text-24px px-16px py-12px gap-8px",oee="w-24px"}return{badge:`${ree} ${eee}`,icon:`${oee} ${tee.iconStyles}`}}));return(eee,tee)=>(Une(),qne("span",{class:Bee(["inline-flex items-center rounded-full font-semibold leading-none transition-all duration-200 ease-in-out",[_re(ree).badge]])},[eee.icon?(Une(),Bne(Moe(eee.icon),{key:0,class:Bee(["flex-shrink-0",_re(ree).icon])},null,8,["class"])):tae("",!0),$oe(eee.$slots,"default"),eee.iconRight?(Une(),Bne(Moe(eee.iconRight),{key:1,class:Bee(["flex-shrink-0",_re(ree).icon])},null,8,["class"])):tae("",!0)],2))}}),wIe={class:"flex flex-row justify-start gap-x-4px"},fIe=["title"],bIe=boe({__name:"HeaderOsVersion.ce",setup(eee){const{t:t}=dce(),tee=XSe(),ree=_Te(),oee=TTe(),{osVersion:nee,rebootType:aee,stateDataError:iee}=$ce(tee),{available:see,availableWithRenewal:lee}=$ce(ree),{rebootTypeText:cee}=$ce(oee),pee=kae((()=>iee.value?null:cee.value?{badge:{color:"yellow",icon:Cpe},href:"downgrade"===aee.value?rTe.toString():nTe.toString(),text:t(cee.value)}:lee.value||see.value?{badge:{color:"orange",icon:Tpe},click:()=>{ree.setModalOpen(!0)},text:lee.value?t("Update Released"):t("Update Available"),title:lee.value?t("Unraid OS {0} Released",[lee.value]):t("Unraid OS {0} Update Available",[see.value])}:null));return(eee,tee)=>{const ree=gIe;return Une(),qne("div",wIe,[Hne("button",{class:"group leading-none",title:_re(t)("View release notes"),onClick:tee[0]||(tee[0]=eee=>_re(oee).viewReleaseNotes(_re(t)("{0} Release Notes",[_re(nee)])))},[Xne(ree,{color:"custom",icon:_re(Mpe),"icon-styles":"text-gamma",size:"14px",class:"text-gamma group-hover:text-orange-dark group-focus:text-orange-dark group-hover:underline group-focus:underline"},{default:ooe((()=>[Jne(Qee(_re(nee)),1)])),_:1},8,["icon"])],8,fIe),_re(pee)?(Une(),Bne(Moe(_re(pee).href?"a":"button"),{key:0,href:_re(pee).href??void 0,title:_re(pee).title??void 0,class:"group",onClick:tee[1]||(tee[1]=eee=>_re(pee).click?.())},{default:ooe((()=>[_re(pee).badge?(Une(),Bne(ree,{key:0,color:_re(pee).badge.color,icon:_re(pee).badge.icon,size:"12px"},{default:ooe((()=>[Jne(Qee(_re(pee).text),1)])),_:1},8,["color","icon"])):(Une(),qne(Dne,{key:1},[Jne(Qee(_re(pee).text),1)],64))])),_:1},8,["href","title"])):tae("",!0)])}}}),mIe=mce(bIe,[["styles",['/*! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:clear-sans,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:470px){.container{max-width:470px}}@media (min-width:530px){.container{max-width:530px}}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--color-beta);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:#ff8c2f;font-weight:500;text-decoration:underline}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)):hover{color:#f15a2c}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-inline-start-color:var(--tw-prose-quote-borders);border-inline-start-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em;quotes:"“""”""‘""’"}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-bottom:2em;margin-top:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;text-align:start;width:100%}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em;vertical-align:bottom}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:var(--color-beta);--tw-prose-headings:var(--color-beta);--tw-prose-lead:var(--color-beta);--tw-prose-links:#ff8c2f;--tw-prose-bold:var(--color-beta);--tw-prose-counters:var(--color-beta);--tw-prose-bullets:var(--color-beta);--tw-prose-hr:var(--color-beta);--tw-prose-quotes:var(--color-beta);--tw-prose-quote-borders:var(--color-beta);--tw-prose-captions:var(--color-beta);--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:var(--color-beta);--tw-prose-pre-code:var(--color-beta);--tw-prose-pre-bg:var(--color-alpha);--tw-prose-th-borders:var(--color-beta);--tw-prose-td-borders:var(--color-beta);--tw-prose-invert-body:var(--color-alpha);--tw-prose-invert-headings:var(--color-alpha);--tw-prose-invert-lead:var(--color-alpha);--tw-prose-invert-links:#ff8c2f;--tw-prose-invert-bold:var(--color-alpha);--tw-prose-invert-counters:var(--color-alpha);--tw-prose-invert-bullets:var(--color-alpha);--tw-prose-invert-hr:var(--color-alpha);--tw-prose-invert-quotes:var(--color-alpha);--tw-prose-invert-quote-borders:var(--color-alpha);--tw-prose-invert-captions:var(--color-alpha);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:var(--color-alpha);--tw-prose-invert-pre-code:var(--color-alpha);--tw-prose-invert-pre-bg:var(--color-beta);--tw-prose-invert-th-borders:var(--color-alpha);--tw-prose-invert-td-borders:var(--color-alpha);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose{--tw-prose-invert-code-bg:var(--color-gamma-opaque)}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-\\[2px\\]{bottom:-2px}.-left-\\[2px\\]{left:-2px}.-right-\\[2px\\]{right:-2px}.-top-1{top:-.25rem}.-top-\\[2px\\]{top:-2px}.bottom-0{bottom:0}.bottom-\\[-3px\\]{bottom:-3px}.right-0{right:0}.top-0{top:0}.top-\\[1px\\]{top:1px}.top-full{top:100%}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-\\[99999\\]{z-index:99999}.mx-8px{margin-left:8px;margin-right:8px}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-bottom:0;margin-top:0}.my-12{margin-bottom:3rem;margin-top:3rem}.my-16px{margin-bottom:16px;margin-top:16px}.my-24px{margin-bottom:24px;margin-top:24px}.my-8px{margin-bottom:8px;margin-top:8px}.mb-4px{margin-bottom:4px}.mb-8px{margin-bottom:8px}.ml-3{margin-left:.75rem}.ml-8px{margin-left:8px}.mr-8px{margin-right:8px}.mt-0{margin-top:0}.mt-12px{margin-top:12px}.mt-2{margin-top:.5rem}.mt-24px{margin-top:24px}.mt-4px{margin-top:4px}.mt-8px{margin-top:8px}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-12px{height:12px}.h-16px{height:16px}.h-20px{height:20px}.h-24px{height:24px}.h-2px{height:2px}.h-32px{height:32px}.h-36px{height:36px}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-full{height:100%}.max-h-\\[65vh\\]{max-height:65vh}.min-h-\\[250px\\]{min-height:250px}.min-h-screen{min-height:100vh}.w-1\\/2{width:50%}.w-11{width:2.75rem}.w-12px{width:12px}.w-14px{width:14px}.w-16px{width:16px}.w-20px{width:20px}.w-24px{width:24px}.w-28px{width:28px}.w-2px{width:2px}.w-32px{width:32px}.w-36px{width:36px}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-\\[100px\\]{width:100px}.w-\\[110px\\]{width:110px}.w-\\[120px\\]{width:120px}.w-\\[125\\%\\]{width:125%}.w-\\[150px\\]{width:150px}.w-\\[44px\\]{width:44px}.w-\\[48px\\]{width:48px}.w-full{width:100%}.w-screen{width:100vw}.min-w-300px{min-width:300px}.min-w-\\[280px\\]{min-width:280px}.max-w-1024px{max-width:1024px}.max-w-160px{max-width:160px}.max-w-350px{max-width:350px}.max-w-3xl{max-width:48rem}.max-w-640px{max-width:640px}.max-w-800px{max-width:800px}.max-w-\\[45ch\\]{max-width:45ch}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.grow-0{flex-grow:0}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-20px{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-20px{--tw-translate-x:20px}.translate-x-\\[26px\\]{--tw-translate-x:26px}.translate-x-\\[26px\\],.translate-x-\\[2px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\\[2px\\]{--tw-translate-x:2px}.translate-y-\\[16px\\]{--tw-translate-y:16px}.scale-100,.translate-y-\\[16px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-12px{gap:12px}.gap-16px{gap:16px}.gap-2{gap:.5rem}.gap-20px{gap:20px}.gap-4{gap:1rem}.gap-4px{gap:4px}.gap-6{gap:1.5rem}.gap-8px{gap:8px}.gap-x-16px{-moz-column-gap:16px;column-gap:16px}.gap-x-4px{-moz-column-gap:4px;column-gap:4px}.gap-x-8px{-moz-column-gap:8px;column-gap:8px}.gap-y-16px{row-gap:16px}.gap-y-24px{row-gap:24px}.gap-y-4px{row-gap:4px}.gap-y-8px{row-gap:8px}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-normal{white-space:normal}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b-2{border-bottom-width:2px}.border-l-0{border-left-width:0}.border-r-0{border-right-width:0}.border-t-0{border-top-width:0}.border-solid{border-style:solid}.border-none{border-style:none}.border-black{--tw-border-opacity:1;border-color:rgb(28 27 27/var(--tw-border-opacity))}.border-gamma-opaque{border-color:var(--color-gamma-opaque)}.border-green-600\\/10{border-color:#16a34a1a}.border-grey-mid{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.border-orange{--tw-border-opacity:1;border-color:rgb(255 140 47/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-unraid-red{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.border-unraid-red\\/10{border-color:#e228281a}.border-unraid-red\\/90{border-color:#e22828e6}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.border-white\\/10{border-color:#ffffff1a}.border-yellow-100{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity))}.bg-alpha{background-color:var(--color-alpha)}.bg-beta{background-color:var(--color-beta)}.bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-current{background-color:currentColor}.bg-gamma{background-color:var(--color-gamma)}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.bg-grey{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.bg-orange{--tw-bg-opacity:1;background-color:rgb(255 140 47/var(--tw-bg-opacity))}.bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-unraid-red{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.bg-unraid-red\\/90{background-color:#e22828e6}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity))}.bg-opacity-80{--tw-bg-opacity:.8}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-unraid-red{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-orange{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.to-orange\\/60{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-green-600{fill:#16a34a}.fill-unraid-red{fill:#e22828}.p-0{padding:0}.p-1{padding:.25rem}.p-12px{padding:12px}.p-16px{padding:16px}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8px{padding:8px}.px-12px{padding-left:12px;padding-right:12px}.px-16px{padding-left:16px;padding-right:16px}.px-4{padding-left:1rem;padding-right:1rem}.px-4px{padding-left:4px;padding-right:4px}.px-6px{padding-left:6px;padding-right:6px}.px-8px{padding-left:8px;padding-right:8px}.py-0{padding-bottom:0;padding-top:0}.py-12px{padding-bottom:12px;padding-top:12px}.py-24px{padding-bottom:24px;padding-top:24px}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-4px{padding-bottom:4px;padding-top:4px}.py-8px{padding-bottom:8px;padding-top:8px}.pb-12{padding-bottom:3rem}.pb-8px{padding-bottom:8px}.pl-40px{padding-left:40px}.pr-16px{padding-right:16px}.pr-40px{padding-right:40px}.pr-4px{padding-right:4px}.pt-4px{padding-top:4px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-10px{font-size:10px}.text-12px{font-size:12px}.text-14px{font-size:14px}.text-16px{font-size:16px}.text-18px{font-size:18px}.text-20px{font-size:20px}.text-24px{font-size:24px}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-wide{letter-spacing:.025em}.text-\\[\\#486dba\\]{--tw-text-opacity:1;color:rgb(72 109 186/var(--tw-text-opacity))}.text-alpha{color:var(--color-alpha)}.text-beta{color:var(--color-beta)}.text-black{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.text-current{color:currentColor}.text-gamma{color:var(--color-gamma)}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.text-grey-mid{--tw-text-opacity:1;color:rgb(153 153 153/var(--tw-text-opacity))}.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity))}.text-orange{--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.text-pink-800{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-unraid-red{--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-inner{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\\[var\\(--ring-offset-shadow\\)_var\\(--ring-shadow\\)_var\\(--shadow-beta\\)\\]{--tw-shadow-color:var(--ring-offset-shadow) var(--ring-shadow) var(--shadow-beta);--tw-shadow:var(--tw-shadow-colored)}.shadow-green-600\\/30{--tw-shadow-color:rgba(22,163,74,.3);--tw-shadow:var(--tw-shadow-colored)}.shadow-orange\\/10{--tw-shadow-color:rgba(255,140,47,.1);--tw-shadow:var(--tw-shadow-colored)}.shadow-unraid-red\\/30{--tw-shadow-color:rgba(226,40,40,.3);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-black{outline-color:#1c1b1b}.outline-white{outline-color:#fff}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.even\\:bg-black\\/5:nth-child(2n){background-color:#1c1b1b0d}.even\\:bg-grey-darkest:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(34 34 34/var(--tw-bg-opacity))}@keyframes pulse{50%{opacity:.5}}.hover\\:animate-pulse:hover{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.hover\\:border-beta:hover{border-color:var(--color-beta)}.hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.hover\\:border-grey-mid:hover{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.hover\\:border-orange-dark:hover{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.hover\\:border-unraid-red:hover{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.hover\\:bg-beta:hover{background-color:var(--color-beta)}.hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.hover\\:bg-grey-mid:hover{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.hover\\:bg-unraid-red:hover{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\\:bg-gradient-to-r:hover{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.hover\\:from-unraid-red:hover{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:from-unraid-red\\/60:hover{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:to-orange:hover{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.hover\\:to-orange\\/60:hover{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.hover\\:text-\\[\\#3b5ea9\\]:hover{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.hover\\:text-alpha:hover{color:var(--color-alpha)}.hover\\:text-black:hover{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:no-underline:hover{text-decoration-line:none}.hover\\:opacity-100:hover{opacity:1}.hover\\:opacity-75:hover{opacity:.75}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\\:shadow-orange\\/50:hover{--tw-shadow-color:rgba(255,140,47,.5);--tw-shadow:var(--tw-shadow-colored)}.focus\\:border-beta:focus{border-color:var(--color-beta)}.focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.focus\\:border-grey-mid:focus{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.focus\\:border-orange-dark:focus{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.focus\\:border-unraid-red:focus{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.focus\\:bg-beta:focus{background-color:var(--color-beta)}.focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.focus\\:bg-grey-mid:focus{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.focus\\:bg-unraid-red:focus{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.focus\\:bg-gradient-to-r:focus{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.focus\\:from-unraid-red:focus{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:from-unraid-red\\/60:focus{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:to-orange:focus{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.focus\\:to-orange\\/60:focus{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.focus\\:text-\\[\\#3b5ea9\\]:focus{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.focus\\:text-alpha:focus{color:var(--color-alpha)}.focus\\:text-black:focus{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.focus\\:text-white:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.focus\\:underline:focus{text-decoration-line:underline}.focus\\:no-underline:focus{text-decoration-line:none}.focus\\:opacity-100:focus{opacity:1}.focus\\:opacity-75:focus{opacity:.75}.focus\\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity))}.focus\\:ring-indigo-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(79 70 229/var(--tw-ring-opacity))}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-25:disabled{opacity:.25}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:hover\\:opacity-25:hover:disabled{opacity:.25}.disabled\\:hover\\:opacity-50:hover:disabled{opacity:.5}.disabled\\:focus\\:opacity-25:focus:disabled{opacity:.25}.disabled\\:focus\\:opacity-50:focus:disabled{opacity:.5}.group:hover .group-hover\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:hover .group-hover\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:hover .group-hover\\:underline{text-decoration-line:underline}.group:hover .group-hover\\:opacity-100{opacity:1}.group:hover .group-hover\\:opacity-60{opacity:.6}.group:hover .group-hover\\:opacity-75{opacity:.75}.group:focus .group-focus\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:focus .group-focus\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:focus .group-focus\\:underline{text-decoration-line:underline}.group:focus .group-focus\\:opacity-100{opacity:1}.group:focus .group-focus\\:opacity-60{opacity:.6}.group:focus .group-focus\\:opacity-75{opacity:.75}.prose-a\\:text-unraid-red :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.hover\\:prose-a\\:text-unraid-red\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#e2282899}.hover\\:prose-a\\:no-underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{text-decoration-line:none}@media (min-width:640px){.sm\\:col-span-2{grid-column:span 2/span 2}.sm\\:col-span-3{grid-column:span 3/span 3}.sm\\:col-start-2{grid-column-start:2}.sm\\:block{display:block}.sm\\:w-\\[150px\\]{width:150px}.sm\\:w-full{width:100%}.sm\\:min-w-\\[400px\\]{min-width:400px}.sm\\:max-w-300px{max-width:300px}.sm\\:max-w-lg{max-width:32rem}.sm\\:flex-shrink-0{flex-shrink:0}.sm\\:flex-grow-0{flex-grow:0}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-start{align-items:flex-start}.sm\\:items-center{align-items:center}.sm\\:justify-end{justify-content:flex-end}.sm\\:justify-between{justify-content:space-between}.sm\\:gap-16px{gap:16px}.sm\\:gap-24px{gap:24px}.sm\\:gap-y-24px{row-gap:24px}.sm\\:p-16px{padding:16px}.sm\\:px-20px{padding-left:20px;padding-right:20px}.sm\\:pr-40px{padding-right:40px}.sm\\:text-right{text-align:right}.sm\\:text-18px{font-size:18px}.sm\\:text-20px{font-size:20px}.sm\\:text-24px{font-size:24px}}@media (min-width:768px){.md\\:inline-block{display:inline-block}.md\\:min-w-\\[500px\\]{min-width:500px}.md\\:flex-row{flex-direction:row}.md\\:items-start{align-items:flex-start}.md\\:items-end{align-items:flex-end}.md\\:justify-between{justify-content:space-between}.md\\:gap-16px{gap:16px}.md\\:p-24px{padding:24px}.md\\:p-6{padding:1.5rem}.md\\:py-24px{padding-bottom:24px;padding-top:24px}.md\\:text-24px{font-size:24px}}@media (min-width:470px){.\\32xs\\:block{display:block}}@media (min-width:530px){.xs\\:block{display:block}.xs\\:flex-row{flex-direction:row}.xs\\:items-baseline{align-items:baseline}.xs\\:justify-start{justify-content:flex-start}.xs\\:gap-x-12px{-moz-column-gap:12px;column-gap:12px}.xs\\:text-12px{font-size:12px}}@media (min-height:700px){.tall\\:max-h-\\[75vh\\]{max-height:75vh}}@media (prefers-color-scheme:dark){.dark\\:border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.dark\\:bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.dark\\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\\:prose-a\\:text-orange :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.hover\\:dark\\:prose-a\\:text-orange\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#ff8c2f99}}']]]),vIe=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,yIe=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,xIe=/^([/\\]\s*){2,}[^/\\]/;function kIe(eee,tee={}){return"boolean"==typeof tee&&(tee={acceptRelative:tee}),tee.strict?vIe.test(eee):yIe.test(eee)||!!tee.acceptRelative&&xIe.test(eee)}function _Ie(...eee){const tee=/\/(?!\/)/,ree=eee.filter(Boolean),oee=[];let nee=0;for(const i of ree)if(i&&"/"!==i)for(const[eee,s]of i.split(tee).entries())if(s&&"."!==s)if(".."!==s)1===eee&&oee[oee.length-1]?.endsWith(":/")?oee[oee.length-1]+="/"+s:(oee.push(s),nee++);else{if(1===oee.length&&kIe(oee[0]))continue;oee.pop(),nee--}let aee=oee.join("/");return nee>=0?ree[0]?.startsWith("/")&&!aee.startsWith("/")?aee="/"+aee:ree[0]?.startsWith("./")&&!aee.startsWith("./")&&(aee="./"+aee):aee="../".repeat(-1*nee)+aee,ree[ree.length-1]?.endsWith("/")&&!aee.endsWith("/")&&(aee+="/"),aee}const EIe=window.setInterval;var e,TIe={exports:{}};TIe.exports=(e={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},function(t,o,n){var r=o.prototype,i=r.format;n.en.formats=e,r.format=function(t){void 0===t&&(t="YYYY-MM-DDTHH:mm:ssZ");var o=this.$locale().formats,n=function(t,o){return t.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var i=r&&r.toUpperCase();return n||o[r]||e[r]||o[i].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,o){return t||o.slice(1)}))}))}(t,void 0===o?{}:o);return i.call(this,n)}});const SIe=qce(TIe.exports);Gce.extend(SIe);const IIe=[{format:"%c",display:"ddd, D MMMM YYYY"},{format:"%A, %Y %B %e",display:"ddd, YYYY MMMM D"},{format:"%A, %e %B %Y",display:"ddd, D MMMM YYYY"},{format:"%A, %B %e, %Y",display:"ddd, MMMM D, YYYY"},{format:"%A, %m/%d/%Y",display:"ddd, MM/DD/YYYY"},{format:"%A, %d-%m-%Y",display:"ddd, DD-MM-YYYY"},{format:"%A, %d.%m.%Y",display:"ddd, DD.MM.YYYY"},{format:"%A, %Y-%m-%d",display:"ddd, YYYY-MM-DD"}],OIe=[{format:"%I:%M %p",display:"hh:mma"},{format:"%R",display:"HH:mm"}],NIe=(eee,t,tee,ree,oee)=>{const nee=(eee,tee)=>tee.find((tee=>tee.format===eee)),aee=nee(eee?.date??IIe[0].format,IIe);console.debug("[dateFormat]",aee);let iee=`${aee?.display}`;if(console.debug("[displayFormat]",iee),!tee){const tee=nee(eee?.time??OIe[0].format,OIe);iee=`${iee} ${tee?.display}`,console.debug("[displayFormat] with time",iee)}const see=eee=>Qce(eee).format(iee);console.debug("[formatDate]",see(Date.now()));const lee=(eee,tee,ree,oee,nee,aee,iee)=>({years:eee,months:tee,days:ree,hours:oee,minutes:nee,seconds:aee,firstDateWasLater:iee}),cee=(a="",b="")=>{try{const x=a?Qce(parseInt(a,10)):Qce();return((d1,d2)=>{let eee,m1=Qce(d1),m2=Qce(d2);if(m1.isSame(m2))return lee(0,0,0,0,0,0,!1);if(m1.isAfter(m2)){const tee=m1;m1=m2,m2=tee,eee=!0}else eee=!1;let tee=m2.year()-m1.year(),ree=m2.month()-m1.month(),oee=m2.date()-m1.date(),nee=m2.hour()-m1.hour(),aee=m2.minute()-m1.minute(),iee=m2.second()-m1.second();if(iee<0&&(iee=60+iee,aee-=1),aee<0&&(aee=60+aee,nee-=1),nee<0&&(nee=24+nee,oee-=1),oee<0){const eee=Qce(`${m2.year()}-${m2.month()+1}`).subtract(1,"M").daysInMonth();oee=eeesee(ree??Date.now()))),uee=()=>{var eee;pee.value=(eee=>{const{years:tee,months:ree,days:oee,hours:nee,minutes:aee,seconds:iee,firstDateWasLater:see,displaySeconds:lee}=eee,cee=[];return tee&&cee.push(t("year",tee)),ree&&cee.push(t("month",ree)),oee&&cee.push(t("day",oee)),nee&&cee.push(t("hour",nee)),aee&&cee.push(t("minute",aee)),!iee||(tee||ree||oee||nee||aee)&&!lee||cee.push(t("second",iee)),see&&cee.push(t("ago")),cee.join(" ")})((eee=(ree??Date.now()).toString(),oee??!1?cee(eee,""):cee("",eee)))};let hee;return Soe((()=>{ree&&(uee(),hee=EIe((()=>{uee()}),1e3))})),Aoe((()=>{hee&&clearInterval(hee)})),{formatDate:see,outputDateTimeReadableDiff:pee,outputDateTimeFormatted:dee}},AIe=["title"],RIe=boe({__name:"UptimeExpire",props:{forExpire:{type:Boolean,default:!1},shortText:{type:Boolean,default:!1},t:{}},setup(eee){const tee=eee,ree=XSe(),{dateTimeFormat:oee,uptime:nee,expireTime:aee,state:iee}=$ce(ree),see=kae((()=>tee.forExpire&&aee.value||("TRIAL"===iee.value||"EEXPIRED"===iee.value)&&aee.value&&aee.value>0?aee.value:nee.value)),lee=kae((()=>(!tee.forExpire||!aee.value)&&("TRIAL"!==iee.value&&"ENOCONN"!==iee.value))),{outputDateTimeReadableDiff:cee,outputDateTimeFormatted:pee}=NIe(oee.value,tee.t,!1,see.value,lee.value),dee=kae((()=>lee.value&&"EEXPIRED"!==iee.value?{title:tee.t("Server Up Since {0}",[pee.value]),text:tee.t("Uptime {0}",[cee.value])}:{title:"EEXPIRED"===iee.value?tee.t(tee.shortText?"Expired at {0}":"Trial Key Expired at {0}",[pee.value]):tee.t(tee.shortText?"Expires at {0}":"Trial Key Expires at {0}",[pee.value]),text:"EEXPIRED"===iee.value?tee.t(tee.shortText?"Expired {0}":"Trial Key Expired {0}",[cee.value]):tee.t(tee.shortText?"Expires in {0}":"Trial Key Expires in {0}",[cee.value])}));return(eee,tee)=>(Une(),qne("p",{title:_re(dee).title},Qee(_re(dee).text),9,AIe))}}),CIe=boe({__name:"UpdateExpiration",props:{componentIs:{default:"p"},t:{}},setup(eee){const tee=eee,ree=XSe(),{dateTimeFormat:oee,regExp:nee,regUpdatesExpired:aee}=$ce(ree),{outputDateTimeReadableDiff:iee,outputDateTimeFormatted:see}=NIe(oee.value,tee.t,!0,nee.value),lee=kae((()=>{if(nee.value)return{text:aee.value?tee.t("Ineligible for feature updates released after {0}",[see.value]):tee.t("Eligible for free feature updates until {0}",[see.value]),title:aee.value?tee.t("Ineligible as of {0}",[iee.value]):tee.t("Eligible for free feature updates for {0}",[iee.value])}}));return(eee,tee)=>_re(lee)?(Une(),Bne(Moe(eee.componentIs),{key:0,title:_re(lee).title},{default:ooe((()=>[$oe(eee.$slots,"default"),Jne(" "+Qee(_re(lee).text),1)])),_:3},8,["title"])):tae("",!0)}}),DIe={class:"mx-auto max-w-[45ch] flex flex-col gap-8px"},LIe={class:"flex items-start justify-center gap-x-8px"},FIe={class:"text-18px"},zIe=boe({__name:"CallbackFeedbackStatus",props:{error:{type:Boolean,default:!1},icon:{default:void 0},success:{type:Boolean,default:!1},text:{default:void 0}},setup:eee=>(eee,tee)=>(Une(),qne("div",DIe,[Hne("div",LIe,[eee.success?(Une(),Bne(_re(Spe),{key:0,class:"fill-green-600 w-28px shrink-0"})):tae("",!0),eee.error?(Une(),Bne(_re(Wpe),{key:1,class:"fill-unraid-red w-28px shrink-0"})):tae("",!0),eee.icon?(Une(),Bne(Moe(eee.icon),{key:2,class:"fill-current opacity-75 w-28px shrink-0"})):tae("",!0),Hne("p",FIe,Qee(eee.text),1)]),$oe(eee.$slots,"default")]))});function MIe(){let a=[],s={addEventListener:(e,t,r,i)=>(e.addEventListener(t,r,i),s.add((()=>e.removeEventListener(t,r,i)))),requestAnimationFrame(...e){let t=requestAnimationFrame(...e);s.add((()=>cancelAnimationFrame(t)))},nextFrame(...e){s.requestAnimationFrame((()=>{s.requestAnimationFrame(...e)}))},setTimeout(...e){let t=setTimeout(...e);s.add((()=>clearTimeout(t)))},microTask(...e){let t={current:!0};return function(e){"function"==typeof queueMicrotask?queueMicrotask(e):Promise.resolve().then(e).catch((o=>setTimeout((()=>{throw o}))))}((()=>{t.current&&e[0]()})),s.add((()=>{t.current=!1}))},style(e,t,r){let i=e.style.getPropertyValue(t);return Object.assign(e.style,{[t]:r}),this.add((()=>{Object.assign(e.style,{[t]:i})}))},group(e){let t=MIe();return e(t),this.add((()=>t.dispose()))},add:e=>(a.push(e),()=>{let t=a.indexOf(e);if(t>=0)for(let r of a.splice(t,1))r()}),dispose(){for(let e of a.splice(0))e()}};return s}let PIe=Symbol("headlessui.useid"),UIe=0;function I(){return dne(PIe,(()=>""+ ++UIe))()}function jIe(e){var l;if(null==e||null==e.value)return null;let n=null!=(l=e.value.$el)?l:e.value;return n instanceof Node?n:null}function $Ie(r,n,...a){if(r in n){let e=n[r];return"function"==typeof e?e(...a):e}let t=new Error(`Tried to handle "${r}" but there is no handler defined. Only defined handlers are: ${Object.keys(n).map((e=>`"${e}"`)).join(", ")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,$Ie),t}var VIe=Object.defineProperty,qIe=(t,e,r)=>(((t,e,r)=>{e in t?VIe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r})(t,"symbol"!=typeof e?e+"":e,r),r);let c=new class{constructor(){qIe(this,"current",this.detect()),qIe(this,"currentId",0)}set(e){this.current!==e&&(this.currentId=0,this.current=e)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return"server"===this.current}get isClient(){return"client"===this.current}detect(){return"undefined"==typeof window||"undefined"==typeof document?"server":"client"}};function r(t,e){if(t)return t;let n=null!=e?e:"button";return"string"==typeof n&&"button"===n.toLowerCase()?"button":void 0}function BIe(t,e){let n=vre(r(t.value.type,t.value.as));return Ioe((()=>{n.value=r(t.value.type,t.value.as)})),loe((()=>{var u;n.value||jIe(e)&&jIe(e)instanceof HTMLButtonElement&&(null==(u=jIe(e))||!u.hasAttribute("type"))&&(n.value="button")})),n}var YIe=(o=>(o[o.None=0]="None",o[o.RenderStrategy=1]="RenderStrategy",o[o.Static=2]="Static",o))(YIe||{}),S=(e=>(e[e.Unmount=0]="Unmount",e[e.Hidden=1]="Hidden",e))(S||{});function A({visible:r=!0,features:t=0,ourProps:e,theirProps:o,...i}){var a;let n=j(o,e),l=Object.assign(i,{props:n});if(r||2&t&&n.static)return y(l);if(1&t){return $Ie(null==(a=n.unmount)||a?0:1,{0:()=>null,1:()=>y({...i,props:{...n,hidden:!0,style:{display:"none"}}})})}return y(l)}function y({props:r,attrs:t,slots:e,slot:o,name:i}){var m,eee;let{as:n,...l}=T(r,["unmount","static"]),a=null==(m=e.default)?void 0:m.call(e,o),d={};if(o){let u=!1,c=[];for(let[p,f]of Object.entries(o))"boolean"==typeof f&&(u=!0),!0===f&&c.push(p);u&&(d["data-headlessui-state"]=c.join(" "))}if("template"===n){if(a=b(null!=a?a:[]),Object.keys(l).length>0||Object.keys(t).length>0){let[u,...c]=null!=a?a:[];if(!function(r){return null!=r&&("string"==typeof r.type||"object"==typeof r.type||"function"==typeof r.type)}(u)||c.length>0)throw new Error(['Passing props on "template"!',"",`The current component <${i} /> is rendering a "template".`,"However we need to passthrough the following props:",Object.keys(l).concat(Object.keys(t)).map((s=>s.trim())).filter(((s,g,R)=>R.indexOf(s)===g)).sort(((s,g)=>s.localeCompare(g))).map((s=>` - ${s}`)).join("\n"),"","You can apply a few solutions:",['Add an `as="..."` prop, to ensure that we render an actual element instead of a "template".',"Render a single element as the child so that we can forward the props onto that element."].map((s=>` - ${s}`)).join("\n")].join("\n"));let p=j(null!=(eee=u.props)?eee:{},l,d),f=Zne(u,p,!0);for(let s in p)s.startsWith("on")&&(f.props||(f.props={}),f.props[s]=p[s]);return f}return Array.isArray(a)&&1===a.length?a[0]:a}return h(n,Object.assign({},l,d),{default:()=>a})}function b(r){return r.flatMap((t=>t.type===Dne?b(t.children):[t]))}function j(...r){if(0===r.length)return{};if(1===r.length)return r[0];let t={},e={};for(let i of r)for(let n in i)n.startsWith("on")&&"function"==typeof i[n]?(null!=e[n]||(e[n]=[]),e[n].push(i[n])):t[n]=i[n];if(t.disabled||t["aria-disabled"])return Object.assign(t,Object.fromEntries(Object.keys(e).map((i=>[i,void 0]))));for(let i in e)Object.assign(t,{[i](n,...l){let a=e[i];for(let d of a){if(n instanceof Event&&n.defaultPrevented)return;d(n,...l)}}});return t}function GIe(r){let t=Object.assign({},r);for(let e in t)void 0===t[e]&&delete t[e];return t}function T(r,t=[]){let e=Object.assign({},r);for(let o of t)o in e&&delete e[o];return e}var QIe=(e=>(e[e.None=1]="None",e[e.Focusable=2]="Focusable",e[e.Hidden=4]="Hidden",e))(QIe||{});let f=boe({name:"Hidden",props:{as:{type:[Object,String],default:"div"},features:{type:Number,default:1}},setup:(t,{slots:n,attrs:i})=>()=>{var r;let{features:e,...d}=t;return A({ourProps:{"aria-hidden":!(2&~e)||(null!=(r=d["aria-hidden"])?r:void 0),hidden:!(4&~e)||void 0,style:{position:"fixed",top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0",...!(4&~e)&&!!(2&~e)&&{display:"none"}}},theirProps:d,slot:{},attrs:i,slots:n,name:"Hidden"})}}),n=Symbol("Context");var i=(e=>(e[e.Open=1]="Open",e[e.Closed=2]="Closed",e[e.Closing=4]="Closing",e[e.Opening=8]="Opening",e))(i||{});function WIe(){return dne(n,null)}function t(o){pne(n,o)}var o=(r=>(r.Space=" ",r.Enter="Enter",r.Escape="Escape",r.Backspace="Backspace",r.Delete="Delete",r.ArrowLeft="ArrowLeft",r.ArrowUp="ArrowUp",r.ArrowRight="ArrowRight",r.ArrowDown="ArrowDown",r.Home="Home",r.End="End",r.PageUp="PageUp",r.PageDown="PageDown",r.Tab="Tab",r))(o||{});let u=Symbol("DescriptionContext");let a=Symbol("LabelContext");function KIe(){let t=dne(a,null);if(null===t){let n=new Error("You used a
diff --git a/emhttp/plugins/dynamix.vm.manager/VMSettings.page b/emhttp/plugins/dynamix.vm.manager/VMSettings.page index afa172038..12337f911 100644 --- a/emhttp/plugins/dynamix.vm.manager/VMSettings.page +++ b/emhttp/plugins/dynamix.vm.manager/VMSettings.page @@ -24,36 +24,74 @@ require_once "$docroot/plugins/dynamix.vm.manager/include/libvirt_helpers.php"; $hardware = !empty(shell_exec("/etc/rc.d/rc.libvirt test")); if (!$hardware) { echo "

"._('Your hardware does not have Intel VT-x or AMD-V capability').". "._('This is required to create VMs in KVM').". "._('Please disable the VM function').". "; - echo " "._('Click here to see the Unraid Wiki for more information')."

"; + echo " "._('View the Docs for more information')."

"; } function scan($area, $text) { return strpos($area,$text)!==false; } -function detect(&$syslinux, $key) { - $size = count($syslinux); - $menu = $i = 0; - $value = ''; - // find the default section - while ($i < $size) { - if (scan($syslinux[$i],'label ')) { - $n = $i + 1; - // find the current requested setting - while (!scan($syslinux[$n],'label ') && $n < $size) { - if (scan($syslinux[$n],'menu default')) $menu = 1; - if (scan($syslinux[$n],'append')) foreach (explode(' ',$syslinux[$n]) as $cmd) if (scan($cmd,$key)) {$value = explode('=',$cmd)[1]; break;} - $n++; +function detect(&$bootcfg, $bootenv, $key) { + if ($bootenv === 'syslinux') { + $size = count($bootcfg); + $menu = $i = 0; + $value = ''; + // find the default section + while ($i < $size) { + if (scan($bootcfg[$i],'label ')) { + $n = $i + 1; + // find the current requested setting + while (!scan($bootcfg[$n],'label ') && $n < $size) { + if (scan($bootcfg[$n],'menu default')) $menu = 1; + if (scan($bootcfg[$n],'append')) foreach (explode(' ',$bootcfg[$n]) as $cmd) if (scan($cmd,$key)) {$value = explode('=',$cmd)[1]; break;} + $n++; + } + if ($menu) break; else $i = $n - 1; } - if ($menu) break; else $i = $n - 1; + $i++; } - $i++; + } elseif ($bootenv === 'grub') { + $menu_entries = []; + // find the current boot entry + foreach ($bootcfg as $line) { + if (preg_match('/set default=(\d+)/', $line, $match)) { + $bootentry = (int)$match[1]; + break; + } + } + // split boot entries + foreach ($bootcfg as $line) { + if (strpos($line, 'menuentry ') === 0) { + $in_menuentry = true; + $current_entry = $line . "\n"; + } elseif ($in_menuentry) { + $current_entry .= $line . "\n"; + if (trim($line) === "}") { + $menu_entries[] = $current_entry; + $in_menuentry = false; + } + } + } + // search in selected menuentry + $menuentry = explode("\n", $menu_entries[$bootentry]); + foreach (explode(' ', $menu_entries[$bootentry]) as $cmd) { + if (scan($cmd,$key)) { + $value = explode('=',$cmd)[1]; + break; + } + } } - return $value; + return trim($value); +} +if (is_file('/boot/syslinux/syslinux.cfg')) { + $bootcfg = file('/boot/syslinux/syslinux.cfg',FILE_IGNORE_NEW_LINES+FILE_SKIP_EMPTY_LINES); + $bootenv = 'syslinux'; +} elseif (is_file('/boot/grub/grub.cfg')) { + $bootcfg = file('/boot/grub/grub.cfg',FILE_IGNORE_NEW_LINES+FILE_SKIP_EMPTY_LINES); + $bootenv = 'grub'; } -$syslinux = file('/boot/syslinux/syslinux.cfg',FILE_IGNORE_NEW_LINES+FILE_SKIP_EMPTY_LINES); $arrValidNetworks = getValidNetworks(); -$pcie_acs_override = detect($syslinux, 'pcie_acs_override'); -$vfio_allow_unsafe = detect($syslinux, 'allow_unsafe_interrupts'); +$pcie_acs_override = detect($bootcfg, $bootenv, 'pcie_acs_override'); +$vfio_allow_unsafe = detect($bootcfg, $bootenv, 'allow_unsafe_interrupts'); $bgcolor = strstr('white,azure',$display['theme']) ? '#f2f2f2' : '#1c1c1c'; $started = $var['fsState']=='Started'; $libvirt_up = $libvirt_running=='yes'; @@ -321,7 +359,7 @@ $(function(){ if (run) $("#settingsForm").submit(); - if (run) $.post("/plugins/dynamix.vm.manager/include/VMajax.php", {action:'syslinux',pcie:$('#pcie_acs_override').val(),vfio:$('#vfio_allow_unsafe').val()}, function(data){ + if (run) $.post("/plugins/dynamix.vm.manager/include/VMajax.php", {action:'cmdlineoverride',pcie:$('#pcie_acs_override').val(),vfio:$('#vfio_allow_unsafe').val()}, function(data){ $("#settingsForm").submit(); }); diff --git a/emhttp/plugins/dynamix.vm.manager/VMTemplates.page b/emhttp/plugins/dynamix.vm.manager/VMTemplates.page index 3ef5bf021..ce12319e6 100644 --- a/emhttp/plugins/dynamix.vm.manager/VMTemplates.page +++ b/emhttp/plugins/dynamix.vm.manager/VMTemplates.page @@ -38,6 +38,16 @@ Markdown="false" if (strpos($strName,"User-") === false) $user = ""; else $user = ' class="user"'; ?> + +"> +"> +"> + + + + + +
-
+
+ +

\ No newline at end of file +i.export{display:none;font-size:1.8rem;position:left;margin-left:1px} + + +
+
+ +
+
+
_(Save File Name)_:
+
+
_(Save Path)_:
+
+
+
+ +
+
+
_(File for import)_:
+
+
+
+ + +/dev/null\") && is_file('/var/run/libvirt/libvirtd.pid')" --- /dev/null\") && is_fi $docroot ??= ($_SERVER['DOCUMENT_ROOT'] ?: '/usr/local/emhttp'); ?> - +
_(Name)__(Guest CPU)__(Host CPU)__(Memory)__(Disk IO)__(Network IO)_
_(Name)__(Guest CPU)__(Host CPU)__(Memory inuse/Current/Maximum)__(Disk IO)__(Network IO)_
@@ -32,10 +32,7 @@ vmusage.on('message', function(msg){ }); $(function(){ - vmusage.start(); + vmusage.start().monitor(); }); -window.onunload = function(){ - vmusage.stop(); -} \ No newline at end of file diff --git a/emhttp/plugins/dynamix.vm.manager/include/VMMachines.php b/emhttp/plugins/dynamix.vm.manager/include/VMMachines.php index 846cbe874..549fdb9f0 100644 --- a/emhttp/plugins/dynamix.vm.manager/include/VMMachines.php +++ b/emhttp/plugins/dynamix.vm.manager/include/VMMachines.php @@ -78,17 +78,22 @@ foreach ($vms as $vm) { $vmrcurl = ''; $graphics = ''; $virtual = false ; + if (isset($arrConfig['gpu'][0]['model'])) {$vrtdriver=" "._("Driver").strtoupper(":{$arrConfig['gpu'][0]['model']} "); $vrtmodel =$arrConfig['gpu'][0]['model'];} else $vrtdriver = ""; + if (isset($arrConfig['gpu'][0]['render']) && $vrtmodel == "virtio3d") { + if (isset($arrConfig['gpu'][0]['render']) && $arrConfig['gpu'][0]['render'] == "auto") $vrtdriver .= "
"._("RenderGPU").":"._("Auto"); else $vrtdriver .= "
"._("RenderGPU").":{$arrValidGPUDevices[$arrConfig['gpu'][0]['render']]['name']}"; + } if ($vmrcport > 0) { $wsport = $lv->domain_get_ws_port($res); $vmrcprotocol = $lv->domain_get_vmrc_protocol($res); - $vmrcurl = autov('/plugins/dynamix.vm.manager/'.$vmrcprotocol.'.html',true).'&autoconnect=true&host='._var($_SERVER,'HTTP_HOST'); + if ($vmrcprotocol == "vnc") $vmrcscale = "&resize=scale"; else $vmrcscale = ""; + $vmrcurl = autov('/plugins/dynamix.vm.manager/'.$vmrcprotocol.'.html',true).$vmrcscale.'&autoconnect=true&host='._var($_SERVER,'HTTP_HOST'); if ($vmrcprotocol == "spice") $vmrcurl .= '&vmname='. urlencode($vm) .'&port=/wsproxy/'.$vmrcport.'/'; else $vmrcurl .= '&port=&path=/wsproxy/'.$wsport.'/'; - $graphics = strtoupper($vmrcprotocol).":".$vmrcport."\n"; + $graphics = strtoupper($vmrcprotocol).':'._($auto)."$vrtdriver\n"; $virtual = true ; } elseif ($vmrcport == -1 || $autoport) { $vmrcprotocol = $lv->domain_get_vmrc_protocol($res); if ($autoport == "yes") $auto = "auto"; else $auto="manual"; - $graphics = strtoupper($vmrcprotocol).':'._($auto)."\n"; + $graphics = strtoupper($vmrcprotocol).':'._($auto)."$vrtdriver\n"; $virtual = true ; } if (!empty($arrConfig['gpu'])) { @@ -191,7 +196,7 @@ foreach ($vms as $vm) { $title = _('Select ISO image'); $cdstr = $cdromcount." / 2
"; echo ""; - echo "$image$vm
"._($status)." $snapshotstcount
"; + echo "$image$vm
"._($status)."
"; echo "$desc"; echo "$vcpu"; echo "$mem"; diff --git a/emhttp/plugins/dynamix.vm.manager/include/VMajax.php b/emhttp/plugins/dynamix.vm.manager/include/VMajax.php index f8ac42c14..20061e53f 100644 --- a/emhttp/plugins/dynamix.vm.manager/include/VMajax.php +++ b/emhttp/plugins/dynamix.vm.manager/include/VMajax.php @@ -33,30 +33,60 @@ function scan($line, $text) { return stripos($line,$text)!==false; } -function embed(&$syslinux, $key, $value) { - $size = count($syslinux); - $make = false; - $new = strlen($value) ? "$key=$value" : false; - $i = 0; - while ($i < $size) { - // find sections and exclude safemode - if (scan($syslinux[$i],'label ') && !scan($syslinux[$i],'safe mode') && !scan($syslinux[$i],'safemode')) { - $n = $i + 1; - // find the current requested setting - while (!scan($syslinux[$n],'label ') && $n < $size) { - if (scan($syslinux[$n],'append ')) { - $cmd = preg_split('/\s+/',trim($syslinux[$n])); - // replace the existing setting - for ($c = 1; $c < count($cmd); $c++) if (scan($cmd[$c],$key)) {$make |= ($cmd[$c]!=$new); $cmd[$c] = $new; break;} - // or insert the new setting - if ($c==count($cmd) && $new) {array_splice($cmd,-1,0,$new); $make = true;} - $syslinux[$n] = ' '.str_replace(' ',' ',implode(' ',$cmd)); +function embed(&$bootcfg, $env, $key, $value) { + if ($env === 'syslinux') { + $size = count($bootcfg); + $make = false; + $new = strlen($value) ? "$key=$value" : false; + $i = 0; + while ($i < $size) { + // find sections and exclude safemode + if (scan($bootcfg[$i],'label ') && !scan($bootcfg[$i],'safe mode') && !scan($bootcfg[$i],'safemode')) { + $n = $i + 1; + // find the current requested setting + while (!scan($bootcfg[$n],'label ') && $n < $size) { + if (scan($bootcfg[$n],'append ')) { + $cmd = preg_split('/\s+/',trim($bootcfg[$n])); + // replace the existing setting + for ($c = 1; $c < count($cmd); $c++) if (scan($cmd[$c],$key)) {$make |= ($cmd[$c]!=$new); $cmd[$c] = $new; break;} + // or insert the new setting + if ($c==count($cmd) && $new) {array_splice($cmd,-1,0,$new); $make = true;} + $bootcfg[$n] = ' '.str_replace(' ',' ',implode(' ',$cmd)); + } + $n++; } - $n++; + $i = $n - 1; } - $i = $n - 1; + $i++; + } + } elseif ($env === 'grub') { + $size = count($bootcfg); + $make = false; + $new = strlen($value) ? "$key=$value" : false; + $i = 0; + while ($i < $size) { + // find sections and exclude safemode/memtest + if (scan($bootcfg[$i],'menuentry ') && !scan($bootcfg[$i],'safe mode') && !scan($bootcfg[$i],'safemode') && !scan($bootcfg[$i],'memtest')) { + $n = $i + 1; + // find the current requested setting + while (!scan($bootcfg[$n],'menuentry ') && $n < $size) { + if (scan($bootcfg[$n],'linux ')) { + $cmd = preg_split('/\s+/',trim($bootcfg[$n])); + // replace the existing setting + for ($c = 1; $c < count($cmd); $c++) if (scan($cmd[$c],$key)) {$make |= ($cmd[$c]!=$new); $cmd[$c] = $new; break;} + // or insert the new setting + if ($c == count($cmd) && $new) { + $cmd[] = $new; + $make = true; + } + $bootcfg[$n] = ' ' . str_replace(' ', ' ', implode(' ', $cmd)); + } + $n++; + } + $i = $n - 1; + } + $i++; } - $i++; } return $make; } @@ -103,7 +133,8 @@ case 'domain-start-console': $vmrcurl = autov('/plugins/dynamix.vm.manager/'.$protocol.'.html',true).'&autoconnect=true&host='._var($_SERVER,'HTTP_HOST'); if ($protocol == "spice") $vmrcurl .= '&vmname='. urlencode($domName) .'&port=/wsproxy/'.$vmrcport.'/'; else $vmrcurl .= '&port=&path=/wsproxy/'.$wsport.'/'; } - $arrResponse['vmrcurl'] = $vmrcurl; + if ($protocol == "vnc") $vmrcscale = "&resize=scale"; else $vmrcscale = ""; + $arrResponse['vmrcurl'] = $vmrcurl.$vmrcscale; break; case 'domain-start-consoleRV': @@ -119,7 +150,9 @@ case 'domain-start-consoleRV': $vvarray = array() ; $vvarray[] = "[virt-viewer]\n"; $vvarray[] = "type=$protocol\n"; - $vvarray[] = "host="._var($_SERVER,'HTTP_HOST')."\n" ; + $vvarrayhost = _var($_SERVER,'HTTP_HOST'); + if (strpos($vvarrayhost,":")) $vvarrayhost = parse_url($vvarrayhost,PHP_URL_HOST); + $vvarray[] = "host=$vvarrayhost\n" ; $vvarray[] = "port=$port\n" ; $vvarray[] = "delete-this-file=1\n" ; if (!is_dir("/mnt/user/system/remoteviewer")) mkdir("/mnt/user/system/remoteviewer") ; @@ -152,7 +185,9 @@ case 'domain-consoleRV': $vvarray = array() ; $vvarray[] = "[virt-viewer]\n"; $vvarray[] = "type=$protocol\n"; - $vvarray[] = "host="._var($_SERVER,'HTTP_HOST')."\n" ; + $vvarrayhost = _var($_SERVER,'HTTP_HOST'); + if (strpos($vvarrayhost,":")) $vvarrayhost = parse_url($vvarrayhost,PHP_URL_HOST); + $vvarray[] = "host=$vvarrayhost\n" ; $vvarray[] = "port=$port\n" ; $vvarray[] = "delete-this-file=1\n" ; if (!is_dir("/mnt/user/system/remoteviewer")) mkdir("/mnt/user/system/remoteviewer") ; @@ -422,6 +457,61 @@ case 'snap-desc': : ['error' => $lv->get_last_error()]; break; +case 'get_storage_fstype': + $fstype = get_storage_fstype(unscript(_var($_REQUEST,'storage'))); + $arrResponse = ['fstype' => $fstype , 'success' => true] ; + break; + +case 'vm-removal': + requireLibvirt(); + $arrResponse = ($data = getvmsnapshots($domName)) + ? ['success' => true] + : ['error' => $lv->get_last_error()]; + $datartn = $disksrtn = ""; + foreach($data as $snap=>$snapdetail) { + $snapshotdatetime = date("Y-m-d H:i:s",$snapdetail["creationtime"]) ; + $datartn .= "$snap $snapshotdatetime\n" ; + } + $disks = $lv->get_disk_stats($domName); + + foreach($disks as $diskid=>$diskdetail) { + if ($diskid == 0) $pathinfo = pathinfo($diskdetail['file']); + } + + $list = glob($pathinfo['dirname']."/*"); + $uuid = $lv->domain_get_uuid($domName); + + $list2 = glob("/etc/libvirt/qemu/nvram/*$uuid*"); + $listnew = array(); + $list=array_merge($list,$list2); + foreach($list as $key => $listent) + { + $pathinfo = pathinfo($listent); + $listnew[] = "{$pathinfo['basename']} ({$pathinfo['dirname']})"; + } + sort($listnew,SORT_NATURAL); + $listcount = count($listnew); + $snapcount = count($data); + $disksrtn=implode("\n",$listnew); + + + + if (strpos($dirname,'/mnt/user/')===0) { + $realdisk = trim(shell_exec("getfattr --absolute-names --only-values -n system.LOCATION ".escapeshellarg($dirname)." 2>/dev/null")); + if (!empty($realdisk)) { + $dirname = str_replace('/mnt/user/', "/mnt/$realdisk/", $dirname); + } + } + $fstype = trim(shell_exec(" stat -f -c '%T' $dirname")); + $html = ' + + + + +
'._('VM Being removed').':'.$domName.'
'._('Remove all files').':
'._('Files being removed').':
'._('Snapshots being removed').':
'; + $arrResponse = ['html' => $html , 'success' => true] ; + break; + case 'disk-create': $disk = $_REQUEST['disk']; $driver = $_REQUEST['driver']; @@ -536,26 +626,39 @@ case 'hot-detach-usb': //TODO break; -case 'syslinux': - $cfg = '/boot/syslinux/syslinux.cfg'; - $syslinux = file($cfg, FILE_IGNORE_NEW_LINES+FILE_SKIP_EMPTY_LINES); - $m1 = embed($syslinux, 'pcie_acs_override', $_REQUEST['pcie']); - $m2 = embed($syslinux, 'vfio_iommu_type1.allow_unsafe_interrupts', $_REQUEST['vfio']); - if ($m1||$m2) file_put_contents($cfg, implode("\n",$syslinux)."\n"); +case 'cmdlineoverride': + if (is_file('/boot/syslinux/syslinux.cfg')) { + $cfg = '/boot/syslinux/syslinux.cfg'; + $env = 'syslinux'; + $bootcfg = file($cfg, FILE_IGNORE_NEW_LINES+FILE_SKIP_EMPTY_LINES); + } elseif (is_file('/boot/grub/grub.cfg')) { + $cfg = '/boot/grub/grub.cfg'; + $env = 'grub'; + $bootcfg = file($cfg, FILE_IGNORE_NEW_LINES); + } + $m1 = embed($bootcfg, $env, 'pcie_acs_override', $_REQUEST['pcie']); + $m2 = embed($bootcfg, $env, 'vfio_iommu_type1.allow_unsafe_interrupts', $_REQUEST['vfio']); + if ($m1||$m2) file_put_contents($cfg, implode("\n",$bootcfg)."\n"); $arrResponse = ['success' => true, 'modified' => $m1|$m2]; break; case 'reboot': - $cfg = '/boot/syslinux/syslinux.cfg'; - $syslinux = file($cfg, FILE_IGNORE_NEW_LINES+FILE_SKIP_EMPTY_LINES); + if (is_file('/boot/syslinux/syslinux.cfg')) { + $cfg = '/boot/syslinux/syslinux.cfg'; + $env = 'syslinux'; + } elseif (is_file('/boot/grub/grub.cfg')) { + $cfg = '/boot/grub/grub.cfg'; + $env = 'grub'; + } + $bootcfg = file($cfg, FILE_IGNORE_NEW_LINES+FILE_SKIP_EMPTY_LINES); $cmdline = explode(' ',file_get_contents('/proc/cmdline')); $pcie = $vfio = ''; foreach ($cmdline as $cmd) { if (scan($cmd,'pcie_acs_override')) $pcie = explode('=',$cmd)[1]; if (scan($cmd,'allow_unsafe_interrupts')) $vfio = explode('=',$cmd)[1]; } - $m1 = embed($syslinux, 'pcie_acs_override', $pcie); - $m2 = embed($syslinux, 'vfio_iommu_type1.allow_unsafe_interrupts', $vfio); + $m1 = embed($bootcfg, $env, 'pcie_acs_override', $pcie); + $m2 = embed($bootcfg, $env, 'vfio_iommu_type1.allow_unsafe_interrupts', $vfio); $arrResponse = ['success' => true, 'modified' => $m1|$m2]; break; @@ -769,6 +872,50 @@ case 'vm-template-remove': $arrResponse = ['success' => true]; break; +case 'vm-template-save': + $template = $_REQUEST['template']; + $name = $_REQUEST['name']; + $replace = $_REQUEST['replace']; + + if (is_file($name) && $replace == "no"){ + $arrResponse = ['success' => false, 'error' => _("File exists.")]; + } else { + $error = file_put_contents($name,json_encode($template)); + if ($error !== false) $arrResponse = ['success' => true]; + else { + $arrResponse = ['success' => false, 'error' => _("File write failed.")]; + } + } + break; + +case 'vm-template-import': + $template = $_REQUEST['template']; + $name = $_REQUEST['name']; + $replace = $_REQUEST['replace']; + $templateslocation = "/boot/config/plugins/dynamix.vm.manager/savedtemplates.json"; + + if ($template==="*file") { + $template=json_decode(file_get_contents($name)); + } + + $namepathinfo = pathinfo($name); + $template_name = $namepathinfo['filename']; + + if (is_file($templateslocation)){ + $ut = json_decode(file_get_contents($templateslocation),true) ; + if (isset($ut[$template_name]) && $replace == "no"){ + $arrResponse = ['success' => false, 'error' => _("Template exists.")]; + } else { + $ut[$template_name] = $template; + $error = file_put_contents($templateslocation,json_encode($ut,JSON_PRETTY_PRINT));; + if ($error !== false) $arrResponse = ['success' => true]; + else { + $arrResponse = ['success' => false, 'error' => _("Tempalte file write failed.")]; + } + } + } + break; + default: $arrResponse = ['error' => _('Unknown action')." '$action'"]; break; diff --git a/emhttp/plugins/dynamix.vm.manager/include/VMedit.php b/emhttp/plugins/dynamix.vm.manager/include/VMedit.php index cb2592dd1..cd0768870 100644 --- a/emhttp/plugins/dynamix.vm.manager/include/VMedit.php +++ b/emhttp/plugins/dynamix.vm.manager/include/VMedit.php @@ -1,6 +1,6 @@ _(Icon)_: - +
'/plugins/dynamix.vm.manager/templates/images/', - "$docroot/boot/config/plugins/dynamix.vm.manager/templates/images/*.png" => '/boot/config/plugins/dynamix.vm.manager/templates/images/' - ]; - foreach ($arrImagePaths as $strGlob => $strIconURLBase) { - foreach (glob($strGlob) as $png_file) { - echo '

'.basename($png_file,'.png').'

'; - } + $arrImagePaths = [ + "$docroot/plugins/dynamix.vm.manager/templates/images/*.png" => '/plugins/dynamix.vm.manager/templates/images/', + "$docroot/boot/config/plugins/dynamix.vm.manager/templates/images/*.png" => '/boot/config/plugins/dynamix.vm.manager/templates/images/' + ]; + foreach ($arrImagePaths as $strGlob => $strIconURLBase) { + foreach (glob($strGlob) as $png_file) { + echo '

'.basename($png_file,'.png').'

'; } + } ?>
+ + + + _(Autostart)_: + + > + + - - - - - -
_(Autostart)_:
>

If you want this VM to start with the array, set this to yes.

'.parse_file("$docroot/plugins/dynamix.vm.manager/templates/{$arrLoad['form']}",false))?>
- @@ -167,18 +168,17 @@ function isinlineXMLMode() { return ($.cookie('vmmanager_inline_mode') == 'show'); } -function hidexml(checked) -{ +function hidexml(checked) { var form = document.getElementById("vmform"); // Replace "yourFormId" with the actual ID of your form - var xmlElements = form.getElementsByClassName("xml"); - if (checked == 0) xmldisplay = "none"; else xmldisplay = ""; - // Unhide each element - for (var i = 0; i < xmlElements.length; i++) { - xmlElements[i].style.display = xmldisplay; // Setting to empty string will revert to default style -} + var xmlElements = form.getElementsByClassName("xml"); + if (checked == 0) xmldisplay = "none"; else xmldisplay = ""; + // Unhide each element + for (var i = 0; i < xmlElements.length; i++) { + xmlElements[i].style.display = xmldisplay; // Setting to empty string will revert to default style + } } -$(function() { +$(function(){ $('.autostart').switchButton({ on_label: "_(Yes)_", off_label: "_(No)_", @@ -189,13 +189,13 @@ $(function() { }); $('.advancedview').switchButton({ - labels_placement: "left", + labels_placement: "right", on_label: "_(XML View)_", off_label: "_(Form View)_", checked: isVMXMLMode() }); $('.inlineview').switchButton({ - labels_placement: "left", + labels_placement: "right", off_label: "_(Hide inline xml)_", on_label: "_(Show Inline XML)_", checked: isinlineXMLMode() diff --git a/emhttp/plugins/dynamix.vm.manager/include/libvirt.php b/emhttp/plugins/dynamix.vm.manager/include/libvirt.php index 32019d6fc..69f77f5c5 100644 --- a/emhttp/plugins/dynamix.vm.manager/include/libvirt.php +++ b/emhttp/plugins/dynamix.vm.manager/include/libvirt.php @@ -1,5 +1,6 @@ set_logfile($debug); - if ($uri != false) { - $this->enabled = $this->connect($uri, $login, $pwd); + function Libvirt($uri=false, $login=false, $pwd=false, $debug=false) { + if ($debug) { + $this->set_logfile($debug); + } + if ($uri != false) { + $this->enabled = $this->connect($uri, $login, $pwd); + } + } + + function __construct($uri=false, $login=false, $pwd=false, $debug=false) { + if ($debug) { + $this->set_logfile($debug); + } + if ($uri != false) { + $this->enabled = $this->connect($uri, $login, $pwd); + } + } + + function _set_last_error() { + $this->last_error = libvirt_get_last_error(); + return false; + } + + function enabled() { + return $this->enabled; + } + + function set_logfile($filename) { + if (!libvirt_logfile_set($filename,10000)) return $this->_set_last_error(); + return true; + } + + function get_capabilities() { + $tmp = libvirt_connect_get_capabilities($this->conn); + return $tmp ?: $this->_set_last_error(); + } + + function get_domain_capabilities($emulatorbin, $arch, $machine, $virttype, $xpath) { + #@conn [resource]: resource for connection + #@emulatorbin [string]: optional path to emulator + #@arch [string]: optional domain architecture + #@machine [string]: optional machine type + #@virttype [string]: optional virtualization type + #@flags [int] : extra flags; not used yet, so callers should always pass 0 + #@xpath [string]: optional xPath query to be applied on the result + #Returns: : domain capabilities XML from the connection or FALSE for error + $tmp = libvirt_connect_get_domain_capabilities($this->conn, $emulatorbin, $arch, $machine, $virttype, 0, $xpath); + return $tmp ?: $this->_set_last_error(); + } + + function get_machine_types($arch='x86_64' /* or 'i686' */) { + $tmp = libvirt_connect_get_machine_types($this->conn); + if (!$tmp) return $this->_set_last_error(); + if (empty($tmp[$arch])) return []; + return $tmp[$arch]; + } + + function get_default_emulator() { + $tmp = libvirt_connect_get_capabilities($this->conn, '//capabilities/guest/arch/domain/emulator'); + return $tmp ?: $this->_set_last_error(); + } + + function set_folder_nodatacow($folder) { + if (!is_dir($folder)) return false; + $folder = transpose_user_path($folder); + #@shell_exec("chattr +C -R ".escapeshellarg($folder)." &>/dev/null"); + return true; + } + + function create_disk_image($disk, $vmname='', $diskid=1) { + $arrReturn = []; + if (!empty($disk['size'])) { + $disk['size'] = str_replace(["KB","MB","GB","TB","PB"], ["K","M","G","T","P"], strtoupper($disk['size'])); + } + if (empty($disk['driver'])) { + $disk['driver'] = 'raw'; + } + // if new is a folder then + // if existing then + // create folder 'new/vmname' + // create image file as new/vmname/vdisk[1-x].xxx + // if doesn't exist then + // create folder 'new' + // create image file as new/vdisk[1-x].xxx + // if new is a file then + // if existing then + // nothing to do + // if doesn't exist then + // create folder dirname('new') if needed + // create image file as new --> if size is specified + if (!empty($disk['new'])) { + if (is_file($disk['new']) || is_block($disk['new'])) $disk['image'] = $disk['new']; + } + if (!empty($disk['image'])) { + // Use existing disk image + if (is_block($disk['image'])) { + // Valid block device, return as-is + return $disk; } - } - - function __construct($uri = false, $login = false, $pwd = false, $debug=false) { - if ($debug) - $this->set_logfile($debug); - if ($uri != false) { - $this->enabled = $this->connect($uri, $login, $pwd); - } - } - - function _set_last_error() { - $this->last_error = libvirt_get_last_error(); - return false; - } - - function enabled() { - return $this->enabled; - } - - function set_logfile($filename) { - if (!libvirt_logfile_set($filename,10000)) - return $this->_set_last_error(); - - return true; - } - - function get_capabilities() { - $tmp = libvirt_connect_get_capabilities($this->conn); - return ($tmp) ? $tmp : $this->_set_last_error(); - } - - function get_machine_types($arch = 'x86_64' /* or 'i686' */) { - $tmp = libvirt_connect_get_machine_types($this->conn); - - if (!$tmp) - return $this->_set_last_error(); - - if (empty($tmp[$arch])) - return []; - - return $tmp[$arch]; - } - - function get_default_emulator() { - $tmp = libvirt_connect_get_capabilities($this->conn, '//capabilities/guest/arch/domain/emulator'); - return ($tmp) ? $tmp : $this->_set_last_error(); - } - - function set_folder_nodatacow($folder) { - if (!is_dir($folder)) { - return false; - } - - $folder = transpose_user_path($folder); - - #@shell_exec("chattr +C -R " . escapeshellarg($folder) . " &>/dev/null"); - - return true; - } - - function create_disk_image($disk, $vmname = '', $diskid = 1) { - $arrReturn = []; - - if (!empty($disk['size'])) { - $disk['size'] = str_replace(["KB","MB","GB","TB","PB"], ["K","M","G","T","P"], strtoupper($disk['size'])); - } - if (empty($disk['driver'])) { - $disk['driver'] = 'raw'; - } - - // if new is a folder then - // if existing then - // create folder 'new/vmname' - // create image file as new/vmname/vdisk[1-x].xxx - // if doesn't exist then - // create folder 'new' - // create image file as new/vdisk[1-x].xxx - - // if new is a file then - // if existing then - // nothing to do - // if doesn't exist then - // create folder dirname('new') if needed - // create image file as new --> if size is specified - - if (!empty($disk['new'])) { - if (is_file($disk['new']) || is_block($disk['new'])) { - $disk['image'] = $disk['new']; + if (is_file($disk['image'])) { + $json_info = getDiskImageInfo($disk['image']); + $disk['driver'] = $json_info['format']; + if (!empty($disk['size'])) { + //TODO: expand disk image if size param is larger } + return $disk; } - - if (!empty($disk['image'])) { - // Use existing disk image - - if (is_block($disk['image'])) { - // Valid block device, return as-is - return $disk; - } - - if (is_file($disk['image'])) { - $json_info = getDiskImageInfo($disk['image']); - $disk['driver'] = $json_info['format']; - - if (!empty($disk['size'])) { - //TODO: expand disk image if size param is larger - } - - return $disk; - } - - $disk['new'] = $disk['image']; + $disk['new'] = $disk['image']; + } + if (!empty($disk['new'])) { + // Create new disk image + $strImgFolder = $disk['new']; + $strImgPath = ''; + if (strpos($strImgFolder, '/dev/') === 0) { + // ERROR invalid block device + $arrReturn = [ + 'error' => "Not a valid block device location '".$strImgFolder."'" + ]; + return $arrReturn; } - - if (!empty($disk['new'])) { - // Create new disk image - $strImgFolder = $disk['new']; - $strImgPath = ''; - - if (strpos($strImgFolder, '/dev/') === 0) { - // ERROR invalid block device - $arrReturn = [ - 'error' => "Not a valid block device location '" . $strImgFolder . "'" - ]; - - return $arrReturn; + if (empty($disk['size'])) { + // ERROR invalid disk size + $arrReturn = [ + 'error' => "Please specify a disk size for '".$strImgFolder."'" + ]; + return $arrReturn; + } + $path_parts = pathinfo($strImgFolder); + if (empty($path_parts['extension'])) { + // 'new' is a folder + if (substr($strImgFolder, -1) != '/') { + $strImgFolder .= '/'; } - - if (empty($disk['size'])) { - // ERROR invalid disk size - $arrReturn = [ - 'error' => "Please specify a disk size for '" . $strImgFolder . "'" - ]; - - return $arrReturn; + if (is_dir($strImgFolder)) { + // 'new' is a folder and already exists, append vmname folder + $strImgFolder .= preg_replace('((^\.)|\/|(\.$))', '_', $vmname).'/'; } - - $path_parts = pathinfo($strImgFolder); - if (empty($path_parts['extension'])) { - // 'new' is a folder - - if (substr($strImgFolder, -1) != '/') { - $strImgFolder .= '/'; - } - - if (is_dir($strImgFolder)) { - // 'new' is a folder and already exists, append vmname folder - $strImgFolder .= preg_replace('((^\.)|\/|(\.$))', '_', $vmname) . '/'; - } - + // create folder if needed + if (!is_dir($strImgFolder)) { + #mkdir($strImgFolder, 0777, true); + my_mkdir($strImgFolder, 0777, true); + #chown($strImgFolder, 'nobody'); + #chgrp($strImgFolder, 'users'); + } + $this->set_folder_nodatacow($strImgFolder); + $strExt = ($disk['driver'] == 'raw') ? 'img' : $disk['driver']; + $strImgPath = $strImgFolder.'vdisk'.$diskid.'.'.$strExt; + } else { + // 'new' is a file + // create parent folder if needed + if (!is_dir($path_parts['dirname'])) { + #mkdir($path_parts['dirname'], 0777, true); + my_mkdir($path_parts['dirname'], 0777, true); + #chown($path_parts['dirname'], 'nobody'); + #chgrp($path_parts['dirname'], 'users'); + } + $this->set_folder_nodatacow($path_parts['dirname']); + $strExt = ($disk['driver'] == 'raw') ? 'img' : $disk['driver']; + $strImgPath = $path_parts['dirname'].'/vdisk'.$diskid.'.'.$strExt; + } + if (is_file($strImgPath)) { + $json_info = getDiskImageInfo($strImgPath); + $disk['driver'] = $json_info['format']; + $return_value = 0; + } else { + $strImgRawLocationPath = $strImgPath; + if (!empty($disk['storage']) && !empty($disk['select']) && $disk['select'] == 'auto' && $disk['storage'] != "default") $disk['select'] = $disk['storage']; + if (!empty($disk['select']) && (!in_array($disk['select'], ['auto', 'manual'])) && (is_dir('/mnt/'.$disk['select']))) { + // Force qemu disk creation to happen directly on either cache/disk1/disk2 ect based on dropdown selection + $strImgRawLocationPath = str_replace('/mnt/user/', '/mnt/'.$disk['select'].'/', $strImgPath); // create folder if needed - if (!is_dir($strImgFolder)) { - #mkdir($strImgFolder, 0777, true); - my_mkdir($strImgFolder, 0777, true); - #chown($strImgFolder, 'nobody'); - #chgrp($strImgFolder, 'users'); + $strImgRawLocationParent = dirname($strImgRawLocationPath); + if (!is_dir($strImgRawLocationParent)) { + #mkdir($strImgRawLocationParent, 0777, true); + my_mkdir($strImgRawLocationParent, 0777, true); + #chown($strImgRawLocationParent, 'nobody'); + #chgrp($strImgRawLocationParent, 'users'); } - - $this->set_folder_nodatacow($strImgFolder); - - $strExt = ($disk['driver'] == 'raw') ? 'img' : $disk['driver']; - - $strImgPath = $strImgFolder . 'vdisk' . $diskid . '.' . $strExt; - - } else { - // 'new' is a file - - // create parent folder if needed - if (!is_dir($path_parts['dirname'])) { - #mkdir($path_parts['dirname'], 0777, true); - my_mkdir($path_parts['dirname'], 0777, true); - #chown($path_parts['dirname'], 'nobody'); - #chgrp($path_parts['dirname'], 'users'); - } - - $this->set_folder_nodatacow($path_parts['dirname']); - - $strExt = ($disk['driver'] == 'raw') ? 'img' : $disk['driver']; - $strImgPath = $path_parts['dirname'] . '/vdisk' . $diskid . '.' . $strExt; + $this->set_folder_nodatacow($strImgRawLocationParent); } - - + $strLastLine = exec("qemu-img create -q -f ".escapeshellarg($disk['driver'])." ".escapeshellarg($strImgRawLocationPath)." ".escapeshellarg($disk['size'])." 2>&1", $output, $return_value); if (is_file($strImgPath)) { - $json_info = getDiskImageInfo($strImgPath); - $disk['driver'] = $json_info['format']; - $return_value = 0; - } else { - $strImgRawLocationPath = $strImgPath; - if (!empty($disk['storage']) && !empty($disk['select']) && $disk['select'] == 'auto' && $disk['storage'] != "default") $disk['select'] = $disk['storage']; - if (!empty($disk['select']) && (!in_array($disk['select'], ['auto', 'manual'])) && (is_dir('/mnt/'.$disk['select']))) { - // Force qemu disk creation to happen directly on either cache/disk1/disk2 ect based on dropdown selection - $strImgRawLocationPath = str_replace('/mnt/user/', '/mnt/'.$disk['select'].'/', $strImgPath); - - // create folder if needed - $strImgRawLocationParent = dirname($strImgRawLocationPath); - if (!is_dir($strImgRawLocationParent)) { - #mkdir($strImgRawLocationParent, 0777, true); - my_mkdir($strImgRawLocationParent, 0777, true); - #chown($strImgRawLocationParent, 'nobody'); - #chgrp($strImgRawLocationParent, 'users'); - } - - $this->set_folder_nodatacow($strImgRawLocationParent); - } - - $strLastLine = exec("qemu-img create -q -f ".escapeshellarg($disk['driver'])." ".escapeshellarg($strImgRawLocationPath)." ".escapeshellarg($disk['size'])." 2>&1", $output, $return_value); - - if (is_file($strImgPath)) { - chmod($strImgPath, 0777); - chown($strImgPath, 'nobody'); - chgrp($strImgPath, 'users'); - } - } - - if ($return_value != 0) { - - // ERROR during image creation, return message to user - $arrReturn = [ - 'error' => "Error creating disk image '" . $strImgPath . "': " . $strLastLine, - 'error_output' => $output - ]; - - } else { - - // Success! - $arrReturn = [ - 'image' => $strImgPath, - 'driver' => $disk['driver'] - ]; - if (!empty($disk['dev'])) { - $arrReturn['dev'] = $disk['dev']; - } - if (!empty($disk['bus'])) { - $arrReturn['bus'] = $disk['bus']; - } - if (!empty($disk['boot'])) { - $arrReturn['boot'] = $disk['boot']; - } - if (!empty($disk['rotation'])) { - $arrReturn['rotation'] = $disk['rotation']; - } - if (!empty($disk['serial'])) { - $arrReturn['serial'] = $disk['serial']; - } - + chmod($strImgPath, 0777); + chown($strImgPath, 'nobody'); + chgrp($strImgPath, 'users'); + } + } + if ($return_value != 0) { + // ERROR during image creation, return message to user + $arrReturn = [ + 'error' => "Error creating disk image '".$strImgPath."': ".$strLastLine, + 'error_output' => $output + ]; + } else { + // Success! + $arrReturn = [ + 'image' => $strImgPath, + 'driver' => $disk['driver'] + ]; + if (!empty($disk['dev'])) { + $arrReturn['dev'] = $disk['dev']; + } + if (!empty($disk['bus'])) { + $arrReturn['bus'] = $disk['bus']; + } + if (!empty($disk['boot'])) { + $arrReturn['boot'] = $disk['boot']; + } + if (!empty($disk['rotation'])) { + $arrReturn['rotation'] = $disk['rotation']; + } + if (!empty($disk['serial'])) { + $arrReturn['serial'] = $disk['serial']; + } + if (!empty($disk['discard'])) { + $arrReturn['discard'] = $disk['discard']; } } - - return $arrReturn; } + return $arrReturn; + } - - function config_to_xml($config,$vmclone = false) { - $domain = $config['domain']; - $media = $config['media']; - $nics = $config['nic']; - $disks = $config['disk']; - $usb = $config['usb']; - $usbopt = $config['usbopt']; - $usbboot = $config['usbboot']; - $shares = $config['shares']; - $gpus = $config['gpu']; - $pcis = $config['pci']; - $pciboot = $config['pciboot']; - $audios = $config['audio']; - $template = $config['template']; - $clocks = $config['clock']; - $evdevs = $config['evdev']; - - $type = $domain['type']; - $name = $domain['name']; - $mem = $domain['mem']; - $maxmem = (!empty($domain['maxmem'])) ? $domain['maxmem'] : $mem; - $uuid = (!empty($domain['uuid']) ? $domain['uuid'] : $this->domain_generate_uuid()); - $machine = $domain['machine']; - $machine_type = (stripos($machine, 'q35') !== false ? 'q35' : 'pc'); - $os_type = ((empty($template['os']) || stripos($template['os'], 'windows') === false) ? 'other' : 'windows'); - //$emulator = $this->get_default_emulator(); - $emulator = '/usr/local/sbin/qemu'; - $arch = $domain['arch']; - $pae = ($arch == 'i686') ? '' : ''; - - $loader = ''; - $swtpm = ''; - $osbootdev = ''; - if (!empty($domain['ovmf'])) { - if ($domain['ovmf'] == 1) { - if (!is_file('/etc/libvirt/qemu/nvram/'.$uuid.'_VARS-pure-efi.fd')) { - // Create a new copy of OVMF VARS for this VM - mkdir('/etc/libvirt/qemu/nvram/', 0777, true); - copy('/usr/share/qemu/ovmf-x64/OVMF_VARS-pure-efi.fd', '/etc/libvirt/qemu/nvram/'.$uuid.'_VARS-pure-efi.fd'); - } + function config_to_xml($config, $vmclone=false) { + $domain = $config['domain']; + $media = $config['media']; + $nics = $config['nic']; + $disks = $config['disk']; + $usb = $config['usb']; + $usbopt = $config['usbopt']; + $usbboot = $config['usbboot']; + $shares = $config['shares']; + $gpus = $config['gpu']; + $pcis = $config['pci']; + $pciboot = $config['pciboot']; + $audios = $config['audio']; + $template = $config['template']; + $clocks = $config['clock']; + $evdevs = $config['evdev']; + $type = $domain['type']; + $name = $domain['name']; + $mem = $domain['mem']; + $maxmem = (!empty($domain['maxmem'])) ? $domain['maxmem'] : $mem; + $uuid = (!empty($domain['uuid']) ? $domain['uuid'] : $this->domain_generate_uuid()); + $machine = $domain['machine']; + $machine_type = (stripos($machine, 'q35') !== false ? 'q35' : 'pc'); + $os_type = ((empty($template['os']) || stripos($template['os'], 'windows') === false) ? 'other' : 'windows'); + //$emulator = $this->get_default_emulator(); + $emulator = '/usr/local/sbin/qemu'; + $arch = $domain['arch']; + $pae = ($arch == 'i686') ? '' : ''; + $loader = ''; + $swtpm = ''; + $osbootdev = ''; + if (!empty($domain['ovmf'])) { + if ($domain['ovmf'] == 1) { + if (!is_file('/etc/libvirt/qemu/nvram/'.$uuid.'_VARS-pure-efi.fd')) { + // Create a new copy of OVMF VARS for this VM + mkdir('/etc/libvirt/qemu/nvram/', 0777, true); + copy('/usr/share/qemu/ovmf-x64/OVMF_VARS-pure-efi.fd', '/etc/libvirt/qemu/nvram/'.$uuid.'_VARS-pure-efi.fd'); + } if (is_file('/etc/libvirt/qemu/nvram/'.$uuid.'_VARS-pure-efi-tpm.fd')) { // Delete OVMF-TPM VARS for this VM if found unlink('/etc/libvirt/qemu/nvram/'.$uuid.'_VARS-pure-efi-tpm.fd'); - } - - $loader = "/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd - /etc/libvirt/qemu/nvram/".$uuid."_VARS-pure-efi.fd"; - if ($domain['usbboot'] == 'Yes') $osbootdev = "" ; - } - if ($domain['ovmf'] == 2) { - if (!is_file('/etc/libvirt/qemu/nvram/'.$uuid.'_VARS-pure-efi-tpm.fd')) { - // Create a new copy of OVMF VARS for this VM - mkdir('/etc/libvirt/qemu/nvram/', 0777, true); - copy('/usr/share/qemu/ovmf-x64/OVMF_VARS-pure-efi-tpm.fd', '/etc/libvirt/qemu/nvram/'.$uuid.'_VARS-pure-efi-tpm.fd'); - } + } + $loader = "/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd + /etc/libvirt/qemu/nvram/".$uuid."_VARS-pure-efi.fd"; + if ($domain['usbboot'] == 'Yes') $osbootdev = ""; + } + if ($domain['ovmf'] == 2) { + if (!is_file('/etc/libvirt/qemu/nvram/'.$uuid.'_VARS-pure-efi-tpm.fd')) { + // Create a new copy of OVMF VARS for this VM + mkdir('/etc/libvirt/qemu/nvram/', 0777, true); + copy('/usr/share/qemu/ovmf-x64/OVMF_VARS-pure-efi-tpm.fd', '/etc/libvirt/qemu/nvram/'.$uuid.'_VARS-pure-efi-tpm.fd'); + } if (is_file('/etc/libvirt/qemu/nvram/'.$uuid.'_VARS-pure-efi.fd')) { // Delete OVMF VARS for this VM if found unlink('/etc/libvirt/qemu/nvram/'.$uuid.'_VARS-pure-efi.fd'); - } - - $loader = "/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi-tpm.fd - /etc/libvirt/qemu/nvram/".$uuid."_VARS-pure-efi-tpm.fd"; - + } + $loader = "/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi-tpm.fd + /etc/libvirt/qemu/nvram/".$uuid."_VARS-pure-efi-tpm.fd"; $swtpm = " - - "; - if ($domain['usbboot'] == 'Yes') $osbootdev = "" ; - } - } - - - $metadata = ''; - if (!empty($template)) { - $metadata .= ""; - $template_options = ''; - foreach ($template as $key => $value) { - $template_options .= $key . "='" . htmlspecialchars($value, ENT_QUOTES | ENT_XML1) . "' "; - } - $metadata .= ""; - $metadata .= ""; + + "; + if ($domain['usbboot'] == 'Yes') $osbootdev = ""; } - - $vcpus = 1; - $vcpupinstr = ''; - - if (!empty($domain['vcpu']) && is_array($domain['vcpu'])) { - $vcpus = count($domain['vcpu']); - foreach($domain['vcpu'] as $i => $vcpu) { - $vcpupinstr .= ""; - } - } elseif (!empty($domain['vcpus'])) { - $vcpus = $domain['vcpus']; - for ($i=0; $i < $vcpus; $i++) { - $vcpupinstr .= ""; + } + $metadata = ''; + if (!empty($template)) { + $metadata .= ""; + $template_options = ''; + foreach ($template as $key => $value) { + $template_options .= $key."='".htmlspecialchars($value, ENT_QUOTES | ENT_XML1)."' "; + } + $metadata .= ""; + $metadata .= ""; + } + $vcpus = $domain['vcpus']; + $vcpupinstr = ''; + if (!empty($domain['vcpu']) && is_array($domain['vcpu'])) { + $vcpus = count($domain['vcpu']); + foreach($domain['vcpu'] as $i => $vcpu) { + $vcpupinstr .= ""; + } + } + $intCores = $vcpus; + $intThreads = 1; + $intCPUThreadsPerCore = 1; + $cpumode = ''; + $cpucache = ''; + $cpufeatures = ''; + $cpumigrate = ''; + $cpucheck = ''; + $cpumatch = ''; + $cpucustom = ''; + $cpufallback = ''; + if (!empty($domain['cpumode']) && $domain['cpumode'] == 'host-passthrough') { + $cpumode .= "mode='host-passthrough'"; + $cpucache = ""; + // detect if the processor is hyperthreaded: + $intCPUThreadsPerCore = max(intval(shell_exec('/usr/bin/lscpu | grep \'Thread(s) per core\' | awk \'{print $4}\'')), 1); + // detect if the processor is AMD + multithreaded, and if so, enable topoext cpu feature + if ($intCPUThreadsPerCore > 1) { + $strCPUInfo = file_get_contents('/proc/cpuinfo'); + if (strpos($strCPUInfo, 'AuthenticAMD') !== false) { + $cpufeatures .= ""; } } - - $intCores = $vcpus; - $intThreads = 1; - $intCPUThreadsPerCore = 1; - - $cpumode = ''; - $cpucache = ''; - $cpufeatures = ''; - $cpumigrate = ''; - if (!empty($domain['cpumode']) && $domain['cpumode'] == 'host-passthrough') { - $cpumode .= "mode='host-passthrough'"; - $cpucache = ""; - - // detect if the processor is hyperthreaded: - $intCPUThreadsPerCore = max(intval(shell_exec('/usr/bin/lscpu | grep \'Thread(s) per core\' | awk \'{print $4}\'')), 1); - - // detect if the processor is AMD + multithreaded, and if so, enable topoext cpu feature - if ($intCPUThreadsPerCore > 1) { - $strCPUInfo = file_get_contents('/proc/cpuinfo'); - if (strpos($strCPUInfo, 'AuthenticAMD') !== false) { - $cpufeatures .= ""; - } - } - - // even amount of cores assigned and cpu is hyperthreaded: pass that info along to the cpu section below - if ($intCPUThreadsPerCore > 1 && ($vcpus % $intCPUThreadsPerCore == 0)) { - $intCores = $vcpus / $intCPUThreadsPerCore; - $intThreads = $intCPUThreadsPerCore; - } - - if (!empty($domain['cpumigrate'])) $cpumigrate = " migratable='".$domain['cpumigrate']."'" ; + // even amount of cores assigned and cpu is hyperthreaded: pass that info along to the cpu section below + if ($intCPUThreadsPerCore > 1 && ($vcpus % $intCPUThreadsPerCore == 0)) { + $intCores = $vcpus / $intCPUThreadsPerCore; + $intThreads = $intCPUThreadsPerCore; } - - $cpustr = " - - $cpucache - $cpufeatures - - {$vcpus} - - $vcpupinstr - "; - - $usbmode = 'usb3'; - if (!empty($domain['usbmode'])) { - $usbmode = $domain['usbmode']; - } - - $ctrl = ''; - switch ($usbmode) { - case 'usb3': - $ctrl = " -
- "; - break; - - case 'usb3-qemu': - $ctrl = " -
- "; - break; - - case 'usb2': - $ctrl = " -
- - - -
- - - -
- - - -
- "; - break; - } - - /* - if ($os_type == "windows") $hypervclock = "" ; else $hypervclock = "" ; - - $clock = " - - + if (!empty($domain['cpumigrate'])) $cpumigrate = " migratable='".$domain['cpumigrate']."'"; + } + # + #Skylake-Client-noTSX-IBRS + $cpustr = " + + $cpucache + $cpufeatures + + {$vcpus} + + $vcpupinstr + "; + $usbmode = 'usb3'; + if (!empty($domain['usbmode'])) { + $usbmode = $domain['usbmode']; + } + $ctrl = ''; + switch ($usbmode) { + case 'usb3': + $ctrl = " +
+ "; + break; + case 'usb3-qemu': + $ctrl = " +
+ "; + break; + case 'usb2': + $ctrl = " +
+ + + +
+ + + +
+ + + +
+ "; + break; + } + /* + if ($os_type == "windows") $hypervclock = ""; else $hypervclock = ""; + $clock = " + + + + $hypervclock + "; + $hyperv = ''; + if ($domain['hyperv'] == 1 && $os_type == "windows") { + $hyperv = " + + + + + "; + $clock = " + - $hypervclock "; - - $hyperv = ''; - if ($domain['hyperv'] == 1 && $os_type == "windows") { - $hyperv = " - - - - - "; - - $clock = " - - - "; + } + */ + $clock = ""; + foreach ($clocks as $clockname => $clockvalues) { + switch ($clockname){ + case "rtc": + if ($clockvalues['present'] == "yes") $clock .= ""; + break; + case "pit": + if ($clockvalues['present'] == "yes") $clock .= ""; + break; + case "hpet": + $clock .= ""; + break; + case "hypervclock": + $clock .= ""; + break; } - */ - - $clock = "" ; - foreach ($clocks as $clockname => $clockvalues) { - switch ($clockname){ - case "rtc": - if ($clockvalues['present'] == "yes") $clock .= ""; - break ; - case "pit": - if ($clockvalues['present'] == "yes") $clock .= ""; - break ; - case "hpet": - $clock .= "" ; - break ; - case "hypervclock": - $clock .= "" ; - break ; + } + $hyperv = ""; + if ($domain['hyperv'] == 1 && $os_type == "windows") { + $hyperv = " + + + + "; + if ($clocks['hypervclock']['present'] == "yes") { + $hyperv .= ""; + } + $hyperv .=""; + # $clock = " + # + # "; + } + $clock .= ""; + $usbstr = ''; + if (!empty($usb)) { + foreach($usb as $i => $v){ + if ($vmclone) $usbx = explode(':', $v['id']); else $usbx = explode(':', $v); + $startupPolicy = ''; + if (isset($usbopt[$v]) && !$vmclone ) { + if (strpos($usbopt[$v], "#remove") == false) $startupPolicy = 'startupPolicy="optional"'; else $startupPolicy = ''; } - } - $hyperv = "" ; - if ($domain['hyperv'] == 1 && $os_type == "windows") { - $hyperv = " - - - - - "; - - if ($clocks['hypervclock']['present'] == "yes") - $hyperv .= "" ; - $hyperv .=""; - #$clock = " - # - # "; - } - $clock .= "" ; - - $usbstr = ''; - if (!empty($usb)) { - foreach($usb as $i => $v){ - if ($vmclone) $usbx = explode(':', $v['id']); else $usbx = explode(':', $v); - $startupPolicy = '' ; - if (isset($usbopt[$v]) && !$vmclone ) { - if (strpos($usbopt[$v], "#remove") == false) $startupPolicy = 'startupPolicy="optional"' ; else $startupPolicy = '' ; - } - if (isset($v["startupPolicy"]) && $vmclone ) { - if ($v["startupPolicy"] == "optional" ) $startupPolicy = 'startupPolicy="optional"' ; else $startupPolicy = '' ; - } - - $usbstr .= " - - - - " ; - if (!empty($usbboot[$v]) && !$vmclone ) { - $usbstr .= "" ; - } - if (isset($v["usbboot"]) && $vmclone ) { - if ($v["usbboot"] != NULL) $usbstr .= "" ; - } - $usbstr .= ""; + if (isset($v["startupPolicy"]) && $vmclone ) { + if ($v["startupPolicy"] == "optional" ) $startupPolicy = 'startupPolicy="optional"'; else $startupPolicy = ''; } - } - - $arrAvailableDevs = []; - foreach (range('a', 'z') as $letter) { - $arrAvailableDevs['hd' . $letter] = 'hd' . $letter; - } - - $needSCSIController = false; - - //media settings - $bus = "ide"; - if ($machine_type == 'q35'){ - $bus = "sata"; - } - - $mediastr = ''; - if (!empty($media['cdrom'])) { - unset($arrAvailableDevs['hda']); - $cdromboot = $media['cdromboot'] ; - $media['cdrombus'] = $media['cdrombus'] ?: $bus; - if ($media['cdrombus'] == 'scsi') { - $needSCSIController = true; + $usbstr .= " + + + + "; + if (!empty($usbboot[$v]) && !$vmclone ) { + $usbstr .= ""; } - if ($cdromboot > 0) { - $mediaboot = "" ; + if (isset($v["usbboot"]) && $vmclone ) { + if ($v["usbboot"] != NULL) $usbstr .= ""; } - $mediastr = " - - - - - $mediaboot - "; + $usbstr .= ""; } - - $driverstr = ''; - if (!empty($media['drivers']) && $os_type == "windows") { - unset($arrAvailableDevs['hdb']); - $media['driversbus'] = $media['driversbus'] ?: $bus; - if ($media['driversbus'] == 'scsi') { - $needSCSIController = true; - } - $driverstr = " - - - - - "; + } + $arrAvailableDevs = []; + foreach (range('a', 'z') as $letter) { + $arrAvailableDevs['hd'.$letter] = 'hd'.$letter; + } + $needSCSIController = false; + //media settings + $bus = "ide"; + if ($machine_type == 'q35'){ + $bus = "sata"; + } + $mediastr = ''; + if (!empty($media['cdrom'])) { + unset($arrAvailableDevs['hda']); + $cdromboot = $media['cdromboot']; + $media['cdrombus'] = $media['cdrombus'] ?: $bus; + if ($media['cdrombus'] == 'scsi') { + $needSCSIController = true; } - - //disk settings - $diskstr = ''; - $diskcount = 0; - if (!empty($disks)) { - - // force any hard drives to start with hdc, hdd, hde, etc - unset($arrAvailableDevs['hda']); - unset($arrAvailableDevs['hdb']); - - foreach ($disks as $i => $disk) { - if (!empty($disk['image']) | !empty($disk['new']) ) { - //TODO: check if image/new is a block device - $diskcount++; - - if (!empty($disk['new'])) { - if (is_file($disk['new']) || is_block($disk['new'])) { - $disk['image'] = $disk['new']; - } + if ($cdromboot > 0) { + $mediaboot = ""; + } + $mediastr = " + + + + + $mediaboot + "; + } + $driverstr = ''; + if (!empty($media['drivers']) && $os_type == "windows") { + unset($arrAvailableDevs['hdb']); + $media['driversbus'] = $media['driversbus'] ?: $bus; + if ($media['driversbus'] == 'scsi') { + $needSCSIController = true; + } + $driverstr = " + + + + + "; + } + //disk settings + $diskstr = ''; + $diskcount = 0; + if (!empty($disks)) { + // force any hard drives to start with hdc, hdd, hde, etc + unset($arrAvailableDevs['hda']); + unset($arrAvailableDevs['hdb']); + foreach ($disks as $i => $disk) { + if (!empty($disk['image']) | !empty($disk['new']) ) { + //TODO: check if image/new is a block device + $diskcount++; + if (!empty($disk['new'])) { + if (is_file($disk['new']) || is_block($disk['new'])) { + $disk['image'] = $disk['new']; } - - if (!empty($disk['image'])) { - if (empty($disk['driver'])) { - $disk['driver'] = 'raw'; - - if (is_file($disk['image'])) { - $json_info = getDiskImageInfo($disk['image']); - $disk['driver'] = $json_info['format']; - } - } - } else { - if (empty($disk['driver'])) { - $disk['driver'] = 'raw'; - } - - $strImgFolder = $disk['new']; - $strImgPath = ''; - - $path_parts = pathinfo($strImgFolder); - if (empty($path_parts['extension'])) { - // 'new' is a folder - - if (substr($strImgFolder, -1) != '/') { - $strImgFolder .= '/'; - } - - if (is_dir($strImgFolder)) { - // 'new' is a folder and already exists, append domain name as child folder - $strImgFolder .= preg_replace('((^\.)|\/|(\.$))', '_', $domain['name']) . '/'; - } - - $strExt = ($disk['driver'] == 'raw') ? 'img' : $disk['driver']; - - $strImgPath = $strImgFolder . 'vdisk' . $diskcount . '.' . $strExt; - - } else { - // 'new' is a file - $strImgPath = $strImgFolder; - } - - if (is_file($strImgPath)) { - $json_info = getDiskImageInfo($strImgPath); + } + if (!empty($disk['image'])) { + if (empty($disk['driver'])) { + $disk['driver'] = 'raw'; + if (is_file($disk['image'])) { + $json_info = getDiskImageInfo($disk['image']); $disk['driver'] = $json_info['format']; } - - $arrReturn = [ - 'image' => $strImgPath, - 'driver' => $disk['driver'] - ]; - if (!empty($disk['dev'])) { - $arrReturn['dev'] = $disk['dev']; + } + } else { + if (empty($disk['driver'])) { + $disk['driver'] = 'raw'; + } + $strImgFolder = $disk['new']; + $strImgPath = ''; + $path_parts = pathinfo($strImgFolder); + if (empty($path_parts['extension'])) { + // 'new' is a folder + if (substr($strImgFolder, -1) != '/') { + $strImgFolder .= '/'; } - if (!empty($disk['bus'])) { - $arrReturn['bus'] = $disk['bus']; + if (is_dir($strImgFolder)) { + // 'new' is a folder and already exists, append domain name as child folder + $strImgFolder .= preg_replace('((^\.)|\/|(\.$))', '_', $domain['name']).'/'; } - - $disk = $arrReturn; - } - - $disk['bus'] = $disk['bus'] ?: 'virtio'; - - if ($disk['bus'] == 'scsi') { - $needSCSIController = true; - } - - if (empty($disk['dev']) || !in_array($disk['dev'], $arrAvailableDevs)) { - $disk['dev'] = array_shift($arrAvailableDevs); - } - unset($arrAvailableDevs[$disk['dev']]); - $boot = $disk['boot'] ; - $bootorder = ''; - if ($boot > 0) { - $bootorder = "" ; - } - - $readonly = ''; - if (!empty($disk['readonly'])) { - $readonly = ''; - } - - $strDevType = @filetype(realpath($disk['image'])); - - if ($disk["serial"] != "") $serial = "".$disk["serial"]."" ; else $serial = "" ; - - $rotation_rate = ""; - if ($disk['bus'] == "scsi" || $disk['bus'] == "sata" || $disk['bus'] == "ide" ) { - if ($disk['rotation']) $rotation_rate = " rotation_rate='1' "; - } - - if ($strDevType == 'file' || $strDevType == 'block') { - $strSourceType = ($strDevType == 'file' ? 'file' : 'dev'); - - $diskstr .= " - - - - $bootorder - $readonly - $serial - "; - } - } - } - } - - $scsicontroller = ''; - if ($needSCSIController) { - $scsicontroller = ""; - } - - $netstr = ''; - if (!empty($nics)) { - foreach ($nics as $i => $nic) { - if (empty($nic['mac']) || empty($nic['network'])) { - continue; - } - $netmodel = $nic['model'] ?: 'virtio-net'; - - $net_res =$this->libvirt_get_net_res($this->conn, $nic['network']); - exec("ls --indicator-style=none /sys/class/net|grep -Po '^((vir)?br|vhost)[0-9]+(\.[0-9]+)?'",$br); - if ($nic["boot"] != NULL) $nicboot = "" ; else $nicboot = "" ; - if ($net_res) { - $netstr .= " - - - - $nicboot - "; - } elseif (in_array($nic['network'], $br)) { - if (preg_match('/^(vir)?br/',$nic['network'])) { - $netstr .= " - - - - $nicboot - "; + $strExt = ($disk['driver'] == 'raw') ? 'img' : $disk['driver']; + $strImgPath = $strImgFolder.'vdisk'.$diskcount.'.'.$strExt; } else { - $netstr .= " - - - - $nicboot - "; + // 'new' is a file + $strImgPath = $strImgFolder; } - } else { - continue; + if (is_file($strImgPath)) { + $json_info = getDiskImageInfo($strImgPath); + $disk['driver'] = $json_info['format']; + } + $arrReturn = [ + 'image' => $strImgPath, + 'driver' => $disk['driver'] + ]; + if (!empty($disk['dev'])) { + $arrReturn['dev'] = $disk['dev']; + } + if (!empty($disk['bus'])) { + $arrReturn['bus'] = $disk['bus']; + } + $disk = $arrReturn; + } + $disk['bus'] = $disk['bus'] ?: 'virtio'; + if ($disk['bus'] == 'scsi') { + $needSCSIController = true; + } + if (empty($disk['dev']) || !in_array($disk['dev'], $arrAvailableDevs)) { + $disk['dev'] = array_shift($arrAvailableDevs); + } + unset($arrAvailableDevs[$disk['dev']]); + $boot = $disk['boot']; + $bootorder = ''; + if ($boot > 0) { + $bootorder = ""; + } + $readonly = ''; + if (!empty($disk['readonly'])) { + $readonly = ''; + } + $strDevType = @filetype(realpath($disk['image'])); + if ($disk["serial"] != "") $serial = "".$disk["serial"].""; else $serial = ""; + $rotation_rate = ""; + if ($disk['bus'] == "scsi" || $disk['bus'] == "sata" || $disk['bus'] == "ide" ) { + if ($disk['rotation']) $rotation_rate = " rotation_rate='1' "; + } + if ($strDevType == 'file' || $strDevType == 'block') { + $strSourceType = ($strDevType == 'file' ? 'file' : 'dev'); + if (isset($disk['discard'])) $strDevUnmap = " discard=\"{$disk['discard']}\" "; else $strDevUnmap = " discard=\"ignore\" "; + $diskstr .= " + + + + $bootorder + $readonly + $serial + "; } } } - - $sharestr = ''; - $memorybacking = json_decode($domain['memoryBacking'],true); - - if (!empty($shares)) { - foreach ($shares as $i => $share) { - if (empty($share['source']) || empty($share['target']) || ($os_type == "windows" && $share["mode"] == "9p")) { - continue; - } - - if ($share['mode'] == "virtiofs") { - if (!isset($memorybacking['source'])) $memorybacking['source']["@attributes"]["type"] = "memfd" ; - if (!isset($memorybacking['access'])) $memorybacking['access']["@attributes"]["mode"] = "shared" ; - - $sharestr .= " - - - - - - - - " ; + } + $scsicontroller = ''; + if ($needSCSIController) { + $scsicontroller = ""; + } + $netstr = ''; + if (!empty($nics)) { + foreach ($nics as $i => $nic) { + if (empty($nic['mac']) || empty($nic['network'])) continue; + $netmodel = $nic['model'] ?: 'virtio-net'; + $net_res = $this->libvirt_get_net_res($this->conn, $nic['network']); + exec("ls --indicator-style=none /sys/class/net | grep -Po '^((vir)?br|bond|eth|wlan)[0-9]+(\.[0-9]+)?'", $host); + $nicboot = $nic["boot"] != null ? "" : ""; + if ($net_res) { + $netstr .= " + + + + $nicboot + "; + } elseif (in_array($nic['network'], $host)) { + if (preg_match('/^(vir)?br/', $nic['network'])) { + $netstr .= " + + + + $nicboot + "; + } elseif ($nic['network'] == 'wlan0') { + $mac = file_get_contents('/sys/class/net/wlan0/address'); + $netstr .= " + + + + $nicboot + "; } else { - $sharestr .= " - - - "; + $netstr .= " + + + + $nicboot + "; } + } else { + continue; } } - - $pcidevs=''; - $gpudevs_used=[]; - $multidevices = [] ; #Load? - $vmrc=''; - $channelscopypaste = ''; - if (!empty($gpus)) { - foreach ($gpus as $i => $gpu) { - // Skip duplicate video devices - if (empty($gpu['id']) || in_array($gpu['id'], $gpudevs_used)) { - continue; + } + $sharestr = ''; + $memorybacking = json_decode($domain['memoryBacking'],true); + if (!empty($shares)) { + foreach ($shares as $i => $share) { + if (empty($share['source']) || empty($share['target']) || ($os_type == "windows" && $share["mode"] == "9p")) { + continue; + } + if ($share['mode'] == "virtiofs") { + if (!isset($memorybacking['source'])) $memorybacking['source']["@attributes"]["type"] = "memfd"; + if (!isset($memorybacking['access'])) $memorybacking['access']["@attributes"]["mode"] = "shared"; + $sharestr .= " + + + + + + + + "; + } else { + $sharestr .= " + + + "; + } + } + } + $pcidevs=''; + $gpudevs_used=[]; + $multidevices = []; #Load? + $vmrc=''; + $channelscopypaste = ''; + if (!empty($gpus)) { + foreach ($gpus as $i => $gpu) { + // Skip duplicate video devices + if (empty($gpu['id']) || in_array($gpu['id'], $gpudevs_used)) { + continue; + } + if ($gpu['id'] == 'nogpu') break; + if ($gpu['id'] == 'virtual') { + $strKeyMap = ''; + if (!empty($gpu['keymap'])) { + if ($gpu['keymap'] != "none") $strKeyMap = "keymap='".$gpu['keymap']."'"; } - if ($gpu['id'] == 'nogpu') break; - if ($gpu['id'] == 'virtual') { - $strKeyMap = ''; - if (!empty($gpu['keymap'])) { - if ($gpu['keymap'] != "none") $strKeyMap = "keymap='" . $gpu['keymap'] . "'"; - } - - $passwdstr = ''; - if (!empty($domain['password'])){ - $passwdstr = "passwd='" . htmlspecialchars($domain['password'], ENT_QUOTES | ENT_XML1) . "'"; - } - - $strModelType = 'qxl'; - if (!empty($gpu['model'])) { - $strModelType = $gpu['model']; - - if (!empty($domain['ovmf']) && $strModelType == 'vmvga') { - // OVMF doesn't work with vmvga - $strModelType = 'qxl'; - } - } - if (!empty($gpu['autoport'])) { - $strAutoport = $gpu['autoport']; - } else $strAutoport = "yes" ; - - - - if (!empty($gpu['protocol'])) { - $strProtocol = $gpu['protocol']; - } else $strProtocol = "vnc" ; - - if (!empty($gpu['wsport'])) { - $strWSport = $gpu['wsport']; - } else $strWSport = "-1" ; - - if (!empty($gpu['port'])) { - $strPort = $gpu['port']; - } else $strPort = "-1" ; - - if ($strAutoport == "yes") $strPort = $strWSport = "-1" ; - if (($gpu['copypaste'] == "yes") && ($strProtocol == "spice")) $vmrcmousemode = "" ; else $vmrcmousemode = "" ; - if ($strProtocol == "spice") $virtualaudio = "spice" ; else $virtualaudio = "none" ; - - $vmrc = " - - - - - $vmrcmousemode - -