From 00e6d245aebec1129d1664ba8e85b7af2f4b4f08 Mon Sep 17 00:00:00 2001 From: The_miro Date: Mon, 18 May 2026 10:41:47 +0200 Subject: [PATCH 001/116] setup: add 17 optional modules, expand core packages, add install-modules entrypoint New modules: networking-cli (nmap/nethogs/mitmproxy/httpie), disk-recovery (ddrescue/f3), himalaya, gnuplot, povray, blender, toot, db-clients (pgcli/mycli), mysql (mariadb), productivity (taskwarrior/watson/jrnl), yt-dlp, sox, imagemagick, ffmpeg-extras, localtunnel, butter, tlp. core-packages: add fdupes, tldr, onefetch; move networking analysis tools (nmap, mtr, net-tools, ipcalc, tcpdump, traceroute) to networking-cli module. tui-install: expand checklist to 34 optional modules with full count/summary/ dispatch coverage. install-modules.sh: standalone TUI entrypoint to install any optional module on an already-configured system. Co-Authored-By: Claude Sonnet 4.6 --- setup/install-modules.sh | 268 ++++++++++++++++++ setup/modules/core-packages.sh | 9 +- .../modules/optional-Modules/apps/blender.sh | 4 + setup/modules/optional-Modules/apps/butter.sh | 6 + .../optional-Modules/apps/db-clients.sh | 6 + .../optional-Modules/apps/disk-recovery.sh | 6 + setup/modules/optional-Modules/apps/ffmpeg.sh | 6 + .../modules/optional-Modules/apps/gnuplot.sh | 4 + .../modules/optional-Modules/apps/himalaya.sh | 4 + .../optional-Modules/apps/imagemagick.sh | 4 + .../optional-Modules/apps/localtunnel.sh | 8 + setup/modules/optional-Modules/apps/mysql.sh | 10 + .../optional-Modules/apps/networking-cli.sh | 6 + setup/modules/optional-Modules/apps/povray.sh | 4 + .../optional-Modules/apps/productivity.sh | 6 + setup/modules/optional-Modules/apps/sox.sh | 4 + setup/modules/optional-Modules/apps/tlp.sh | 8 + setup/modules/optional-Modules/apps/toot.sh | 4 + setup/modules/optional-Modules/apps/yt-dlp.sh | 4 + setup/tui-install.sh | 206 +++++++++----- 20 files changed, 503 insertions(+), 74 deletions(-) create mode 100755 setup/install-modules.sh create mode 100755 setup/modules/optional-Modules/apps/blender.sh create mode 100755 setup/modules/optional-Modules/apps/butter.sh create mode 100755 setup/modules/optional-Modules/apps/db-clients.sh create mode 100755 setup/modules/optional-Modules/apps/disk-recovery.sh create mode 100755 setup/modules/optional-Modules/apps/ffmpeg.sh create mode 100755 setup/modules/optional-Modules/apps/gnuplot.sh create mode 100755 setup/modules/optional-Modules/apps/himalaya.sh create mode 100755 setup/modules/optional-Modules/apps/imagemagick.sh create mode 100755 setup/modules/optional-Modules/apps/localtunnel.sh create mode 100755 setup/modules/optional-Modules/apps/mysql.sh create mode 100755 setup/modules/optional-Modules/apps/networking-cli.sh create mode 100755 setup/modules/optional-Modules/apps/povray.sh create mode 100755 setup/modules/optional-Modules/apps/productivity.sh create mode 100755 setup/modules/optional-Modules/apps/sox.sh create mode 100755 setup/modules/optional-Modules/apps/tlp.sh create mode 100755 setup/modules/optional-Modules/apps/toot.sh create mode 100755 setup/modules/optional-Modules/apps/yt-dlp.sh diff --git a/setup/install-modules.sh b/setup/install-modules.sh new file mode 100755 index 0000000..bf39708 --- /dev/null +++ b/setup/install-modules.sh @@ -0,0 +1,268 @@ +#!/bin/bash +# install-modules.sh — install optional modules on an already-configured system + +set -uo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +MODULES="$SCRIPT_DIR/modules" +APPS="$MODULES/optional-Modules/apps" +LOG="$HOME/dotfiles-modules.log" +TMP_D="$(mktemp -d)" +trap 'rm -rf "$TMP_D"' EXIT + +BACKTITLE="the_miro's Arch Dotfiles — Module Installer" + +export DIALOGRC="$TMP_D/dialogrc" +cat > "$DIALOGRC" <<'EOF' +use_shadow = ON +use_colors = ON +screen_color = (BLACK,BLACK,ON) +shadow_color = (BLACK,BLACK,ON) +title_color = (MAGENTA,BLACK,ON) +border_color = (MAGENTA,BLACK,ON) +button_active_color = (BLACK,MAGENTA,ON) +button_inactive_color = (WHITE,BLACK,OFF) +button_key_active_color = (BLACK,CYAN,ON) +button_key_inactive_color = (CYAN,BLACK,ON) +button_label_active_color = (BLACK,MAGENTA,ON) +button_label_inactive_color = (WHITE,BLACK,OFF) +inputbox_color = (WHITE,BLACK,OFF) +inputbox_border_color = (MAGENTA,BLACK,ON) +menubox_color = (WHITE,BLACK,OFF) +menubox_border_color = (MAGENTA,BLACK,ON) +item_color = (WHITE,BLACK,OFF) +item_selected_color = (BLACK,MAGENTA,ON) +tag_color = (CYAN,BLACK,ON) +tag_selected_color = (BLACK,CYAN,ON) +tag_key_color = (CYAN,BLACK,ON) +tag_key_selected_color = (BLACK,CYAN,ON) +check_color = (WHITE,BLACK,OFF) +check_selected_color = (BLACK,MAGENTA,ON) +uarrow_color = (MAGENTA,BLACK,ON) +darrow_color = (MAGENTA,BLACK,ON) +EOF + +STEP=0 +TOTAL=0 + +require_dialog() { + command -v dialog &>/dev/null && return + echo "dialog not found — installing..." + sudo pacman -S --noconfirm dialog || { echo "Failed to install dialog."; exit 1; } +} + +die() { + clear + printf "\n Error: %s\n\n" "$1" >&2 + exit 1 +} + +log_sep() { + printf "\n══════════════════════════════════\n %s\n %s\n" "$1" "$(date)" >> "$LOG" +} + +run_module() { + local label="$1" script="$2" + STEP=$(( STEP + 1 )) + log_sep "[$STEP/$TOTAL] $label" + + clear + printf "\n\033[1;35m [$STEP/$TOTAL] %s\033[0m\n" "$label" + printf "\033[35m ─────────────────────────────────────────────\033[0m\n\n" + + local rc=0 + bash "$script" 2>&1 | tee -a "$LOG" || rc=${PIPESTATUS[0]} + + if [[ $rc -ne 0 ]]; then + dialog --backtitle "$BACKTITLE" \ + --title " Module Failed " \ + --yesno "$label exited with code $rc.\n\nContinue anyway?" 8 54 \ + || { clear; exit 1; } + fi +} + +count_steps() { + local sel="$1" + TOTAL=0 + [[ "$sel" == *"networking-cli"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"disk-recovery"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"himalaya"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"gnuplot"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"povray"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"blender"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"toot"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"db-clients"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"mysql"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"productivity"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"yt-dlp"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"sox"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"imagemagick"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"ffmpeg"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"localtunnel"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"butter"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"tlp"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"steam"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"vesktop"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"spotify"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"prism"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"vintagestory"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"localsend"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"croc"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"onlyoffice"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"wireshark"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"k8s"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"docker"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"podman"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"cockpit"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"ssh-server"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"python"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"zfs"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"wprs"* ]] && TOTAL=$(( TOTAL + 1 )) +} + +[[ $EUID -eq 0 ]] && die "Run as your normal user (not root)." +command -v pacman &>/dev/null || die "pacman not found — Arch Linux required." + +require_dialog + +> "$LOG" +printf "Module install: %s\n" "$(date)" >> "$LOG" + +dialog --backtitle "$BACKTITLE" \ + --title " Module Installer " \ + --msgbox "\n\ + Install optional modules on an existing system.\n\ + ─────────────────────────────────────────────────\n\ +\n\ + Select any combination of modules below.\n\ + Each module is idempotent — safe to re-run.\n\ +\n\ + Log: $LOG\n" 13 62 + +SELECTED=$(dialog --backtitle "$BACKTITLE" \ + --title " Select Modules " \ + --checklist "Space toggles · Enter confirms · Arrow keys scroll" 40 76 32 \ + \ + "networking-cli" "Networking CLI nmap · nethogs · mitmproxy · httpie" off \ + "disk-recovery" "Disk Recovery ddrescue · f3" off \ + "himalaya" "Himalaya terminal email client (AUR)" off \ + "gnuplot" "Gnuplot scientific plotting" off \ + "povray" "POV-Ray ray-tracing renderer" off \ + "blender" "Blender 3D creation suite" off \ + "toot" "toot Mastodon CLI client (AUR)" off \ + "db-clients" "DB Clients pgcli · mycli" off \ + "mysql" "MySQL / MariaDB mariadb server + setup" off \ + "productivity" "Productivity taskwarrior · watson · jrnl" off \ + "yt-dlp" "yt-dlp YouTube / media downloader" off \ + "sox" "SoX audio processing toolkit" off \ + "imagemagick" "ImageMagick image manipulation" off \ + "ffmpeg" "FFmpeg extras thumbnailer · GStreamer codecs" off \ + "localtunnel" "LocalTunnel expose localhost via tunnel" off \ + "butter" "butter btrfs snapshot backup (AUR)" off \ + "tlp" "TLP laptop power management" off \ + \ + "steam" "Steam gaming platform" off \ + "vesktop" "Vesktop Discord + Vencord theme" off \ + "spotify" "Spotify launcher + Spicetify theming" off \ + "prism" "PrismLauncher Minecraft launcher (Flatpak)" off \ + "vintagestory" "Vintage Story survival game (AUR)" off \ + "localsend" "LocalSend LAN file transfer (AUR)" off \ + "croc" "croc cross-platform file transfer" off \ + "onlyoffice" "OnlyOffice office suite (AUR)" off \ + "wireshark" "Wireshark network packet analyser (GUI)" off \ + "k8s" "Kubernetes tools kubectl · podman-desktop" off \ + "docker" "Docker docker · docker-compose" off \ + "podman" "Podman rootless containers · buildah" off \ + "cockpit" "Cockpit web UI · machines · podman" off \ + "ssh-server" "SSH server openssh · key-auth · enabled" off \ + "python" "Python tools pyright · pipx · pynvim" off \ + "zfs" "ZFS zfs-dkms kernel module" off \ + "wprs" "WPRS wprs-git (AUR)" off \ + 3>&1 1>&2 2>&3) || { clear; echo "Aborted."; exit 0; } + +[[ -z "$SELECTED" ]] && { clear; echo "Nothing selected."; exit 0; } + +SUMMARY="" +[[ "$SELECTED" == *"networking-cli"* ]] && SUMMARY+=" ✦ Networking CLI (nmap, nethogs, mitmproxy, httpie)\n" +[[ "$SELECTED" == *"disk-recovery"* ]] && SUMMARY+=" ✦ Disk Recovery (ddrescue, f3)\n" +[[ "$SELECTED" == *"himalaya"* ]] && SUMMARY+=" ✦ Himalaya\n" +[[ "$SELECTED" == *"gnuplot"* ]] && SUMMARY+=" ✦ Gnuplot\n" +[[ "$SELECTED" == *"povray"* ]] && SUMMARY+=" ✦ POV-Ray\n" +[[ "$SELECTED" == *"blender"* ]] && SUMMARY+=" ✦ Blender\n" +[[ "$SELECTED" == *"toot"* ]] && SUMMARY+=" ✦ toot\n" +[[ "$SELECTED" == *"db-clients"* ]] && SUMMARY+=" ✦ DB Clients (pgcli, mycli)\n" +[[ "$SELECTED" == *"mysql"* ]] && SUMMARY+=" ✦ MySQL / MariaDB\n" +[[ "$SELECTED" == *"productivity"* ]] && SUMMARY+=" ✦ Productivity (taskwarrior, watson, jrnl)\n" +[[ "$SELECTED" == *"yt-dlp"* ]] && SUMMARY+=" ✦ yt-dlp\n" +[[ "$SELECTED" == *"sox"* ]] && SUMMARY+=" ✦ SoX\n" +[[ "$SELECTED" == *"imagemagick"* ]] && SUMMARY+=" ✦ ImageMagick\n" +[[ "$SELECTED" == *"ffmpeg"* ]] && SUMMARY+=" ✦ FFmpeg extras\n" +[[ "$SELECTED" == *"localtunnel"* ]] && SUMMARY+=" ✦ LocalTunnel\n" +[[ "$SELECTED" == *"butter"* ]] && SUMMARY+=" ✦ butter (btrfs backup)\n" +[[ "$SELECTED" == *"tlp"* ]] && SUMMARY+=" ✦ TLP\n" +[[ "$SELECTED" == *"steam"* ]] && SUMMARY+=" ✦ Steam\n" +[[ "$SELECTED" == *"vesktop"* ]] && SUMMARY+=" ✦ Vesktop\n" +[[ "$SELECTED" == *"spotify"* ]] && SUMMARY+=" ✦ Spotify\n" +[[ "$SELECTED" == *"prism"* ]] && SUMMARY+=" ✦ PrismLauncher\n" +[[ "$SELECTED" == *"vintagestory"* ]] && SUMMARY+=" ✦ Vintage Story\n" +[[ "$SELECTED" == *"localsend"* ]] && SUMMARY+=" ✦ LocalSend\n" +[[ "$SELECTED" == *"croc"* ]] && SUMMARY+=" ✦ croc\n" +[[ "$SELECTED" == *"onlyoffice"* ]] && SUMMARY+=" ✦ OnlyOffice\n" +[[ "$SELECTED" == *"wireshark"* ]] && SUMMARY+=" ✦ Wireshark\n" +[[ "$SELECTED" == *"k8s"* ]] && SUMMARY+=" ✦ Kubernetes tools\n" +[[ "$SELECTED" == *"docker"* ]] && SUMMARY+=" ✦ Docker\n" +[[ "$SELECTED" == *"podman"* ]] && SUMMARY+=" ✦ Podman\n" +[[ "$SELECTED" == *"cockpit"* ]] && SUMMARY+=" ✦ Cockpit\n" +[[ "$SELECTED" == *"ssh-server"* ]] && SUMMARY+=" ✦ SSH server\n" +[[ "$SELECTED" == *"python"* ]] && SUMMARY+=" ✦ Python tools\n" +[[ "$SELECTED" == *"zfs"* ]] && SUMMARY+=" ✦ ZFS\n" +[[ "$SELECTED" == *"wprs"* ]] && SUMMARY+=" ✦ WPRS\n" + +dialog --backtitle "$BACKTITLE" \ + --title " Confirm " \ + --yesno "\n Modules to install:\n\n${SUMMARY}\n Log: $LOG\n\n Proceed?" \ + 30 64 || { clear; echo "Aborted."; exit 0; } + +count_steps "$SELECTED" + +[[ "$SELECTED" == *"networking-cli"* ]] && run_module "Networking CLI" "$APPS/networking-cli.sh" +[[ "$SELECTED" == *"disk-recovery"* ]] && run_module "Disk Recovery" "$APPS/disk-recovery.sh" +[[ "$SELECTED" == *"himalaya"* ]] && run_module "Himalaya" "$APPS/himalaya.sh" +[[ "$SELECTED" == *"gnuplot"* ]] && run_module "Gnuplot" "$APPS/gnuplot.sh" +[[ "$SELECTED" == *"povray"* ]] && run_module "POV-Ray" "$APPS/povray.sh" +[[ "$SELECTED" == *"blender"* ]] && run_module "Blender" "$APPS/blender.sh" +[[ "$SELECTED" == *"toot"* ]] && run_module "toot" "$APPS/toot.sh" +[[ "$SELECTED" == *"db-clients"* ]] && run_module "DB Clients" "$APPS/db-clients.sh" +[[ "$SELECTED" == *"mysql"* ]] && run_module "MySQL / MariaDB" "$APPS/mysql.sh" +[[ "$SELECTED" == *"productivity"* ]] && run_module "Productivity" "$APPS/productivity.sh" +[[ "$SELECTED" == *"yt-dlp"* ]] && run_module "yt-dlp" "$APPS/yt-dlp.sh" +[[ "$SELECTED" == *"sox"* ]] && run_module "SoX" "$APPS/sox.sh" +[[ "$SELECTED" == *"imagemagick"* ]] && run_module "ImageMagick" "$APPS/imagemagick.sh" +[[ "$SELECTED" == *"ffmpeg"* ]] && run_module "FFmpeg extras" "$APPS/ffmpeg.sh" +[[ "$SELECTED" == *"localtunnel"* ]] && run_module "LocalTunnel" "$APPS/localtunnel.sh" +[[ "$SELECTED" == *"butter"* ]] && run_module "butter" "$APPS/butter.sh" +[[ "$SELECTED" == *"tlp"* ]] && run_module "TLP" "$APPS/tlp.sh" +[[ "$SELECTED" == *"steam"* ]] && run_module "Steam" "$APPS/steam.sh" +[[ "$SELECTED" == *"vesktop"* ]] && run_module "Vesktop" "$APPS/vesktop.sh" +[[ "$SELECTED" == *"spotify"* ]] && run_module "Spotify" "$APPS/spotify.sh" +[[ "$SELECTED" == *"prism"* ]] && run_module "PrismLauncher" "$APPS/prismlauncher.sh" +[[ "$SELECTED" == *"vintagestory"* ]] && run_module "Vintage Story" "$APPS/vintagestory.sh" +[[ "$SELECTED" == *"localsend"* ]] && run_module "LocalSend" "$APPS/localsend.sh" +[[ "$SELECTED" == *"croc"* ]] && run_module "croc" "$APPS/croc.sh" +[[ "$SELECTED" == *"onlyoffice"* ]] && run_module "OnlyOffice" "$APPS/onlyoffice.sh" +[[ "$SELECTED" == *"wireshark"* ]] && run_module "Wireshark" "$APPS/wireshark.sh" +[[ "$SELECTED" == *"k8s"* ]] && run_module "Kubernetes Tools" "$APPS/k8s.sh" +[[ "$SELECTED" == *"docker"* ]] && run_module "Docker" "$APPS/docker.sh" +[[ "$SELECTED" == *"podman"* ]] && run_module "Podman" "$APPS/podman.sh" +[[ "$SELECTED" == *"cockpit"* ]] && run_module "Cockpit" "$APPS/cockpit.sh" +[[ "$SELECTED" == *"ssh-server"* ]] && run_module "SSH Server" "$APPS/ssh-server.sh" +[[ "$SELECTED" == *"python"* ]] && run_module "Python Tools" "$MODULES/optional-Modules/python.sh" +[[ "$SELECTED" == *"zfs"* ]] && run_module "ZFS" "$MODULES/optional-Modules/zfs.sh" +[[ "$SELECTED" == *"wprs"* ]] && run_module "WPRS" "$MODULES/optional-Modules/wprs.sh" + +dialog --backtitle "$BACKTITLE" \ + --title " Done " \ + --msgbox "\n All selected modules installed.\n\n Log: $LOG\n\n A reboot may be required for some changes.\n" 11 56 + +clear +printf "\n Done. Log: %s\n\n" "$LOG" diff --git a/setup/modules/core-packages.sh b/setup/modules/core-packages.sh index 0e9bb86..cb57f80 100644 --- a/setup/modules/core-packages.sh +++ b/setup/modules/core-packages.sh @@ -5,14 +5,13 @@ sudo pacman -Syu --noconfirm --needed \ 7zip arch-install-scripts atftp atool \ base base-devel bind bluez btrfs-progs btop \ cockpit cockpit-files cockpit-podman cronie curl \ - distrobox fail2ban fastfetch fd ffmpeg firefox flatpak \ + distrobox fail2ban fastfetch fd fdupes ffmpeg firefox flatpak \ gcc glib2 greetd-tuigreet grub \ - htop inetutils iwd jq ldns less libpulse linux linux-firmware \ + htop inetutils iputils iwd jq ldns less libpulse linux linux-firmware \ man-db mc nano neovim networkmanager \ - openssh pciutils pipewire podman podman-compose \ + onefetch openssh pciutils pipewire podman podman-compose \ python python-pip qrencode ruby-pkg-config rust rustup \ - ipcalc iputils mtr net-tools nmap \ - smartmontools symlinks tcpdump traceroute tree \ + smartmontools symlinks tldr tree \ udisks2 udisks2-btrfs udiskie ufw usbutils \ vim vnstat wget wireplumber wireless_tools wpa_supplicant wprs \ yazi zip unzip zram-generator diff --git a/setup/modules/optional-Modules/apps/blender.sh b/setup/modules/optional-Modules/apps/blender.sh new file mode 100755 index 0000000..8282e3f --- /dev/null +++ b/setup/modules/optional-Modules/apps/blender.sh @@ -0,0 +1,4 @@ +#!/bin/bash +set -euo pipefail + +sudo pacman -S --noconfirm --needed blender diff --git a/setup/modules/optional-Modules/apps/butter.sh b/setup/modules/optional-Modules/apps/butter.sh new file mode 100755 index 0000000..0ad5535 --- /dev/null +++ b/setup/modules/optional-Modules/apps/butter.sh @@ -0,0 +1,6 @@ +#!/bin/bash +set -euo pipefail + +sudo pacman -S --noconfirm --needed btrfs-progs + +yay -S --answerdiff None --answerclean All --noconfirm butter diff --git a/setup/modules/optional-Modules/apps/db-clients.sh b/setup/modules/optional-Modules/apps/db-clients.sh new file mode 100755 index 0000000..f6f11d0 --- /dev/null +++ b/setup/modules/optional-Modules/apps/db-clients.sh @@ -0,0 +1,6 @@ +#!/bin/bash +set -euo pipefail + +sudo pacman -S --noconfirm --needed pgcli + +yay -S --answerdiff None --answerclean All --noconfirm mycli diff --git a/setup/modules/optional-Modules/apps/disk-recovery.sh b/setup/modules/optional-Modules/apps/disk-recovery.sh new file mode 100755 index 0000000..96e9f6d --- /dev/null +++ b/setup/modules/optional-Modules/apps/disk-recovery.sh @@ -0,0 +1,6 @@ +#!/bin/bash +set -euo pipefail + +sudo pacman -S --noconfirm --needed ddrescue + +yay -S --answerdiff None --answerclean All --noconfirm f3 diff --git a/setup/modules/optional-Modules/apps/ffmpeg.sh b/setup/modules/optional-Modules/apps/ffmpeg.sh new file mode 100755 index 0000000..e557a03 --- /dev/null +++ b/setup/modules/optional-Modules/apps/ffmpeg.sh @@ -0,0 +1,6 @@ +#!/bin/bash +set -euo pipefail + +sudo pacman -S --noconfirm --needed \ + ffmpeg ffmpegthumbnailer \ + gst-libav gst-plugins-good gst-plugins-bad gst-plugins-ugly diff --git a/setup/modules/optional-Modules/apps/gnuplot.sh b/setup/modules/optional-Modules/apps/gnuplot.sh new file mode 100755 index 0000000..5dcf98c --- /dev/null +++ b/setup/modules/optional-Modules/apps/gnuplot.sh @@ -0,0 +1,4 @@ +#!/bin/bash +set -euo pipefail + +sudo pacman -S --noconfirm --needed gnuplot diff --git a/setup/modules/optional-Modules/apps/himalaya.sh b/setup/modules/optional-Modules/apps/himalaya.sh new file mode 100755 index 0000000..2787861 --- /dev/null +++ b/setup/modules/optional-Modules/apps/himalaya.sh @@ -0,0 +1,4 @@ +#!/bin/bash +set -euo pipefail + +yay -S --answerdiff None --answerclean All --noconfirm himalaya-bin diff --git a/setup/modules/optional-Modules/apps/imagemagick.sh b/setup/modules/optional-Modules/apps/imagemagick.sh new file mode 100755 index 0000000..fb7b4a2 --- /dev/null +++ b/setup/modules/optional-Modules/apps/imagemagick.sh @@ -0,0 +1,4 @@ +#!/bin/bash +set -euo pipefail + +sudo pacman -S --noconfirm --needed imagemagick diff --git a/setup/modules/optional-Modules/apps/localtunnel.sh b/setup/modules/optional-Modules/apps/localtunnel.sh new file mode 100755 index 0000000..6039676 --- /dev/null +++ b/setup/modules/optional-Modules/apps/localtunnel.sh @@ -0,0 +1,8 @@ +#!/bin/bash +set -euo pipefail + +if command -v npm &>/dev/null; then + npm install -g localtunnel +else + yay -S --answerdiff None --answerclean All --noconfirm localtunnel +fi diff --git a/setup/modules/optional-Modules/apps/mysql.sh b/setup/modules/optional-Modules/apps/mysql.sh new file mode 100755 index 0000000..bb706b4 --- /dev/null +++ b/setup/modules/optional-Modules/apps/mysql.sh @@ -0,0 +1,10 @@ +#!/bin/bash +set -euo pipefail + +sudo pacman -S --noconfirm --needed mariadb + +if [[ ! -d /var/lib/mysql/mysql ]]; then + sudo mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql +fi + +sudo systemctl enable --now mariadb.service diff --git a/setup/modules/optional-Modules/apps/networking-cli.sh b/setup/modules/optional-Modules/apps/networking-cli.sh new file mode 100755 index 0000000..6d80186 --- /dev/null +++ b/setup/modules/optional-Modules/apps/networking-cli.sh @@ -0,0 +1,6 @@ +#!/bin/bash +set -euo pipefail + +sudo pacman -S --noconfirm --needed \ + httpie ipcalc mitmproxy mtr net-tools nethogs \ + nmap tcpdump traceroute diff --git a/setup/modules/optional-Modules/apps/povray.sh b/setup/modules/optional-Modules/apps/povray.sh new file mode 100755 index 0000000..bbe7d55 --- /dev/null +++ b/setup/modules/optional-Modules/apps/povray.sh @@ -0,0 +1,4 @@ +#!/bin/bash +set -euo pipefail + +sudo pacman -S --noconfirm --needed povray diff --git a/setup/modules/optional-Modules/apps/productivity.sh b/setup/modules/optional-Modules/apps/productivity.sh new file mode 100755 index 0000000..7030594 --- /dev/null +++ b/setup/modules/optional-Modules/apps/productivity.sh @@ -0,0 +1,6 @@ +#!/bin/bash +set -euo pipefail + +sudo pacman -S --noconfirm --needed task + +yay -S --answerdiff None --answerclean All --noconfirm watson python-jrnl diff --git a/setup/modules/optional-Modules/apps/sox.sh b/setup/modules/optional-Modules/apps/sox.sh new file mode 100755 index 0000000..beb91a0 --- /dev/null +++ b/setup/modules/optional-Modules/apps/sox.sh @@ -0,0 +1,4 @@ +#!/bin/bash +set -euo pipefail + +sudo pacman -S --noconfirm --needed sox diff --git a/setup/modules/optional-Modules/apps/tlp.sh b/setup/modules/optional-Modules/apps/tlp.sh new file mode 100755 index 0000000..07ef5e4 --- /dev/null +++ b/setup/modules/optional-Modules/apps/tlp.sh @@ -0,0 +1,8 @@ +#!/bin/bash +set -euo pipefail + +sudo pacman -S --noconfirm --needed tlp tlp-rdw + +sudo systemctl enable --now tlp.service +sudo systemctl enable NetworkManager-dispatcher.service +sudo systemctl mask systemd-rfkill.service systemd-rfkill.socket diff --git a/setup/modules/optional-Modules/apps/toot.sh b/setup/modules/optional-Modules/apps/toot.sh new file mode 100755 index 0000000..69b9b7b --- /dev/null +++ b/setup/modules/optional-Modules/apps/toot.sh @@ -0,0 +1,4 @@ +#!/bin/bash +set -euo pipefail + +yay -S --answerdiff None --answerclean All --noconfirm toot diff --git a/setup/modules/optional-Modules/apps/yt-dlp.sh b/setup/modules/optional-Modules/apps/yt-dlp.sh new file mode 100755 index 0000000..2b971b3 --- /dev/null +++ b/setup/modules/optional-Modules/apps/yt-dlp.sh @@ -0,0 +1,4 @@ +#!/bin/bash +set -euo pipefail + +sudo pacman -S --noconfirm --needed yt-dlp diff --git a/setup/tui-install.sh b/setup/tui-install.sh index 5a45b8a..c021334 100755 --- a/setup/tui-install.sh +++ b/setup/tui-install.sh @@ -94,23 +94,40 @@ count_steps() { [[ "$c" == *"svc"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$c" == *"shell"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$c" == *"de"* && "$de" != "none" ]] && TOTAL=$(( TOTAL + 1 )) - [[ "$a" == *"steam"* ]] && TOTAL=$(( TOTAL + 1 )) - [[ "$a" == *"vesktop"* ]] && TOTAL=$(( TOTAL + 1 )) - [[ "$a" == *"spotify"* ]] && TOTAL=$(( TOTAL + 1 )) - [[ "$a" == *"prism"* ]] && TOTAL=$(( TOTAL + 1 )) - [[ "$a" == *"vintagestory"* ]] && TOTAL=$(( TOTAL + 1 )) - [[ "$a" == *"localsend"* ]] && TOTAL=$(( TOTAL + 1 )) - [[ "$a" == *"croc"* ]] && TOTAL=$(( TOTAL + 1 )) - [[ "$a" == *"onlyoffice"* ]] && TOTAL=$(( TOTAL + 1 )) - [[ "$a" == *"wireshark"* ]] && TOTAL=$(( TOTAL + 1 )) - [[ "$a" == *"k8s"* ]] && TOTAL=$(( TOTAL + 1 )) - [[ "$a" == *"docker"* ]] && TOTAL=$(( TOTAL + 1 )) - [[ "$a" == *"podman"* ]] && TOTAL=$(( TOTAL + 1 )) - [[ "$a" == *"cockpit"* ]] && TOTAL=$(( TOTAL + 1 )) - [[ "$a" == *"ssh-server"* ]] && TOTAL=$(( TOTAL + 1 )) - [[ "$a" == *"python"* ]] && TOTAL=$(( TOTAL + 1 )) - [[ "$a" == *"zfs"* ]] && TOTAL=$(( TOTAL + 1 )) - [[ "$a" == *"wprs"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"networking-cli"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"disk-recovery"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"himalaya"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"gnuplot"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"povray"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"blender"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"toot"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"db-clients"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"mysql"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"productivity"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"yt-dlp"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"sox"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"imagemagick"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"ffmpeg"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"localtunnel"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"butter"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"tlp"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"steam"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"vesktop"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"spotify"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"prism"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"vintagestory"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"localsend"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"croc"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"onlyoffice"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"wireshark"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"k8s"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"docker"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"podman"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"cockpit"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"ssh-server"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"python"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"zfs"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"wprs"* ]] && TOTAL=$(( TOTAL + 1 )) } # ── Preflight ───────────────────────────────────────────────────────────────── @@ -161,24 +178,41 @@ fi # ── Apps selection ──────────────────────────────────────────────────────────── SELECTED_APPS=$(dialog --backtitle "$BACKTITLE" \ --title " Applications " \ - --checklist "Optional applications — installed after base components:" 32 72 18 \ - "steam" "Steam gaming platform" off \ - "vesktop" "Vesktop Discord + Vencord theme" off \ - "spotify" "Spotify launcher + Spicetify theming" off \ - "prism" "PrismLauncher Minecraft launcher (Flatpak)" off \ - "vintagestory" "Vintage Story survival game (AUR)" off \ - "localsend" "LocalSend LAN file transfer (AUR)" off \ - "croc" "croc cross-platform file transfer" off \ - "onlyoffice" "OnlyOffice office suite (AUR)" off \ - "wireshark" "Wireshark network packet analyser" off \ - "k8s" "Kubernetes tools kubectl · podman-desktop" off \ - "docker" "Docker docker · docker-compose" off \ - "podman" "Podman rootless containers · buildah" off \ - "cockpit" "Cockpit web UI · machines · podman" off \ - "ssh-server" "SSH server openssh · key-auth · enabled" off \ - "python" "Python tools pyright · pipx · pynvim" off \ - "zfs" "ZFS zfs-dkms kernel module" off \ - "wprs" "WPRS wprs-git (AUR)" off \ + --checklist "Optional applications — installed after base components:" 40 76 32 \ + "networking-cli" "Networking CLI nmap · nethogs · mitmproxy · httpie" off \ + "disk-recovery" "Disk Recovery ddrescue · f3" off \ + "himalaya" "Himalaya terminal email client (AUR)" off \ + "gnuplot" "Gnuplot scientific plotting" off \ + "povray" "POV-Ray ray-tracing renderer" off \ + "blender" "Blender 3D creation suite" off \ + "toot" "toot Mastodon CLI client (AUR)" off \ + "db-clients" "DB Clients pgcli · mycli" off \ + "mysql" "MySQL / MariaDB mariadb server + setup" off \ + "productivity" "Productivity taskwarrior · watson · jrnl" off \ + "yt-dlp" "yt-dlp YouTube / media downloader" off \ + "sox" "SoX audio processing toolkit" off \ + "imagemagick" "ImageMagick image manipulation" off \ + "ffmpeg" "FFmpeg extras thumbnailer · GStreamer codecs" off \ + "localtunnel" "LocalTunnel expose localhost via tunnel" off \ + "butter" "butter btrfs snapshot backup (AUR)" off \ + "tlp" "TLP laptop power management" off \ + "steam" "Steam gaming platform" off \ + "vesktop" "Vesktop Discord + Vencord theme" off \ + "spotify" "Spotify launcher + Spicetify theming" off \ + "prism" "PrismLauncher Minecraft launcher (Flatpak)" off \ + "vintagestory" "Vintage Story survival game (AUR)" off \ + "localsend" "LocalSend LAN file transfer (AUR)" off \ + "croc" "croc cross-platform file transfer" off \ + "onlyoffice" "OnlyOffice office suite (AUR)" off \ + "wireshark" "Wireshark network packet analyser (GUI)" off \ + "k8s" "Kubernetes tools kubectl · podman-desktop" off \ + "docker" "Docker docker · docker-compose" off \ + "podman" "Podman rootless containers · buildah" off \ + "cockpit" "Cockpit web UI · machines · podman" off \ + "ssh-server" "SSH server openssh · key-auth · enabled" off \ + "python" "Python tools pyright · pipx · pynvim" off \ + "zfs" "ZFS zfs-dkms kernel module" off \ + "wprs" "WPRS wprs-git (AUR)" off \ 3>&1 1>&2 2>&3) || SELECTED_APPS="" # ── Confirmation ────────────────────────────────────────────────────────────── @@ -191,23 +225,40 @@ SUMMARY="" if [[ -n "$SELECTED_APPS" ]]; then SUMMARY+="\n Applications:\n" - [[ "$SELECTED_APPS" == *"steam"* ]] && SUMMARY+=" ✦ Steam\n" - [[ "$SELECTED_APPS" == *"vesktop"* ]] && SUMMARY+=" ✦ Vesktop + Vencord theme\n" - [[ "$SELECTED_APPS" == *"spotify"* ]] && SUMMARY+=" ✦ Spotify + Spicetify\n" - [[ "$SELECTED_APPS" == *"prism"* ]] && SUMMARY+=" ✦ PrismLauncher\n" - [[ "$SELECTED_APPS" == *"vintagestory"* ]] && SUMMARY+=" ✦ Vintage Story\n" - [[ "$SELECTED_APPS" == *"localsend"* ]] && SUMMARY+=" ✦ LocalSend\n" - [[ "$SELECTED_APPS" == *"croc"* ]] && SUMMARY+=" ✦ croc\n" - [[ "$SELECTED_APPS" == *"onlyoffice"* ]] && SUMMARY+=" ✦ OnlyOffice\n" - [[ "$SELECTED_APPS" == *"wireshark"* ]] && SUMMARY+=" ✦ Wireshark\n" - [[ "$SELECTED_APPS" == *"k8s"* ]] && SUMMARY+=" ✦ Kubernetes tools\n" - [[ "$SELECTED_APPS" == *"docker"* ]] && SUMMARY+=" ✦ Docker + Compose\n" - [[ "$SELECTED_APPS" == *"podman"* ]] && SUMMARY+=" ✦ Podman (rootless) + Buildah\n" - [[ "$SELECTED_APPS" == *"cockpit"* ]] && SUMMARY+=" ✦ Cockpit web UI\n" - [[ "$SELECTED_APPS" == *"ssh-server"* ]] && SUMMARY+=" ✦ SSH server (openssh, key auth)\n" - [[ "$SELECTED_APPS" == *"python"* ]] && SUMMARY+=" ✦ Python tools\n" - [[ "$SELECTED_APPS" == *"zfs"* ]] && SUMMARY+=" ✦ ZFS\n" - [[ "$SELECTED_APPS" == *"wprs"* ]] && SUMMARY+=" ✦ WPRS\n" + [[ "$SELECTED_APPS" == *"networking-cli"* ]] && SUMMARY+=" ✦ Networking CLI (nmap, nethogs, mitmproxy, httpie)\n" + [[ "$SELECTED_APPS" == *"disk-recovery"* ]] && SUMMARY+=" ✦ Disk Recovery (ddrescue, f3)\n" + [[ "$SELECTED_APPS" == *"himalaya"* ]] && SUMMARY+=" ✦ Himalaya\n" + [[ "$SELECTED_APPS" == *"gnuplot"* ]] && SUMMARY+=" ✦ Gnuplot\n" + [[ "$SELECTED_APPS" == *"povray"* ]] && SUMMARY+=" ✦ POV-Ray\n" + [[ "$SELECTED_APPS" == *"blender"* ]] && SUMMARY+=" ✦ Blender\n" + [[ "$SELECTED_APPS" == *"toot"* ]] && SUMMARY+=" ✦ toot\n" + [[ "$SELECTED_APPS" == *"db-clients"* ]] && SUMMARY+=" ✦ DB Clients (pgcli, mycli)\n" + [[ "$SELECTED_APPS" == *"mysql"* ]] && SUMMARY+=" ✦ MySQL / MariaDB\n" + [[ "$SELECTED_APPS" == *"productivity"* ]] && SUMMARY+=" ✦ Productivity (taskwarrior, watson, jrnl)\n" + [[ "$SELECTED_APPS" == *"yt-dlp"* ]] && SUMMARY+=" ✦ yt-dlp\n" + [[ "$SELECTED_APPS" == *"sox"* ]] && SUMMARY+=" ✦ SoX\n" + [[ "$SELECTED_APPS" == *"imagemagick"* ]] && SUMMARY+=" ✦ ImageMagick\n" + [[ "$SELECTED_APPS" == *"ffmpeg"* ]] && SUMMARY+=" ✦ FFmpeg extras\n" + [[ "$SELECTED_APPS" == *"localtunnel"* ]] && SUMMARY+=" ✦ LocalTunnel\n" + [[ "$SELECTED_APPS" == *"butter"* ]] && SUMMARY+=" ✦ butter (btrfs backup)\n" + [[ "$SELECTED_APPS" == *"tlp"* ]] && SUMMARY+=" ✦ TLP\n" + [[ "$SELECTED_APPS" == *"steam"* ]] && SUMMARY+=" ✦ Steam\n" + [[ "$SELECTED_APPS" == *"vesktop"* ]] && SUMMARY+=" ✦ Vesktop + Vencord theme\n" + [[ "$SELECTED_APPS" == *"spotify"* ]] && SUMMARY+=" ✦ Spotify + Spicetify\n" + [[ "$SELECTED_APPS" == *"prism"* ]] && SUMMARY+=" ✦ PrismLauncher\n" + [[ "$SELECTED_APPS" == *"vintagestory"* ]] && SUMMARY+=" ✦ Vintage Story\n" + [[ "$SELECTED_APPS" == *"localsend"* ]] && SUMMARY+=" ✦ LocalSend\n" + [[ "$SELECTED_APPS" == *"croc"* ]] && SUMMARY+=" ✦ croc\n" + [[ "$SELECTED_APPS" == *"onlyoffice"* ]] && SUMMARY+=" ✦ OnlyOffice\n" + [[ "$SELECTED_APPS" == *"wireshark"* ]] && SUMMARY+=" ✦ Wireshark\n" + [[ "$SELECTED_APPS" == *"k8s"* ]] && SUMMARY+=" ✦ Kubernetes tools\n" + [[ "$SELECTED_APPS" == *"docker"* ]] && SUMMARY+=" ✦ Docker + Compose\n" + [[ "$SELECTED_APPS" == *"podman"* ]] && SUMMARY+=" ✦ Podman (rootless) + Buildah\n" + [[ "$SELECTED_APPS" == *"cockpit"* ]] && SUMMARY+=" ✦ Cockpit web UI\n" + [[ "$SELECTED_APPS" == *"ssh-server"* ]] && SUMMARY+=" ✦ SSH server (openssh, key auth)\n" + [[ "$SELECTED_APPS" == *"python"* ]] && SUMMARY+=" ✦ Python tools\n" + [[ "$SELECTED_APPS" == *"zfs"* ]] && SUMMARY+=" ✦ ZFS\n" + [[ "$SELECTED_APPS" == *"wprs"* ]] && SUMMARY+=" ✦ WPRS\n" fi dialog --backtitle "$BACKTITLE" \ @@ -231,23 +282,40 @@ if [[ "$COMPONENTS" == *"de"* && "$DE" != "none" ]]; then fi # ── Installation: applications ──────────────────────────────────────────────── -[[ "$SELECTED_APPS" == *"steam"* ]] && run_module "Steam" "$APPS/steam.sh" -[[ "$SELECTED_APPS" == *"vesktop"* ]] && run_module "Vesktop" "$APPS/vesktop.sh" -[[ "$SELECTED_APPS" == *"spotify"* ]] && run_module "Spotify" "$APPS/spotify.sh" -[[ "$SELECTED_APPS" == *"prism"* ]] && run_module "PrismLauncher" "$APPS/prismlauncher.sh" -[[ "$SELECTED_APPS" == *"vintagestory"* ]] && run_module "Vintage Story" "$APPS/vintagestory.sh" -[[ "$SELECTED_APPS" == *"localsend"* ]] && run_module "LocalSend" "$APPS/localsend.sh" -[[ "$SELECTED_APPS" == *"croc"* ]] && run_module "croc" "$APPS/croc.sh" -[[ "$SELECTED_APPS" == *"onlyoffice"* ]] && run_module "OnlyOffice" "$APPS/onlyoffice.sh" -[[ "$SELECTED_APPS" == *"wireshark"* ]] && run_module "Wireshark" "$APPS/wireshark.sh" -[[ "$SELECTED_APPS" == *"k8s"* ]] && run_module "Kubernetes Tools" "$APPS/k8s.sh" -[[ "$SELECTED_APPS" == *"docker"* ]] && run_module "Docker" "$APPS/docker.sh" -[[ "$SELECTED_APPS" == *"podman"* ]] && run_module "Podman" "$APPS/podman.sh" -[[ "$SELECTED_APPS" == *"cockpit"* ]] && run_module "Cockpit" "$APPS/cockpit.sh" -[[ "$SELECTED_APPS" == *"ssh-server"* ]] && run_module "SSH Server" "$APPS/ssh-server.sh" -[[ "$SELECTED_APPS" == *"python"* ]] && run_module "Python Tools" "$MODULES/optional-Modules/python.sh" -[[ "$SELECTED_APPS" == *"zfs"* ]] && run_module "ZFS" "$MODULES/optional-Modules/zfs.sh" -[[ "$SELECTED_APPS" == *"wprs"* ]] && run_module "WPRS" "$MODULES/optional-Modules/wprs.sh" +[[ "$SELECTED_APPS" == *"networking-cli"* ]] && run_module "Networking CLI" "$APPS/networking-cli.sh" +[[ "$SELECTED_APPS" == *"disk-recovery"* ]] && run_module "Disk Recovery" "$APPS/disk-recovery.sh" +[[ "$SELECTED_APPS" == *"himalaya"* ]] && run_module "Himalaya" "$APPS/himalaya.sh" +[[ "$SELECTED_APPS" == *"gnuplot"* ]] && run_module "Gnuplot" "$APPS/gnuplot.sh" +[[ "$SELECTED_APPS" == *"povray"* ]] && run_module "POV-Ray" "$APPS/povray.sh" +[[ "$SELECTED_APPS" == *"blender"* ]] && run_module "Blender" "$APPS/blender.sh" +[[ "$SELECTED_APPS" == *"toot"* ]] && run_module "toot" "$APPS/toot.sh" +[[ "$SELECTED_APPS" == *"db-clients"* ]] && run_module "DB Clients" "$APPS/db-clients.sh" +[[ "$SELECTED_APPS" == *"mysql"* ]] && run_module "MySQL / MariaDB" "$APPS/mysql.sh" +[[ "$SELECTED_APPS" == *"productivity"* ]] && run_module "Productivity" "$APPS/productivity.sh" +[[ "$SELECTED_APPS" == *"yt-dlp"* ]] && run_module "yt-dlp" "$APPS/yt-dlp.sh" +[[ "$SELECTED_APPS" == *"sox"* ]] && run_module "SoX" "$APPS/sox.sh" +[[ "$SELECTED_APPS" == *"imagemagick"* ]] && run_module "ImageMagick" "$APPS/imagemagick.sh" +[[ "$SELECTED_APPS" == *"ffmpeg"* ]] && run_module "FFmpeg extras" "$APPS/ffmpeg.sh" +[[ "$SELECTED_APPS" == *"localtunnel"* ]] && run_module "LocalTunnel" "$APPS/localtunnel.sh" +[[ "$SELECTED_APPS" == *"butter"* ]] && run_module "butter" "$APPS/butter.sh" +[[ "$SELECTED_APPS" == *"tlp"* ]] && run_module "TLP" "$APPS/tlp.sh" +[[ "$SELECTED_APPS" == *"steam"* ]] && run_module "Steam" "$APPS/steam.sh" +[[ "$SELECTED_APPS" == *"vesktop"* ]] && run_module "Vesktop" "$APPS/vesktop.sh" +[[ "$SELECTED_APPS" == *"spotify"* ]] && run_module "Spotify" "$APPS/spotify.sh" +[[ "$SELECTED_APPS" == *"prism"* ]] && run_module "PrismLauncher" "$APPS/prismlauncher.sh" +[[ "$SELECTED_APPS" == *"vintagestory"* ]] && run_module "Vintage Story" "$APPS/vintagestory.sh" +[[ "$SELECTED_APPS" == *"localsend"* ]] && run_module "LocalSend" "$APPS/localsend.sh" +[[ "$SELECTED_APPS" == *"croc"* ]] && run_module "croc" "$APPS/croc.sh" +[[ "$SELECTED_APPS" == *"onlyoffice"* ]] && run_module "OnlyOffice" "$APPS/onlyoffice.sh" +[[ "$SELECTED_APPS" == *"wireshark"* ]] && run_module "Wireshark" "$APPS/wireshark.sh" +[[ "$SELECTED_APPS" == *"k8s"* ]] && run_module "Kubernetes Tools" "$APPS/k8s.sh" +[[ "$SELECTED_APPS" == *"docker"* ]] && run_module "Docker" "$APPS/docker.sh" +[[ "$SELECTED_APPS" == *"podman"* ]] && run_module "Podman" "$APPS/podman.sh" +[[ "$SELECTED_APPS" == *"cockpit"* ]] && run_module "Cockpit" "$APPS/cockpit.sh" +[[ "$SELECTED_APPS" == *"ssh-server"* ]] && run_module "SSH Server" "$APPS/ssh-server.sh" +[[ "$SELECTED_APPS" == *"python"* ]] && run_module "Python Tools" "$MODULES/optional-Modules/python.sh" +[[ "$SELECTED_APPS" == *"zfs"* ]] && run_module "ZFS" "$MODULES/optional-Modules/zfs.sh" +[[ "$SELECTED_APPS" == *"wprs"* ]] && run_module "WPRS" "$MODULES/optional-Modules/wprs.sh" # ── Done ────────────────────────────────────────────────────────────────────── dialog --backtitle "$BACKTITLE" \ From b9b32c59c47a3267a8fc063e7ee22c57c212f9ec Mon Sep 17 00:00:00 2001 From: The_miro Date: Mon, 18 May 2026 10:46:13 +0200 Subject: [PATCH 002/116] setup: add Claude Code module Installs @anthropic-ai/claude-code via npm, sourcing nvm if npm is not already in PATH. Wired into tui-install.sh and install-modules.sh. Co-Authored-By: Claude Sonnet 4.6 --- setup/install-modules.sh | 4 ++++ setup/modules/optional-Modules/apps/claude.sh | 9 +++++++++ setup/tui-install.sh | 4 ++++ 3 files changed, 17 insertions(+) create mode 100755 setup/modules/optional-Modules/apps/claude.sh diff --git a/setup/install-modules.sh b/setup/install-modules.sh index bf39708..db725b3 100755 --- a/setup/install-modules.sh +++ b/setup/install-modules.sh @@ -84,6 +84,7 @@ run_module() { count_steps() { local sel="$1" TOTAL=0 + [[ "$sel" == *"claude"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"networking-cli"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"disk-recovery"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"himalaya"* ]] && TOTAL=$(( TOTAL + 1 )) @@ -143,6 +144,7 @@ SELECTED=$(dialog --backtitle "$BACKTITLE" \ --title " Select Modules " \ --checklist "Space toggles · Enter confirms · Arrow keys scroll" 40 76 32 \ \ + "claude" "Claude Code Anthropic CLI via npm" off \ "networking-cli" "Networking CLI nmap · nethogs · mitmproxy · httpie" off \ "disk-recovery" "Disk Recovery ddrescue · f3" off \ "himalaya" "Himalaya terminal email client (AUR)" off \ @@ -183,6 +185,7 @@ SELECTED=$(dialog --backtitle "$BACKTITLE" \ [[ -z "$SELECTED" ]] && { clear; echo "Nothing selected."; exit 0; } SUMMARY="" +[[ "$SELECTED" == *"claude"* ]] && SUMMARY+=" ✦ Claude Code\n" [[ "$SELECTED" == *"networking-cli"* ]] && SUMMARY+=" ✦ Networking CLI (nmap, nethogs, mitmproxy, httpie)\n" [[ "$SELECTED" == *"disk-recovery"* ]] && SUMMARY+=" ✦ Disk Recovery (ddrescue, f3)\n" [[ "$SELECTED" == *"himalaya"* ]] && SUMMARY+=" ✦ Himalaya\n" @@ -225,6 +228,7 @@ dialog --backtitle "$BACKTITLE" \ count_steps "$SELECTED" +[[ "$SELECTED" == *"claude"* ]] && run_module "Claude Code" "$APPS/claude.sh" [[ "$SELECTED" == *"networking-cli"* ]] && run_module "Networking CLI" "$APPS/networking-cli.sh" [[ "$SELECTED" == *"disk-recovery"* ]] && run_module "Disk Recovery" "$APPS/disk-recovery.sh" [[ "$SELECTED" == *"himalaya"* ]] && run_module "Himalaya" "$APPS/himalaya.sh" diff --git a/setup/modules/optional-Modules/apps/claude.sh b/setup/modules/optional-Modules/apps/claude.sh new file mode 100755 index 0000000..64d6933 --- /dev/null +++ b/setup/modules/optional-Modules/apps/claude.sh @@ -0,0 +1,9 @@ +#!/bin/bash +set -euo pipefail + +if ! command -v npm &>/dev/null; then + export NVM_DIR="$HOME/.nvm" + [[ -s "$NVM_DIR/nvm.sh" ]] && source "$NVM_DIR/nvm.sh" +fi + +npm install -g @anthropic-ai/claude-code diff --git a/setup/tui-install.sh b/setup/tui-install.sh index c021334..429db9b 100755 --- a/setup/tui-install.sh +++ b/setup/tui-install.sh @@ -94,6 +94,7 @@ count_steps() { [[ "$c" == *"svc"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$c" == *"shell"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$c" == *"de"* && "$de" != "none" ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"claude"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"networking-cli"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"disk-recovery"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"himalaya"* ]] && TOTAL=$(( TOTAL + 1 )) @@ -179,6 +180,7 @@ fi SELECTED_APPS=$(dialog --backtitle "$BACKTITLE" \ --title " Applications " \ --checklist "Optional applications — installed after base components:" 40 76 32 \ + "claude" "Claude Code Anthropic CLI via npm" off \ "networking-cli" "Networking CLI nmap · nethogs · mitmproxy · httpie" off \ "disk-recovery" "Disk Recovery ddrescue · f3" off \ "himalaya" "Himalaya terminal email client (AUR)" off \ @@ -225,6 +227,7 @@ SUMMARY="" if [[ -n "$SELECTED_APPS" ]]; then SUMMARY+="\n Applications:\n" + [[ "$SELECTED_APPS" == *"claude"* ]] && SUMMARY+=" ✦ Claude Code\n" [[ "$SELECTED_APPS" == *"networking-cli"* ]] && SUMMARY+=" ✦ Networking CLI (nmap, nethogs, mitmproxy, httpie)\n" [[ "$SELECTED_APPS" == *"disk-recovery"* ]] && SUMMARY+=" ✦ Disk Recovery (ddrescue, f3)\n" [[ "$SELECTED_APPS" == *"himalaya"* ]] && SUMMARY+=" ✦ Himalaya\n" @@ -282,6 +285,7 @@ if [[ "$COMPONENTS" == *"de"* && "$DE" != "none" ]]; then fi # ── Installation: applications ──────────────────────────────────────────────── +[[ "$SELECTED_APPS" == *"claude"* ]] && run_module "Claude Code" "$APPS/claude.sh" [[ "$SELECTED_APPS" == *"networking-cli"* ]] && run_module "Networking CLI" "$APPS/networking-cli.sh" [[ "$SELECTED_APPS" == *"disk-recovery"* ]] && run_module "Disk Recovery" "$APPS/disk-recovery.sh" [[ "$SELECTED_APPS" == *"himalaya"* ]] && run_module "Himalaya" "$APPS/himalaya.sh" From 5455a26a286813805f1575c5935e16d346072b04 Mon Sep 17 00:00:00 2001 From: The_miro Date: Mon, 18 May 2026 10:53:12 +0200 Subject: [PATCH 003/116] setup: add ollama and llama.cpp modules ollama.sh: installs from official repos, enables ollama.service, notes GPU sharing caveat with llama.cpp. For NVIDIA/AMD GPU variants use ollama-cuda or ollama-rocm from AUR instead. llama-cpp.sh: standalone inference CLI and server via yay (covers both official repos and AUR). Both modules coexist at the package level; docker/podman/cockpit modules confirmed conflict-free (all use --needed, podman+cockpit base packages already in core-packages.sh). Co-Authored-By: Claude Sonnet 4.6 --- setup/install-modules.sh | 8 ++++++++ setup/modules/optional-Modules/apps/llama-cpp.sh | 7 +++++++ setup/modules/optional-Modules/apps/ollama.sh | 12 ++++++++++++ setup/tui-install.sh | 8 ++++++++ 4 files changed, 35 insertions(+) create mode 100755 setup/modules/optional-Modules/apps/llama-cpp.sh create mode 100755 setup/modules/optional-Modules/apps/ollama.sh diff --git a/setup/install-modules.sh b/setup/install-modules.sh index db725b3..23984ab 100755 --- a/setup/install-modules.sh +++ b/setup/install-modules.sh @@ -84,6 +84,8 @@ run_module() { count_steps() { local sel="$1" TOTAL=0 + [[ "$sel" == *"ollama"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"llama-cpp"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"claude"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"networking-cli"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"disk-recovery"* ]] && TOTAL=$(( TOTAL + 1 )) @@ -144,6 +146,8 @@ SELECTED=$(dialog --backtitle "$BACKTITLE" \ --title " Select Modules " \ --checklist "Space toggles · Enter confirms · Arrow keys scroll" 40 76 32 \ \ + "ollama" "Ollama local LLM runner + API server" off \ + "llama-cpp" "llama.cpp standalone inference CLI + server" off \ "claude" "Claude Code Anthropic CLI via npm" off \ "networking-cli" "Networking CLI nmap · nethogs · mitmproxy · httpie" off \ "disk-recovery" "Disk Recovery ddrescue · f3" off \ @@ -185,6 +189,8 @@ SELECTED=$(dialog --backtitle "$BACKTITLE" \ [[ -z "$SELECTED" ]] && { clear; echo "Nothing selected."; exit 0; } SUMMARY="" +[[ "$SELECTED" == *"ollama"* ]] && SUMMARY+=" ✦ Ollama\n" +[[ "$SELECTED" == *"llama-cpp"* ]] && SUMMARY+=" ✦ llama.cpp\n" [[ "$SELECTED" == *"claude"* ]] && SUMMARY+=" ✦ Claude Code\n" [[ "$SELECTED" == *"networking-cli"* ]] && SUMMARY+=" ✦ Networking CLI (nmap, nethogs, mitmproxy, httpie)\n" [[ "$SELECTED" == *"disk-recovery"* ]] && SUMMARY+=" ✦ Disk Recovery (ddrescue, f3)\n" @@ -228,6 +234,8 @@ dialog --backtitle "$BACKTITLE" \ count_steps "$SELECTED" +[[ "$SELECTED" == *"ollama"* ]] && run_module "Ollama" "$APPS/ollama.sh" +[[ "$SELECTED" == *"llama-cpp"* ]] && run_module "llama.cpp" "$APPS/llama-cpp.sh" [[ "$SELECTED" == *"claude"* ]] && run_module "Claude Code" "$APPS/claude.sh" [[ "$SELECTED" == *"networking-cli"* ]] && run_module "Networking CLI" "$APPS/networking-cli.sh" [[ "$SELECTED" == *"disk-recovery"* ]] && run_module "Disk Recovery" "$APPS/disk-recovery.sh" diff --git a/setup/modules/optional-Modules/apps/llama-cpp.sh b/setup/modules/optional-Modules/apps/llama-cpp.sh new file mode 100755 index 0000000..034a1c2 --- /dev/null +++ b/setup/modules/optional-Modules/apps/llama-cpp.sh @@ -0,0 +1,7 @@ +#!/bin/bash +set -euo pipefail + +# Provides standalone llama-cli, llama-server, and related tools. +# Ollama bundles its own copy of llama.cpp internally — the two coexist +# at the package level but share GPU resources at runtime. +yay -S --answerdiff None --answerclean All --noconfirm llama-cpp diff --git a/setup/modules/optional-Modules/apps/ollama.sh b/setup/modules/optional-Modules/apps/ollama.sh new file mode 100755 index 0000000..c911021 --- /dev/null +++ b/setup/modules/optional-Modules/apps/ollama.sh @@ -0,0 +1,12 @@ +#!/bin/bash +set -euo pipefail + +# GPU variants: install ollama-cuda (AUR) for NVIDIA or ollama-rocm (AUR) for AMD. +# The base package runs on CPU and auto-uses GPU libs if present at runtime. +sudo pacman -S --noconfirm --needed ollama + +sudo systemctl enable --now ollama.service + +echo "Ollama running on http://localhost:11434" +echo "Pull models with: ollama pull " +echo "Note: if llama.cpp is also installed, avoid running both GPU-bound at once." diff --git a/setup/tui-install.sh b/setup/tui-install.sh index 429db9b..bda033b 100755 --- a/setup/tui-install.sh +++ b/setup/tui-install.sh @@ -94,6 +94,8 @@ count_steps() { [[ "$c" == *"svc"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$c" == *"shell"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$c" == *"de"* && "$de" != "none" ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"ollama"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"llama-cpp"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"claude"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"networking-cli"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"disk-recovery"* ]] && TOTAL=$(( TOTAL + 1 )) @@ -180,6 +182,8 @@ fi SELECTED_APPS=$(dialog --backtitle "$BACKTITLE" \ --title " Applications " \ --checklist "Optional applications — installed after base components:" 40 76 32 \ + "ollama" "Ollama local LLM runner + API server" off \ + "llama-cpp" "llama.cpp standalone inference CLI + server" off \ "claude" "Claude Code Anthropic CLI via npm" off \ "networking-cli" "Networking CLI nmap · nethogs · mitmproxy · httpie" off \ "disk-recovery" "Disk Recovery ddrescue · f3" off \ @@ -227,6 +231,8 @@ SUMMARY="" if [[ -n "$SELECTED_APPS" ]]; then SUMMARY+="\n Applications:\n" + [[ "$SELECTED_APPS" == *"ollama"* ]] && SUMMARY+=" ✦ Ollama\n" + [[ "$SELECTED_APPS" == *"llama-cpp"* ]] && SUMMARY+=" ✦ llama.cpp\n" [[ "$SELECTED_APPS" == *"claude"* ]] && SUMMARY+=" ✦ Claude Code\n" [[ "$SELECTED_APPS" == *"networking-cli"* ]] && SUMMARY+=" ✦ Networking CLI (nmap, nethogs, mitmproxy, httpie)\n" [[ "$SELECTED_APPS" == *"disk-recovery"* ]] && SUMMARY+=" ✦ Disk Recovery (ddrescue, f3)\n" @@ -285,6 +291,8 @@ if [[ "$COMPONENTS" == *"de"* && "$DE" != "none" ]]; then fi # ── Installation: applications ──────────────────────────────────────────────── +[[ "$SELECTED_APPS" == *"ollama"* ]] && run_module "Ollama" "$APPS/ollama.sh" +[[ "$SELECTED_APPS" == *"llama-cpp"* ]] && run_module "llama.cpp" "$APPS/llama-cpp.sh" [[ "$SELECTED_APPS" == *"claude"* ]] && run_module "Claude Code" "$APPS/claude.sh" [[ "$SELECTED_APPS" == *"networking-cli"* ]] && run_module "Networking CLI" "$APPS/networking-cli.sh" [[ "$SELECTED_APPS" == *"disk-recovery"* ]] && run_module "Disk Recovery" "$APPS/disk-recovery.sh" From 36366a623b0b6bd70567dafffd1654f4e32c6bf0 Mon Sep 17 00:00:00 2001 From: The_miro Date: Mon, 18 May 2026 10:54:47 +0200 Subject: [PATCH 004/116] setup: remove podman and cockpit from core-packages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit podman, podman-compose, cockpit, cockpit-files, cockpit-podman all have dedicated optional modules — no reason to install them on every system. Co-Authored-By: Claude Sonnet 4.6 --- setup/modules/core-packages.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup/modules/core-packages.sh b/setup/modules/core-packages.sh index cb57f80..b4563c0 100644 --- a/setup/modules/core-packages.sh +++ b/setup/modules/core-packages.sh @@ -4,12 +4,12 @@ set -euo pipefail sudo pacman -Syu --noconfirm --needed \ 7zip arch-install-scripts atftp atool \ base base-devel bind bluez btrfs-progs btop \ - cockpit cockpit-files cockpit-podman cronie curl \ + cronie curl \ distrobox fail2ban fastfetch fd fdupes ffmpeg firefox flatpak \ gcc glib2 greetd-tuigreet grub \ htop inetutils iputils iwd jq ldns less libpulse linux linux-firmware \ man-db mc nano neovim networkmanager \ - onefetch openssh pciutils pipewire podman podman-compose \ + onefetch openssh pciutils pipewire \ python python-pip qrencode ruby-pkg-config rust rustup \ smartmontools symlinks tldr tree \ udisks2 udisks2-btrfs udiskie ufw usbutils \ From 36a938c3ecba04852346cfbb18e29ac61ca2e782 Mon Sep 17 00:00:00 2001 From: The_miro Date: Mon, 18 May 2026 11:01:20 +0200 Subject: [PATCH 005/116] setup: add Open WebUI module Installs open-webui from AUR and enables open-webui.service. Serves the browser UI at http://localhost:8080; Ollama module should be installed first for full LLM backend functionality. Co-Authored-By: Claude Sonnet 4.6 --- setup/install-modules.sh | 4 ++++ setup/modules/optional-Modules/apps/open-webui.sh | 10 ++++++++++ setup/tui-install.sh | 4 ++++ 3 files changed, 18 insertions(+) create mode 100755 setup/modules/optional-Modules/apps/open-webui.sh diff --git a/setup/install-modules.sh b/setup/install-modules.sh index 23984ab..da11899 100755 --- a/setup/install-modules.sh +++ b/setup/install-modules.sh @@ -86,6 +86,7 @@ count_steps() { TOTAL=0 [[ "$sel" == *"ollama"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"llama-cpp"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"open-webui"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"claude"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"networking-cli"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"disk-recovery"* ]] && TOTAL=$(( TOTAL + 1 )) @@ -148,6 +149,7 @@ SELECTED=$(dialog --backtitle "$BACKTITLE" \ \ "ollama" "Ollama local LLM runner + API server" off \ "llama-cpp" "llama.cpp standalone inference CLI + server" off \ + "open-webui" "Open WebUI browser UI for Ollama / LLM backends" off \ "claude" "Claude Code Anthropic CLI via npm" off \ "networking-cli" "Networking CLI nmap · nethogs · mitmproxy · httpie" off \ "disk-recovery" "Disk Recovery ddrescue · f3" off \ @@ -191,6 +193,7 @@ SELECTED=$(dialog --backtitle "$BACKTITLE" \ SUMMARY="" [[ "$SELECTED" == *"ollama"* ]] && SUMMARY+=" ✦ Ollama\n" [[ "$SELECTED" == *"llama-cpp"* ]] && SUMMARY+=" ✦ llama.cpp\n" +[[ "$SELECTED" == *"open-webui"* ]] && SUMMARY+=" ✦ Open WebUI\n" [[ "$SELECTED" == *"claude"* ]] && SUMMARY+=" ✦ Claude Code\n" [[ "$SELECTED" == *"networking-cli"* ]] && SUMMARY+=" ✦ Networking CLI (nmap, nethogs, mitmproxy, httpie)\n" [[ "$SELECTED" == *"disk-recovery"* ]] && SUMMARY+=" ✦ Disk Recovery (ddrescue, f3)\n" @@ -236,6 +239,7 @@ count_steps "$SELECTED" [[ "$SELECTED" == *"ollama"* ]] && run_module "Ollama" "$APPS/ollama.sh" [[ "$SELECTED" == *"llama-cpp"* ]] && run_module "llama.cpp" "$APPS/llama-cpp.sh" +[[ "$SELECTED" == *"open-webui"* ]] && run_module "Open WebUI" "$APPS/open-webui.sh" [[ "$SELECTED" == *"claude"* ]] && run_module "Claude Code" "$APPS/claude.sh" [[ "$SELECTED" == *"networking-cli"* ]] && run_module "Networking CLI" "$APPS/networking-cli.sh" [[ "$SELECTED" == *"disk-recovery"* ]] && run_module "Disk Recovery" "$APPS/disk-recovery.sh" diff --git a/setup/modules/optional-Modules/apps/open-webui.sh b/setup/modules/optional-Modules/apps/open-webui.sh new file mode 100755 index 0000000..0842c41 --- /dev/null +++ b/setup/modules/optional-Modules/apps/open-webui.sh @@ -0,0 +1,10 @@ +#!/bin/bash +set -euo pipefail + +# Open WebUI — browser UI for Ollama and other LLM backends. +# Ollama module should be installed first for full functionality. +yay -S --answerdiff None --answerclean All --noconfirm open-webui + +sudo systemctl enable --now open-webui.service + +echo "Open WebUI running at http://localhost:8080" diff --git a/setup/tui-install.sh b/setup/tui-install.sh index bda033b..d0aaa03 100755 --- a/setup/tui-install.sh +++ b/setup/tui-install.sh @@ -96,6 +96,7 @@ count_steps() { [[ "$c" == *"de"* && "$de" != "none" ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"ollama"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"llama-cpp"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"open-webui"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"claude"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"networking-cli"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"disk-recovery"* ]] && TOTAL=$(( TOTAL + 1 )) @@ -184,6 +185,7 @@ SELECTED_APPS=$(dialog --backtitle "$BACKTITLE" \ --checklist "Optional applications — installed after base components:" 40 76 32 \ "ollama" "Ollama local LLM runner + API server" off \ "llama-cpp" "llama.cpp standalone inference CLI + server" off \ + "open-webui" "Open WebUI browser UI for Ollama / LLM backends" off \ "claude" "Claude Code Anthropic CLI via npm" off \ "networking-cli" "Networking CLI nmap · nethogs · mitmproxy · httpie" off \ "disk-recovery" "Disk Recovery ddrescue · f3" off \ @@ -233,6 +235,7 @@ if [[ -n "$SELECTED_APPS" ]]; then SUMMARY+="\n Applications:\n" [[ "$SELECTED_APPS" == *"ollama"* ]] && SUMMARY+=" ✦ Ollama\n" [[ "$SELECTED_APPS" == *"llama-cpp"* ]] && SUMMARY+=" ✦ llama.cpp\n" + [[ "$SELECTED_APPS" == *"open-webui"* ]] && SUMMARY+=" ✦ Open WebUI\n" [[ "$SELECTED_APPS" == *"claude"* ]] && SUMMARY+=" ✦ Claude Code\n" [[ "$SELECTED_APPS" == *"networking-cli"* ]] && SUMMARY+=" ✦ Networking CLI (nmap, nethogs, mitmproxy, httpie)\n" [[ "$SELECTED_APPS" == *"disk-recovery"* ]] && SUMMARY+=" ✦ Disk Recovery (ddrescue, f3)\n" @@ -293,6 +296,7 @@ fi # ── Installation: applications ──────────────────────────────────────────────── [[ "$SELECTED_APPS" == *"ollama"* ]] && run_module "Ollama" "$APPS/ollama.sh" [[ "$SELECTED_APPS" == *"llama-cpp"* ]] && run_module "llama.cpp" "$APPS/llama-cpp.sh" +[[ "$SELECTED_APPS" == *"open-webui"* ]] && run_module "Open WebUI" "$APPS/open-webui.sh" [[ "$SELECTED_APPS" == *"claude"* ]] && run_module "Claude Code" "$APPS/claude.sh" [[ "$SELECTED_APPS" == *"networking-cli"* ]] && run_module "Networking CLI" "$APPS/networking-cli.sh" [[ "$SELECTED_APPS" == *"disk-recovery"* ]] && run_module "Disk Recovery" "$APPS/disk-recovery.sh" From 7279a781b0ebed61b234720142a50001967f1dfd Mon Sep 17 00:00:00 2001 From: The_miro Date: Mon, 18 May 2026 11:12:31 +0200 Subject: [PATCH 006/116] setup: add FreeIPA server module and generic client script freeipa-server.sh: interactive installer that collects domain, realm, IP, admin/DM passwords, DNS, KRA, NTP, and AWX/Ansible settings; runs conflict pre-flight (checks for existing named/dirsrv/krb5kdc, ports 389/636/88, and /etc/ipa/default.conf); configures firewalld/ufw; runs ipa-server-install; and outputs a ready-to-distribute client package to ~/freeipa-output/ containing: - freeipa-enroll.sh (server defaults baked in) - freeipa-client.sh (server defaults baked in) - freeipa-client-answerfile.json (pre-filled, password intentionally blank) - auto-enroll-ansible.sh (AWX defaults embedded, still overridable) - README.txt freeipa-client.sh: thin wrapper around freeipa-enroll.sh with three modes: --answerfile FILE read JSON with jq, build args, exec freeipa-enroll.sh --interactive prompt for every field, then exec freeipa-enroll.sh [flags] passthrough directly to freeipa-enroll.sh freeipa-client-answerfile.json: template with current server defaults (freeipa.abdelbaki.eu); freeipa-server.sh sed-replaces these when generating customized copies. Supported server OS: RHEL/Rocky/AlmaLinux/Fedora (primary), Arch (warned). Co-Authored-By: Claude Sonnet 4.6 --- setup/install-modules.sh | 4 + .../freeipa-client-answerfile.json | 14 + .../modules/FreeipaAnsible/freeipa-client.sh | 159 +++++++ .../optional-Modules/apps/freeipa-server.sh | 399 ++++++++++++++++++ setup/tui-install.sh | 4 + 5 files changed, 580 insertions(+) create mode 100644 setup/modules/FreeipaAnsible/freeipa-client-answerfile.json create mode 100755 setup/modules/FreeipaAnsible/freeipa-client.sh create mode 100755 setup/modules/optional-Modules/apps/freeipa-server.sh diff --git a/setup/install-modules.sh b/setup/install-modules.sh index da11899..67b1cf2 100755 --- a/setup/install-modules.sh +++ b/setup/install-modules.sh @@ -119,6 +119,7 @@ count_steps() { [[ "$sel" == *"podman"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"cockpit"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"ssh-server"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"freeipa-server"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"python"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"zfs"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"wprs"* ]] && TOTAL=$(( TOTAL + 1 )) @@ -183,6 +184,7 @@ SELECTED=$(dialog --backtitle "$BACKTITLE" \ "podman" "Podman rootless containers · buildah" off \ "cockpit" "Cockpit web UI · machines · podman" off \ "ssh-server" "SSH server openssh · key-auth · enabled" off \ + "freeipa-server" "FreeIPA Server interactive server setup + client gen" off \ "python" "Python tools pyright · pipx · pynvim" off \ "zfs" "ZFS zfs-dkms kernel module" off \ "wprs" "WPRS wprs-git (AUR)" off \ @@ -226,6 +228,7 @@ SUMMARY="" [[ "$SELECTED" == *"podman"* ]] && SUMMARY+=" ✦ Podman\n" [[ "$SELECTED" == *"cockpit"* ]] && SUMMARY+=" ✦ Cockpit\n" [[ "$SELECTED" == *"ssh-server"* ]] && SUMMARY+=" ✦ SSH server\n" +[[ "$SELECTED" == *"freeipa-server"* ]] && SUMMARY+=" ✦ FreeIPA Server\n" [[ "$SELECTED" == *"python"* ]] && SUMMARY+=" ✦ Python tools\n" [[ "$SELECTED" == *"zfs"* ]] && SUMMARY+=" ✦ ZFS\n" [[ "$SELECTED" == *"wprs"* ]] && SUMMARY+=" ✦ WPRS\n" @@ -272,6 +275,7 @@ count_steps "$SELECTED" [[ "$SELECTED" == *"podman"* ]] && run_module "Podman" "$APPS/podman.sh" [[ "$SELECTED" == *"cockpit"* ]] && run_module "Cockpit" "$APPS/cockpit.sh" [[ "$SELECTED" == *"ssh-server"* ]] && run_module "SSH Server" "$APPS/ssh-server.sh" +[[ "$SELECTED" == *"freeipa-server"* ]] && run_module "FreeIPA Server" "$APPS/freeipa-server.sh" [[ "$SELECTED" == *"python"* ]] && run_module "Python Tools" "$MODULES/optional-Modules/python.sh" [[ "$SELECTED" == *"zfs"* ]] && run_module "ZFS" "$MODULES/optional-Modules/zfs.sh" [[ "$SELECTED" == *"wprs"* ]] && run_module "WPRS" "$MODULES/optional-Modules/wprs.sh" diff --git a/setup/modules/FreeipaAnsible/freeipa-client-answerfile.json b/setup/modules/FreeipaAnsible/freeipa-client-answerfile.json new file mode 100644 index 0000000..45fa579 --- /dev/null +++ b/setup/modules/FreeipaAnsible/freeipa-client-answerfile.json @@ -0,0 +1,14 @@ +{ + "domain": "freeipa.abdelbaki.eu", + "realm": "FREEIPA.ABDELBAKI.EU", + "server": "freeipa.abdelbaki.eu", + "hostname": "", + "principal": "admin", + "password": "", + "mkhomedir": true, + "sudo": true, + "dns_update": true, + "ntp_server": "", + "fido2": false, + "fido2_users": [] +} diff --git a/setup/modules/FreeipaAnsible/freeipa-client.sh b/setup/modules/FreeipaAnsible/freeipa-client.sh new file mode 100755 index 0000000..7643e91 --- /dev/null +++ b/setup/modules/FreeipaAnsible/freeipa-client.sh @@ -0,0 +1,159 @@ +#!/bin/bash +# freeipa-client.sh — FreeIPA client enrollment +# +# Three modes: +# --answerfile FILE Read settings from a JSON file (jq required) +# --interactive Prompt for every setting +# [flags] Pass any flags directly to freeipa-enroll.sh +# +# All flags accepted by freeipa-enroll.sh work here too and override +# any values loaded from an answerfile or interactive prompts. +# +# JSON answerfile schema: +# { +# "domain": "freeipa.abdelbaki.eu", +# "realm": "FREEIPA.ABDELBAKI.EU", +# "server": "freeipa.abdelbaki.eu", +# "hostname": "", <- leave blank to use current hostname +# "principal": "admin", +# "password": "", <- will prompt if blank +# "mkhomedir": true, +# "sudo": true, +# "dns_update": true, +# "ntp_server": "", +# "fido2": false, +# "fido2_users": [] +# } + +set -euo pipefail + +SELF_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +ENROLL="$SELF_DIR/freeipa-enroll.sh" + +[[ ! -x "$ENROLL" ]] && { echo "Error: freeipa-enroll.sh not found at $ENROLL" >&2; exit 1; } + +# Defaults (match freeipa-enroll.sh hardcoded values; freeipa-server.sh will +# sed-replace these when generating customized copies) +IPA_DOMAIN="freeipa.abdelbaki.eu" +IPA_REALM="FREEIPA.ABDELBAKI.EU" +IPA_SERVER="freeipa.abdelbaki.eu" + +MODE="" +ANSWERFILE="" +PASSTHROUGH=() + +while [[ $# -gt 0 ]]; do + case $1 in + --answerfile) MODE="answerfile"; ANSWERFILE="$2"; shift 2 ;; + --interactive) MODE="interactive"; shift ;; + *) PASSTHROUGH+=("$1"); shift ;; + esac +done + +# ─── Answerfile mode ────────────────────────────────────────────────────────── +if [[ "$MODE" == "answerfile" ]]; then + [[ ! -f "$ANSWERFILE" ]] && { echo "Error: answerfile not found: $ANSWERFILE" >&2; exit 1; } + command -v jq &>/dev/null || { echo "Error: jq is required for answerfile mode" >&2; exit 1; } + + get() { jq -r "$1 // empty" "$ANSWERFILE"; } + get_bool() { jq -r "$1 // empty" "$ANSWERFILE"; } + + AF_DOMAIN=$(get '.domain') + AF_REALM=$(get '.realm') + AF_SERVER=$(get '.server') + AF_HOSTNAME=$(get '.hostname') + AF_PRINCIPAL=$(get '.principal') + AF_PASSWORD=$(get '.password') + AF_NTP=$(get '.ntp_server') + AF_MKHOMEDIR=$(get_bool '.mkhomedir') + AF_SUDO=$(get_bool '.sudo') + AF_DNS_UPDATE=$(get_bool '.dns_update') + AF_FIDO2=$(get_bool '.fido2') + mapfile -t AF_FIDO2_USERS < <(jq -r '.fido2_users // [] | .[]' "$ANSWERFILE") + + ARGS=() + [[ -n "$AF_DOMAIN" ]] && ARGS+=(--domain "$AF_DOMAIN") + [[ -n "$AF_REALM" ]] && ARGS+=(--realm "$AF_REALM") + [[ -n "$AF_SERVER" ]] && ARGS+=(--server "$AF_SERVER") + [[ -n "$AF_HOSTNAME" ]] && ARGS+=(--hostname "$AF_HOSTNAME") + [[ -n "$AF_PRINCIPAL" ]] && ARGS+=(--principal "$AF_PRINCIPAL") + [[ -n "$AF_NTP" ]] && ARGS+=(--ntp-server "$AF_NTP") + + if [[ -z "$AF_PASSWORD" ]]; then + printf '[?] Password for %s@%s: ' "${AF_PRINCIPAL:-admin}" "${AF_REALM:-REALM}" + read -rs AF_PASSWORD; echo + fi + ARGS+=(--password "$AF_PASSWORD") + + [[ "$AF_MKHOMEDIR" == "false" ]] && ARGS+=(--no-mkhomedir) + [[ "$AF_SUDO" == "false" ]] && ARGS+=(--no-sudo) + [[ "$AF_DNS_UPDATE" == "false" ]] && ARGS+=(--no-dns-update) + [[ "$AF_FIDO2" == "true" ]] && ARGS+=(--fido2) + for U in "${AF_FIDO2_USERS[@]}"; do + [[ -n "$U" ]] && ARGS+=(--fido2-user "$U") + done + + exec "$ENROLL" "${ARGS[@]}" "${PASSTHROUGH[@]}" +fi + +# ─── Interactive mode ───────────────────────────────────────────────────────── +if [[ "$MODE" == "interactive" ]]; then + p() { printf '\033[0;35m[?]\033[0m %s ' "$*"; } + + p "IPA Domain [$IPA_DOMAIN]:"; read -r I; IPA_DOMAIN="${I:-$IPA_DOMAIN}" + IPA_REALM="${IPA_DOMAIN^^}" + p "Kerberos Realm [$IPA_REALM]:"; read -r I; IPA_REALM="${I:-$IPA_REALM}" + p "IPA Server [$IPA_SERVER]:"; read -r I; IPA_SERVER="${I:-$IPA_SERVER}" + + CURRENT_HOST=$(hostname -f 2>/dev/null || hostname) + p "This host's FQDN [$CURRENT_HOST]:"; read -r I; CLIENT_HOSTNAME="${I:-$CURRENT_HOST}" + + p "Admin principal [admin]:"; read -r PRINCIPAL; PRINCIPAL="${PRINCIPAL:-admin}" + p "Admin password (no echo):"; read -rs PASSWORD; echo + [[ -z "$PASSWORD" ]] && { echo "Error: password is required" >&2; exit 1; } + + p "Enable home directory creation? [Y/n]:"; read -r I + MKHOMEDIR=true; [[ "${I,,}" == "n"* ]] && MKHOMEDIR=false + + p "Configure sudo via SSSD? [Y/n]:"; read -r I + SUDO=true; [[ "${I,,}" == "n"* ]] && SUDO=false + + p "Update DNS record? [Y/n]:"; read -r I + DNS_UPDATE=true; [[ "${I,,}" == "n"* ]] && DNS_UPDATE=false + + p "NTP server (blank to skip):"; read -r NTP_SERVER + + p "Enable FIDO2 authentication? [y/N]:"; read -r I + FIDO2=false; [[ "${I,,}" == "y"* ]] && FIDO2=true + + FIDO2_USER_LIST=() + if [[ "$FIDO2" == true ]]; then + p "FIDO2 users (comma-separated, blank to skip):"; read -r I + if [[ -n "$I" ]]; then + IFS=',' read -ra FIDO2_USER_LIST <<< "$I" + fi + fi + + ARGS=( + --domain "$IPA_DOMAIN" + --realm "$IPA_REALM" + --server "$IPA_SERVER" + --hostname "$CLIENT_HOSTNAME" + --principal "$PRINCIPAL" + --password "$PASSWORD" + ) + [[ "$MKHOMEDIR" == false ]] && ARGS+=(--no-mkhomedir) + [[ "$SUDO" == false ]] && ARGS+=(--no-sudo) + [[ "$DNS_UPDATE" == false ]] && ARGS+=(--no-dns-update) + [[ "$FIDO2" == true ]] && ARGS+=(--fido2) + [[ -n "$NTP_SERVER" ]] && ARGS+=(--ntp-server "$NTP_SERVER") + for U in "${FIDO2_USER_LIST[@]}"; do + [[ -n "${U// /}" ]] && ARGS+=(--fido2-user "${U// /}") + done + + exec "$ENROLL" "${ARGS[@]}" "${PASSTHROUGH[@]}" +fi + +# ─── Direct passthrough ─────────────────────────────────────────────────────── +# No --answerfile or --interactive: forward all args directly to freeipa-enroll.sh +exec "$ENROLL" "${PASSTHROUGH[@]}" diff --git a/setup/modules/optional-Modules/apps/freeipa-server.sh b/setup/modules/optional-Modules/apps/freeipa-server.sh new file mode 100755 index 0000000..6a24732 --- /dev/null +++ b/setup/modules/optional-Modules/apps/freeipa-server.sh @@ -0,0 +1,399 @@ +#!/bin/bash +# freeipa-server.sh — Interactive FreeIPA server installer +# Collects all configuration, installs the IPA server, and outputs customized +# client enrollment scripts (freeipa-enroll.sh, freeipa-client.sh, answerfile, +# and optionally auto-enroll-ansible.sh) ready for distribution. + +set -euo pipefail + +RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m' +BLUE='\033[0;34m'; CYAN='\033[0;36m'; MAGENTA='\033[0;35m'; NC='\033[0m' + +log() { echo -e "${GREEN}[+]${NC} $*"; } +warn() { echo -e "${YELLOW}[!]${NC} $*"; } +error() { echo -e "${RED}[✗]${NC} $*" >&2; } +info() { echo -e "${CYAN}[i]${NC} $*"; } +section() { echo -e "\n${BLUE}━━━ $* ━━━${NC}"; } +ask() { printf "${MAGENTA}[?]${NC} %s " "$*"; } + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +IPA_BASE="$SCRIPT_DIR/../../FreeipaAnsible" + +# ─── Root check ─────────────────────────────────────────────────────────────── +[[ $EUID -ne 0 ]] && { error "Must be run as root."; exit 1; } + +# ─── OS detection ───────────────────────────────────────────────────────────── +source /etc/os-release +OS_ID="${ID}"; OS_PRETTY="${PRETTY_NAME}" + +section "System check" +log "OS: $OS_PRETTY" + +case "$OS_ID" in + rhel|centos|rocky|almalinux) + PKG_MGR="dnf" + IPA_SERVER_PKGS="freeipa-server freeipa-server-dns freeipa-server-trust-ad" + ANSIBLE_PKGS="ansible-core python3-netaddr" + ;; + fedora) + PKG_MGR="dnf" + IPA_SERVER_PKGS="freeipa-server freeipa-server-dns" + ANSIBLE_PKGS="ansible-core python3-netaddr" + ;; + arch) + PKG_MGR="pacman" + IPA_SERVER_PKGS="freeipa" + ANSIBLE_PKGS="ansible python-netaddr" + warn "Arch: FreeIPA server support is community-maintained. RHEL/Rocky recommended for production." + ;; + *) + error "FreeIPA server is not supported on $OS_PRETTY." + error "Supported: RHEL, Rocky, AlmaLinux, CentOS, Fedora, Arch." + exit 1 + ;; +esac + +# ─── Conflict pre-flight ────────────────────────────────────────────────────── +section "Conflict checks" + +if [[ -f /etc/ipa/default.conf ]]; then + if grep -q "mode=production" /etc/ipa/default.conf 2>/dev/null || \ + grep -q "^basedn=" /etc/ipa/default.conf 2>/dev/null; then + error "/etc/ipa/default.conf exists — this host may already be an IPA server or enrolled client." + error "Uninstall first: ipa-server-install --uninstall or ipa-client-install --uninstall" + exit 1 + fi +fi + +for svc in named dirsrv krb5kdc; do + if systemctl is-active "$svc" &>/dev/null; then + warn "Service '$svc' is already running and may conflict with FreeIPA." + ask "Continue anyway? [y/N]:"; read -r C + [[ "${C,,}" != "y"* ]] && exit 1 + fi +done + +for port in 389 636 88; do + if ss -tlnp 2>/dev/null | grep -q ":${port} " || \ + ss -ulnp 2>/dev/null | grep -q ":${port} "; then + warn "Port $port is already in use. FreeIPA requires this port." + ask "Continue anyway? [y/N]:"; read -r C + [[ "${C,,}" != "y"* ]] && exit 1 + fi +done + +log "Conflict checks passed." + +# ─── Gather configuration ───────────────────────────────────────────────────── +section "Configuration" +info "Leave any field blank to accept the value shown in [brackets]." +echo + +CURRENT_FQDN=$(hostname -f 2>/dev/null || hostname) +ask "Server FQDN [$CURRENT_FQDN]:"; read -r I +SERVER_HOSTNAME="${I:-$CURRENT_FQDN}" + +GUESSED_DOMAIN="${SERVER_HOSTNAME#*.}" +ask "IPA Domain [$GUESSED_DOMAIN]:"; read -r I +IPA_DOMAIN="${I:-$GUESSED_DOMAIN}" + +GUESSED_REALM="${IPA_DOMAIN^^}" +ask "Kerberos Realm [$GUESSED_REALM]:"; read -r I +IPA_REALM="${I:-$GUESSED_REALM}" + +GUESSED_IP=$(ip route get 1 2>/dev/null | awk '{print $7; exit}') +ask "Server IP address [$GUESSED_IP]:"; read -r I +SERVER_IP="${I:-$GUESSED_IP}" + +while true; do + ask "IPA admin password (min 8 chars, no echo):"; read -rs ADMIN_PASSWORD; echo + ask "Confirm admin password:"; read -rs ADMIN_PASSWORD2; echo + [[ "$ADMIN_PASSWORD" == "$ADMIN_PASSWORD2" && ${#ADMIN_PASSWORD} -ge 8 ]] && break + warn "Passwords do not match or are too short." +done + +while true; do + ask "Directory Manager password (min 8 chars, no echo):"; read -rs DM_PASSWORD; echo + ask "Confirm Directory Manager password:"; read -rs DM_PASSWORD2; echo + [[ "$DM_PASSWORD" == "$DM_PASSWORD2" && ${#DM_PASSWORD} -ge 8 ]] && break + warn "Passwords do not match or are too short." +done + +ask "Set up integrated DNS (bind) with FreeIPA? [Y/n]:"; read -r I +SETUP_DNS=true; [[ "${I,,}" == "n"* ]] && SETUP_DNS=false + +DNS_FORWARDER="" +AUTO_REVERSE=true +if [[ "$SETUP_DNS" == true ]]; then + ask "DNS forwarder IP (blank for no forwarding):"; read -r DNS_FORWARDER + ask "Auto-create reverse DNS zone? [Y/n]:"; read -r I + [[ "${I,,}" == "n"* ]] && AUTO_REVERSE=false +fi + +ask "NTP server (blank for system default):"; read -r NTP_SERVER + +ask "Install KRA (Key Recovery Authority)? [y/N]:"; read -r I +SETUP_KRA=false; [[ "${I,,}" == "y"* ]] && SETUP_KRA=true + +echo +ask "Enable Ansible/AWX auto-enrollment integration? [y/N]:"; read -r I +SETUP_ANSIBLE=false; [[ "${I,,}" == "y"* ]] && SETUP_ANSIBLE=true + +AWX_URL=""; AWX_TOKEN=""; AWX_INVENTORY="" +if [[ "$SETUP_ANSIBLE" == true ]]; then + ask "AWX/Controller URL (e.g. https://awx.corp.example.com):"; read -r AWX_URL + ask "AWX API token:"; read -r AWX_TOKEN + ask "AWX inventory name:"; read -r AWX_INVENTORY +fi + +DEFAULT_OUTDIR="$(eval echo ~"${SUDO_USER:-root}")/freeipa-output" +ask "Output directory for client scripts [$DEFAULT_OUTDIR]:"; read -r I +OUTPUT_DIR="${I:-$DEFAULT_OUTDIR}" + +# ─── Confirm ────────────────────────────────────────────────────────────────── +section "Confirm" +echo +printf " %-22s %s\n" "Hostname:" "$SERVER_HOSTNAME" +printf " %-22s %s\n" "Domain:" "$IPA_DOMAIN" +printf " %-22s %s\n" "Realm:" "$IPA_REALM" +printf " %-22s %s\n" "IP:" "$SERVER_IP" +printf " %-22s %s\n" "Integrated DNS:" "$SETUP_DNS" +[[ -n "$DNS_FORWARDER" ]] && printf " %-22s %s\n" "DNS Forwarder:" "$DNS_FORWARDER" +printf " %-22s %s\n" "Install KRA:" "$SETUP_KRA" +printf " %-22s %s\n" "Ansible/AWX:" "$SETUP_ANSIBLE" +[[ "$SETUP_ANSIBLE" == true ]] && printf " %-22s %s\n" "AWX URL:" "$AWX_URL" +printf " %-22s %s\n" "Output dir:" "$OUTPUT_DIR" +echo +ask "Proceed with installation? [y/N]:"; read -r CONFIRM +[[ "${CONFIRM,,}" != "y"* ]] && { echo "Aborted."; exit 0; } + +# ─── Hostname ───────────────────────────────────────────────────────────────── +section "Configuring hostname" +hostnamectl set-hostname "$SERVER_HOSTNAME" +SHORT_NAME="${SERVER_HOSTNAME%%.*}" +sed -i "/\b${SERVER_HOSTNAME}\b/d" /etc/hosts +sed -i "/\b${SHORT_NAME}\b/d" /etc/hosts +echo "$SERVER_IP $SERVER_HOSTNAME $SHORT_NAME" >> /etc/hosts +log "Hostname: $SERVER_HOSTNAME → $SERVER_IP" + +# ─── Packages ───────────────────────────────────────────────────────────────── +section "Installing packages" +case "$PKG_MGR" in + dnf) + dnf install -y $IPA_SERVER_PKGS + [[ "$SETUP_ANSIBLE" == true ]] && dnf install -y $ANSIBLE_PKGS + ;; + pacman) + pacman -Sy --noconfirm $IPA_SERVER_PKGS + [[ "$SETUP_ANSIBLE" == true ]] && pacman -Sy --noconfirm $ANSIBLE_PKGS + ;; +esac +log "Packages installed." + +# ─── Firewall ──────────────────────────────────────────────────────────────── +section "Configuring firewall" +if command -v firewall-cmd &>/dev/null && systemctl is-active firewalld &>/dev/null; then + for svc in freeipa-ldap freeipa-ldaps kerberos kpasswd https ntp; do + firewall-cmd --permanent --add-service="$svc" + done + [[ "$SETUP_DNS" == true ]] && firewall-cmd --permanent --add-service=dns + firewall-cmd --reload + log "firewalld rules applied." +elif command -v ufw &>/dev/null; then + for rule in 80/tcp 443/tcp 389/tcp 636/tcp 88/tcp 88/udp 464/tcp 464/udp 123/udp; do + ufw allow "$rule" + done + [[ "$SETUP_DNS" == true ]] && { ufw allow 53/tcp; ufw allow 53/udp; } + log "UFW rules applied." +else + warn "No firewall manager found — manually open: 80,443,389,636,88,464,123$([ "$SETUP_DNS" == true ] && echo ",53")" +fi + +# ─── ipa-server-install ─────────────────────────────────────────────────────── +section "Installing FreeIPA server (this takes several minutes)" + +IPA_ARGS=( + --realm="$IPA_REALM" + --domain="$IPA_DOMAIN" + --admin-password="$ADMIN_PASSWORD" + --ds-password="$DM_PASSWORD" + --hostname="$SERVER_HOSTNAME" + --ip-address="$SERVER_IP" + --mkhomedir + --unattended +) + +if [[ "$SETUP_DNS" == true ]]; then + IPA_ARGS+=(--setup-dns) + [[ -n "$DNS_FORWARDER" ]] && IPA_ARGS+=(--forwarder="$DNS_FORWARDER") || IPA_ARGS+=(--no-forwarders) + [[ "$AUTO_REVERSE" == true ]] && IPA_ARGS+=(--auto-reverse) || IPA_ARGS+=(--no-reverse) +fi +[[ -n "$NTP_SERVER" ]] && IPA_ARGS+=(--ntp-server="$NTP_SERVER") +[[ "$SETUP_KRA" == true ]] && IPA_ARGS+=(--setup-kra) + +ipa-server-install "${IPA_ARGS[@]}" +log "FreeIPA server installed." + +# ─── Post-install ──────────────────────────────────────────────────────────── +section "Post-install verification" +if echo "$ADMIN_PASSWORD" | kinit admin &>/dev/null; then + log "Kerberos: admin ticket obtained." + kdestroy &>/dev/null +else + warn "Could not obtain Kerberos ticket — check connectivity." +fi + +# ─── Ansible integration ───────────────────────────────────────────────────── +if [[ "$SETUP_ANSIBLE" == true ]]; then + section "Setting up Ansible auto-enrollment" + cp "$IPA_BASE/ansible/ansipa-install-packages.sh" /usr/local/bin/ + cp "$IPA_BASE/ansible/auto-add-baseuser.sh" /usr/local/bin/ + chmod +x /usr/local/bin/ansipa-install-packages.sh /usr/local/bin/auto-add-baseuser.sh + + for f in ansipa-install.service ansipa-install.timer \ + baseuser-sync.path baseuser-sync.service; do + cp "$IPA_BASE/ansible/$f" /etc/systemd/system/ + done + systemctl daemon-reload + systemctl enable --now ansipa-install.timer + systemctl enable --now baseuser-sync.path + log "Ansible auto-enrollment services enabled." +fi + +# ─── Generate output scripts ────────────────────────────────────────────────── +section "Generating client scripts → $OUTPUT_DIR" +REAL_OUTDIR="${OUTPUT_DIR/#\~/"$(eval echo ~"${SUDO_USER:-root}")"/}" +mkdir -p "$REAL_OUTDIR" + +# 1. Customized freeipa-enroll.sh (server defaults baked in) +sed \ + -e "s|^IPA_DOMAIN=.*|IPA_DOMAIN=\"$IPA_DOMAIN\"|" \ + -e "s|^IPA_REALM=.*|IPA_REALM=\"$IPA_REALM\"|" \ + -e "s|^IPA_SERVER=.*|IPA_SERVER=\"$SERVER_HOSTNAME\"|" \ + "$IPA_BASE/freeipa-enroll.sh" > "$REAL_OUTDIR/freeipa-enroll.sh" +chmod +x "$REAL_OUTDIR/freeipa-enroll.sh" +log "freeipa-enroll.sh" + +# 2. Customized freeipa-client.sh (same server defaults) +sed \ + -e "s|^IPA_DOMAIN=.*|IPA_DOMAIN=\"$IPA_DOMAIN\"|" \ + -e "s|^IPA_REALM=.*|IPA_REALM=\"$IPA_REALM\"|" \ + -e "s|^IPA_SERVER=.*|IPA_SERVER=\"$SERVER_HOSTNAME\"|" \ + "$IPA_BASE/freeipa-client.sh" > "$REAL_OUTDIR/freeipa-client.sh" +chmod +x "$REAL_OUTDIR/freeipa-client.sh" +log "freeipa-client.sh" + +# 3. JSON answerfile (pre-filled; password intentionally left blank) +cat > "$REAL_OUTDIR/freeipa-client-answerfile.json" < \n\n' + printf 'CONTROLLER_URL="${CONTROLLER_URL:-${1:-%s}}"\n' "$AWX_URL" + printf 'API_TOKEN="${API_TOKEN:-${2:-%s}}"\n' "$AWX_TOKEN" + printf 'INVENTORY_NAME="${INVENTORY_NAME:-${3:-%s}}"\n\n' "$AWX_INVENTORY" + # Include body of original (skip shebang + old arg block) + awk '/^INVENTORY_NAME=/{found=1; next} found{print}' \ + "$IPA_BASE/auto-enroll-ansible.sh" + } > "$REAL_OUTDIR/auto-enroll-ansible.sh" + chmod +x "$REAL_OUTDIR/auto-enroll-ansible.sh" + log "auto-enroll-ansible.sh" +fi + +# 5. README +cat > "$REAL_OUTDIR/README.txt" < + +freeipa-enroll.sh + Direct enrollment with server defaults baked in. + Accepts full set of CLI flags for one-liner use: + sudo ./freeipa-enroll.sh --password + +$([ "$SETUP_ANSIBLE" == "true" ] && cat <<'AWXEOF' +auto-enroll-ansible.sh + Registers this client in AWX/Controller inventory after enrollment. + AWX URL and inventory are pre-configured; API token can be overridden: + ./auto-enroll-ansible.sh + API_TOKEN=mytoken ./auto-enroll-ansible.sh + +AWXEOF +)─── Quick start on a client machine ──────────────────────── + + 1. Copy this directory to the client (scp, croc, etc.) + 2. Fill in "password" in freeipa-client-answerfile.json + 3. sudo ./freeipa-client.sh --answerfile freeipa-client-answerfile.json + 4. (optional) ./auto-enroll-ansible.sh + +─── Manual registration after enrollment ─────────────────── + + • List FIDO2 credentials: cat /etc/u2f_mappings + • Register a FIDO2 key: pamu2fcfg -u -o pam://\$(hostname -f) >> /etc/u2f_mappings + • Check SSSD: sssctl domain-status $IPA_DOMAIN + • Get Kerberos ticket: kinit admin@$IPA_REALM + +READMEEOF +log "README.txt" + +# ─── Summary ───────────────────────────────────────────────────────────────── +section "Done" +cat < Date: Mon, 18 May 2026 11:22:48 +0200 Subject: [PATCH 007/116] setup: add FreeIPA image builder and Keycloak integration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit freeipa-image-builder.sh: TUI chooser that builds a FreeIPA server image and exports it to four target formats: docker — builds via podman/docker, optional registry push lxc — exports container rootfs as .tar.zst Proxmox CT template, generates pct import instructions proxmox-vm — downloads Rocky/Fedora cloud image, customizes with virt-customize, outputs QCOW2 + cloud-init user-data.yml oci-archive — skopeo OCI tarball for air-gapped import Keycloak TUI option generates the full constellation: docker-compose.yml FreeIPA + Keycloak + PostgreSQL stack .env pre-filled env template (passwords placeholder) keycloak-configure.sh post-start Keycloak REST API config script image/Dockerfile: Fedora 41 + freeipa-server-dns + ansible-core, systemd-enabled container (CMD /sbin/init). image/ipa-first-boot.{sh,service}: systemd oneshot that runs ipa-server-install on first container/VM boot from env vars (IPA_DOMAIN, IPA_ADMIN_PASSWORD, IPA_DM_PASSWORD, and optionals). ConditionPathExists=!/etc/ipa/default.conf makes it idempotent. image/keycloak-configure.sh: Keycloak REST API automation that: - waits for Keycloak readiness - creates a realm - wires FreeIPA LDAP user federation (READ_ONLY, vendor=rhds) - adds attribute mappers: email, firstName, lastName, uidNumber - adds group mapper (IPA groups → Keycloak groups, cn=groups,cn=accounts) - triggers an initial full user sync image/docker-compose.yml: freeipa + postgres + keycloak services on a private 172.30.0.0/24 bridge; FreeIPA has a fixed IP so Keycloak can resolve it via extra_hosts. Co-Authored-By: Claude Sonnet 4.6 --- setup/install-modules.sh | 4 + .../modules/FreeipaAnsible/image/.env.example | 23 ++ setup/modules/FreeipaAnsible/image/Dockerfile | 68 ++++ .../FreeipaAnsible/image/docker-compose.yml | 122 ++++++ .../image/ipa-first-boot.service | 16 + .../FreeipaAnsible/image/ipa-first-boot.sh | 78 ++++ .../image/keycloak-configure.sh | 272 +++++++++++++ .../apps/freeipa-image-builder.sh | 381 ++++++++++++++++++ setup/tui-install.sh | 6 +- 9 files changed, 969 insertions(+), 1 deletion(-) create mode 100644 setup/modules/FreeipaAnsible/image/.env.example create mode 100644 setup/modules/FreeipaAnsible/image/Dockerfile create mode 100644 setup/modules/FreeipaAnsible/image/docker-compose.yml create mode 100644 setup/modules/FreeipaAnsible/image/ipa-first-boot.service create mode 100755 setup/modules/FreeipaAnsible/image/ipa-first-boot.sh create mode 100755 setup/modules/FreeipaAnsible/image/keycloak-configure.sh create mode 100755 setup/modules/optional-Modules/apps/freeipa-image-builder.sh diff --git a/setup/install-modules.sh b/setup/install-modules.sh index 67b1cf2..fc17053 100755 --- a/setup/install-modules.sh +++ b/setup/install-modules.sh @@ -120,6 +120,7 @@ count_steps() { [[ "$sel" == *"cockpit"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"ssh-server"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"freeipa-server"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"freeipa-image"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"python"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"zfs"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"wprs"* ]] && TOTAL=$(( TOTAL + 1 )) @@ -185,6 +186,7 @@ SELECTED=$(dialog --backtitle "$BACKTITLE" \ "cockpit" "Cockpit web UI · machines · podman" off \ "ssh-server" "SSH server openssh · key-auth · enabled" off \ "freeipa-server" "FreeIPA Server interactive server setup + client gen" off \ + "freeipa-image" "FreeIPA Image OCI/LXC/Proxmox/VM builder + Keycloak" off \ "python" "Python tools pyright · pipx · pynvim" off \ "zfs" "ZFS zfs-dkms kernel module" off \ "wprs" "WPRS wprs-git (AUR)" off \ @@ -229,6 +231,7 @@ SUMMARY="" [[ "$SELECTED" == *"cockpit"* ]] && SUMMARY+=" ✦ Cockpit\n" [[ "$SELECTED" == *"ssh-server"* ]] && SUMMARY+=" ✦ SSH server\n" [[ "$SELECTED" == *"freeipa-server"* ]] && SUMMARY+=" ✦ FreeIPA Server\n" +[[ "$SELECTED" == *"freeipa-image"* ]] && SUMMARY+=" ✦ FreeIPA Image Builder\n" [[ "$SELECTED" == *"python"* ]] && SUMMARY+=" ✦ Python tools\n" [[ "$SELECTED" == *"zfs"* ]] && SUMMARY+=" ✦ ZFS\n" [[ "$SELECTED" == *"wprs"* ]] && SUMMARY+=" ✦ WPRS\n" @@ -276,6 +279,7 @@ count_steps "$SELECTED" [[ "$SELECTED" == *"cockpit"* ]] && run_module "Cockpit" "$APPS/cockpit.sh" [[ "$SELECTED" == *"ssh-server"* ]] && run_module "SSH Server" "$APPS/ssh-server.sh" [[ "$SELECTED" == *"freeipa-server"* ]] && run_module "FreeIPA Server" "$APPS/freeipa-server.sh" +[[ "$SELECTED" == *"freeipa-image"* ]] && run_module "FreeIPA Image" "$APPS/freeipa-image-builder.sh" [[ "$SELECTED" == *"python"* ]] && run_module "Python Tools" "$MODULES/optional-Modules/python.sh" [[ "$SELECTED" == *"zfs"* ]] && run_module "ZFS" "$MODULES/optional-Modules/zfs.sh" [[ "$SELECTED" == *"wprs"* ]] && run_module "WPRS" "$MODULES/optional-Modules/wprs.sh" diff --git a/setup/modules/FreeipaAnsible/image/.env.example b/setup/modules/FreeipaAnsible/image/.env.example new file mode 100644 index 0000000..65d4e23 --- /dev/null +++ b/setup/modules/FreeipaAnsible/image/.env.example @@ -0,0 +1,23 @@ +# ── FreeIPA ─────────────────────────────────────────────────────────────────── +IPA_HOSTNAME=ipa.corp.example.com +IPA_DOMAIN=corp.example.com +IPA_REALM=CORP.EXAMPLE.COM +IPA_ADMIN_PASSWORD=ChangeMe123! +IPA_DM_PASSWORD=ChangeMe456! +IPA_SETUP_DNS=false +IPA_DNS_FORWARDER= +IPA_SETUP_KRA=false + +# ── Keycloak ────────────────────────────────────────────────────────────────── +KC_HOSTNAME=keycloak.corp.example.com +KC_REALM=corp +KC_ADMIN=admin +KC_ADMIN_PASSWORD=ChangeMe789! +KC_DB_PASSWORD=ChangeMe000! + +# ── Keycloak → FreeIPA LDAP federation ─────────────────────────────────────── +# Leave IPA_BIND_PASSWORD blank to reuse IPA_DM_PASSWORD. +# In production, create a dedicated read-only service account in FreeIPA. +IPA_BIND_DN=cn=Directory Manager +IPA_BIND_PASSWORD= +IPA_USE_LDAPS=false diff --git a/setup/modules/FreeipaAnsible/image/Dockerfile b/setup/modules/FreeipaAnsible/image/Dockerfile new file mode 100644 index 0000000..c0f63d9 --- /dev/null +++ b/setup/modules/FreeipaAnsible/image/Dockerfile @@ -0,0 +1,68 @@ +# FreeIPA server container image (Fedora / systemd-based) +# +# Build: +# docker build -t freeipa-server . +# +# Run (quick test): +# docker run --privileged --name freeipa \ +# --tmpfs /run --tmpfs /tmp \ +# -v /sys/fs/cgroup:/sys/fs/cgroup:rw \ +# -v freeipa-data:/data \ +# -h ipa.example.com \ +# -e IPA_DOMAIN=example.com \ +# -e IPA_ADMIN_PASSWORD=Secret123 \ +# -e IPA_DM_PASSWORD=Secret456 \ +# -p 443:443 -p 389:389 -p 636:636 -p 88:88 \ +# freeipa-server +# +# For production use docker-compose.yml instead. + +FROM fedora:41 + +ENV container=docker \ + LANG=en_US.UTF-8 \ + LC_ALL=en_US.UTF-8 + +RUN dnf install -y --setopt=install_weak_deps=False \ + freeipa-server \ + freeipa-server-dns \ + freeipa-server-trust-ad \ + freeipa-admintools \ + ansible-core \ + python3-netaddr \ + openldap-clients \ + krb5-workstation \ + bind-utils \ + procps-ng \ + net-tools \ + rsync \ + hostname \ + && dnf clean all \ + && rm -rf /var/cache/dnf + +# Mask units that either require host-level access or are irrelevant in containers +RUN systemctl mask \ + systemd-remount-fs.service \ + dev-hugepages.mount \ + sys-fs-fuse-connections.mount \ + systemd-logind.service \ + getty.target \ + console-getty.service \ + dnf-makecache.timer \ + plymouth-quit-wait.service \ + plymouth-start.service \ + network.service \ + NetworkManager.service + +COPY ipa-first-boot.sh /usr/local/sbin/ipa-first-boot.sh +COPY ipa-first-boot.service /etc/systemd/system/ipa-first-boot.service +RUN chmod +x /usr/local/sbin/ipa-first-boot.sh \ + && systemctl enable ipa-first-boot.service + +VOLUME ["/data"] + +# LDAP, LDAPS, Kerberos, kpasswd, HTTPS, DNS, NTP +EXPOSE 389 636 88/tcp 88/udp 464/tcp 464/udp 443 80 53/tcp 53/udp 123/udp + +STOPSIGNAL SIGRTMIN+3 +CMD ["/sbin/init"] diff --git a/setup/modules/FreeipaAnsible/image/docker-compose.yml b/setup/modules/FreeipaAnsible/image/docker-compose.yml new file mode 100644 index 0000000..59ac8d8 --- /dev/null +++ b/setup/modules/FreeipaAnsible/image/docker-compose.yml @@ -0,0 +1,122 @@ +# FreeIPA + Keycloak + PostgreSQL constellation +# +# Setup: +# cp .env.example .env && $EDITOR .env +# docker compose up -d +# docker compose logs -f freeipa # watch first-boot install (~10 min) +# # Once freeipa is healthy: +# ./keycloak-configure.sh # wire Keycloak → FreeIPA LDAP +# +# To run without Keycloak: +# docker compose up -d freeipa +# +# To scale out (clients enroll against the same IPA server): +# docker compose --profile clients up + +volumes: + freeipa-data: + keycloak-db: + +networks: + ipa-net: + ipam: + config: + - subnet: 172.30.0.0/24 + +services: + + # ── FreeIPA ───────────────────────────────────────────────────────────────── + freeipa: + build: + context: . + dockerfile: Dockerfile + image: freeipa-server:local + container_name: freeipa + hostname: ${IPA_HOSTNAME:-ipa.example.com} + privileged: true + tmpfs: + - /run + - /tmp + volumes: + - freeipa-data:/data + - /sys/fs/cgroup:/sys/fs/cgroup:rw + environment: + IPA_DOMAIN: ${IPA_DOMAIN:?set IPA_DOMAIN in .env} + IPA_REALM: ${IPA_REALM:-} + IPA_ADMIN_PASSWORD: ${IPA_ADMIN_PASSWORD:?set IPA_ADMIN_PASSWORD in .env} + IPA_DM_PASSWORD: ${IPA_DM_PASSWORD:?set IPA_DM_PASSWORD in .env} + IPA_SETUP_DNS: ${IPA_SETUP_DNS:-false} + IPA_DNS_FORWARDER: ${IPA_DNS_FORWARDER:-} + IPA_SETUP_KRA: ${IPA_SETUP_KRA:-false} + ports: + - "389:389" + - "636:636" + - "88:88" + - "88:88/udp" + - "464:464" + - "464:464/udp" + - "443:443" + networks: + ipa-net: + ipv4_address: 172.30.0.10 + healthcheck: + test: ["CMD-SHELL", "ipactl status 2>/dev/null | grep -q 'running'"] + interval: 30s + timeout: 15s + retries: 20 + start_period: 600s + + # ── PostgreSQL (Keycloak backend) ──────────────────────────────────────────── + postgres: + image: postgres:16-alpine + container_name: keycloak-db + restart: unless-stopped + environment: + POSTGRES_DB: keycloak + POSTGRES_USER: keycloak + POSTGRES_PASSWORD: ${KC_DB_PASSWORD:?set KC_DB_PASSWORD in .env} + volumes: + - keycloak-db:/var/lib/postgresql/data + networks: + ipa-net: + healthcheck: + test: ["CMD", "pg_isready", "-U", "keycloak"] + interval: 10s + retries: 5 + + # ── Keycloak ───────────────────────────────────────────────────────────────── + # After first start, run ./keycloak-configure.sh to wire FreeIPA LDAP federation. + keycloak: + image: quay.io/keycloak/keycloak:latest + container_name: keycloak + restart: unless-stopped + # Use 'start' (not start-dev) for production; requires a TLS certificate. + command: start-dev + environment: + KC_DB: postgres + KC_DB_URL: jdbc:postgresql://postgres/keycloak + KC_DB_USERNAME: keycloak + KC_DB_PASSWORD: ${KC_DB_PASSWORD:?set KC_DB_PASSWORD in .env} + KC_HOSTNAME: ${KC_HOSTNAME:-localhost} + KC_HTTP_PORT: 8080 + KC_HTTPS_PORT: 8443 + KC_HTTP_ENABLED: "true" + KC_FEATURES: preview + KEYCLOAK_ADMIN: ${KC_ADMIN:-admin} + KEYCLOAK_ADMIN_PASSWORD: ${KC_ADMIN_PASSWORD:?set KC_ADMIN_PASSWORD in .env} + extra_hosts: + - "${IPA_HOSTNAME:-ipa.example.com}:172.30.0.10" + ports: + - "8080:8080" + - "8443:8443" + depends_on: + postgres: + condition: service_healthy + networks: + ipa-net: + healthcheck: + test: ["CMD-SHELL", "curl -fs http://localhost:8080/health/ready || exit 1"] + interval: 20s + timeout: 10s + retries: 20 + start_period: 90s diff --git a/setup/modules/FreeipaAnsible/image/ipa-first-boot.service b/setup/modules/FreeipaAnsible/image/ipa-first-boot.service new file mode 100644 index 0000000..eb11d49 --- /dev/null +++ b/setup/modules/FreeipaAnsible/image/ipa-first-boot.service @@ -0,0 +1,16 @@ +[Unit] +Description=FreeIPA Server First-Boot Configuration +After=network-online.target dirsrv.target +Wants=network-online.target +ConditionPathExists=!/etc/ipa/default.conf + +[Service] +Type=oneshot +ExecStart=/usr/local/sbin/ipa-first-boot.sh +RemainAfterExit=yes +StandardOutput=journal+console +StandardError=journal+console +TimeoutStartSec=900 + +[Install] +WantedBy=multi-user.target diff --git a/setup/modules/FreeipaAnsible/image/ipa-first-boot.sh b/setup/modules/FreeipaAnsible/image/ipa-first-boot.sh new file mode 100755 index 0000000..53e7739 --- /dev/null +++ b/setup/modules/FreeipaAnsible/image/ipa-first-boot.sh @@ -0,0 +1,78 @@ +#!/bin/bash +# ipa-first-boot.sh — runs once on first container start via ipa-first-boot.service +# +# Required environment variables: +# IPA_DOMAIN IPA domain (e.g. corp.example.com) +# IPA_ADMIN_PASSWORD Admin UI / API password +# IPA_DM_PASSWORD Directory Manager (LDAP root) password +# +# Optional environment variables: +# IPA_REALM Kerberos realm (default: DOMAIN uppercased) +# IPA_HOSTNAME Server FQDN (default: container hostname) +# IPA_SETUP_DNS Enable integrated DNS (default: false) +# IPA_DNS_FORWARDER DNS forwarder IP +# IPA_AUTO_REVERSE Auto reverse DNS zone (default: false) +# IPA_SETUP_KRA Install KRA (default: false) +# IPA_NO_NTP Disable NTP setup (default: true) +# IPA_INSTALL_OPTS Extra verbatim flags for ipa-server-install + +set -euo pipefail + +LOG=/var/log/ipa-first-boot.log +exec > >(tee -a "$LOG") 2>&1 +echo "=== ipa-first-boot: $(date) ===" + +if [[ -f /etc/ipa/default.conf ]]; then + echo "FreeIPA already configured — skipping." + exit 0 +fi + +: "${IPA_DOMAIN:?IPA_DOMAIN is required}" +: "${IPA_ADMIN_PASSWORD:?IPA_ADMIN_PASSWORD is required}" +: "${IPA_DM_PASSWORD:?IPA_DM_PASSWORD is required}" + +IPA_REALM="${IPA_REALM:-${IPA_DOMAIN^^}}" +IPA_HOSTNAME="${IPA_HOSTNAME:-$(hostname -f)}" +IPA_SETUP_DNS="${IPA_SETUP_DNS:-false}" +IPA_AUTO_REVERSE="${IPA_AUTO_REVERSE:-false}" +IPA_SETUP_KRA="${IPA_SETUP_KRA:-false}" +IPA_NO_NTP="${IPA_NO_NTP:-true}" + +ARGS=( + --realm="$IPA_REALM" + --domain="$IPA_DOMAIN" + --admin-password="$IPA_ADMIN_PASSWORD" + --ds-password="$IPA_DM_PASSWORD" + --hostname="$IPA_HOSTNAME" + --ip-address="$(hostname -I | awk '{print $1}')" + --mkhomedir + --unattended +) + +if [[ "$IPA_SETUP_DNS" == "true" ]]; then + ARGS+=(--setup-dns) + [[ -n "${IPA_DNS_FORWARDER:-}" ]] \ + && ARGS+=(--forwarder="$IPA_DNS_FORWARDER") \ + || ARGS+=(--no-forwarders) + [[ "$IPA_AUTO_REVERSE" == "true" ]] && ARGS+=(--auto-reverse) || ARGS+=(--no-reverse) +else + ARGS+=(--no-reverse) +fi + +[[ "$IPA_NO_NTP" == "true" ]] && ARGS+=(--no-ntp) +[[ "$IPA_SETUP_KRA" == "true" ]] && ARGS+=(--setup-kra) +[[ -n "${IPA_INSTALL_OPTS:-}" ]] && read -ra EXTRA <<< "$IPA_INSTALL_OPTS" && ARGS+=("${EXTRA[@]}") + +echo "Running ipa-server-install..." +ipa-server-install "${ARGS[@]}" + +# Persist key directories to /data volume so they survive container restarts +if mountpoint -q /data 2>/dev/null; then + echo "Persisting data to /data..." + for d in /var/lib/dirsrv /var/lib/ipa /etc/ipa /etc/dirsrv \ + /etc/named.conf /var/lib/named /var/lib/krb5kdc; do + [[ -e "$d" ]] && rsync -a --relative "$d" /data/ 2>/dev/null || true + done +fi + +echo "=== ipa-first-boot complete: $(date) ===" diff --git a/setup/modules/FreeipaAnsible/image/keycloak-configure.sh b/setup/modules/FreeipaAnsible/image/keycloak-configure.sh new file mode 100755 index 0000000..f771a09 --- /dev/null +++ b/setup/modules/FreeipaAnsible/image/keycloak-configure.sh @@ -0,0 +1,272 @@ +#!/bin/bash +# keycloak-configure.sh — wire Keycloak to FreeIPA via LDAP user federation +# +# Run this AFTER both FreeIPA and Keycloak are fully up. +# Reads settings from environment variables or a .env file in the same directory. +# +# Required env vars: +# IPA_SERVER FreeIPA server FQDN +# IPA_DOMAIN FreeIPA domain +# IPA_DM_PASSWORD Directory Manager password (used as LDAP bind credential +# unless IPA_BIND_DN / IPA_BIND_PASSWORD override it) +# KC_ADMIN_PASSWORD Keycloak admin password +# +# Optional env vars (defaults shown): +# KC_URL http://localhost:8080 +# KC_ADMIN admin +# KC_REALM freeipa (realm to create) +# KC_REALM_DISPLAY +# IPA_REALM +# IPA_BIND_DN cn=Directory Manager +# IPA_BIND_PASSWORD +# IPA_USE_LDAPS false +# IPA_LDAP_PORT 389 (or 636 if LDAPS) +# SYNC_FULL_PERIOD 604800 (1 week) +# SYNC_CHANGED_PERIOD 86400 (1 day) + +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +[[ -f "$SCRIPT_DIR/.env" ]] && set -a && source "$SCRIPT_DIR/.env" && set +a + +RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'; CYAN='\033[0;36m'; NC='\033[0m' +log() { echo -e "${GREEN}[+]${NC} $*"; } +warn() { echo -e "${YELLOW}[!]${NC} $*"; } +error() { echo -e "${RED}[✗]${NC} $*" >&2; } +info() { echo -e "${CYAN}[i]${NC} $*"; } + +: "${IPA_SERVER:?IPA_SERVER is required}" +: "${IPA_DOMAIN:?IPA_DOMAIN is required}" +: "${IPA_DM_PASSWORD:?IPA_DM_PASSWORD is required}" +: "${KC_ADMIN_PASSWORD:?KC_ADMIN_PASSWORD is required}" + +KC_URL="${KC_URL:-http://localhost:8080}" +KC_ADMIN="${KC_ADMIN:-admin}" +KC_REALM="${KC_REALM:-freeipa}" +KC_REALM_DISPLAY="${KC_REALM_DISPLAY:-$IPA_DOMAIN}" +IPA_REALM="${IPA_REALM:-${IPA_DOMAIN^^}}" +IPA_BIND_DN="${IPA_BIND_DN:-cn=Directory Manager}" +IPA_BIND_PASSWORD="${IPA_BIND_PASSWORD:-$IPA_DM_PASSWORD}" +IPA_USE_LDAPS="${IPA_USE_LDAPS:-false}" +IPA_LDAP_SCHEME="ldap" +IPA_LDAP_PORT=389 +[[ "$IPA_USE_LDAPS" == "true" ]] && IPA_LDAP_SCHEME="ldaps" && IPA_LDAP_PORT=636 +IPA_LDAP_URL="${IPA_LDAP_URL:-${IPA_LDAP_SCHEME}://${IPA_SERVER}:${IPA_LDAP_PORT}}" +IPA_BASEDN="dc=${IPA_DOMAIN/./,dc=}" +SYNC_FULL_PERIOD="${SYNC_FULL_PERIOD:-604800}" +SYNC_CHANGED_PERIOD="${SYNC_CHANGED_PERIOD:-86400}" + +# ─── Helpers ────────────────────────────────────────────────────────────────── +kc_token() { + curl -sf -X POST \ + "$KC_URL/realms/master/protocol/openid-connect/token" \ + -H "Content-Type: application/x-www-form-urlencoded" \ + -d "client_id=admin-cli&grant_type=password" \ + -d "username=$KC_ADMIN" \ + --data-urlencode "password=$KC_ADMIN_PASSWORD" \ + | jq -r '.access_token' +} + +kc_get() { curl -sf -H "Authorization: Bearer $TOKEN" "$KC_URL$1"; } +kc_post() { curl -sf -X POST -H "Authorization: Bearer $TOKEN" \ + -H "Content-Type: application/json" -d "$2" "$KC_URL$1"; } +kc_put() { curl -sf -X PUT -H "Authorization: Bearer $TOKEN" \ + -H "Content-Type: application/json" -d "$2" "$KC_URL$1"; } + +kc_status() { curl -sf -o /dev/null -w "%{http_code}" \ + -H "Authorization: Bearer $TOKEN" "$KC_URL$1"; } + +# ─── Wait for Keycloak ──────────────────────────────────────────────────────── +info "Waiting for Keycloak at $KC_URL..." +for i in $(seq 1 60); do + curl -sf "$KC_URL/health/ready" &>/dev/null && break + [[ $i -eq 60 ]] && { error "Keycloak not ready after 120s."; exit 1; } + sleep 2 +done +log "Keycloak is ready." + +# ─── Authenticate ───────────────────────────────────────────────────────────── +TOKEN=$(kc_token) +[[ -z "$TOKEN" || "$TOKEN" == "null" ]] && { error "Failed to obtain Keycloak token."; exit 1; } +log "Admin token obtained." + +# ─── Create realm ───────────────────────────────────────────────────────────── +REALM_STATUS=$(kc_status "/admin/realms/$KC_REALM") +if [[ "$REALM_STATUS" == "200" ]]; then + warn "Realm '$KC_REALM' already exists — updating." + kc_put "/admin/realms/$KC_REALM" \ + "{\"realm\":\"$KC_REALM\",\"displayName\":\"$KC_REALM_DISPLAY\",\"enabled\":true, + \"ssoSessionMaxLifespan\":36000,\"accessTokenLifespan\":300}" >/dev/null +else + kc_post "/admin/realms" \ + "{\"realm\":\"$KC_REALM\",\"displayName\":\"$KC_REALM_DISPLAY\",\"enabled\":true, + \"ssoSessionMaxLifespan\":36000,\"accessTokenLifespan\":300}" >/dev/null + log "Realm '$KC_REALM' created." +fi + +TOKEN=$(kc_token) + +# ─── LDAP user federation ───────────────────────────────────────────────────── +log "Configuring FreeIPA LDAP user federation..." + +LDAP_COMPONENT=$(cat </dev/null + LDAP_ID="$EXISTING_ID" +else + LDAP_ID=$(kc_post "/admin/realms/$KC_REALM/components" "$LDAP_COMPONENT" \ + | jq -r '.id // empty') + # Keycloak returns 201 with Location header, not a body with id — extract from header or re-query + if [[ -z "$LDAP_ID" ]]; then + LDAP_ID=$(kc_get "/admin/realms/$KC_REALM/components?type=org.keycloak.storage.UserStorageProvider&name=freeipa-ldap" \ + | jq -r '.[0].id') + fi + log "LDAP provider created (id=$LDAP_ID)." +fi + +# ─── Attribute mappers ──────────────────────────────────────────────────────── +log "Adding LDAP attribute mappers..." + +add_mapper() { + local name="$1" type="$2" ldap_attr="$3" user_attr="$4" + local payload + payload=$(cat </dev/null + log " mapper: $name" + else + warn " mapper '$name' already exists — skipping." + fi +} + +add_mapper "email" "user-attribute-ldap-mapper" "mail" "email" +add_mapper "first-name" "user-attribute-ldap-mapper" "givenName" "firstName" +add_mapper "last-name" "user-attribute-ldap-mapper" "sn" "lastName" +add_mapper "uid-number" "user-attribute-ldap-mapper" "uidNumber" "uidNumber" + +# Group mapper (maps IPA groups to Keycloak groups) +GROUP_MAPPER=$(cat </dev/null + log " mapper: freeipa-groups" +fi + +# ─── Trigger initial sync ────────────────────────────────────────────────────── +log "Triggering initial user sync..." +SYNC_RESULT=$(kc_post "/admin/realms/$KC_REALM/user-storage/$LDAP_ID/sync?action=triggerFullSync" "" 2>/dev/null || echo "{}") +ADDED=$(echo "$SYNC_RESULT" | jq -r '.added // 0') +UPDATED=$(echo "$SYNC_RESULT" | jq -r '.updated // 0') +log "Sync complete: $ADDED added, $UPDATED updated." + +# ─── Enable email login ──────────────────────────────────────────────────────── +kc_put "/admin/realms/$KC_REALM" \ + '{"loginWithEmailAllowed":true,"duplicateEmailsAllowed":false}' >/dev/null +log "Email login enabled on realm '$KC_REALM'." + +# ─── Summary ───────────────────────────────────────────────────────────────── +cat <&2; } +info() { echo -e "${CYAN}[i]${NC} $*"; } +section() { echo -e "\n${BLUE}━━━ $* ━━━${NC}"; } +ask() { printf "${MAGENTA}[?]${NC} %s " "$*"; } + +[[ $EUID -eq 0 ]] && { error "Run as your normal user (not root)."; exit 1; } + +# ─── Detect container engine ────────────────────────────────────────────────── +if command -v podman &>/dev/null; then + ENGINE="podman" +elif command -v docker &>/dev/null; then + ENGINE="docker" +else + error "Neither podman nor docker found. Install one first." + exit 1 +fi +info "Container engine: $ENGINE" + +# ─── dialog theme ───────────────────────────────────────────────────────────── +TMP_D="$(mktemp -d)"; trap 'rm -rf "$TMP_D"' EXIT +BACKTITLE="FreeIPA Image Builder" +export DIALOGRC="$TMP_D/dialogrc" +cat > "$DIALOGRC" <<'EOF' +use_shadow = ON +use_colors = ON +screen_color = (BLACK,BLACK,ON) +title_color = (MAGENTA,BLACK,ON) +border_color = (MAGENTA,BLACK,ON) +button_active_color = (BLACK,MAGENTA,ON) +button_inactive_color = (WHITE,BLACK,OFF) +menubox_color = (WHITE,BLACK,OFF) +menubox_border_color = (MAGENTA,BLACK,ON) +item_color = (WHITE,BLACK,OFF) +item_selected_color = (BLACK,MAGENTA,ON) +tag_color = (CYAN,BLACK,ON) +tag_selected_color = (BLACK,CYAN,ON) +check_color = (WHITE,BLACK,OFF) +check_selected_color = (BLACK,MAGENTA,ON) +uarrow_color = (MAGENTA,BLACK,ON) +darrow_color = (MAGENTA,BLACK,ON) +EOF + +command -v dialog &>/dev/null || { sudo pacman -S --noconfirm dialog; } + +# ─── Target chooser ─────────────────────────────────────────────────────────── +TARGET=$(dialog --backtitle "$BACKTITLE" \ + --title " Select Target Format " \ + --menu "Choose the output format:" 16 70 4 \ + "docker" "Docker / Podman image (local + optional registry push)" \ + "lxc" "LXC / Proxmox CT template (.tar.zst rootfs archive)" \ + "proxmox-vm" "Proxmox VM (cloud-init QCOW2, requires virt-customize)" \ + "oci-archive" "OCI archive (skopeo tarball for air-gapped import)" \ + 3>&1 1>&2 2>&3) || { clear; echo "Aborted."; exit 0; } + +# ─── Keycloak? ─────────────────────────────────────────────────────────────── +WITH_KEYCLOAK=false +dialog --backtitle "$BACKTITLE" \ + --title " Keycloak Integration " \ + --yesno "\nInclude Keycloak in the output?\n\n\ +Adds PostgreSQL + Keycloak to the compose stack and generates\n\ +keycloak-configure.sh for LDAP federation post-start setup." 11 64 \ + && WITH_KEYCLOAK=true || true + +# ─── FreeIPA config ─────────────────────────────────────────────────────────── +section "FreeIPA configuration" +info "These values are embedded in the .env template and compose file." +info "Override them at runtime via environment variables." +echo + +ask "IPA Domain (e.g. corp.example.com):"; read -r IPA_DOMAIN +[[ -z "$IPA_DOMAIN" ]] && { error "IPA_DOMAIN is required."; exit 1; } + +GUESSED_HOSTNAME="ipa.$IPA_DOMAIN" +ask "Server FQDN [$GUESSED_HOSTNAME]:"; read -r I; IPA_HOSTNAME="${I:-$GUESSED_HOSTNAME}" + +GUESSED_REALM="${IPA_DOMAIN^^}" +ask "Kerberos Realm [$GUESSED_REALM]:"; read -r I; IPA_REALM="${I:-$GUESSED_REALM}" + +ask "Setup integrated DNS? [y/N]:"; read -r I +IPA_SETUP_DNS=false; [[ "${I,,}" == "y"* ]] && IPA_SETUP_DNS=true + +IMAGE_TAG="freeipa-server:${IPA_DOMAIN//./-}" +ask "Image tag [$IMAGE_TAG]:"; read -r I; IMAGE_TAG="${I:-$IMAGE_TAG}" + +# Output directory +DEFAULT_OUT="$HOME/freeipa-image-output" +ask "Output directory [$DEFAULT_OUT]:"; read -r I; OUTPUT_DIR="${I:-$DEFAULT_OUT}" + +# Keycloak config (if selected) +KC_HOSTNAME="keycloak.$IPA_DOMAIN" +KC_REALM="${IPA_DOMAIN%%.*}" +if [[ "$WITH_KEYCLOAK" == true ]]; then + echo + ask "Keycloak hostname [$KC_HOSTNAME]:"; read -r I; KC_HOSTNAME="${I:-$KC_HOSTNAME}" + ask "Keycloak realm name [$KC_REALM]:"; read -r I; KC_REALM="${I:-$KC_REALM}" +fi + +# Proxmox VM cloud image (only if proxmox-vm selected) +CLOUD_IMAGE_URL="" +if [[ "$TARGET" == "proxmox-vm" ]]; then + echo + ROCKY_URL="https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-GenericCloud.latest.x86_64.qcow2" + ask "Cloud image URL [$ROCKY_URL]:"; read -r I; CLOUD_IMAGE_URL="${I:-$ROCKY_URL}" +fi + +# ─── Confirm ────────────────────────────────────────────────────────────────── +echo +info "──────────────────────────────────────" +printf " Target: %s\n" "$TARGET" +printf " Domain: %s\n" "$IPA_DOMAIN" +printf " FQDN: %s\n" "$IPA_HOSTNAME" +printf " Realm: %s\n" "$IPA_REALM" +printf " Image tag: %s\n" "$IMAGE_TAG" +printf " Keycloak: %s\n" "$WITH_KEYCLOAK" +printf " Output: %s\n" "$OUTPUT_DIR" +info "──────────────────────────────────────" +echo +ask "Proceed? [y/N]:"; read -r CONFIRM +[[ "${CONFIRM,,}" != "y"* ]] && { echo "Aborted."; exit 0; } + +mkdir -p "$OUTPUT_DIR" + +# ─── Step 1: Always build the container image ───────────────────────────────── +section "Building container image ($ENGINE)" +$ENGINE build \ + --tag "$IMAGE_TAG" \ + --label "ipa.domain=$IPA_DOMAIN" \ + --label "ipa.realm=$IPA_REALM" \ + "$IMAGE_SRC" +log "Image built: $IMAGE_TAG" + +# ─── Step 2: Target-specific export ────────────────────────────────────────── + +case "$TARGET" in + + docker) + section "Docker/Podman — local image ready" + log "Image '$IMAGE_TAG' is in the local $ENGINE store." + + ask "Push to a registry? [y/N]:"; read -r I + if [[ "${I,,}" == "y"* ]]; then + ask "Registry image name (e.g. registry.example.com/freeipa-server:latest):"; read -r REG_TAG + if [[ -n "$REG_TAG" ]]; then + $ENGINE tag "$IMAGE_TAG" "$REG_TAG" + $ENGINE push "$REG_TAG" + log "Pushed: $REG_TAG" + fi + fi + ;; + + lxc) + section "LXC / Proxmox CT template" + LXC_ARCHIVE="$OUTPUT_DIR/freeipa-server-lxc.tar.zst" + + info "Creating temporary container to export rootfs..." + TMP_CTR="freeipa-lxc-export-$$" + $ENGINE create --name "$TMP_CTR" "$IMAGE_TAG" /bin/true + + info "Exporting rootfs (this may take a minute)..." + if command -v zstd &>/dev/null; then + $ENGINE export "$TMP_CTR" | zstd -T0 -o "$LXC_ARCHIVE" + else + warn "zstd not found — falling back to gzip (.tar.gz)" + LXC_ARCHIVE="${LXC_ARCHIVE%.tar.zst}.tar.gz" + $ENGINE export "$TMP_CTR" | gzip -9 > "$LXC_ARCHIVE" + fi + $ENGINE rm "$TMP_CTR" &>/dev/null + log "LXC template: $LXC_ARCHIVE" + + # Proxmox import instructions + cat > "$OUTPUT_DIR/lxc-import-instructions.txt" < local:vztmpl/$(basename "$LXC_ARCHIVE") \\ + --hostname $IPA_HOSTNAME \\ + --memory 2048 --cores 2 \\ + --net0 name=eth0,bridge=vmbr0,ip=dhcp \\ + --ostype fedora --unprivileged 0 + + NOTE: FreeIPA requires a privileged LXC container (unprivileged=0). + Add to /etc/pve/lxc/.conf: + lxc.apparmor.profile: unconfined + lxc.cap.drop: + +Set FreeIPA env vars before first start: + pct exec -- bash -c 'cat >> /etc/environment < + pct exec -- journalctl -f -u ipa-first-boot +LXCTXT + log "Instructions: $OUTPUT_DIR/lxc-import-instructions.txt" + ;; + + proxmox-vm) + section "Proxmox VM — cloud-init QCOW2" + + if ! command -v virt-customize &>/dev/null; then + error "virt-customize not found. Install libguestfs-tools:" + error " sudo pacman -S libguestfs # Arch" + error " sudo dnf install libguestfs-tools # Fedora/RHEL" + exit 1 + fi + if ! command -v qemu-img &>/dev/null; then + error "qemu-img not found. Install qemu-img / qemu-tools." + exit 1 + fi + + CLOUD_IMG="$TMP_D/cloud-base.qcow2" + QCOW2_OUT="$OUTPUT_DIR/freeipa-server.qcow2" + + info "Downloading cloud image..." + curl -L --progress-bar -o "$CLOUD_IMG" "$CLOUD_IMAGE_URL" + + info "Customizing image (installing FreeIPA packages)..." + virt-customize -a "$CLOUD_IMG" \ + --install freeipa-server,freeipa-server-dns,ansible-core,python3-netaddr \ + --copy-in "$IMAGE_SRC/ipa-first-boot.sh":/usr/local/sbin/ \ + --copy-in "$IMAGE_SRC/ipa-first-boot.service":/etc/systemd/system/ \ + --run-command "chmod +x /usr/local/sbin/ipa-first-boot.sh" \ + --run-command "systemctl enable ipa-first-boot.service" \ + --selinux-relabel + + qemu-img convert -O qcow2 "$CLOUD_IMG" "$QCOW2_OUT" + log "QCOW2: $QCOW2_OUT" + + # Cloud-init snippet + cat > "$OUTPUT_DIR/cloud-init-user-data.yml" < --name freeipa --memory 4096 --cores 4 --net0 virtio,bridge=vmbr0" + info " qm importdisk $QCOW2_OUT local-lvm" + info " qm set --scsihw virtio-scsi-pci --scsi0 local-lvm:vm--disk-0" + info " qm set --ide2 local-lvm:cloudinit --boot c --bootdisk scsi0" + ;; + + oci-archive) + section "OCI archive (skopeo)" + + if ! command -v skopeo &>/dev/null; then + error "skopeo not found. Install: sudo pacman -S skopeo" + exit 1 + fi + + OCI_ARCHIVE="$OUTPUT_DIR/freeipa-server-oci.tar" + info "Exporting OCI archive..." + skopeo copy \ + "${ENGINE}-daemon:${IMAGE_TAG}" \ + "oci-archive:${OCI_ARCHIVE}:latest" + log "OCI archive: $OCI_ARCHIVE" + + info "Import on air-gapped host:" + info " skopeo copy oci-archive:freeipa-server-oci.tar docker-daemon:freeipa-server:latest" + info " # or for podman:" + info " skopeo copy oci-archive:freeipa-server-oci.tar containers-storage:freeipa-server:latest" + ;; + +esac + +# ─── Generate compose + .env for all targets ───────────────────────────────── +section "Generating deployment files → $OUTPUT_DIR" + +cp "$IMAGE_SRC/docker-compose.yml" "$OUTPUT_DIR/docker-compose.yml" +cp "$IMAGE_SRC/keycloak-configure.sh" "$OUTPUT_DIR/keycloak-configure.sh" +chmod +x "$OUTPUT_DIR/keycloak-configure.sh" + +# Patch compose to reference the built image tag instead of building locally +sed -i "s|image: freeipa-server:local|image: $IMAGE_TAG|" "$OUTPUT_DIR/docker-compose.yml" + +if [[ "$WITH_KEYCLOAK" == false ]]; then + # Comment out Keycloak and postgres services + python3 - < "$OUTPUT_DIR/.env" < IPA_SERVER=$IPA_HOSTNAME \\ + IPA_DOMAIN=$IPA_DOMAIN IPA_DM_PASSWORD= \\ + ./keycloak-configure.sh +KC +) +EOF diff --git a/setup/tui-install.sh b/setup/tui-install.sh index d627e3a..f3b8b99 100755 --- a/setup/tui-install.sh +++ b/setup/tui-install.sh @@ -129,7 +129,8 @@ count_steps() { [[ "$a" == *"podman"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"cockpit"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"ssh-server"* ]] && TOTAL=$(( TOTAL + 1 )) - [[ "$a" == *"freeipa-server"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"freeipa-server"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"freeipa-image"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"python"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"zfs"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"wprs"* ]] && TOTAL=$(( TOTAL + 1 )) @@ -220,6 +221,7 @@ SELECTED_APPS=$(dialog --backtitle "$BACKTITLE" \ "cockpit" "Cockpit web UI · machines · podman" off \ "ssh-server" "SSH server openssh · key-auth · enabled" off \ "freeipa-server" "FreeIPA Server interactive server setup + client gen" off \ + "freeipa-image" "FreeIPA Image OCI/LXC/Proxmox/VM builder + Keycloak" off \ "python" "Python tools pyright · pipx · pynvim" off \ "zfs" "ZFS zfs-dkms kernel module" off \ "wprs" "WPRS wprs-git (AUR)" off \ @@ -271,6 +273,7 @@ if [[ -n "$SELECTED_APPS" ]]; then [[ "$SELECTED_APPS" == *"cockpit"* ]] && SUMMARY+=" ✦ Cockpit web UI\n" [[ "$SELECTED_APPS" == *"ssh-server"* ]] && SUMMARY+=" ✦ SSH server (openssh, key auth)\n" [[ "$SELECTED_APPS" == *"freeipa-server"* ]] && SUMMARY+=" ✦ FreeIPA Server\n" + [[ "$SELECTED_APPS" == *"freeipa-image"* ]] && SUMMARY+=" ✦ FreeIPA Image Builder\n" [[ "$SELECTED_APPS" == *"python"* ]] && SUMMARY+=" ✦ Python tools\n" [[ "$SELECTED_APPS" == *"zfs"* ]] && SUMMARY+=" ✦ ZFS\n" [[ "$SELECTED_APPS" == *"wprs"* ]] && SUMMARY+=" ✦ WPRS\n" @@ -333,6 +336,7 @@ fi [[ "$SELECTED_APPS" == *"cockpit"* ]] && run_module "Cockpit" "$APPS/cockpit.sh" [[ "$SELECTED_APPS" == *"ssh-server"* ]] && run_module "SSH Server" "$APPS/ssh-server.sh" [[ "$SELECTED_APPS" == *"freeipa-server"* ]] && run_module "FreeIPA Server" "$APPS/freeipa-server.sh" +[[ "$SELECTED_APPS" == *"freeipa-image"* ]] && run_module "FreeIPA Image" "$APPS/freeipa-image-builder.sh" [[ "$SELECTED_APPS" == *"python"* ]] && run_module "Python Tools" "$MODULES/optional-Modules/python.sh" [[ "$SELECTED_APPS" == *"zfs"* ]] && run_module "ZFS" "$MODULES/optional-Modules/zfs.sh" [[ "$SELECTED_APPS" == *"wprs"* ]] && run_module "WPRS" "$MODULES/optional-Modules/wprs.sh" From 9e708556d5f6e2bbc1521af31777eb2fbbfb3510 Mon Sep 17 00:00:00 2001 From: The_miro Date: Mon, 18 May 2026 11:27:50 +0200 Subject: [PATCH 008/116] setup: replace proxmox-vm target with proxmox-lxc in image builder The previous proxmox-vm target (virt-customize + QCOW2) is replaced with a proper Proxmox LXC CT template builder: - Exports container rootfs as .tar.zst (same mechanism as the lxc target) - Asks for CT ID, storage, bridge, memory, cores, disk size - Generates pve-ct-.conf with the required FreeIPA LXC options: unprivileged: 0 lxc.apparmor.profile: unconfined lxc.cap.drop: lxc.mount.auto: proc:rw sys:rw cgroup:rw lxc.cgroup2.devices.allow: a - Generates proxmox-lxc-setup.txt with the full 6-step setup guide (upload, pct create, apply LXC opts, set env vars, start, Keycloak) - Optionally uploads template + conf to Proxmox host via SCP if a host is provided Co-Authored-By: Claude Sonnet 4.6 --- setup/install-modules.sh | 2 +- .../apps/freeipa-image-builder.sh | 178 ++++++++++++------ setup/tui-install.sh | 2 +- 3 files changed, 119 insertions(+), 63 deletions(-) diff --git a/setup/install-modules.sh b/setup/install-modules.sh index fc17053..53f2461 100755 --- a/setup/install-modules.sh +++ b/setup/install-modules.sh @@ -186,7 +186,7 @@ SELECTED=$(dialog --backtitle "$BACKTITLE" \ "cockpit" "Cockpit web UI · machines · podman" off \ "ssh-server" "SSH server openssh · key-auth · enabled" off \ "freeipa-server" "FreeIPA Server interactive server setup + client gen" off \ - "freeipa-image" "FreeIPA Image OCI/LXC/Proxmox/VM builder + Keycloak" off \ + "freeipa-image" "FreeIPA Image OCI/LXC/Proxmox LXC builder + Keycloak" off \ "python" "Python tools pyright · pipx · pynvim" off \ "zfs" "ZFS zfs-dkms kernel module" off \ "wprs" "WPRS wprs-git (AUR)" off \ diff --git a/setup/modules/optional-Modules/apps/freeipa-image-builder.sh b/setup/modules/optional-Modules/apps/freeipa-image-builder.sh index da83171..4a09cac 100755 --- a/setup/modules/optional-Modules/apps/freeipa-image-builder.sh +++ b/setup/modules/optional-Modules/apps/freeipa-image-builder.sh @@ -70,10 +70,10 @@ command -v dialog &>/dev/null || { sudo pacman -S --noconfirm dialog; } TARGET=$(dialog --backtitle "$BACKTITLE" \ --title " Select Target Format " \ --menu "Choose the output format:" 16 70 4 \ - "docker" "Docker / Podman image (local + optional registry push)" \ - "lxc" "LXC / Proxmox CT template (.tar.zst rootfs archive)" \ - "proxmox-vm" "Proxmox VM (cloud-init QCOW2, requires virt-customize)" \ - "oci-archive" "OCI archive (skopeo tarball for air-gapped import)" \ + "docker" "Docker / Podman image (local + optional registry push)" \ + "lxc" "LXC template (.tar.zst rootfs, generic LXC/LXD)" \ + "proxmox-lxc" "Proxmox LXC CT template + conf + optional upload" \ + "oci-archive" "OCI archive (skopeo tarball for air-gapped import)" \ 3>&1 1>&2 2>&3) || { clear; echo "Aborted."; exit 0; } # ─── Keycloak? ─────────────────────────────────────────────────────────────── @@ -119,12 +119,18 @@ if [[ "$WITH_KEYCLOAK" == true ]]; then ask "Keycloak realm name [$KC_REALM]:"; read -r I; KC_REALM="${I:-$KC_REALM}" fi -# Proxmox VM cloud image (only if proxmox-vm selected) -CLOUD_IMAGE_URL="" -if [[ "$TARGET" == "proxmox-vm" ]]; then +# Proxmox LXC extra config +PVE_HOST=""; PVE_VMID="100"; PVE_STORAGE="local"; PVE_BRIDGE="vmbr0" +PVE_MEMORY="4096"; PVE_CORES="4"; PVE_DISK_SIZE="20" +if [[ "$TARGET" == "proxmox-lxc" ]]; then echo - ROCKY_URL="https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-GenericCloud.latest.x86_64.qcow2" - ask "Cloud image URL [$ROCKY_URL]:"; read -r I; CLOUD_IMAGE_URL="${I:-$ROCKY_URL}" + ask "Proxmox host (blank to skip upload):"; read -r PVE_HOST + ask "Container ID [100]:"; read -r I; PVE_VMID="${I:-100}" + ask "Storage for rootfs [local-lvm]:"; read -r I; PVE_STORAGE="${I:-local-lvm}" + ask "Network bridge [vmbr0]:"; read -r I; PVE_BRIDGE="${I:-vmbr0}" + ask "Memory MB [4096]:"; read -r I; PVE_MEMORY="${I:-4096}" + ask "CPU cores [4]:"; read -r I; PVE_CORES="${I:-4}" + ask "Disk size GB [20]:"; read -r I; PVE_DISK_SIZE="${I:-20}" fi # ─── Confirm ────────────────────────────────────────────────────────────────── @@ -225,65 +231,115 @@ LXCTXT log "Instructions: $OUTPUT_DIR/lxc-import-instructions.txt" ;; - proxmox-vm) - section "Proxmox VM — cloud-init QCOW2" + proxmox-lxc) + section "Proxmox LXC CT template" + TEMPLATE_NAME="freeipa-server-proxmox-lxc.tar.zst" + TEMPLATE_PATH="$OUTPUT_DIR/$TEMPLATE_NAME" - if ! command -v virt-customize &>/dev/null; then - error "virt-customize not found. Install libguestfs-tools:" - error " sudo pacman -S libguestfs # Arch" - error " sudo dnf install libguestfs-tools # Fedora/RHEL" - exit 1 - fi - if ! command -v qemu-img &>/dev/null; then - error "qemu-img not found. Install qemu-img / qemu-tools." - exit 1 + info "Creating temporary container to export rootfs..." + TMP_CTR="freeipa-pve-export-$$" + $ENGINE create --name "$TMP_CTR" "$IMAGE_TAG" /bin/true + + info "Exporting rootfs..." + if command -v zstd &>/dev/null; then + $ENGINE export "$TMP_CTR" | zstd -T0 -o "$TEMPLATE_PATH" + else + warn "zstd not found — falling back to gzip (.tar.gz)" + TEMPLATE_NAME="freeipa-server-proxmox-lxc.tar.gz" + TEMPLATE_PATH="$OUTPUT_DIR/$TEMPLATE_NAME" + $ENGINE export "$TMP_CTR" | gzip -9 > "$TEMPLATE_PATH" fi + $ENGINE rm "$TMP_CTR" &>/dev/null + log "Template: $TEMPLATE_PATH" - CLOUD_IMG="$TMP_D/cloud-base.qcow2" - QCOW2_OUT="$OUTPUT_DIR/freeipa-server.qcow2" - - info "Downloading cloud image..." - curl -L --progress-bar -o "$CLOUD_IMG" "$CLOUD_IMAGE_URL" - - info "Customizing image (installing FreeIPA packages)..." - virt-customize -a "$CLOUD_IMG" \ - --install freeipa-server,freeipa-server-dns,ansible-core,python3-netaddr \ - --copy-in "$IMAGE_SRC/ipa-first-boot.sh":/usr/local/sbin/ \ - --copy-in "$IMAGE_SRC/ipa-first-boot.service":/etc/systemd/system/ \ - --run-command "chmod +x /usr/local/sbin/ipa-first-boot.sh" \ - --run-command "systemctl enable ipa-first-boot.service" \ - --selinux-relabel - - qemu-img convert -O qcow2 "$CLOUD_IMG" "$QCOW2_OUT" - log "QCOW2: $QCOW2_OUT" - - # Cloud-init snippet - cat > "$OUTPUT_DIR/cloud-init-user-data.yml" < "$CT_CONF" < "$OUTPUT_DIR/proxmox-lxc-setup.txt" <:/var/lib/vz/template/cache/ - info "Proxmox VM import:" - info " qm create --name freeipa --memory 4096 --cores 4 --net0 virtio,bridge=vmbr0" - info " qm importdisk $QCOW2_OUT local-lvm" - info " qm set --scsihw virtio-scsi-pci --scsi0 local-lvm:vm--disk-0" - info " qm set --ide2 local-lvm:cloudinit --boot c --bootdisk scsi0" +── Step 2: Create the container ──────────────────────────── + pct create $PVE_VMID local:vztmpl/$TEMPLATE_NAME \\ + --hostname ${IPA_HOSTNAME%%.*} \\ + --memory $PVE_MEMORY --cores $PVE_CORES \\ + --rootfs $PVE_STORAGE:${PVE_DISK_SIZE} \\ + --net0 name=eth0,bridge=$PVE_BRIDGE,ip=dhcp \\ + --ostype fedora --unprivileged 0 \\ + --features nesting=1 + +── Step 3: Apply required LXC options ────────────────────── + # FreeIPA needs unconfined AppArmor and full cgroup access. + # Copy the generated config or append these lines: + cat >> /etc/pve/lxc/$PVE_VMID.conf <> /etc/environment < \\ + # IPA_DOMAIN=$IPA_DOMAIN IPA_DM_PASSWORD= \\ + # ./keycloak-configure.sh +GUIDEOF + log "Setup guide: $OUTPUT_DIR/proxmox-lxc-setup.txt" + + # Optional: upload to Proxmox host + if [[ -n "$PVE_HOST" ]]; then + section "Uploading template to $PVE_HOST" + scp "$TEMPLATE_PATH" "root@${PVE_HOST}:/var/lib/vz/template/cache/" + scp "$CT_CONF" "root@${PVE_HOST}:/etc/pve/lxc/${PVE_VMID}.conf" + log "Template uploaded to $PVE_HOST" + info "Next: pct create $PVE_VMID local:vztmpl/$TEMPLATE_NAME ..." + info " (see $OUTPUT_DIR/proxmox-lxc-setup.txt for full command)" + fi ;; oci-archive) diff --git a/setup/tui-install.sh b/setup/tui-install.sh index f3b8b99..69dc5be 100755 --- a/setup/tui-install.sh +++ b/setup/tui-install.sh @@ -221,7 +221,7 @@ SELECTED_APPS=$(dialog --backtitle "$BACKTITLE" \ "cockpit" "Cockpit web UI · machines · podman" off \ "ssh-server" "SSH server openssh · key-auth · enabled" off \ "freeipa-server" "FreeIPA Server interactive server setup + client gen" off \ - "freeipa-image" "FreeIPA Image OCI/LXC/Proxmox/VM builder + Keycloak" off \ + "freeipa-image" "FreeIPA Image OCI/LXC/Proxmox LXC builder + Keycloak" off \ "python" "Python tools pyright · pipx · pynvim" off \ "zfs" "ZFS zfs-dkms kernel module" off \ "wprs" "WPRS wprs-git (AUR)" off \ From c51af40fce2a2c1225affddd05f36b5f1808374c Mon Sep 17 00:00:00 2001 From: The_miro Date: Mon, 18 May 2026 11:40:51 +0200 Subject: [PATCH 009/116] setup: add freeipa-client module and FreeIPA group-based module automation - Add freeipa-client module (sssd, cyrus-sasl-gssapi, freeipa-client AUR) with post-install enrollment hints; wired into tui-install.sh and install-modules.sh - Add ansipa-install-modules.sh: reads IPA host groups named ansipa-module-, applies matching module scripts via a yay wrapper that drops to ANSIPA_USER so AUR builds work from the root service - Add ansipa-install-modules.service + .timer (boot + 30 min) - Add deploy-ansipa-modules.yml Ansible playbook that deploys scripts, writes /etc/ansipa-modules.conf, and enables the timer Co-Authored-By: Claude Sonnet 4.6 --- setup/install-modules.sh | 4 + .../ansible/ansipa-install-modules.service | 10 ++ .../ansible/ansipa-install-modules.sh | 116 ++++++++++++++++++ .../ansible/ansipa-install-modules.timer | 9 ++ .../ansible/deploy-ansipa-modules.yml | 101 +++++++++++++++ .../optional-Modules/apps/freeipa-client.sh | 39 ++++++ setup/tui-install.sh | 4 + 7 files changed, 283 insertions(+) create mode 100644 setup/modules/FreeipaAnsible/ansible/ansipa-install-modules.service create mode 100755 setup/modules/FreeipaAnsible/ansible/ansipa-install-modules.sh create mode 100644 setup/modules/FreeipaAnsible/ansible/ansipa-install-modules.timer create mode 100644 setup/modules/FreeipaAnsible/ansible/deploy-ansipa-modules.yml create mode 100755 setup/modules/optional-Modules/apps/freeipa-client.sh diff --git a/setup/install-modules.sh b/setup/install-modules.sh index 53f2461..e8e3b48 100755 --- a/setup/install-modules.sh +++ b/setup/install-modules.sh @@ -119,6 +119,7 @@ count_steps() { [[ "$sel" == *"podman"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"cockpit"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"ssh-server"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"freeipa-client"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"freeipa-server"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"freeipa-image"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"python"* ]] && TOTAL=$(( TOTAL + 1 )) @@ -185,6 +186,7 @@ SELECTED=$(dialog --backtitle "$BACKTITLE" \ "podman" "Podman rootless containers · buildah" off \ "cockpit" "Cockpit web UI · machines · podman" off \ "ssh-server" "SSH server openssh · key-auth · enabled" off \ + "freeipa-client" "FreeIPA Client sssd + ipa-client-install + enrollment" off \ "freeipa-server" "FreeIPA Server interactive server setup + client gen" off \ "freeipa-image" "FreeIPA Image OCI/LXC/Proxmox LXC builder + Keycloak" off \ "python" "Python tools pyright · pipx · pynvim" off \ @@ -230,6 +232,7 @@ SUMMARY="" [[ "$SELECTED" == *"podman"* ]] && SUMMARY+=" ✦ Podman\n" [[ "$SELECTED" == *"cockpit"* ]] && SUMMARY+=" ✦ Cockpit\n" [[ "$SELECTED" == *"ssh-server"* ]] && SUMMARY+=" ✦ SSH server\n" +[[ "$SELECTED" == *"freeipa-client"* ]] && SUMMARY+=" ✦ FreeIPA Client\n" [[ "$SELECTED" == *"freeipa-server"* ]] && SUMMARY+=" ✦ FreeIPA Server\n" [[ "$SELECTED" == *"freeipa-image"* ]] && SUMMARY+=" ✦ FreeIPA Image Builder\n" [[ "$SELECTED" == *"python"* ]] && SUMMARY+=" ✦ Python tools\n" @@ -278,6 +281,7 @@ count_steps "$SELECTED" [[ "$SELECTED" == *"podman"* ]] && run_module "Podman" "$APPS/podman.sh" [[ "$SELECTED" == *"cockpit"* ]] && run_module "Cockpit" "$APPS/cockpit.sh" [[ "$SELECTED" == *"ssh-server"* ]] && run_module "SSH Server" "$APPS/ssh-server.sh" +[[ "$SELECTED" == *"freeipa-client"* ]] && run_module "FreeIPA Client" "$APPS/freeipa-client.sh" [[ "$SELECTED" == *"freeipa-server"* ]] && run_module "FreeIPA Server" "$APPS/freeipa-server.sh" [[ "$SELECTED" == *"freeipa-image"* ]] && run_module "FreeIPA Image" "$APPS/freeipa-image-builder.sh" [[ "$SELECTED" == *"python"* ]] && run_module "Python Tools" "$MODULES/optional-Modules/python.sh" diff --git a/setup/modules/FreeipaAnsible/ansible/ansipa-install-modules.service b/setup/modules/FreeipaAnsible/ansible/ansipa-install-modules.service new file mode 100644 index 0000000..75ee154 --- /dev/null +++ b/setup/modules/FreeipaAnsible/ansible/ansipa-install-modules.service @@ -0,0 +1,10 @@ +[Unit] +Description=Apply setup modules based on FreeIPA ansipa-module-* host groups +After=network-online.target sssd.service +Wants=network-online.target + +[Service] +Type=oneshot +ExecStart=/usr/local/bin/ansipa-install-modules.sh +StandardOutput=journal +StandardError=journal diff --git a/setup/modules/FreeipaAnsible/ansible/ansipa-install-modules.sh b/setup/modules/FreeipaAnsible/ansible/ansipa-install-modules.sh new file mode 100755 index 0000000..47753ba --- /dev/null +++ b/setup/modules/FreeipaAnsible/ansible/ansipa-install-modules.sh @@ -0,0 +1,116 @@ +#!/usr/bin/env bash +# ansipa-install-modules.sh — apply setup modules to this host based on +# FreeIPA host group membership. +# +# Host groups follow the naming convention: +# ansipa-module- e.g. ansipa-module-docker, ansipa-module-ollama +# +# When this host is a member of such a group, the corresponding module +# script in /usr/local/lib/ansipa-modules/.sh is executed (once, +# stamped in /var/lib/ansipa-modules/). +# +# Configuration: /etc/ansipa-modules.conf +# ANSIPA_USER= non-root user for AUR helper (yay) +# MODULES_DIR=/usr/local/lib/ansipa-modules +# STATE_DIR=/var/lib/ansipa-modules + +set -euo pipefail + +CONFIG=/etc/ansipa-modules.conf +[[ -f "$CONFIG" ]] && source "$CONFIG" + +ANSIPA_USER="${ANSIPA_USER:-}" +MODULES_DIR="${MODULES_DIR:-/usr/local/lib/ansipa-modules}" +STATE_DIR="${STATE_DIR:-/var/lib/ansipa-modules}" +PREFIX="ansipa-module-" +LOG_TAG="ansipa-modules" + +log() { echo "[$LOG_TAG] $*"; logger -t "$LOG_TAG" "$*" 2>/dev/null || true; } +warn() { echo "[$LOG_TAG][WARN] $*" >&2; logger -t "$LOG_TAG" "WARN: $*" 2>/dev/null || true; } + +# ── Resolve ANSIPA_USER ─────────────────────────────────────────────────────── +if [[ -z "$ANSIPA_USER" ]]; then + # Use the first non-root, non-system user with a login shell + ANSIPA_USER=$(awk -F: '($3>=1000 && $7!~/nologin|false/) {print $1; exit}' /etc/passwd) +fi +if [[ -z "$ANSIPA_USER" ]]; then + warn "Cannot determine ANSIPA_USER. Set it in $CONFIG." + exit 1 +fi + +log "Running as root, AUR helper delegated to user: $ANSIPA_USER" +mkdir -p "$STATE_DIR" + +# ── Create a yay wrapper so module scripts can call 'yay' as non-root ──────── +YAY_BIN=$(command -v yay 2>/dev/null || true) +WRAP_DIR=$(mktemp -d /tmp/ansipa-wrap.XXXXXX) +trap 'rm -rf "$WRAP_DIR"' EXIT + +if [[ -n "$YAY_BIN" ]]; then + cat > "$WRAP_DIR/yay" </dev/null || hostname) + +if ! command -v ipa &>/dev/null; then + warn "ipa command not found — host not enrolled in FreeIPA. Exiting." + exit 0 +fi + +# kinit with host keytab so IPA commands work from the service context +kinit -k "host/$HOST_FQDN" &>/dev/null || true + +RAW_GROUPS=$(ipa host-show "$HOST_FQDN" --all 2>/dev/null \ + | grep -i "Member of host-groups:" | sed 's/.*: //' || true) + +if [[ -z "$RAW_GROUPS" ]]; then + log "Host '$HOST_FQDN' is not a member of any host groups — nothing to do." + exit 0 +fi + +# Parse comma-separated list, keep only ansipa-module-* entries +WANTED_MODULES=() +while IFS=',' read -ra GRP_ARRAY; do + for g in "${GRP_ARRAY[@]}"; do + g="${g// /}" # strip spaces + if [[ "$g" == ${PREFIX}* ]]; then + WANTED_MODULES+=("${g#$PREFIX}") + fi + done +done <<< "$RAW_GROUPS" + +if [[ ${#WANTED_MODULES[@]} -eq 0 ]]; then + log "No ansipa-module-* host groups found for '$HOST_FQDN'." + exit 0 +fi + +log "Modules requested for this host: ${WANTED_MODULES[*]}" + +# ── Apply each module ───────────────────────────────────────────────────────── +for MODULE in "${WANTED_MODULES[@]}"; do + STAMP="$STATE_DIR/${MODULE}.done" + SCRIPT="$MODULES_DIR/${MODULE}.sh" + + if [[ -f "$STAMP" ]]; then + log "Module '$MODULE' already applied (stamp: $STAMP) — skipping." + continue + fi + + if [[ ! -f "$SCRIPT" ]]; then + warn "Module script not found: $SCRIPT — skipping '$MODULE'." + continue + fi + + log "Applying module: $MODULE" + if env PATH="$WRAP_DIR:$PATH" bash "$SCRIPT" >>"$STATE_DIR/${MODULE}.log" 2>&1; then + touch "$STAMP" + log "Module '$MODULE' applied successfully." + else + warn "Module '$MODULE' failed — see $STATE_DIR/${MODULE}.log" + fi +done diff --git a/setup/modules/FreeipaAnsible/ansible/ansipa-install-modules.timer b/setup/modules/FreeipaAnsible/ansible/ansipa-install-modules.timer new file mode 100644 index 0000000..78686b4 --- /dev/null +++ b/setup/modules/FreeipaAnsible/ansible/ansipa-install-modules.timer @@ -0,0 +1,9 @@ +[Unit] +Description=Periodic FreeIPA module sync + +[Timer] +OnBootSec=3min +OnUnitActiveSec=30min + +[Install] +WantedBy=timers.target diff --git a/setup/modules/FreeipaAnsible/ansible/deploy-ansipa-modules.yml b/setup/modules/FreeipaAnsible/ansible/deploy-ansipa-modules.yml new file mode 100644 index 0000000..aef0fe5 --- /dev/null +++ b/setup/modules/FreeipaAnsible/ansible/deploy-ansipa-modules.yml @@ -0,0 +1,101 @@ +--- +# deploy-ansipa-modules.yml — deploy the module auto-installer to enrolled hosts. +# +# Prerequisites on target hosts: +# - FreeIPA client enrolled (sssd running, ipa command available) +# - A non-root user with yay access (set ANSIPA_USER in /etc/ansipa-modules.conf) +# +# Usage: +# ansible-playbook -i inventory deploy-ansipa-modules.yml +# ansible-playbook -i inventory deploy-ansipa-modules.yml -e ansipa_user=amir +# +# FreeIPA host group convention: +# Create host groups named ansipa-module- (e.g. ansipa-module-docker) +# and add hosts to them. The timer will apply the matching module automatically. + +- name: Deploy FreeIPA module auto-installer + hosts: all + become: yes + + vars: + ansipa_user: "{{ lookup('env', 'ANSIPA_USER') | default('', true) }}" + modules_dir: /usr/local/lib/ansipa-modules + state_dir: /var/lib/ansipa-modules + + tasks: + + - name: Create module directories + file: + path: "{{ item }}" + state: directory + mode: '0755' + loop: + - "{{ modules_dir }}" + - "{{ state_dir }}" + + - name: Write /etc/ansipa-modules.conf + copy: + dest: /etc/ansipa-modules.conf + mode: '0644' + content: | + # ansipa-modules configuration + # ANSIPA_USER: non-root user used to run the AUR helper (yay). + # Leave blank to auto-detect the first non-system user. + ANSIPA_USER={{ ansipa_user }} + MODULES_DIR={{ modules_dir }} + STATE_DIR={{ state_dir }} + when: ansipa_user != "" + + - name: Deploy main module installer script + copy: + src: ansipa-install-modules.sh + dest: /usr/local/bin/ansipa-install-modules.sh + mode: '0755' + + - name: Deploy module scripts + copy: + src: "{{ item }}" + dest: "{{ modules_dir }}/{{ item | basename }}" + mode: '0755' + with_fileglob: + - "../optional-Modules/apps/*.sh" + + - name: Install systemd service + copy: + dest: /etc/systemd/system/ansipa-install-modules.service + mode: '0644' + content: | + [Unit] + Description=Apply setup modules based on FreeIPA ansipa-module-* host groups + After=network-online.target sssd.service + Wants=network-online.target + + [Service] + Type=oneshot + ExecStart=/usr/local/bin/ansipa-install-modules.sh + StandardOutput=journal + StandardError=journal + + - name: Install systemd timer + copy: + dest: /etc/systemd/system/ansipa-install-modules.timer + mode: '0644' + content: | + [Unit] + Description=Periodic FreeIPA module sync + + [Timer] + OnBootSec=3min + OnUnitActiveSec=30min + + [Install] + WantedBy=timers.target + + - name: Reload systemd + command: systemctl daemon-reload + + - name: Enable and start module timer + systemd: + name: ansipa-install-modules.timer + enabled: yes + state: started diff --git a/setup/modules/optional-Modules/apps/freeipa-client.sh b/setup/modules/optional-Modules/apps/freeipa-client.sh new file mode 100755 index 0000000..555819c --- /dev/null +++ b/setup/modules/optional-Modules/apps/freeipa-client.sh @@ -0,0 +1,39 @@ +#!/bin/bash +set -euo pipefail + +# FreeIPA client — installs client packages and optionally enrolls this host. +# Packages: sssd + cyrus-sasl-gssapi from pacman; freeipa-client (AUR) for +# ipa-client-install, ipa-getkeytab, etc. + +PACMAN_PKGS=(sssd cyrus-sasl-gssapi openldap krb5 oddjob) +AUR_PKGS=(freeipa-client) + +echo "[+] Installing FreeIPA client packages..." +pacman -S --noconfirm --needed "${PACMAN_PKGS[@]}" + +if command -v yay &>/dev/null; then + echo "[+] Installing freeipa-client (AUR)..." + yay -S --noconfirm --needed "${AUR_PKGS[@]}" +else + echo "[!] yay not found — skipping AUR packages (freeipa-client)." + echo " Install yay, then run: yay -S --needed freeipa-client" +fi + +# Enable sssd (without starting — host is not enrolled yet) +systemctl enable sssd.service 2>/dev/null || true + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +CLIENT_ENROLL="$SCRIPT_DIR/../../FreeipaAnsible/freeipa-client.sh" + +echo "" +echo "[✓] FreeIPA client packages installed." +echo "" +echo " To enroll this host, run one of:" +echo " ipa-client-install --domain= --server= --principal=admin" +if [[ -f "$CLIENT_ENROLL" ]]; then + echo " $CLIENT_ENROLL --interactive" + echo " $CLIENT_ENROLL --answerfile /path/to/answerfile.json" +fi +echo "" +echo " After enrollment, enable auto-home-dir creation:" +echo " authselect select sssd with-mkhomedir --force" diff --git a/setup/tui-install.sh b/setup/tui-install.sh index 69dc5be..7f578e4 100755 --- a/setup/tui-install.sh +++ b/setup/tui-install.sh @@ -129,6 +129,7 @@ count_steps() { [[ "$a" == *"podman"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"cockpit"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"ssh-server"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"freeipa-client"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"freeipa-server"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"freeipa-image"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"python"* ]] && TOTAL=$(( TOTAL + 1 )) @@ -220,6 +221,7 @@ SELECTED_APPS=$(dialog --backtitle "$BACKTITLE" \ "podman" "Podman rootless containers · buildah" off \ "cockpit" "Cockpit web UI · machines · podman" off \ "ssh-server" "SSH server openssh · key-auth · enabled" off \ + "freeipa-client" "FreeIPA Client sssd + ipa-client-install + enrollment" off \ "freeipa-server" "FreeIPA Server interactive server setup + client gen" off \ "freeipa-image" "FreeIPA Image OCI/LXC/Proxmox LXC builder + Keycloak" off \ "python" "Python tools pyright · pipx · pynvim" off \ @@ -272,6 +274,7 @@ if [[ -n "$SELECTED_APPS" ]]; then [[ "$SELECTED_APPS" == *"podman"* ]] && SUMMARY+=" ✦ Podman (rootless) + Buildah\n" [[ "$SELECTED_APPS" == *"cockpit"* ]] && SUMMARY+=" ✦ Cockpit web UI\n" [[ "$SELECTED_APPS" == *"ssh-server"* ]] && SUMMARY+=" ✦ SSH server (openssh, key auth)\n" + [[ "$SELECTED_APPS" == *"freeipa-client"* ]] && SUMMARY+=" ✦ FreeIPA Client\n" [[ "$SELECTED_APPS" == *"freeipa-server"* ]] && SUMMARY+=" ✦ FreeIPA Server\n" [[ "$SELECTED_APPS" == *"freeipa-image"* ]] && SUMMARY+=" ✦ FreeIPA Image Builder\n" [[ "$SELECTED_APPS" == *"python"* ]] && SUMMARY+=" ✦ Python tools\n" @@ -335,6 +338,7 @@ fi [[ "$SELECTED_APPS" == *"podman"* ]] && run_module "Podman" "$APPS/podman.sh" [[ "$SELECTED_APPS" == *"cockpit"* ]] && run_module "Cockpit" "$APPS/cockpit.sh" [[ "$SELECTED_APPS" == *"ssh-server"* ]] && run_module "SSH Server" "$APPS/ssh-server.sh" +[[ "$SELECTED_APPS" == *"freeipa-client"* ]] && run_module "FreeIPA Client" "$APPS/freeipa-client.sh" [[ "$SELECTED_APPS" == *"freeipa-server"* ]] && run_module "FreeIPA Server" "$APPS/freeipa-server.sh" [[ "$SELECTED_APPS" == *"freeipa-image"* ]] && run_module "FreeIPA Image" "$APPS/freeipa-image-builder.sh" [[ "$SELECTED_APPS" == *"python"* ]] && run_module "Python Tools" "$MODULES/optional-Modules/python.sh" From f34d90f1a86720c407bb46391a04b38484def22f Mon Sep 17 00:00:00 2001 From: The_miro Date: Mon, 18 May 2026 11:45:04 +0200 Subject: [PATCH 010/116] setup: add dialog TUI to freeipa-client module for enrollment Presents a Cyberqueer-themed menu after package install: - Answerfile: prompts for path (defaults to FreeipaAnsible/freeipa-client-answerfile.json), offers to create one with defaults if it doesn't exist - Manual: dialog inputboxes for domain, realm, server, hostname, principal, passwordbox for the admin password, yes/no for mkhomedir/sudo/dns/fido2 - Skip: prints post-install hints Falls back to ipa-client-install directly if freeipa-client.sh is not available (standalone install outside the dotfiles repo). Co-Authored-By: Claude Sonnet 4.6 --- .../optional-Modules/apps/freeipa-client.sh | 239 ++++++++++++++++-- 1 file changed, 221 insertions(+), 18 deletions(-) diff --git a/setup/modules/optional-Modules/apps/freeipa-client.sh b/setup/modules/optional-Modules/apps/freeipa-client.sh index 555819c..219fdce 100755 --- a/setup/modules/optional-Modules/apps/freeipa-client.sh +++ b/setup/modules/optional-Modules/apps/freeipa-client.sh @@ -1,39 +1,242 @@ #!/bin/bash set -euo pipefail -# FreeIPA client — installs client packages and optionally enrolls this host. -# Packages: sssd + cyrus-sasl-gssapi from pacman; freeipa-client (AUR) for -# ipa-client-install, ipa-getkeytab, etc. +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +FREEIPA_DIR="$SCRIPT_DIR/../../FreeipaAnsible" +CLIENT_SCRIPT="$FREEIPA_DIR/freeipa-client.sh" +DEFAULT_AF="$FREEIPA_DIR/freeipa-client-answerfile.json" -PACMAN_PKGS=(sssd cyrus-sasl-gssapi openldap krb5 oddjob) -AUR_PKGS=(freeipa-client) +# Defaults — match freeipa-client-answerfile.json (sed-replaced by server installer) +DEF_DOMAIN="freeipa.abdelbaki.eu" +DEF_REALM="FREEIPA.ABDELBAKI.EU" +DEF_SERVER="freeipa.abdelbaki.eu" +# ── Packages ────────────────────────────────────────────────────────────────── echo "[+] Installing FreeIPA client packages..." -pacman -S --noconfirm --needed "${PACMAN_PKGS[@]}" +pacman -S --noconfirm --needed sssd cyrus-sasl-gssapi openldap krb5 oddjob if command -v yay &>/dev/null; then echo "[+] Installing freeipa-client (AUR)..." - yay -S --noconfirm --needed "${AUR_PKGS[@]}" + yay -S --noconfirm --needed freeipa-client else - echo "[!] yay not found — skipping AUR packages (freeipa-client)." - echo " Install yay, then run: yay -S --needed freeipa-client" + echo "[!] yay not found — skipping freeipa-client AUR package." + echo " Install yay then run: yay -S --needed freeipa-client" fi -# Enable sssd (without starting — host is not enrolled yet) systemctl enable sssd.service 2>/dev/null || true -SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -CLIENT_ENROLL="$SCRIPT_DIR/../../FreeipaAnsible/freeipa-client.sh" +command -v dialog &>/dev/null || pacman -S --noconfirm --needed dialog +# ── Dialog theme ────────────────────────────────────────────────────────────── +if [[ -z "${DIALOGRC:-}" ]] || [[ ! -f "${DIALOGRC:-/dev/null}" ]]; then + _TMP_D=$(mktemp -d) + trap 'rm -rf "$_TMP_D"' EXIT + export DIALOGRC="$_TMP_D/dialogrc" + cat > "$DIALOGRC" <<'RCEOF' +use_shadow = ON +use_colors = ON +screen_color = (BLACK,BLACK,ON) +shadow_color = (BLACK,BLACK,ON) +title_color = (MAGENTA,BLACK,ON) +border_color = (MAGENTA,BLACK,ON) +button_active_color = (BLACK,MAGENTA,ON) +button_inactive_color = (WHITE,BLACK,OFF) +button_key_active_color = (BLACK,CYAN,ON) +button_key_inactive_color = (CYAN,BLACK,ON) +button_label_active_color = (BLACK,MAGENTA,ON) +button_label_inactive_color = (WHITE,BLACK,OFF) +inputbox_color = (WHITE,BLACK,OFF) +inputbox_border_color = (MAGENTA,BLACK,ON) +menubox_color = (WHITE,BLACK,OFF) +menubox_border_color = (MAGENTA,BLACK,ON) +item_color = (WHITE,BLACK,OFF) +item_selected_color = (BLACK,MAGENTA,ON) +tag_color = (CYAN,BLACK,ON) +tag_selected_color = (BLACK,CYAN,ON) +tag_key_color = (CYAN,BLACK,ON) +tag_key_selected_color = (BLACK,CYAN,ON) +check_color = (WHITE,BLACK,OFF) +check_selected_color = (BLACK,MAGENTA,ON) +uarrow_color = (MAGENTA,BLACK,ON) +darrow_color = (MAGENTA,BLACK,ON) +RCEOF +fi + +BT="FreeIPA Client Setup" +T=$(mktemp); trap 'rm -f "$T"' EXIT + +d() { dialog --backtitle "$BT" "$@" 3>&1 1>&2 2>&3; } +input(){ d --title " $1 " --inputbox "$2" 10 64 "$3"; } +pass() { d --title " $1 " --passwordbox "$2" 10 64; } +yn() { d --title " $1 " --yesno "$2" 7 64; } +msg() { d --title " FreeIPA Client " --msgbox "$1" 10 64; } + +# ── Enrollment choice ───────────────────────────────────────────────────────── +CHOICE=$(d --title " FreeIPA Client Enrollment " \ + --menu "\n Packages installed.\n How would you like to enroll this host?\n" \ + 13 64 3 \ + "answerfile" "Use a JSON answerfile" \ + "manual" "Enter enrollment data manually" \ + "skip" "Skip — enroll later") || CHOICE="skip" + +# ── Helpers ─────────────────────────────────────────────────────────────────── +run_enroll() { + local args=("$@") + if [[ -x "$CLIENT_SCRIPT" ]]; then + exec "$CLIENT_SCRIPT" "${args[@]}" + else + # Fall back to ipa-client-install directly + local cmd=(ipa-client-install --unattended) + local dom="" rlm="" srv="" hst="" pri="admin" pwd="" ntp="" + local mkhomedir=true sudo_=true dns=true fido2=false + declare -a fido2_users=() + + for ((i=0; i<${#args[@]}; i++)); do + case "${args[$i]}" in + --domain) dom="${args[$((i+1))]}"; ((i++)) ;; + --realm) rlm="${args[$((i+1))]}"; ((i++)) ;; + --server) srv="${args[$((i+1))]}"; ((i++)) ;; + --hostname) hst="${args[$((i+1))]}"; ((i++)) ;; + --principal) pri="${args[$((i+1))]}"; ((i++)) ;; + --password) pwd="${args[$((i+1))]}"; ((i++)) ;; + --ntp-server) ntp="${args[$((i+1))]}"; ((i++)) ;; + --no-mkhomedir) mkhomedir=false ;; + --no-sudo) sudo_=false ;; + --no-dns-update) dns=false ;; + --fido2) fido2=true ;; + --fido2-user) fido2_users+=("${args[$((i+1))]}"); ((i++)) ;; + esac + done + + [[ -n "$dom" ]] && cmd+=(--domain "$dom") + [[ -n "$rlm" ]] && cmd+=(--realm "$rlm") + [[ -n "$srv" ]] && cmd+=(--server "$srv") + [[ -n "$hst" ]] && cmd+=(--hostname "$hst") + [[ -n "$ntp" ]] && cmd+=(--ntp-server "$ntp") + cmd+=(--principal "$pri" --password "$pwd") + $mkhomedir && cmd+=(--mkhomedir) || cmd+=(--no-mkhomedir) + $sudo_ && cmd+=(--enable-dns-updates) || true + ! $dns && cmd+=(--no-dns-update) || true + exec "${cmd[@]}" + fi +} + +# ── Answerfile mode ─────────────────────────────────────────────────────────── +if [[ "$CHOICE" == "answerfile" ]]; then + AF_PATH=$(input "Answerfile path" \ + "Path to the JSON answerfile:" \ + "$DEFAULT_AF") || { msg " Enrollment cancelled."; exit 0; } + + [[ -z "$AF_PATH" ]] && AF_PATH="$DEFAULT_AF" + + if [[ ! -f "$AF_PATH" ]]; then + if yn "Create answerfile" \ + " '$AF_PATH' does not exist.\n Create it with default values?"; then + mkdir -p "$(dirname "$AF_PATH")" + cat > "$AF_PATH" </dev/null || hostname) + HOST=$(input "This Host FQDN" "Hostname to register (leave blank = current):" \ + "$DEF_HOST") || HOST="$DEF_HOST" + + PRINCIPAL=$(input "Admin Principal" "IPA admin principal:" "admin") || PRINCIPAL="admin" + PRINCIPAL="${PRINCIPAL:-admin}" + + PASSWORD=$(pass "Admin Password" "Password for $PRINCIPAL@$REALM:") \ + || { msg " Enrollment cancelled."; exit 0; } + [[ -z "$PASSWORD" ]] && { msg " Password is required."; exit 1; } + + NTP=$(input "NTP Server" "NTP server (blank to skip):" "") || NTP="" + + ARGS=( + --domain "$DOMAIN" + --realm "$REALM" + --server "$SERVER" + --hostname "$HOST" + --principal "$PRINCIPAL" + --password "$PASSWORD" + ) + [[ -n "$NTP" ]] && ARGS+=(--ntp-server "$NTP") + + yn "Home Directories" " Auto-create home directories on first login?" \ + && true || ARGS+=(--no-mkhomedir) + + yn "Sudo via SSSD" " Configure sudo rules via SSSD?" \ + && true || ARGS+=(--no-sudo) + + yn "DNS Update" " Register this host's IP in IPA DNS?" \ + && true || ARGS+=(--no-dns-update) + + if yn "FIDO2" " Enable FIDO2/WebAuthn authentication?"; then + ARGS+=(--fido2) + FIDO2_USERS=$(input "FIDO2 Users" \ + "Usernames to enable FIDO2 for (comma-separated, blank = all):" "") \ + || FIDO2_USERS="" + if [[ -n "$FIDO2_USERS" ]]; then + IFS=',' read -ra _U <<< "$FIDO2_USERS" + for u in "${_U[@]}"; do + u="${u// /}" + [[ -n "$u" ]] && ARGS+=(--fido2-user "$u") + done + fi + fi + + clear + run_enroll "${ARGS[@]}" +fi + +# ── Skip ────────────────────────────────────────────────────────────────────── echo "" echo "[✓] FreeIPA client packages installed." echo "" -echo " To enroll this host, run one of:" -echo " ipa-client-install --domain= --server= --principal=admin" -if [[ -f "$CLIENT_ENROLL" ]]; then - echo " $CLIENT_ENROLL --interactive" - echo " $CLIENT_ENROLL --answerfile /path/to/answerfile.json" +echo " To enroll later, run one of:" +if [[ -x "$CLIENT_SCRIPT" ]]; then + echo " $CLIENT_SCRIPT --interactive" + echo " $CLIENT_SCRIPT --answerfile $DEFAULT_AF" +else + echo " ipa-client-install --domain= --server= --principal=admin" fi echo "" -echo " After enrollment, enable auto-home-dir creation:" +echo " After enrollment:" echo " authselect select sssd with-mkhomedir --force" From fb9893504c0816c44cc7a4bc9de0553e19546bda Mon Sep 17 00:00:00 2001 From: The_miro Date: Mon, 18 May 2026 11:52:27 +0200 Subject: [PATCH 011/116] setup: add FreeIPA Flatpak group installer (fp_install_* groups) IPA group naming: fp_install_org__mozilla__firefox (dots encoded as __) Decoding: sed strips prefix, then s/__/./g restores the Flatpak app ID. Single underscores in app IDs are preserved unambiguously. ansipa-install-flatpaks.sh: - kinit with host keytab, queries ipa group-find --pkey-only with awk $NF - Validates decoded ID against reverse-domain regex before installing - Ensures flathub system remote exists - System-scope install (flatpak install --system) since service runs as root - Timer offset to 4 min (after packages at 2 min) to avoid contention deploy-ansipa-install.yml updated to deploy the Flatpak script, service, and timer alongside the existing package installer. Co-Authored-By: Claude Sonnet 4.6 --- .../ansible/ansipa-install-flatpaks.service | 10 +++ .../ansible/ansipa-install-flatpaks.sh | 90 +++++++++++++++++++ .../ansible/ansipa-install-flatpaks.timer | 9 ++ .../ansible/deploy-ansipa-install.yml | 45 +++++++++- 4 files changed, 153 insertions(+), 1 deletion(-) create mode 100644 setup/modules/FreeipaAnsible/ansible/ansipa-install-flatpaks.service create mode 100755 setup/modules/FreeipaAnsible/ansible/ansipa-install-flatpaks.sh create mode 100644 setup/modules/FreeipaAnsible/ansible/ansipa-install-flatpaks.timer diff --git a/setup/modules/FreeipaAnsible/ansible/ansipa-install-flatpaks.service b/setup/modules/FreeipaAnsible/ansible/ansipa-install-flatpaks.service new file mode 100644 index 0000000..cb43574 --- /dev/null +++ b/setup/modules/FreeipaAnsible/ansible/ansipa-install-flatpaks.service @@ -0,0 +1,10 @@ +[Unit] +Description=Install Flatpaks based on FreeIPA fp_install_* groups +After=network-online.target sssd.service +Wants=network-online.target + +[Service] +Type=oneshot +ExecStart=/usr/local/bin/ansipa-install-flatpaks.sh +StandardOutput=journal +StandardError=journal diff --git a/setup/modules/FreeipaAnsible/ansible/ansipa-install-flatpaks.sh b/setup/modules/FreeipaAnsible/ansible/ansipa-install-flatpaks.sh new file mode 100755 index 0000000..30373f0 --- /dev/null +++ b/setup/modules/FreeipaAnsible/ansible/ansipa-install-flatpaks.sh @@ -0,0 +1,90 @@ +#!/usr/bin/env bash +# ansipa-install-flatpaks.sh — install Flatpak apps based on FreeIPA group membership. +# +# IPA group naming convention (dots encoded as double underscores): +# fp_install_org__mozilla__firefox → installs org.mozilla.firefox +# fp_install_com__spotify__Client → installs com.spotify.Client +# fp_install_io__missioncenter__MissionCenter → installs io.missioncenter.MissionCenter +# +# Decoding: strip "fp_install_" prefix, then replace every __ with a dot. +# Single underscores in Flatpak IDs are preserved as-is. +# +# Scope: system-wide (--system), runs as root via systemd service. + +set -e + +PREFIX="fp_install_" + +# ── Preflight ───────────────────────────────────────────────────────────────── +if ! command -v flatpak &>/dev/null; then + echo "[ansipa-flatpaks] flatpak not installed — nothing to do." + exit 0 +fi + +if ! command -v ipa &>/dev/null; then + echo "[ansipa-flatpaks] ipa command not found — host not enrolled in FreeIPA." + exit 0 +fi + +kinit -k "host/$(hostname -f)" &>/dev/null || true + +# ── Ensure Flathub remote is configured (system scope) ─────────────────────── +if ! flatpak remote-list --system | awk '{print $1}' | grep -qx "flathub"; then + echo "[ansipa-flatpaks] Adding Flathub system remote..." + flatpak remote-add --system --if-not-exists flathub \ + https://dl.flathub.org/repo/flathub.flatpakrepo +fi + +# ── Discover IPA groups matching fp_install_* ───────────────────────────────── +# ipa group-find --pkey-only outputs one group name per line (possibly indented). +# $NF captures the name regardless of leading label text. +IPA_GROUPS=$(ipa group-find --pkey-only 2>/dev/null \ + | awk '{print $NF}' \ + | grep "^${PREFIX}" \ + || true) + +if [[ -z "$IPA_GROUPS" ]]; then + echo "[ansipa-flatpaks] No ${PREFIX}* groups found in IPA — nothing to install." + exit 0 +fi + +# ── Decode group names → Flatpak application IDs ───────────────────────────── +# 1. Strip the fp_install_ prefix +# 2. Replace every __ with a literal dot +DESIRED_FLATPAKS=() +while IFS= read -r G; do + [[ -z "$G" ]] && continue + FLATPAK_ID=$(echo "$G" \ + | sed "s/^${PREFIX}//" \ + | sed 's/__/./g') + + # Validate: must be reverse-domain notation with at least two components + if ! echo "$FLATPAK_ID" | grep -qE '^[a-zA-Z][a-zA-Z0-9_-]*(\.[a-zA-Z0-9][a-zA-Z0-9_-]*)+$'; then + echo "[ansipa-flatpaks][WARN] '$FLATPAK_ID' (from group '$G') is not a valid Flatpak ID — skipping." + continue + fi + + DESIRED_FLATPAKS+=("$FLATPAK_ID") +done <<< "$IPA_GROUPS" + +if [[ ${#DESIRED_FLATPAKS[@]} -eq 0 ]]; then + echo "[ansipa-flatpaks] No valid Flatpak IDs decoded from IPA groups." + exit 0 +fi + +echo "[ansipa-flatpaks] Desired Flatpaks: ${DESIRED_FLATPAKS[*]}" + +# ── Get currently installed system Flatpaks ─────────────────────────────────── +INSTALLED=$(flatpak list --system --app --columns=application 2>/dev/null || true) + +# ── Install missing apps ────────────────────────────────────────────────────── +for ID in "${DESIRED_FLATPAKS[@]}"; do + if echo "$INSTALLED" | grep -qx "$ID"; then + echo "[ansipa-flatpaks] Already installed: $ID" + else + echo "[ansipa-flatpaks] Installing: $ID" + flatpak install --system -y --noninteractive flathub "$ID" \ + && echo "[ansipa-flatpaks] Installed: $ID" \ + || echo "[ansipa-flatpaks][WARN] Failed to install: $ID" + fi +done diff --git a/setup/modules/FreeipaAnsible/ansible/ansipa-install-flatpaks.timer b/setup/modules/FreeipaAnsible/ansible/ansipa-install-flatpaks.timer new file mode 100644 index 0000000..fecd790 --- /dev/null +++ b/setup/modules/FreeipaAnsible/ansible/ansipa-install-flatpaks.timer @@ -0,0 +1,9 @@ +[Unit] +Description=Periodic FreeIPA Flatpak sync + +[Timer] +OnBootSec=4min +OnUnitActiveSec=30min + +[Install] +WantedBy=timers.target diff --git a/setup/modules/FreeipaAnsible/ansible/deploy-ansipa-install.yml b/setup/modules/FreeipaAnsible/ansible/deploy-ansipa-install.yml index 7393ce2..7736df4 100644 --- a/setup/modules/FreeipaAnsible/ansible/deploy-ansipa-install.yml +++ b/setup/modules/FreeipaAnsible/ansible/deploy-ansipa-install.yml @@ -39,11 +39,54 @@ [Install] WantedBy=timers.target + - name: Install Flatpak installer script + copy: + src: ansipa-install-flatpaks.sh + dest: /usr/local/bin/ansipa-install-flatpaks.sh + mode: '0755' + + - name: Install Flatpak systemd service + copy: + dest: /etc/systemd/system/ansipa-install-flatpaks.service + mode: '0644' + content: | + [Unit] + Description=Install Flatpaks based on FreeIPA fp_install_* groups + After=network-online.target sssd.service + Wants=network-online.target + + [Service] + Type=oneshot + ExecStart=/usr/local/bin/ansipa-install-flatpaks.sh + StandardOutput=journal + StandardError=journal + + - name: Install Flatpak systemd timer + copy: + dest: /etc/systemd/system/ansipa-install-flatpaks.timer + mode: '0644' + content: | + [Unit] + Description=Periodic FreeIPA Flatpak sync + + [Timer] + OnBootSec=4min + OnUnitActiveSec=30min + + [Install] + WantedBy=timers.target + - name: Reload systemd command: systemctl daemon-reload - - name: Enable and start timer + - name: Enable and start package timer systemd: name: ansipa-install.timer enabled: yes state: started + + - name: Enable and start Flatpak timer + systemd: + name: ansipa-install-flatpaks.timer + enabled: yes + state: started From 9cde41ddde419b03313e827152b770c939a71c75 Mon Sep 17 00:00:00 2001 From: The_miro Date: Mon, 18 May 2026 11:59:31 +0200 Subject: [PATCH 012/116] setup: add KDE Plasma, GNOME, COSMIC, XFCE, LXQt DE modules MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Each script installs the DE meta-package, an appropriate display manager, PipeWire audio, NetworkManager, Bluetooth, and Flatpak, then enables the relevant services (sddm/gdm/lightdm/cosmic-greeter). COSMIC falls back to sddm if cosmic-greeter is not installed. tui-install.sh: DE menu expanded from 3 to 8 entries (height 20×70). install-modules.sh: DEs added to checklist, summary, and dispatch so they can be installed standalone on an existing system. Co-Authored-By: Claude Sonnet 4.6 --- setup/install-modules.sh | 22 ++++++++++++++++ setup/modules/Desktop-Environments/cosmic.sh | 25 +++++++++++++++++++ setup/modules/Desktop-Environments/gnome.sh | 19 ++++++++++++++ .../Desktop-Environments/kde-plasma.sh | 24 ++++++++++++++++++ setup/modules/Desktop-Environments/lxqt.sh | 25 +++++++++++++++++++ setup/modules/Desktop-Environments/xfce.sh | 23 +++++++++++++++++ setup/tui-install.sh | 22 +++++++++++----- 7 files changed, 154 insertions(+), 6 deletions(-) create mode 100755 setup/modules/Desktop-Environments/cosmic.sh create mode 100755 setup/modules/Desktop-Environments/gnome.sh create mode 100755 setup/modules/Desktop-Environments/kde-plasma.sh create mode 100755 setup/modules/Desktop-Environments/lxqt.sh create mode 100755 setup/modules/Desktop-Environments/xfce.sh diff --git a/setup/install-modules.sh b/setup/install-modules.sh index e8e3b48..e8badec 100755 --- a/setup/install-modules.sh +++ b/setup/install-modules.sh @@ -84,6 +84,11 @@ run_module() { count_steps() { local sel="$1" TOTAL=0 + [[ "$sel" == *"kde-plasma"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"gnome"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"cosmic"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"xfce"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"lxqt"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"ollama"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"llama-cpp"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"open-webui"* ]] && TOTAL=$(( TOTAL + 1 )) @@ -150,6 +155,12 @@ SELECTED=$(dialog --backtitle "$BACKTITLE" \ --title " Select Modules " \ --checklist "Space toggles · Enter confirms · Arrow keys scroll" 40 76 32 \ \ + "kde-plasma" "KDE Plasma full Plasma DE + sddm" off \ + "gnome" "GNOME GNOME Shell + gdm" off \ + "cosmic" "COSMIC Rust-based Wayland DE (System76)" off \ + "xfce" "XFCE lightweight X11 DE + lightdm" off \ + "lxqt" "LXQt lightweight Qt X11 DE + sddm" off \ + \ "ollama" "Ollama local LLM runner + API server" off \ "llama-cpp" "llama.cpp standalone inference CLI + server" off \ "open-webui" "Open WebUI browser UI for Ollama / LLM backends" off \ @@ -197,6 +208,11 @@ SELECTED=$(dialog --backtitle "$BACKTITLE" \ [[ -z "$SELECTED" ]] && { clear; echo "Nothing selected."; exit 0; } SUMMARY="" +[[ "$SELECTED" == *"kde-plasma"* ]] && SUMMARY+=" ✦ KDE Plasma\n" +[[ "$SELECTED" == *"gnome"* ]] && SUMMARY+=" ✦ GNOME\n" +[[ "$SELECTED" == *"cosmic"* ]] && SUMMARY+=" ✦ COSMIC\n" +[[ "$SELECTED" == *"xfce"* ]] && SUMMARY+=" ✦ XFCE\n" +[[ "$SELECTED" == *"lxqt"* ]] && SUMMARY+=" ✦ LXQt\n" [[ "$SELECTED" == *"ollama"* ]] && SUMMARY+=" ✦ Ollama\n" [[ "$SELECTED" == *"llama-cpp"* ]] && SUMMARY+=" ✦ llama.cpp\n" [[ "$SELECTED" == *"open-webui"* ]] && SUMMARY+=" ✦ Open WebUI\n" @@ -246,6 +262,12 @@ dialog --backtitle "$BACKTITLE" \ count_steps "$SELECTED" +DE_DIR="$MODULES/Desktop-Environments" +[[ "$SELECTED" == *"kde-plasma"* ]] && run_module "KDE Plasma" "$DE_DIR/kde-plasma.sh" +[[ "$SELECTED" == *"gnome"* ]] && run_module "GNOME" "$DE_DIR/gnome.sh" +[[ "$SELECTED" == *"cosmic"* ]] && run_module "COSMIC" "$DE_DIR/cosmic.sh" +[[ "$SELECTED" == *"xfce"* ]] && run_module "XFCE" "$DE_DIR/xfce.sh" +[[ "$SELECTED" == *"lxqt"* ]] && run_module "LXQt" "$DE_DIR/lxqt.sh" [[ "$SELECTED" == *"ollama"* ]] && run_module "Ollama" "$APPS/ollama.sh" [[ "$SELECTED" == *"llama-cpp"* ]] && run_module "llama.cpp" "$APPS/llama-cpp.sh" [[ "$SELECTED" == *"open-webui"* ]] && run_module "Open WebUI" "$APPS/open-webui.sh" diff --git a/setup/modules/Desktop-Environments/cosmic.sh b/setup/modules/Desktop-Environments/cosmic.sh new file mode 100755 index 0000000..a28fa10 --- /dev/null +++ b/setup/modules/Desktop-Environments/cosmic.sh @@ -0,0 +1,25 @@ +#!/bin/bash +set -euo pipefail + +echo "=== COSMIC Desktop Installer ===" + +echo "[+] Installing COSMIC..." +sudo pacman -S --noconfirm --needed \ + cosmic \ + pipewire wireplumber pipewire-alsa pipewire-jack pipewire-pulse \ + networkmanager \ + bluez bluez-utils \ + flatpak + +echo "[+] Enabling services..." +# cosmic-greeter is COSMIC's own display manager; fall back to sddm if absent +if pacman -Qi cosmic-greeter &>/dev/null; then + sudo systemctl enable cosmic-greeter.service +else + sudo pacman -S --noconfirm --needed sddm + sudo systemctl enable sddm.service +fi +sudo systemctl enable NetworkManager.service +sudo systemctl enable bluetooth.service + +echo "=== COSMIC installation complete. Reboot to start. ===" diff --git a/setup/modules/Desktop-Environments/gnome.sh b/setup/modules/Desktop-Environments/gnome.sh new file mode 100755 index 0000000..9a6d0f9 --- /dev/null +++ b/setup/modules/Desktop-Environments/gnome.sh @@ -0,0 +1,19 @@ +#!/bin/bash +set -euo pipefail + +echo "=== GNOME Installer ===" + +echo "[+] Installing GNOME..." +sudo pacman -S --noconfirm --needed \ + gnome \ + gnome-tweaks \ + xdg-desktop-portal-gnome \ + pipewire wireplumber pipewire-alsa pipewire-jack pipewire-pulse \ + networkmanager \ + flatpak + +echo "[+] Enabling services..." +sudo systemctl enable gdm.service +sudo systemctl enable NetworkManager.service + +echo "=== GNOME installation complete. Reboot to start. ===" diff --git a/setup/modules/Desktop-Environments/kde-plasma.sh b/setup/modules/Desktop-Environments/kde-plasma.sh new file mode 100755 index 0000000..fa02ce0 --- /dev/null +++ b/setup/modules/Desktop-Environments/kde-plasma.sh @@ -0,0 +1,24 @@ +#!/bin/bash +set -euo pipefail + +echo "=== KDE Plasma Installer ===" + +echo "[+] Installing KDE Plasma..." +sudo pacman -S --noconfirm --needed \ + plasma-meta \ + sddm sddm-kcm \ + xdg-desktop-portal-kde \ + konsole dolphin kate gwenview ark spectacle okular elisa \ + plasma-browser-integration \ + pipewire wireplumber pipewire-alsa pipewire-jack pipewire-pulse \ + networkmanager \ + bluez bluez-utils bluedevil \ + power-profiles-daemon \ + flatpak + +echo "[+] Enabling services..." +sudo systemctl enable sddm.service +sudo systemctl enable NetworkManager.service +sudo systemctl enable bluetooth.service + +echo "=== KDE Plasma installation complete. Reboot to start. ===" diff --git a/setup/modules/Desktop-Environments/lxqt.sh b/setup/modules/Desktop-Environments/lxqt.sh new file mode 100755 index 0000000..9fc685f --- /dev/null +++ b/setup/modules/Desktop-Environments/lxqt.sh @@ -0,0 +1,25 @@ +#!/bin/bash +set -euo pipefail + +echo "=== LXQt Installer ===" + +echo "[+] Installing LXQt..." +sudo pacman -S --noconfirm --needed \ + lxqt \ + openbox obconf-qt \ + sddm \ + breeze-icons \ + xdg-desktop-portal-gtk \ + xorg-server xorg-xinit \ + pipewire wireplumber pipewire-alsa pipewire-jack pipewire-pulse \ + networkmanager network-manager-applet \ + bluez bluez-utils blueman \ + gvfs gvfs-smb gvfs-mtp \ + flatpak + +echo "[+] Enabling services..." +sudo systemctl enable sddm.service +sudo systemctl enable NetworkManager.service +sudo systemctl enable bluetooth.service + +echo "=== LXQt installation complete. Reboot to start. ===" diff --git a/setup/modules/Desktop-Environments/xfce.sh b/setup/modules/Desktop-Environments/xfce.sh new file mode 100755 index 0000000..84aa141 --- /dev/null +++ b/setup/modules/Desktop-Environments/xfce.sh @@ -0,0 +1,23 @@ +#!/bin/bash +set -euo pipefail + +echo "=== XFCE Installer ===" + +echo "[+] Installing XFCE..." +sudo pacman -S --noconfirm --needed \ + xfce4 xfce4-goodies \ + lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings \ + xdg-desktop-portal-gtk \ + pipewire wireplumber pipewire-alsa pipewire-jack pipewire-pulse \ + xfce4-pulseaudio-plugin \ + networkmanager network-manager-applet \ + bluez bluez-utils blueman \ + gvfs gvfs-smb gvfs-mtp \ + flatpak + +echo "[+] Enabling services..." +sudo systemctl enable lightdm.service +sudo systemctl enable NetworkManager.service +sudo systemctl enable bluetooth.service + +echo "=== XFCE installation complete. Reboot to start. ===" diff --git a/setup/tui-install.sh b/setup/tui-install.sh index 7f578e4..567258d 100755 --- a/setup/tui-install.sh +++ b/setup/tui-install.sh @@ -175,10 +175,15 @@ DE="none" if [[ "$COMPONENTS" == *"de"* ]]; then DE=$(dialog --backtitle "$BACKTITLE" \ --title " Desktop Environment " \ - --menu "Select a desktop environment:" 11 56 3 \ - "hyprland" "Hyprland — Wayland WM, full setup (primary)" \ - "sway" "Sway — Wayland tiling WM" \ - "none" "Skip DE installation" \ + --menu "Select a desktop environment:" 20 70 8 \ + "hyprland" "Hyprland — Wayland WM, full setup (primary)" \ + "sway" "Sway — Wayland tiling WM" \ + "kde-plasma" "KDE Plasma — feature-rich Wayland/X11 DE" \ + "gnome" "GNOME — modern Wayland DE" \ + "cosmic" "COSMIC — Rust-built Wayland DE (System76)" \ + "xfce" "XFCE — lightweight X11 DE" \ + "lxqt" "LXQt — lightweight Qt X11 DE" \ + "none" "Skip DE installation" \ 3>&1 1>&2 2>&3) || DE="none" fi @@ -297,8 +302,13 @@ count_steps "$COMPONENTS" "$DE" "$SELECTED_APPS" if [[ "$COMPONENTS" == *"de"* && "$DE" != "none" ]]; then case "$DE" in - hyprland) run_module "Hyprland" "$MODULES/Desktop-Environments/hyprland.sh" ;; - sway) run_module "Sway" "$MODULES/Desktop-Environments/sway.sh" ;; + hyprland) run_module "Hyprland" "$MODULES/Desktop-Environments/hyprland.sh" ;; + sway) run_module "Sway" "$MODULES/Desktop-Environments/sway.sh" ;; + kde-plasma) run_module "KDE Plasma" "$MODULES/Desktop-Environments/kde-plasma.sh" ;; + gnome) run_module "GNOME" "$MODULES/Desktop-Environments/gnome.sh" ;; + cosmic) run_module "COSMIC" "$MODULES/Desktop-Environments/cosmic.sh" ;; + xfce) run_module "XFCE" "$MODULES/Desktop-Environments/xfce.sh" ;; + lxqt) run_module "LXQt" "$MODULES/Desktop-Environments/lxqt.sh" ;; esac fi From 32a84e8edf8308261920997d6773362033242d3b Mon Sep 17 00:00:00 2001 From: The_miro Date: Mon, 18 May 2026 12:05:25 +0200 Subject: [PATCH 013/116] setup: move DE selection to its own TUI screen Remove the 'de' checkbox from the component checklist and always show the desktop environment menu as a dedicated step between component and app selection. Choosing 'none' or pressing Esc skips DE installation. Co-Authored-By: Claude Sonnet 4.6 --- setup/tui-install.sh | 36 ++++++++++++++++-------------------- 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/setup/tui-install.sh b/setup/tui-install.sh index 567258d..de67787 100755 --- a/setup/tui-install.sh +++ b/setup/tui-install.sh @@ -93,7 +93,7 @@ count_steps() { [[ "$c" == *"core"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$c" == *"svc"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$c" == *"shell"* ]] && TOTAL=$(( TOTAL + 1 )) - [[ "$c" == *"de"* && "$de" != "none" ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$de" != "none" ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"ollama"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"llama-cpp"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"open-webui"* ]] && TOTAL=$(( TOTAL + 1 )) @@ -162,30 +162,26 @@ dialog --backtitle "$BACKTITLE" \ # ── Component selection ─────────────────────────────────────────────────────── COMPONENTS=$(dialog --backtitle "$BACKTITLE" \ --title " Select Components " \ - --checklist "Space toggles · Enter confirms · Esc quits" 16 68 5 \ + --checklist "Space toggles · Enter confirms · Esc quits" 15 68 4 \ "pkg" "Package managers yay · nvm · rust" on \ "core" "Core packages 100+ base system packages" on \ "svc" "Core services NetworkManager · cronie · fail2ban" on \ "shell" "Shell setup zsh · nvim · yazi · micro · starship" on \ - "de" "Desktop environment (choose on next screen)" off \ 3>&1 1>&2 2>&3) || { clear; echo "Aborted."; exit 0; } # ── DE selection ────────────────────────────────────────────────────────────── -DE="none" -if [[ "$COMPONENTS" == *"de"* ]]; then - DE=$(dialog --backtitle "$BACKTITLE" \ - --title " Desktop Environment " \ - --menu "Select a desktop environment:" 20 70 8 \ - "hyprland" "Hyprland — Wayland WM, full setup (primary)" \ - "sway" "Sway — Wayland tiling WM" \ - "kde-plasma" "KDE Plasma — feature-rich Wayland/X11 DE" \ - "gnome" "GNOME — modern Wayland DE" \ - "cosmic" "COSMIC — Rust-built Wayland DE (System76)" \ - "xfce" "XFCE — lightweight X11 DE" \ - "lxqt" "LXQt — lightweight Qt X11 DE" \ - "none" "Skip DE installation" \ - 3>&1 1>&2 2>&3) || DE="none" -fi +DE=$(dialog --backtitle "$BACKTITLE" \ + --title " Desktop Environment " \ + --menu "Select a desktop environment · Esc / none to skip:" 20 70 8 \ + "hyprland" "Hyprland — Wayland WM, full setup (primary)" \ + "sway" "Sway — Wayland tiling WM" \ + "kde-plasma" "KDE Plasma — feature-rich Wayland/X11 DE" \ + "gnome" "GNOME — modern Wayland DE" \ + "cosmic" "COSMIC — Rust-built Wayland DE (System76)" \ + "xfce" "XFCE — lightweight X11 DE" \ + "lxqt" "LXQt — lightweight Qt X11 DE" \ + "none" "Skip DE installation" \ + 3>&1 1>&2 2>&3) || DE="none" # ── Apps selection ──────────────────────────────────────────────────────────── SELECTED_APPS=$(dialog --backtitle "$BACKTITLE" \ @@ -240,7 +236,7 @@ SUMMARY="" [[ "$COMPONENTS" == *"core"* ]] && SUMMARY+=" ✦ Core packages\n" [[ "$COMPONENTS" == *"svc"* ]] && SUMMARY+=" ✦ Core services\n" [[ "$COMPONENTS" == *"shell"* ]] && SUMMARY+=" ✦ Shell setup\n" -[[ "$COMPONENTS" == *"de"* && "$DE" != "none" ]] && SUMMARY+=" ✦ Desktop environment: $DE\n" +[[ "$DE" != "none" ]] && SUMMARY+=" ✦ Desktop environment: $DE\n" if [[ -n "$SELECTED_APPS" ]]; then SUMMARY+="\n Applications:\n" @@ -300,7 +296,7 @@ count_steps "$COMPONENTS" "$DE" "$SELECTED_APPS" [[ "$COMPONENTS" == *"svc"* ]] && run_module "Core Services" "$MODULES/core.sh" [[ "$COMPONENTS" == *"shell"* ]] && run_module "Shell Setup" "$MODULES/shell-setup.sh" -if [[ "$COMPONENTS" == *"de"* && "$DE" != "none" ]]; then +if [[ "$DE" != "none" ]]; then case "$DE" in hyprland) run_module "Hyprland" "$MODULES/Desktop-Environments/hyprland.sh" ;; sway) run_module "Sway" "$MODULES/Desktop-Environments/sway.sh" ;; From ae58b798b95d7966eda3cc9cdcabc6dc97fff716 Mon Sep 17 00:00:00 2001 From: The_miro Date: Mon, 18 May 2026 12:12:09 +0200 Subject: [PATCH 014/116] setup: add classic unix/linux cli utilities to core packages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add bc, dmidecode, dosfstools, e2fsprogs, fzf, git, hdparm, lshw, lsof, openbsd-netcat, parted, ripgrep, rsync, strace, sysstat, tmux, and whois — utilities that ship by default on most distros or are now effectively standard. Co-Authored-By: Claude Sonnet 4.6 --- setup/modules/core-packages.sh | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/setup/modules/core-packages.sh b/setup/modules/core-packages.sh index b4563c0..080dccd 100644 --- a/setup/modules/core-packages.sh +++ b/setup/modules/core-packages.sh @@ -3,17 +3,18 @@ set -euo pipefail sudo pacman -Syu --noconfirm --needed \ 7zip arch-install-scripts atftp atool \ - base base-devel bind bluez btrfs-progs btop \ + base base-devel bc bind bluez btrfs-progs btop \ cronie curl \ - distrobox fail2ban fastfetch fd fdupes ffmpeg firefox flatpak \ - gcc glib2 greetd-tuigreet grub \ - htop inetutils iputils iwd jq ldns less libpulse linux linux-firmware \ + dmidecode distrobox dosfstools \ + e2fsprogs fail2ban fastfetch fd fdupes ffmpeg firefox flatpak fzf \ + gcc git glib2 greetd-tuigreet grub \ + hdparm htop inetutils iputils iwd jq ldns less libpulse linux linux-firmware lshw lsof \ man-db mc nano neovim networkmanager \ - onefetch openssh pciutils pipewire \ - python python-pip qrencode ruby-pkg-config rust rustup \ - smartmontools symlinks tldr tree \ + onefetch openbsd-netcat openssh parted pciutils pipewire \ + python python-pip qrencode ripgrep rsync ruby-pkg-config rust rustup \ + smartmontools strace symlinks sysstat tldr tmux tree \ udisks2 udisks2-btrfs udiskie ufw usbutils \ - vim vnstat wget wireplumber wireless_tools wpa_supplicant wprs \ + vim vnstat wget whois wireplumber wireless_tools wpa_supplicant wprs \ yazi zip unzip zram-generator yay -S --aur --noconfirm --needed pamtester From 86cf9b954f9820c8032afed88d0c3cd17e2038de Mon Sep 17 00:00:00 2001 From: The_miro Date: Mon, 18 May 2026 12:17:56 +0200 Subject: [PATCH 015/116] setup: add dust to core packages and POV-Ray to blender module Co-Authored-By: Claude Sonnet 4.6 --- setup/modules/core-packages.sh | 2 +- setup/modules/optional-Modules/apps/blender.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/setup/modules/core-packages.sh b/setup/modules/core-packages.sh index 080dccd..5ef70e9 100644 --- a/setup/modules/core-packages.sh +++ b/setup/modules/core-packages.sh @@ -5,7 +5,7 @@ sudo pacman -Syu --noconfirm --needed \ 7zip arch-install-scripts atftp atool \ base base-devel bc bind bluez btrfs-progs btop \ cronie curl \ - dmidecode distrobox dosfstools \ + dmidecode distrobox dosfstools dust \ e2fsprogs fail2ban fastfetch fd fdupes ffmpeg firefox flatpak fzf \ gcc git glib2 greetd-tuigreet grub \ hdparm htop inetutils iputils iwd jq ldns less libpulse linux linux-firmware lshw lsof \ diff --git a/setup/modules/optional-Modules/apps/blender.sh b/setup/modules/optional-Modules/apps/blender.sh index 8282e3f..c5f01c4 100755 --- a/setup/modules/optional-Modules/apps/blender.sh +++ b/setup/modules/optional-Modules/apps/blender.sh @@ -1,4 +1,4 @@ #!/bin/bash set -euo pipefail -sudo pacman -S --noconfirm --needed blender +sudo pacman -S --noconfirm --needed blender povray From 94fea622552981416ea7ddc1ea29ff8975d2ceca Mon Sep 17 00:00:00 2001 From: The_miro Date: Mon, 18 May 2026 12:58:45 +0200 Subject: [PATCH 016/116] gitignore: ignore build and image output artifacts Add patterns for disk images, archives, and packages generated by setup scripts. Co-Authored-By: Claude Sonnet 4.6 --- .gitignore | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/.gitignore b/.gitignore index 04e6e24..7cb7b59 100644 --- a/.gitignore +++ b/.gitignore @@ -23,6 +23,25 @@ yazi/*.toml-* # Generated files readme.html +# Build/image output artifacts +*.iso +*.img +*.tar +*.tar.gz +*.tar.bz2 +*.tar.xz +*.tar.zst +*.zip +*.7z +*.squashfs +*.qcow2 +*.vmdk +*.ova +*.vhd +*.vhdx +*.deb +*.rpm + # Logs **/*.log From 089841f5d32f1ae721f4650c7c5dfa2cdf278772 Mon Sep 17 00:00:00 2001 From: The_miro Date: Mon, 18 May 2026 13:29:58 +0200 Subject: [PATCH 017/116] archiso: fix deprecated boot modes and grub/systemd-boot conflict Replace five deprecated boot mode names with the canonical 'bios.syslinux' and 'uefi.systemd-boot', removing the ia32 grub mode that required grub installed and conflicted with systemd-boot. Co-Authored-By: Claude Sonnet 4.6 --- setup/archiso/overlay/profiledef.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup/archiso/overlay/profiledef.sh b/setup/archiso/overlay/profiledef.sh index af84097..a274d53 100644 --- a/setup/archiso/overlay/profiledef.sh +++ b/setup/archiso/overlay/profiledef.sh @@ -7,7 +7,7 @@ iso_application="M-Archy Arch Linux Installer" iso_version="$(date --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y.%m.%d)" install_dir="arch" buildmodes=('iso') -bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito' 'uefi-ia32.grub.esp' 'uefi-x64.systemd-boot.esp' 'uefi-x64.systemd-boot.eltorito') +bootmodes=('bios.syslinux' 'uefi.systemd-boot') arch="x86_64" pacman_conf="pacman.conf" airootfs_image_type="squashfs" From 39f31f9d469cf268e08c1ca6c45351c0d01b6e4e Mon Sep 17 00:00:00 2001 From: The_miro Date: Mon, 18 May 2026 13:35:24 +0200 Subject: [PATCH 018/116] setup: check network connectivity before installer and launch nmtui if offline Co-Authored-By: Claude Sonnet 4.6 --- setup/tui-install.sh | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/setup/tui-install.sh b/setup/tui-install.sh index de67787..6e9277c 100755 --- a/setup/tui-install.sh +++ b/setup/tui-install.sh @@ -143,6 +143,19 @@ command -v pacman &>/dev/null || die "pacman not found — Arch Linux required." require_dialog +if ! ping -c1 -W3 archlinux.org &>/dev/null; then + dialog --backtitle "$BACKTITLE" \ + --title " No Network Detected " \ + --msgbox "\n No internet connection found.\n\n nmtui will open so you can configure networking.\n Close nmtui when done to continue the installer.\n" 11 58 + nmtui + if ! ping -c1 -W3 archlinux.org &>/dev/null; then + dialog --backtitle "$BACKTITLE" \ + --title " Still Offline " \ + --yesno "\n Still no internet connection.\n\n Packages cannot be downloaded without network access.\n\n Continue anyway?" 11 58 \ + || { clear; echo "Aborted — no network."; exit 1; } + fi +fi + > "$LOG" printf "Dotfiles install: %s\nDotfiles dir: %s\n" "$(date)" "$DOTFILES_DIR" >> "$LOG" From ecd272cdcecd21ae71a433c87920d043ab481f32 Mon Sep 17 00:00:00 2001 From: The_miro Date: Mon, 18 May 2026 14:11:50 +0200 Subject: [PATCH 019/116] archiso: make WORK_DIR and OUT_DIR overridable via env vars /tmp fills up during large builds; allow redirecting both dirs without editing the script (WORK_DIR=~/iso-work ./build.sh ~/iso-out). Co-Authored-By: Claude Sonnet 4.6 --- setup/archiso/build.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup/archiso/build.sh b/setup/archiso/build.sh index a057f78..74718dc 100644 --- a/setup/archiso/build.sh +++ b/setup/archiso/build.sh @@ -3,8 +3,8 @@ set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" DOTFILES_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)" -WORK_DIR="/tmp/m-archy-build" -OUT_DIR="${1:-/tmp/m-archy-out}" +WORK_DIR="${WORK_DIR:-/tmp/m-archy-build}" +OUT_DIR="${1:-${OUT_DIR:-/tmp/m-archy-out}}" PROFILE="$WORK_DIR/profile" RELENG="/usr/share/archiso/configs/releng" From d05eb3ad898cf71e1371e5213b5acd0b3beca264 Mon Sep 17 00:00:00 2001 From: The_miro Date: Mon, 18 May 2026 14:23:43 +0200 Subject: [PATCH 020/116] setup: add browser/IDE modules and lynx to core packages New optional modules (browsers): chromium, firefox, zen-browser, nyxt, librewolf, min-browser. New optional modules (editors/IDEs): vscodium, zed, geany, codeblocks, kate. Add lynx to default core packages. All 11 modules wired into both install-modules.sh and tui-install.sh (the archiso-embedded installer) with consistent count_steps, checklist, summary, and dispatch entries. Every module path verified to exist; all scripts pass bash -n syntax check. Co-Authored-By: Claude Sonnet 4.6 --- setup/install-modules.sh | 46 +++++++++++++++++++ setup/modules/core-packages.sh | 1 + .../modules/optional-Modules/apps/chromium.sh | 3 ++ .../optional-Modules/apps/codeblocks.sh | 3 ++ .../modules/optional-Modules/apps/firefox.sh | 3 ++ setup/modules/optional-Modules/apps/geany.sh | 3 ++ setup/modules/optional-Modules/apps/kate.sh | 3 ++ .../optional-Modules/apps/librewolf.sh | 3 ++ .../optional-Modules/apps/min-browser.sh | 3 ++ setup/modules/optional-Modules/apps/nyxt.sh | 3 ++ .../modules/optional-Modules/apps/vscodium.sh | 3 ++ setup/modules/optional-Modules/apps/zed.sh | 3 ++ .../optional-Modules/apps/zen-browser.sh | 3 ++ setup/tui-install.sh | 46 +++++++++++++++++++ 14 files changed, 126 insertions(+) create mode 100644 setup/modules/optional-Modules/apps/chromium.sh create mode 100644 setup/modules/optional-Modules/apps/codeblocks.sh create mode 100644 setup/modules/optional-Modules/apps/firefox.sh create mode 100644 setup/modules/optional-Modules/apps/geany.sh create mode 100644 setup/modules/optional-Modules/apps/kate.sh create mode 100644 setup/modules/optional-Modules/apps/librewolf.sh create mode 100644 setup/modules/optional-Modules/apps/min-browser.sh create mode 100644 setup/modules/optional-Modules/apps/nyxt.sh create mode 100644 setup/modules/optional-Modules/apps/vscodium.sh create mode 100644 setup/modules/optional-Modules/apps/zed.sh create mode 100644 setup/modules/optional-Modules/apps/zen-browser.sh diff --git a/setup/install-modules.sh b/setup/install-modules.sh index e8badec..9d0651b 100755 --- a/setup/install-modules.sh +++ b/setup/install-modules.sh @@ -130,6 +130,17 @@ count_steps() { [[ "$sel" == *"python"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"zfs"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"wprs"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"chromium"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"firefox-browser"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"zen-browser"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"nyxt"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"librewolf"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"min-browser"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"vscodium"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"zed-ide"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"geany"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"codeblocks"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"kate"* ]] && TOTAL=$(( TOTAL + 1 )) } [[ $EUID -eq 0 ]] && die "Run as your normal user (not root)." @@ -203,6 +214,19 @@ SELECTED=$(dialog --backtitle "$BACKTITLE" \ "python" "Python tools pyright · pipx · pynvim" off \ "zfs" "ZFS zfs-dkms kernel module" off \ "wprs" "WPRS wprs-git (AUR)" off \ + \ + "chromium" "Chromium open-source browser (official)" off \ + "firefox-browser" "Firefox Mozilla browser (official)" off \ + "zen-browser" "Zen Browser Firefox-based privacy browser (AUR)" off \ + "nyxt" "Nyxt keyboard-driven browser (AUR)" off \ + "librewolf" "LibreWolf hardened Firefox fork (AUR)" off \ + "min-browser" "Min minimal Electron browser (AUR)" off \ + \ + "vscodium" "VSCodium telemetry-free VS Code (AUR)" off \ + "zed-ide" "Zed high-performance Rust IDE (official)" off \ + "geany" "Geany lightweight IDE + plugins (official)" off \ + "codeblocks" "Code::Blocks C/C++ IDE (official)" off \ + "kate" "Kate KDE advanced text editor (official)" off \ 3>&1 1>&2 2>&3) || { clear; echo "Aborted."; exit 0; } [[ -z "$SELECTED" ]] && { clear; echo "Nothing selected."; exit 0; } @@ -254,6 +278,17 @@ SUMMARY="" [[ "$SELECTED" == *"python"* ]] && SUMMARY+=" ✦ Python tools\n" [[ "$SELECTED" == *"zfs"* ]] && SUMMARY+=" ✦ ZFS\n" [[ "$SELECTED" == *"wprs"* ]] && SUMMARY+=" ✦ WPRS\n" +[[ "$SELECTED" == *"chromium"* ]] && SUMMARY+=" ✦ Chromium\n" +[[ "$SELECTED" == *"firefox-browser"* ]] && SUMMARY+=" ✦ Firefox\n" +[[ "$SELECTED" == *"zen-browser"* ]] && SUMMARY+=" ✦ Zen Browser\n" +[[ "$SELECTED" == *"nyxt"* ]] && SUMMARY+=" ✦ Nyxt\n" +[[ "$SELECTED" == *"librewolf"* ]] && SUMMARY+=" ✦ LibreWolf\n" +[[ "$SELECTED" == *"min-browser"* ]] && SUMMARY+=" ✦ Min Browser\n" +[[ "$SELECTED" == *"vscodium"* ]] && SUMMARY+=" ✦ VSCodium\n" +[[ "$SELECTED" == *"zed-ide"* ]] && SUMMARY+=" ✦ Zed IDE\n" +[[ "$SELECTED" == *"geany"* ]] && SUMMARY+=" ✦ Geany\n" +[[ "$SELECTED" == *"codeblocks"* ]] && SUMMARY+=" ✦ Code::Blocks\n" +[[ "$SELECTED" == *"kate"* ]] && SUMMARY+=" ✦ Kate\n" dialog --backtitle "$BACKTITLE" \ --title " Confirm " \ @@ -309,6 +344,17 @@ DE_DIR="$MODULES/Desktop-Environments" [[ "$SELECTED" == *"python"* ]] && run_module "Python Tools" "$MODULES/optional-Modules/python.sh" [[ "$SELECTED" == *"zfs"* ]] && run_module "ZFS" "$MODULES/optional-Modules/zfs.sh" [[ "$SELECTED" == *"wprs"* ]] && run_module "WPRS" "$MODULES/optional-Modules/wprs.sh" +[[ "$SELECTED" == *"chromium"* ]] && run_module "Chromium" "$APPS/chromium.sh" +[[ "$SELECTED" == *"firefox-browser"* ]] && run_module "Firefox" "$APPS/firefox.sh" +[[ "$SELECTED" == *"zen-browser"* ]] && run_module "Zen Browser" "$APPS/zen-browser.sh" +[[ "$SELECTED" == *"nyxt"* ]] && run_module "Nyxt" "$APPS/nyxt.sh" +[[ "$SELECTED" == *"librewolf"* ]] && run_module "LibreWolf" "$APPS/librewolf.sh" +[[ "$SELECTED" == *"min-browser"* ]] && run_module "Min Browser" "$APPS/min-browser.sh" +[[ "$SELECTED" == *"vscodium"* ]] && run_module "VSCodium" "$APPS/vscodium.sh" +[[ "$SELECTED" == *"zed-ide"* ]] && run_module "Zed IDE" "$APPS/zed.sh" +[[ "$SELECTED" == *"geany"* ]] && run_module "Geany" "$APPS/geany.sh" +[[ "$SELECTED" == *"codeblocks"* ]] && run_module "Code::Blocks" "$APPS/codeblocks.sh" +[[ "$SELECTED" == *"kate"* ]] && run_module "Kate" "$APPS/kate.sh" dialog --backtitle "$BACKTITLE" \ --title " Done " \ diff --git a/setup/modules/core-packages.sh b/setup/modules/core-packages.sh index 5ef70e9..5099559 100644 --- a/setup/modules/core-packages.sh +++ b/setup/modules/core-packages.sh @@ -9,6 +9,7 @@ sudo pacman -Syu --noconfirm --needed \ e2fsprogs fail2ban fastfetch fd fdupes ffmpeg firefox flatpak fzf \ gcc git glib2 greetd-tuigreet grub \ hdparm htop inetutils iputils iwd jq ldns less libpulse linux linux-firmware lshw lsof \ + lynx \ man-db mc nano neovim networkmanager \ onefetch openbsd-netcat openssh parted pciutils pipewire \ python python-pip qrencode ripgrep rsync ruby-pkg-config rust rustup \ diff --git a/setup/modules/optional-Modules/apps/chromium.sh b/setup/modules/optional-Modules/apps/chromium.sh new file mode 100644 index 0000000..bd5fe3f --- /dev/null +++ b/setup/modules/optional-Modules/apps/chromium.sh @@ -0,0 +1,3 @@ +#!/bin/bash +set -euo pipefail +sudo pacman -S --noconfirm --needed chromium diff --git a/setup/modules/optional-Modules/apps/codeblocks.sh b/setup/modules/optional-Modules/apps/codeblocks.sh new file mode 100644 index 0000000..a2deffb --- /dev/null +++ b/setup/modules/optional-Modules/apps/codeblocks.sh @@ -0,0 +1,3 @@ +#!/bin/bash +set -euo pipefail +sudo pacman -S --noconfirm --needed codeblocks diff --git a/setup/modules/optional-Modules/apps/firefox.sh b/setup/modules/optional-Modules/apps/firefox.sh new file mode 100644 index 0000000..e53c71a --- /dev/null +++ b/setup/modules/optional-Modules/apps/firefox.sh @@ -0,0 +1,3 @@ +#!/bin/bash +set -euo pipefail +sudo pacman -S --noconfirm --needed firefox diff --git a/setup/modules/optional-Modules/apps/geany.sh b/setup/modules/optional-Modules/apps/geany.sh new file mode 100644 index 0000000..3628d0a --- /dev/null +++ b/setup/modules/optional-Modules/apps/geany.sh @@ -0,0 +1,3 @@ +#!/bin/bash +set -euo pipefail +sudo pacman -S --noconfirm --needed geany geany-plugins diff --git a/setup/modules/optional-Modules/apps/kate.sh b/setup/modules/optional-Modules/apps/kate.sh new file mode 100644 index 0000000..c2d6594 --- /dev/null +++ b/setup/modules/optional-Modules/apps/kate.sh @@ -0,0 +1,3 @@ +#!/bin/bash +set -euo pipefail +sudo pacman -S --noconfirm --needed kate diff --git a/setup/modules/optional-Modules/apps/librewolf.sh b/setup/modules/optional-Modules/apps/librewolf.sh new file mode 100644 index 0000000..5ab3713 --- /dev/null +++ b/setup/modules/optional-Modules/apps/librewolf.sh @@ -0,0 +1,3 @@ +#!/bin/bash +set -euo pipefail +yay -S --answerdiff None --answerclean All --noconfirm librewolf-bin diff --git a/setup/modules/optional-Modules/apps/min-browser.sh b/setup/modules/optional-Modules/apps/min-browser.sh new file mode 100644 index 0000000..d309b43 --- /dev/null +++ b/setup/modules/optional-Modules/apps/min-browser.sh @@ -0,0 +1,3 @@ +#!/bin/bash +set -euo pipefail +yay -S --answerdiff None --answerclean All --noconfirm min diff --git a/setup/modules/optional-Modules/apps/nyxt.sh b/setup/modules/optional-Modules/apps/nyxt.sh new file mode 100644 index 0000000..c77f8fa --- /dev/null +++ b/setup/modules/optional-Modules/apps/nyxt.sh @@ -0,0 +1,3 @@ +#!/bin/bash +set -euo pipefail +yay -S --answerdiff None --answerclean All --noconfirm nyxt diff --git a/setup/modules/optional-Modules/apps/vscodium.sh b/setup/modules/optional-Modules/apps/vscodium.sh new file mode 100644 index 0000000..f537713 --- /dev/null +++ b/setup/modules/optional-Modules/apps/vscodium.sh @@ -0,0 +1,3 @@ +#!/bin/bash +set -euo pipefail +yay -S --answerdiff None --answerclean All --noconfirm vscodium-bin diff --git a/setup/modules/optional-Modules/apps/zed.sh b/setup/modules/optional-Modules/apps/zed.sh new file mode 100644 index 0000000..4ca0fd9 --- /dev/null +++ b/setup/modules/optional-Modules/apps/zed.sh @@ -0,0 +1,3 @@ +#!/bin/bash +set -euo pipefail +sudo pacman -S --noconfirm --needed zed diff --git a/setup/modules/optional-Modules/apps/zen-browser.sh b/setup/modules/optional-Modules/apps/zen-browser.sh new file mode 100644 index 0000000..87c99e5 --- /dev/null +++ b/setup/modules/optional-Modules/apps/zen-browser.sh @@ -0,0 +1,3 @@ +#!/bin/bash +set -euo pipefail +yay -S --answerdiff None --answerclean All --noconfirm zen-browser-bin diff --git a/setup/tui-install.sh b/setup/tui-install.sh index 6e9277c..39bdebb 100755 --- a/setup/tui-install.sh +++ b/setup/tui-install.sh @@ -135,6 +135,17 @@ count_steps() { [[ "$a" == *"python"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"zfs"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"wprs"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"chromium"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"firefox-browser"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"zen-browser"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"nyxt"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"librewolf"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"min-browser"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"vscodium"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"zed-ide"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"geany"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"codeblocks"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"kate"* ]] && TOTAL=$(( TOTAL + 1 )) } # ── Preflight ───────────────────────────────────────────────────────────────── @@ -241,6 +252,19 @@ SELECTED_APPS=$(dialog --backtitle "$BACKTITLE" \ "python" "Python tools pyright · pipx · pynvim" off \ "zfs" "ZFS zfs-dkms kernel module" off \ "wprs" "WPRS wprs-git (AUR)" off \ + \ + "chromium" "Chromium open-source browser (official)" off \ + "firefox-browser" "Firefox Mozilla browser (official)" off \ + "zen-browser" "Zen Browser Firefox-based privacy browser (AUR)" off \ + "nyxt" "Nyxt keyboard-driven browser (AUR)" off \ + "librewolf" "LibreWolf hardened Firefox fork (AUR)" off \ + "min-browser" "Min minimal Electron browser (AUR)" off \ + \ + "vscodium" "VSCodium telemetry-free VS Code (AUR)" off \ + "zed-ide" "Zed high-performance Rust IDE (official)" off \ + "geany" "Geany lightweight IDE + plugins (official)" off \ + "codeblocks" "Code::Blocks C/C++ IDE (official)" off \ + "kate" "Kate KDE advanced text editor (official)" off \ 3>&1 1>&2 2>&3) || SELECTED_APPS="" # ── Confirmation ────────────────────────────────────────────────────────────── @@ -294,6 +318,17 @@ if [[ -n "$SELECTED_APPS" ]]; then [[ "$SELECTED_APPS" == *"python"* ]] && SUMMARY+=" ✦ Python tools\n" [[ "$SELECTED_APPS" == *"zfs"* ]] && SUMMARY+=" ✦ ZFS\n" [[ "$SELECTED_APPS" == *"wprs"* ]] && SUMMARY+=" ✦ WPRS\n" + [[ "$SELECTED_APPS" == *"chromium"* ]] && SUMMARY+=" ✦ Chromium\n" + [[ "$SELECTED_APPS" == *"firefox-browser"* ]] && SUMMARY+=" ✦ Firefox\n" + [[ "$SELECTED_APPS" == *"zen-browser"* ]] && SUMMARY+=" ✦ Zen Browser\n" + [[ "$SELECTED_APPS" == *"nyxt"* ]] && SUMMARY+=" ✦ Nyxt\n" + [[ "$SELECTED_APPS" == *"librewolf"* ]] && SUMMARY+=" ✦ LibreWolf\n" + [[ "$SELECTED_APPS" == *"min-browser"* ]] && SUMMARY+=" ✦ Min Browser\n" + [[ "$SELECTED_APPS" == *"vscodium"* ]] && SUMMARY+=" ✦ VSCodium\n" + [[ "$SELECTED_APPS" == *"zed-ide"* ]] && SUMMARY+=" ✦ Zed IDE\n" + [[ "$SELECTED_APPS" == *"geany"* ]] && SUMMARY+=" ✦ Geany\n" + [[ "$SELECTED_APPS" == *"codeblocks"* ]] && SUMMARY+=" ✦ Code::Blocks\n" + [[ "$SELECTED_APPS" == *"kate"* ]] && SUMMARY+=" ✦ Kate\n" fi dialog --backtitle "$BACKTITLE" \ @@ -363,6 +398,17 @@ fi [[ "$SELECTED_APPS" == *"python"* ]] && run_module "Python Tools" "$MODULES/optional-Modules/python.sh" [[ "$SELECTED_APPS" == *"zfs"* ]] && run_module "ZFS" "$MODULES/optional-Modules/zfs.sh" [[ "$SELECTED_APPS" == *"wprs"* ]] && run_module "WPRS" "$MODULES/optional-Modules/wprs.sh" +[[ "$SELECTED_APPS" == *"chromium"* ]] && run_module "Chromium" "$APPS/chromium.sh" +[[ "$SELECTED_APPS" == *"firefox-browser"* ]] && run_module "Firefox" "$APPS/firefox.sh" +[[ "$SELECTED_APPS" == *"zen-browser"* ]] && run_module "Zen Browser" "$APPS/zen-browser.sh" +[[ "$SELECTED_APPS" == *"nyxt"* ]] && run_module "Nyxt" "$APPS/nyxt.sh" +[[ "$SELECTED_APPS" == *"librewolf"* ]] && run_module "LibreWolf" "$APPS/librewolf.sh" +[[ "$SELECTED_APPS" == *"min-browser"* ]] && run_module "Min Browser" "$APPS/min-browser.sh" +[[ "$SELECTED_APPS" == *"vscodium"* ]] && run_module "VSCodium" "$APPS/vscodium.sh" +[[ "$SELECTED_APPS" == *"zed-ide"* ]] && run_module "Zed IDE" "$APPS/zed.sh" +[[ "$SELECTED_APPS" == *"geany"* ]] && run_module "Geany" "$APPS/geany.sh" +[[ "$SELECTED_APPS" == *"codeblocks"* ]] && run_module "Code::Blocks" "$APPS/codeblocks.sh" +[[ "$SELECTED_APPS" == *"kate"* ]] && run_module "Kate" "$APPS/kate.sh" # ── Done ────────────────────────────────────────────────────────────────────── dialog --backtitle "$BACKTITLE" \ From 19b31859f6ae72a5fa20eacb1c0ff86e33c18807 Mon Sep 17 00:00:00 2001 From: The_miro Date: Mon, 18 May 2026 14:33:01 +0200 Subject: [PATCH 021/116] archiso: use HOME instead of /tmp for build and output dirs /tmp in WSL is a RAM-backed tmpfs that fills up during the build, leaving xorriso with no room to write the ISO. Co-Authored-By: Claude Sonnet 4.6 --- setup/archiso/build.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup/archiso/build.sh b/setup/archiso/build.sh index 74718dc..1df7eac 100644 --- a/setup/archiso/build.sh +++ b/setup/archiso/build.sh @@ -3,8 +3,8 @@ set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" DOTFILES_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)" -WORK_DIR="${WORK_DIR:-/tmp/m-archy-build}" -OUT_DIR="${1:-${OUT_DIR:-/tmp/m-archy-out}}" +WORK_DIR="${WORK_DIR:-$HOME/m-archy-build}" +OUT_DIR="${1:-${OUT_DIR:-$HOME/m-archy-out}}" PROFILE="$WORK_DIR/profile" RELENG="/usr/share/archiso/configs/releng" From e25dd231cb55cba6ad0e3ba5b962e40135cd8743 Mon Sep 17 00:00:00 2001 From: The_miro Date: Mon, 18 May 2026 15:24:29 +0200 Subject: [PATCH 022/116] installer: add no-encryption option and auto LUKS backup key Both arch-autoinstall.sh and archbaseos-guided-install.sh now ask whether to enable disk encryption. If skipped, btrfs is formatted directly on the root partition with an appropriate plain GRUB cmdline (root=UUID=... rootflags=subvol=@). When encryption is chosen, a 64-byte random key is generated, enrolled as a second LUKS keyslot, and written to /_LUKS_BACKUP_KEY inside the new system (mode 400, root-owned, inside the encrypted container). Also fixes: duplicate 'encrypt' hook in original mkinitcpio HOOKS strings, missing KERNEL export into arch-autoinstall chroot heredoc. Co-Authored-By: Claude Sonnet 4.6 --- setup/arch-autoinstall.sh | 304 ++++++++++++++++++++--------- setup/archbaseos-guided-install.sh | 241 +++++++++++++++++------ 2 files changed, 388 insertions(+), 157 deletions(-) diff --git a/setup/arch-autoinstall.sh b/setup/arch-autoinstall.sh index 4fd7d61..29799d7 100755 --- a/setup/arch-autoinstall.sh +++ b/setup/arch-autoinstall.sh @@ -1,11 +1,18 @@ #!/usr/bin/env bash +# arch-autoinstall.sh — automated Arch Linux base installer +# +# If /answerfile.json exists (e.g. embedded in the ISO via build.sh --preconf), +# all prompts are answered from it. Missing fields fall back to interactive prompts. +# +# Answerfile fields: drive, kernel, hostname, username, encrypt, fido2_root, +# fido2_user, run_tui (password always prompted interactively) + set -euo pipefail ############################################ # LOGGING ############################################ LOGFILE="$HOME/arch-autoinstall.log" - { echo echo "############################################" @@ -13,16 +20,53 @@ LOGFILE="$HOME/arch-autoinstall.log" echo "############################################" echo } >> "$LOGFILE" - exec > >(tee -a "$LOGFILE") 2>&1 +############################################ +# ANSWERFILE +############################################ +ANSWERFILE="${ANSWERFILE:-/answerfile.json}" +AF_MODE=false +[[ -f "$ANSWERFILE" ]] && AF_MODE=true + +af_get() { + # af_get [default] + local val + val=$(jq -r "${1} // empty" "$ANSWERFILE" 2>/dev/null || true) + if [[ -z "$val" ]]; then printf '%s' "${2:-}"; else printf '%s' "$val"; fi +} + +af_bool() { + # Returns YES or NO from a JSON boolean field + local val; val=$(jq -r "${1} // false" "$ANSWERFILE" 2>/dev/null || true) + [[ "$val" == "true" ]] && echo "YES" || echo "NO" +} + +get_mac_suffix() { + local mac + mac=$(ip link show 2>/dev/null \ + | awk '/^[0-9]+: [^l][^o]/{iface=1} iface && /link\/ether/{print $2; iface=0; exit}') + printf '%s' "${mac//:/}" +} + +if $AF_MODE; then + echo "Answerfile detected: $ANSWERFILE" + # Ensure jq is available + command -v jq &>/dev/null || pacman -Sy --noconfirm jq +fi ############################################ # SAFETY WARNING ############################################ -echo "WARNING: This will ERASE ALL DATA on the selected drive!" -read -rp "Type 'YES' to continue: " confirm -[[ "$confirm" == "YES" ]] || { echo "Aborted."; exit 1; } +if $AF_MODE; then + echo "WARNING: Automated install — all data on $(af_get '.drive' '/dev/?') will be ERASED." + echo "Proceeding in 5 seconds... (Ctrl-C to abort)" + sleep 5 +else + echo "WARNING: This will ERASE ALL DATA on the selected drive!" + read -rp "Type 'YES' to continue: " confirm + [[ "$confirm" == "YES" ]] || { echo "Aborted."; exit 1; } +fi ############################################ # REQUIRED PACKAGES FOR INSTALL ENVIRONMENT @@ -30,10 +74,57 @@ read -rp "Type 'YES' to continue: " confirm pacman -Sy --noconfirm parted cryptsetup libfido2 pam-u2f ############################################ -# DISK SELECTION +# DRIVE SELECTION ############################################ lsblk -read -rp "Enter target drive (e.g., /dev/sda): " DRIVE +if $AF_MODE && [[ -n "$(af_get '.drive')" ]]; then + DRIVE=$(af_get '.drive') + echo "Drive (from answerfile): $DRIVE" +else + read -rp "Enter target drive (e.g., /dev/sda): " DRIVE +fi + +############################################ +# USER INPUT +############################################ +if $AF_MODE; then + KERNEL=$(af_get '.kernel' 'linux') + RAW_HOSTNAME=$(af_get '.hostname' '') + if [[ -n "$RAW_HOSTNAME" ]]; then + HOSTNAME="${RAW_HOSTNAME}-$(get_mac_suffix)" + else + HOSTNAME="arch" + fi + USERNAME=$(af_get '.username' '') + ENCRYPT_DISK=$(af_bool '.encrypt') + FIDO_ROOT=$(af_bool '.fido2_root') + FIDO_USER=$(af_bool '.fido2_user') + RUN_TUI=$(af_bool '.run_tui') + echo "Kernel: $KERNEL" + echo "Hostname: $HOSTNAME" + echo "Username: $USERNAME" + echo "Encrypt: $ENCRYPT_DISK / FIDO2 root: $FIDO_ROOT / FIDO2 user: $FIDO_USER" +else + read -rp "Enter kernel package (e.g., linux, linux-lts): " KERNEL + read -rp "Enter hostname: " HOSTNAME + read -rp "Enter username: " USERNAME + read -rp "Enable disk encryption? (YES/NO): " ENCRYPT_DISK + FIDO_ROOT="NO" + if [[ "$ENCRYPT_DISK" == "YES" ]]; then + read -rp "Enable FIDO2 unlocking for root partition? (YES/NO): " FIDO_ROOT + fi + read -rp "Enable FIDO2 authentication for user login? (YES/NO): " FIDO_USER +fi + +# Password always prompted — never stored in answerfile +read -rsp "Enter password for $USERNAME: " USERPASS; echo +[[ -z "$USERPASS" ]] && { echo "Error: password cannot be empty."; exit 1; } + +if ! $AF_MODE; then + read -rp "Run dotfiles TUI setup inside chroot now? [YES/no]: " _RUN_TUI_IN + _RUN_TUI_IN="${_RUN_TUI_IN:-YES}" + [[ "${_RUN_TUI_IN^^}" == "YES" ]] && RUN_TUI="YES" || RUN_TUI="NO" +fi ############################################ # RAM / PARTITION SIZING @@ -44,7 +135,6 @@ SWAP_SIZE="${RAM_GB}GiB" DISK_SIZE=$(lsblk -b -dn -o SIZE "$DRIVE") DISK_GIB=$((DISK_SIZE / 1024 / 1024 / 1024)) - ROOT_GIB=$((DISK_GIB - RAM_GB - 15)) echo "Partition plan:" @@ -73,44 +163,74 @@ mkswap "$SWAP_PART" swapon "$SWAP_PART" ############################################ -# ASK ABOUT FIDO2 LUKS ENROLLMENT +# ENCRYPTION (OPTIONAL) ############################################ -read -rp "Enable FIDO2 unlocking for root partition? (YES/NO): " FIDO_ROOT +LUKS_BACKUP_KEY="" # path to key file, set only when encryption is active -############################################ -# LUKS ENCRYPT ROOT -############################################ -echo "Encrypting root partition..." -cryptsetup -v luksFormat "$ROOT_PART" -cryptsetup open "$ROOT_PART" cryptroot +if [[ "$ENCRYPT_DISK" == "YES" ]]; then + echo "Encrypting root partition..." + cryptsetup -v luksFormat "$ROOT_PART" + cryptsetup open "$ROOT_PART" cryptroot -############################################ -# OPTIONAL FIDO2 ENROLLMENT -############################################ -if [[ "$FIDO_ROOT" == "YES" ]]; then - echo "Insert FIDO2 key for LUKS and touch when prompted..." - systemd-cryptenroll "$ROOT_PART" --fido2-device=auto --fido2-with-client-pin=no + # ── Auto-generate backup LUKS key ────────────────────────────────────────── + # A random key is enrolled as a second LUKS slot so recovery is possible + # without the primary passphrase. It is written to /_LUKS_BACKUP_KEY in the + # new system (inside the encrypted container) where only root can read it. + LUKS_BACKUP_KEY=$(mktemp /tmp/luks-backup-key.XXXXXX) + dd if=/dev/urandom bs=64 count=1 2>/dev/null | base64 -w0 > "$LUKS_BACKUP_KEY" + echo "Enrolling auto-generated backup LUKS key..." + cryptsetup luksAddKey "$ROOT_PART" "$LUKS_BACKUP_KEY" + + # ── Optional FIDO2 enrollment ───────────────────────────────────────────── + if [[ "$FIDO_ROOT" == "YES" ]]; then + echo "Insert FIDO2 key for LUKS and touch when prompted..." + systemd-cryptenroll "$ROOT_PART" --fido2-device=auto --fido2-with-client-pin=no + fi + + ############################################ + # BTRFS ON ENCRYPTED ROOT + ############################################ + mkfs.btrfs /dev/mapper/cryptroot + mount /dev/mapper/cryptroot /mnt + btrfs subvolume create /mnt/@ + btrfs subvolume create /mnt/@home + umount /mnt + + mount -o subvol=@ /dev/mapper/cryptroot /mnt + mkdir -p /mnt/home + mount -o subvol=@home /dev/mapper/cryptroot /mnt/home + +else + echo "Skipping encryption — formatting root directly." + + ############################################ + # BTRFS ON UNENCRYPTED ROOT + ############################################ + mkfs.btrfs "$ROOT_PART" + mount "$ROOT_PART" /mnt + btrfs subvolume create /mnt/@ + btrfs subvolume create /mnt/@home + umount /mnt + + mount -o subvol=@ "$ROOT_PART" /mnt + mkdir -p /mnt/home + mount -o subvol=@home "$ROOT_PART" /mnt/home fi -############################################ -# BTRFS SUBVOLUMES -############################################ -mkfs.btrfs /dev/mapper/cryptroot -mount /dev/mapper/cryptroot /mnt -btrfs subvolume create /mnt/@ -btrfs subvolume create /mnt/@home -umount /mnt - -mount -o subvol=@ /dev/mapper/cryptroot /mnt -mkdir /mnt/home -mount -o subvol=@home /dev/mapper/cryptroot /mnt/home -mkdir /mnt/boot +mkdir -p /mnt/boot mount "$BOOT_PART" /mnt/boot +# Place backup key inside the new system (only accessible when disk is unlocked) +if [[ -n "$LUKS_BACKUP_KEY" ]]; then + install -m 400 "$LUKS_BACKUP_KEY" /mnt/_LUKS_BACKUP_KEY + rm -f "$LUKS_BACKUP_KEY" + echo "Backup LUKS key written to /_LUKS_BACKUP_KEY in new system." +fi + ############################################ # GPU DETECTION ############################################ -GPU_INFO=$(lspci | grep -E "VGA|3D") +GPU_INFO=$(lspci | grep -E "VGA|3D" || true) GPU_PKGS="" if echo "$GPU_INFO" | grep -qi "NVIDIA"; then GPU_PKGS="nvidia nvidia-utils" @@ -119,39 +239,36 @@ elif echo "$GPU_INFO" | grep -qi "AMD"; then elif echo "$GPU_INFO" | grep -qi "Intel"; then GPU_PKGS="xf86-video-intel" fi - -echo "Detected GPU: $GPU_INFO" - -############################################ -# USER INPUT -############################################ -read -rp "Enter kernel package (e.g., linux, linux-lts): " KERNEL -read -rp "Enter hostname: " HOSTNAME -read -rp "Enter username: " USERNAME -read -rsp "Enter password for $USERNAME: " USERPASS -echo -read -rp "Enable FIDO2 authentication for user login? (YES/NO): " FIDO_USER +echo "Detected GPU: ${GPU_INFO:-none}" ############################################ # BASE INSTALL ############################################ +# shellcheck disable=SC2086 pacstrap -K /mnt base base-devel "$KERNEL" linux-firmware vim bash zsh git less btop fastfetch \ - networkmanager grub cryptsetup libfido2 pam-u2f efibootmgr sudo btrfs-progs lvm2 $GPU_PKGS + networkmanager grub cryptsetup libfido2 pam-u2f efibootmgr sudo btrfs-progs lvm2 jq $GPU_PKGS ############################################ # FSTAB ############################################ genfstab -U /mnt >> /mnt/etc/fstab +############################################ +# COPY ANSWERFILE INTO NEW SYSTEM +############################################ +if $AF_MODE; then + install -m 644 "$ANSWERFILE" /mnt/answerfile.json +fi + ############################################ # PASS VARIABLES INTO CHROOT ############################################ -export HOSTNAME USERNAME USERPASS ROOT_PART FIDO_ROOT FIDO_USER +export HOSTNAME USERNAME USERPASS ROOT_PART KERNEL FIDO_ROOT FIDO_USER ENCRYPT_DISK ############################################ # CHROOT CONFIGURATION ############################################ -arch-chroot /mnt /bin/bash <<'EOF' +arch-chroot /mnt /bin/bash <<'CHROOT_EOF' set -euo pipefail # Locale @@ -175,10 +292,12 @@ echo "%wheel ALL=(ALL:ALL) ALL" >> /etc/sudoers ################################################### # INITRAMFS CONFIG ################################################### -if [[ "$FIDO_ROOT" == "YES" ]]; then - sed -i 's/^HOOKS=.*/HOOKS=(base btrfs udev systemd microcode kms autodetect modconf consolefont block sd-encrypt encrypt lvm2 filesystems keyboard keymap fsck)/' /etc/mkinitcpio.conf +if [[ "$ENCRYPT_DISK" == "YES" && "$FIDO_ROOT" == "YES" ]]; then + sed -i 's/^HOOKS=.*/HOOKS=(base udev systemd autodetect microcode modconf kms consolefont block sd-encrypt lvm2 btrfs filesystems keyboard keymap fsck)/' /etc/mkinitcpio.conf +elif [[ "$ENCRYPT_DISK" == "YES" ]]; then + sed -i 's/^HOOKS=.*/HOOKS=(base udev autodetect microcode modconf kms consolefont block encrypt lvm2 btrfs filesystems keyboard keymap fsck)/' /etc/mkinitcpio.conf else - sed -i 's/^HOOKS=.*/HOOKS=(base btrfs udev systemd microcode kms autodetect modconf consolefont block encrypt encrypt lvm2 filesystems keyboard keymap fsck)/' /etc/mkinitcpio.conf + sed -i 's/^HOOKS=.*/HOOKS=(base udev autodetect microcode modconf kms consolefont block btrfs filesystems keyboard fsck)/' /etc/mkinitcpio.conf fi mkinitcpio -p "$KERNEL" @@ -187,49 +306,46 @@ mkinitcpio -p "$KERNEL" # GRUB CONFIG ################################################### UUID=$(blkid -s UUID -o value "$ROOT_PART") - -if [[ "$FIDO_ROOT" == "YES" ]]; then - KERNEL_CMD="rd.luks.name=${UUID}=cryptroot root=/dev/mapper/cryptroot" +if [[ "$ENCRYPT_DISK" == "YES" ]]; then + if [[ "$FIDO_ROOT" == "YES" ]]; then + KERNEL_CMD="rd.luks.name=${UUID}=cryptroot root=/dev/mapper/cryptroot" + else + KERNEL_CMD="cryptdevice=UUID=${UUID}:cryptroot root=/dev/mapper/cryptroot" + fi else - KERNEL_CMD="cryptdevice=UUID=${UUID}:cryptroot root=/dev/mapper/cryptroot" + KERNEL_CMD="root=UUID=${UUID} rootflags=subvol=@" fi sed -i "s|^GRUB_CMDLINE_LINUX=.*|GRUB_CMDLINE_LINUX=\"$KERNEL_CMD\"|" /etc/default/grub -grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=M-Archy-GRUB-CuIn +grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=M-Archy-GRUB grub-mkconfig -o /boot/grub/grub.cfg ################################################### # USER FIDO2 LOGIN ################################################### if [[ "$FIDO_USER" == "YES" ]]; then - mkdir -p /home/$USERNAME/.config/Yubico + mkdir -p "/home/$USERNAME/.config/Yubico" echo "Insert FIDO2 key for user login and touch when prompted..." - sudo -u "$USERNAME" pamu2fcfg -u "$USERNAME" > /home/$USERNAME/.config/Yubico/u2f_keys - chown "$USERNAME":"$USERNAME" /home/$USERNAME/.config/Yubico/u2f_keys - + sudo -u "$USERNAME" pamu2fcfg -u "$USERNAME" > "/home/$USERNAME/.config/Yubico/u2f_keys" + chown "$USERNAME":"$USERNAME" "/home/$USERNAME/.config/Yubico/u2f_keys" echo "auth required pam_u2f.so" >> /etc/pam.d/system-local-login fi - ################################################### -# CLONE DOTFILES FOR POST-INSTALL SETUP +# CLONE DOTFILES ################################################### echo "Cloning dotfiles..." -git clone https://git.abdelbaki.eu/The_miro/Dotfiles.git /home/$USERNAME/Dotfiles \ - && chown -R $USERNAME:$USERNAME /home/$USERNAME/Dotfiles \ +git clone https://git.abdelbaki.eu/The_miro/Dotfiles.git "/home/$USERNAME/Dotfiles" \ + && chown -R "$USERNAME":"$USERNAME" "/home/$USERNAME/Dotfiles" \ || echo "Warning: dotfiles clone failed — clone manually after first boot." -EOF +CHROOT_EOF ############################################ -# DOTFILES SETUP (in-chroot, optional) +# DOTFILES TUI SETUP (in-chroot, optional) ############################################ -echo -read -rp "Run dotfiles TUI setup inside chroot now? [YES/no]: " _RUN_TUI -_RUN_TUI="${_RUN_TUI:-YES}" - -if [[ "${_RUN_TUI^^}" == "YES" ]]; then +if [[ "${RUN_TUI^^}" == "YES" ]]; then echo "${USERNAME} ALL=(ALL) NOPASSWD: ALL" \ | arch-chroot /mnt tee /etc/sudoers.d/99-setup-nopasswd > /dev/null @@ -241,43 +357,47 @@ if [[ "${_RUN_TUI^^}" == "YES" ]]; then arch-chroot /mnt rm -f /etc/sudoers.d/99-setup-nopasswd fi +# Remove answerfile from new system after setup is complete (contains sensitive paths/config) +if $AF_MODE && [[ -f /mnt/answerfile.json ]]; then + rm -f /mnt/answerfile.json +fi + ############################################ -# SUMMARY OUTPUT (NEW) +# SUMMARY ############################################ echo echo "############################################" echo " INSTALL SUMMARY" echo "############################################" -echo "Drive: $DRIVE" -echo "Boot partition: $BOOT_PART" -echo "Root partition: $ROOT_PART" -echo "Swap partition: $SWAP_PART" +echo "Drive: $DRIVE" +echo "Boot partition: $BOOT_PART" +echo "Root partition: $ROOT_PART" +echo "Swap partition: $SWAP_PART" echo -echo "Hostname: $HOSTNAME" -echo "Username: $USERNAME" -echo "Kernel: $KERNEL" -echo "GPU detected: $GPU_INFO" +echo "Hostname: $HOSTNAME" +echo "Username: $USERNAME" +echo "Kernel: $KERNEL" +echo "GPU detected: ${GPU_INFO:-none}" echo +echo "Disk encryption: $ENCRYPT_DISK" echo "FIDO2 root unlock: $FIDO_ROOT" echo "FIDO2 user login: $FIDO_USER" +[[ "$ENCRYPT_DISK" == "YES" ]] && echo "LUKS backup key: /_LUKS_BACKUP_KEY (in new system)" echo echo "Boot size: $BOOT_SIZE" echo "Root size: ${ROOT_GIB}GiB" echo "Swap size: $SWAP_SIZE" echo -echo "Log file saved to: $LOGFILE" +echo "Log file: $LOGFILE" echo "############################################" echo -cp $LOGFILE /mnt/boot/ +cp "$LOGFILE" /mnt/boot/ 2>/dev/null || true -############################################ -# DONE -############################################ -echo "Installation complete! You can now unmount and reboot." -echo -if [[ "${_RUN_TUI^^}" != "YES" ]]; then +echo "Installation complete! Unmount and reboot:" +echo " umount -R /mnt && reboot" +if [[ "${RUN_TUI^^}" != "YES" ]]; then + echo echo "After first boot, login as $USERNAME and run:" echo " ~/Dotfiles/setup/tui-install.sh" fi - diff --git a/setup/archbaseos-guided-install.sh b/setup/archbaseos-guided-install.sh index e8cb1e8..5974a1d 100755 --- a/setup/archbaseos-guided-install.sh +++ b/setup/archbaseos-guided-install.sh @@ -1,8 +1,13 @@ #!/usr/bin/env bash +# archbaseos-guided-install.sh — guided (dialog-based) Arch Linux base installer +# +# If /answerfile.json exists (e.g. embedded via build.sh --preconf), all prompts +# are answered from it. Missing fields fall back to interactive prompts. + set -euo pipefail ############################################ -# Helper Functions +# Helper Functions ############################################ confirm() { @@ -23,20 +28,57 @@ pause() { } ############################################ -# Begin +# ANSWERFILE ############################################ +ANSWERFILE="${ANSWERFILE:-/answerfile.json}" +AF_MODE=false +[[ -f "$ANSWERFILE" ]] && AF_MODE=true -echo "== Arch Linux FIDO2-Ready Installer ==" +af_get() { + local val + val=$(jq -r "${1} // empty" "$ANSWERFILE" 2>/dev/null || true) + if [[ -z "$val" ]]; then printf '%s' "${2:-}"; else printf '%s' "$val"; fi +} +af_bool() { + local val; val=$(jq -r "${1} // false" "$ANSWERFILE" 2>/dev/null || true) + [[ "$val" == "true" ]] && echo "YES" || echo "NO" +} + +get_mac_suffix() { + local mac + mac=$(ip link show 2>/dev/null \ + | awk '/^[0-9]+: [^l][^o]/{iface=1} iface && /link\/ether/{print $2; iface=0; exit}') + printf '%s' "${mac//:/}" +} + +if $AF_MODE; then + echo "== Arch Linux Guided Installer (answerfile mode) ==" + command -v jq &>/dev/null || pacman -Sy --noconfirm jq +else + echo "== Arch Linux FIDO2-Ready Installer ==" +fi + +############################################ +# Begin +############################################ lsblk -DRIVE=$(ask "Enter install drive (e.g., /dev/sda)") -confirm "$DRIVE" || exit 1 + +if $AF_MODE && [[ -n "$(af_get '.drive')" ]]; then + DRIVE=$(af_get '.drive') + echo "Drive (from answerfile): $DRIVE" + echo "WARNING: All data on $DRIVE will be erased. Proceeding in 5 seconds..." + sleep 5 +else + DRIVE=$(ask "Enter install drive (e.g., /dev/sda)") + confirm "$DRIVE" || exit 1 +fi # Required packages -pacman -Syd --noconfirm parted cryptsetup libfido2 pam-u2f systemd-ukify +pacman -Syd --noconfirm parted cryptsetup libfido2 pam-u2f systemd-ukify jq ############################################ -# Partitioning +# Partitioning ############################################ RAM_GB=$(free --giga | awk '/Mem/ {print $2}') @@ -68,53 +110,101 @@ mkswap "$SWAP_PART" swapon "$SWAP_PART" ############################################ -# Encryption +# User input ############################################ - -echo -read -rp "Enable FIDO2 for unlocking root? (YES/NO): " ENABLE_FIDO_ROOT - -echo "Formatting LUKS2 root..." -cryptsetup luksFormat "$ROOT_PART" --type luks2 -cryptsetup open "$ROOT_PART" cryptroot - -if [[ $ENABLE_FIDO_ROOT == "YES" ]]; then - echo "Enroll FIDO2 key for LUKS2" - pause - systemd-cryptenroll "$ROOT_PART" --fido2-device=auto --fido2-with-client-pin=no +if $AF_MODE; then + KERNEL=$(af_get '.kernel' 'linux') + RAW_HOSTNAME=$(af_get '.hostname' '') + if [[ -n "$RAW_HOSTNAME" ]]; then + HOSTNAME="${RAW_HOSTNAME}-$(get_mac_suffix)" + else + HOSTNAME="arch" + fi + USERNAME=$(af_get '.username' '') + ENCRYPT_DISK=$(af_bool '.encrypt') + ENABLE_FIDO_ROOT=$(af_bool '.fido2_root') + ENABLE_FIDO_USER=$(af_bool '.fido2_user') + RUN_TUI=$(af_bool '.run_tui') + echo "Kernel: $KERNEL / Hostname: $HOSTNAME / Username: $USERNAME" + echo "Encrypt: $ENCRYPT_DISK / FIDO2 root: $ENABLE_FIDO_ROOT / FIDO2 user: $ENABLE_FIDO_USER" +else + KERNEL=$(ask "Kernel (linux, linux-lts, linux-zen)") + HOSTNAME=$(ask "Hostname") + USERNAME=$(ask "Username") + read -rp "Enable disk encryption? (YES/NO): " ENCRYPT_DISK + ENABLE_FIDO_ROOT="NO" + if [[ "$ENCRYPT_DISK" == "YES" ]]; then + read -rp "Enable FIDO2 for unlocking root? (YES/NO): " ENABLE_FIDO_ROOT + fi + read -rp "Enable FIDO2 for user login? (YES/NO): " ENABLE_FIDO_USER fi -# Add fallback password -echo "Adding fallback LUKS password (recommended)" -cryptsetup luksAddKey "$ROOT_PART" +read -rsp "Password for $USERNAME: " USERPASS; echo +[[ -z "$USERPASS" ]] && { echo "Error: password cannot be empty."; exit 1; } ############################################ -# Filesystem +# Encryption (optional) ############################################ +LUKS_BACKUP_KEY="" -mkfs.btrfs /dev/mapper/cryptroot +if [[ "$ENCRYPT_DISK" == "YES" ]]; then + echo "Formatting LUKS2 root..." + cryptsetup luksFormat "$ROOT_PART" --type luks2 + cryptsetup open "$ROOT_PART" cryptroot -mount /dev/mapper/cryptroot /mnt -btrfs subvolume create /mnt/@ -btrfs subvolume create /mnt/@home -umount /mnt + # ── Auto-generate backup LUKS key ───────────────────────────────────────── + LUKS_BACKUP_KEY=$(mktemp /tmp/luks-backup-key.XXXXXX) + dd if=/dev/urandom bs=64 count=1 2>/dev/null | base64 -w0 > "$LUKS_BACKUP_KEY" + echo "Enrolling auto-generated backup LUKS key..." + cryptsetup luksAddKey "$ROOT_PART" "$LUKS_BACKUP_KEY" -mount -o subvol=@ /dev/mapper/cryptroot /mnt -mkdir -p /mnt/home -mount -o subvol=@home /dev/mapper/cryptroot /mnt/home + if [[ "$ENABLE_FIDO_ROOT" == "YES" ]]; then + echo "Enroll FIDO2 key for LUKS2" + pause + systemd-cryptenroll "$ROOT_PART" --fido2-device=auto --fido2-with-client-pin=no + fi + + mkfs.btrfs /dev/mapper/cryptroot + mount /dev/mapper/cryptroot /mnt + btrfs subvolume create /mnt/@ + btrfs subvolume create /mnt/@home + umount /mnt + + mount -o subvol=@ /dev/mapper/cryptroot /mnt + mkdir -p /mnt/home + mount -o subvol=@home /dev/mapper/cryptroot /mnt/home + +else + echo "Skipping encryption — formatting root directly." + + mkfs.btrfs "$ROOT_PART" + mount "$ROOT_PART" /mnt + btrfs subvolume create /mnt/@ + btrfs subvolume create /mnt/@home + umount /mnt + + mount -o subvol=@ "$ROOT_PART" /mnt + mkdir -p /mnt/home + mount -o subvol=@home "$ROOT_PART" /mnt/home +fi mkdir -p /mnt/boot mount "$EFI_PART" /mnt/boot -############################################ -# Base System Install -############################################ +# Place backup key inside the new system (readable only by root, inside LUKS container) +if [[ -n "$LUKS_BACKUP_KEY" ]]; then + install -m 400 "$LUKS_BACKUP_KEY" /mnt/_LUKS_BACKUP_KEY + rm -f "$LUKS_BACKUP_KEY" + echo "Backup LUKS key written to /_LUKS_BACKUP_KEY in new system." +fi -GPU_INFO=$(lspci | grep -E "VGA|3D") +############################################ +# Base System Install +############################################ +GPU_INFO=$(lspci | grep -E "VGA|3D" || true) GPU_PKGS="" if echo "$GPU_INFO" | grep -qi nvidia; then - #GPU_PKGS="nvidia nvidia-utils" GPU_PKGS="nvidia-open" elif echo "$GPU_INFO" | grep -qi amd; then GPU_PKGS="xf86-video-amdgpu" @@ -122,34 +212,35 @@ elif echo "$GPU_INFO" | grep -qi intel; then GPU_PKGS="xf86-video-intel" fi -KERNEL=$(ask "Kernel (linux, linux-lts, linux-zen)") -HOSTNAME=$(ask "Hostname") -USERNAME=$(ask "Username") -read -rsp "Password for $USERNAME: " USERPASS; echo - -read -rp "Enable FIDO2 for user login? (YES/NO): " ENABLE_FIDO_USER - +# shellcheck disable=SC2086 pacstrap /mnt \ base base-devel "$KERNEL" linux-firmware vim zsh git networkmanager grub efibootmgr \ - btrfs-progs cryptsetup libfido2 pam-u2f sudo less "$GPU_PKGS" + btrfs-progs cryptsetup libfido2 pam-u2f sudo less jq $GPU_PKGS genfstab -U /mnt >> /mnt/etc/fstab ############################################ -# CHROOT Configuration +# COPY ANSWERFILE INTO NEW SYSTEM ############################################ +if $AF_MODE; then + install -m 644 "$ANSWERFILE" /mnt/answerfile.json +fi +############################################ +# CHROOT Configuration +############################################ ROOT_UUID=$(blkid -s UUID -o value "$ROOT_PART") - arch-chroot /mnt /usr/bin/env \ HOSTNAME="$HOSTNAME" \ USERNAME="$USERNAME" \ USERPASS="$USERPASS" \ + ENCRYPT_DISK="$ENCRYPT_DISK" \ ENABLE_FIDO_ROOT="$ENABLE_FIDO_ROOT" \ ENABLE_FIDO_USER="$ENABLE_FIDO_USER" \ ROOT_UUID="$ROOT_UUID" \ - /bin/bash <<'EOF' + ROOT_PART="$ROOT_PART" \ + /bin/bash <<'CHROOT_EOF' set -euo pipefail @@ -176,19 +267,26 @@ chown -R "$USERNAME:$USERNAME" "/home/$USERNAME" echo "%wheel ALL=(ALL) ALL" >> /etc/sudoers -# Initramfs + GRUB for FIDO2 -if [[ "$ENABLE_FIDO_ROOT" == "YES" ]]; then - sed -i 's/^HOOKS=.*/HOOKS=(base systemd autodetect modconf block sd-encrypt filesystems keyboard fsck)/' /etc/mkinitcpio.conf +# Initramfs +if [[ "$ENCRYPT_DISK" == "YES" && "$ENABLE_FIDO_ROOT" == "YES" ]]; then + sed -i 's/^HOOKS=.*/HOOKS=(base udev systemd autodetect microcode modconf kms consolefont block sd-encrypt lvm2 btrfs filesystems keyboard keymap fsck)/' /etc/mkinitcpio.conf +elif [[ "$ENCRYPT_DISK" == "YES" ]]; then + sed -i 's/^HOOKS=.*/HOOKS=(base udev autodetect microcode modconf kms consolefont block encrypt lvm2 btrfs filesystems keyboard keymap fsck)/' /etc/mkinitcpio.conf else - sed -i 's/^HOOKS=.*/HOOKS=(base udev autodetect modconf block encrypt filesystems keyboard fsck)/' /etc/mkinitcpio.conf + sed -i 's/^HOOKS=.*/HOOKS=(base udev autodetect microcode modconf kms consolefont block btrfs filesystems keyboard fsck)/' /etc/mkinitcpio.conf fi mkinitcpio -P -if [[ "$ENABLE_FIDO_ROOT" == "YES" ]]; then - GRUB_CMDLINE="rd.luks.name=$ROOT_UUID=cryptroot rd.luks.options=fido2-device=auto root=/dev/mapper/cryptroot" +# GRUB +if [[ "$ENCRYPT_DISK" == "YES" ]]; then + if [[ "$ENABLE_FIDO_ROOT" == "YES" ]]; then + GRUB_CMDLINE="rd.luks.name=$ROOT_UUID=cryptroot rd.luks.options=fido2-device=auto root=/dev/mapper/cryptroot" + else + GRUB_CMDLINE="cryptdevice=UUID=$ROOT_UUID:cryptroot root=/dev/mapper/cryptroot" + fi else - GRUB_CMDLINE="cryptdevice=UUID=$ROOT_UUID:cryptroot root=/dev/mapper/cryptroot" + GRUB_CMDLINE="root=UUID=${ROOT_UUID} rootflags=subvol=@" fi sed -i "s|^GRUB_CMDLINE_LINUX=.*|GRUB_CMDLINE_LINUX=\"$GRUB_CMDLINE\"|" /etc/default/grub @@ -199,23 +297,26 @@ grub-mkconfig -o /boot/grub/grub.cfg # User login FIDO2 if [[ "$ENABLE_FIDO_USER" == "YES" ]]; then echo "Enrolling FIDO2 for user login" - mkdir -p /home/$USERNAME/.config/Yubico - chown $USERNAME:$USERNAME /home/$USERNAME/.config/Yubico + mkdir -p "/home/$USERNAME/.config/Yubico" + chown "$USERNAME:$USERNAME" "/home/$USERNAME/.config/Yubico" sudo -u "$USERNAME" bash -c "pamu2fcfg >> /home/$USERNAME/.config/Yubico/u2f_keys" echo "auth required pam_u2f.so" >> /etc/pam.d/system-auth fi - -EOF +CHROOT_EOF ############################################ -# DOTFILES SETUP (in-chroot, optional) +# DOTFILES SETUP (in-chroot, optional) ############################################ -echo -read -rp "Run dotfiles TUI setup inside chroot now? [YES/no]: " _RUN_TUI -_RUN_TUI="${_RUN_TUI:-YES}" +if $AF_MODE; then + _DO_TUI="${RUN_TUI}" +else + read -rp "Run dotfiles TUI setup inside chroot now? [YES/no]: " _TUI_IN + _TUI_IN="${_TUI_IN:-YES}" + [[ "${_TUI_IN^^}" == "YES" ]] && _DO_TUI="YES" || _DO_TUI="NO" +fi -if [[ "${_RUN_TUI^^}" == "YES" ]]; then +if [[ "${_DO_TUI^^}" == "YES" ]]; then echo "${USERNAME} ALL=(ALL) NOPASSWD: ALL" \ | arch-chroot /mnt tee /etc/sudoers.d/99-setup-nopasswd > /dev/null @@ -227,10 +328,20 @@ if [[ "${_RUN_TUI^^}" == "YES" ]]; then arch-chroot /mnt rm -f /etc/sudoers.d/99-setup-nopasswd fi +# Remove answerfile from new system after setup completes +if $AF_MODE && [[ -f /mnt/answerfile.json ]]; then + rm -f /mnt/answerfile.json +fi + echo "Installation complete!" echo " umount -R /mnt && reboot" -if [[ "${_RUN_TUI^^}" != "YES" ]]; then +if [[ "${_DO_TUI^^}" != "YES" ]]; then echo echo "After first boot, login as ${USERNAME} and run:" echo " ~/Dotfiles/setup/tui-install.sh" fi +if [[ "$ENCRYPT_DISK" == "YES" ]]; then + echo + echo "LUKS backup key stored at /_LUKS_BACKUP_KEY in the new system." + echo "Keep this file secure — it can unlock the root partition." +fi From b5a3b46c79870cf4ef8cc8bf8658101dc16b14c4 Mon Sep 17 00:00:00 2001 From: The_miro Date: Mon, 18 May 2026 15:24:47 +0200 Subject: [PATCH 023/116] setup: add answerfile system for fully automated installs tui-install.sh: - Reads /answerfile.json if present (ANSWERFILE_MODE) - All dialog selections (components, DE, apps) sourced from file - Hostname from answerfile gets MAC address suffix appended to prevent conflicts when deploying one image to multiple machines - Interactive hostname inputbox added to the normal TUI flow - Colorway dialog added as final step; skipped if no colors differ from defaults and no answerfile colors are set - Answerfile mode: runs non-interactively, logs warnings on failure generate-answerfile.sh (new): - Dry-runs the full installer dialog flow (OS + dotfiles) - Writes selections to ~/answerfile.json (or a given path) - No software is installed; passwords are never written to the file build.sh: - New --preconf [FILE] flag embeds an answerfile into the ISO at /answerfile.json; omitting the flag leaves the ISO clean - Validates JSON with jq if available before embedding - Reworked arg parsing to handle the new flag alongside OUT_DIR Co-Authored-By: Claude Sonnet 4.6 --- setup/archiso/build.sh | 60 +++- setup/generate-answerfile.sh | 377 +++++++++++++++++++++++++ setup/tui-install.sh | 513 +++++++++++++++++++++++------------ 3 files changed, 777 insertions(+), 173 deletions(-) create mode 100644 setup/generate-answerfile.sh diff --git a/setup/archiso/build.sh b/setup/archiso/build.sh index 1df7eac..9e7bdba 100644 --- a/setup/archiso/build.sh +++ b/setup/archiso/build.sh @@ -1,10 +1,48 @@ #!/usr/bin/env bash +# build.sh — build the M-Archy Arch Linux ISO +# +# Usage: +# bash build.sh [--preconf [FILE]] [OUT_DIR] +# +# --preconf Embed ~/answerfile.json into the ISO at /answerfile.json +# --preconf FILE Embed the specified answerfile instead +# OUT_DIR Output directory (default: ~/m-archy-out, or $OUT_DIR env) + set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" DOTFILES_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)" + +# ── Argument parsing ─────────────────────────────────────────────────────────── +PRECONF_FILE="" +OUT_ARG="" + +while [[ $# -gt 0 ]]; do + case "$1" in + --preconf) + # Optional next arg: a file path (doesn't start with -) + if [[ $# -gt 1 && "${2:0:1}" != "-" ]]; then + PRECONF_FILE="$2"; shift + else + PRECONF_FILE="$HOME/answerfile.json" + fi + shift + ;; + --preconf=*) + PRECONF_FILE="${1#--preconf=}" + shift + ;; + -*) + echo "Unknown flag: $1" >&2; exit 1 + ;; + *) + OUT_ARG="$1"; shift + ;; + esac +done + WORK_DIR="${WORK_DIR:-$HOME/m-archy-build}" -OUT_DIR="${1:-${OUT_DIR:-$HOME/m-archy-out}}" +OUT_DIR="${OUT_ARG:-${OUT_DIR:-$HOME/m-archy-out}}" PROFILE="$WORK_DIR/profile" RELENG="/usr/share/archiso/configs/releng" @@ -15,6 +53,16 @@ fi [[ -d "$RELENG" ]] || { echo "ERROR: $RELENG not found — is archiso installed?"; exit 1; } +# Validate answerfile early if --preconf was given +if [[ -n "$PRECONF_FILE" ]]; then + [[ -f "$PRECONF_FILE" ]] \ + || { echo "ERROR: answerfile not found: $PRECONF_FILE"; exit 1; } + command -v jq &>/dev/null \ + && jq empty "$PRECONF_FILE" \ + || echo "Warning: jq not available — skipping answerfile JSON validation" + echo "Answerfile to embed: $PRECONF_FILE" +fi + rm -rf "$WORK_DIR" mkdir -p "$WORK_DIR" "$OUT_DIR" @@ -43,9 +91,19 @@ chmod 755 \ "$PROFILE/airootfs/usr/local/bin/install-arch" \ "$PROFILE/airootfs/root/installer/"*.sh +# ── Embed answerfile (--preconf) ─────────────────────────────────────────────── +if [[ -n "$PRECONF_FILE" ]]; then + echo "Embedding answerfile: $PRECONF_FILE → /answerfile.json" + install -m 644 "$PRECONF_FILE" "$PROFILE/airootfs/answerfile.json" +fi + echo "Building ISO (this may take a while)..." sudo mkarchiso -v -w "$WORK_DIR/mkarchiso" -o "$OUT_DIR" "$PROFILE" echo echo "Done." ls -lh "$OUT_DIR/"*.iso 2>/dev/null || true + +if [[ -n "$PRECONF_FILE" ]]; then + echo "Answerfile embedded — automated install will activate on boot." +fi diff --git a/setup/generate-answerfile.sh b/setup/generate-answerfile.sh new file mode 100644 index 0000000..6e05e95 --- /dev/null +++ b/setup/generate-answerfile.sh @@ -0,0 +1,377 @@ +#!/bin/bash +# generate-answerfile.sh — dry-run the M-Archy installer dialogs and write +# all selections to an answerfile.json. Nothing is installed. +# +# Usage: +# bash generate-answerfile.sh [OUTPUT_PATH] +# OUTPUT_PATH defaults to ~/answerfile.json +# +# The generated file can be placed at /answerfile.json on the installer USB +# (use build.sh --preconf to embed it automatically) so that the full +# install — base OS + dotfiles — runs without any manual input. + +set -uo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +DOTFILES_DIR="$(cd "$SCRIPT_DIR/.." && pwd)" +OUTPUT="${1:-$HOME/answerfile.json}" +TMP_D="$(mktemp -d)" +trap 'rm -rf "$TMP_D"' EXIT + +BACKTITLE="M-Archy Answerfile Generator" + +# ── Dialog theme ────────────────────────────────────────────────────────────── +export DIALOGRC="$TMP_D/dialogrc" +cat > "$DIALOGRC" <<'EOF' +use_shadow = ON +use_colors = ON +screen_color = (BLACK,BLACK,ON) +shadow_color = (BLACK,BLACK,ON) +title_color = (MAGENTA,BLACK,ON) +border_color = (MAGENTA,BLACK,ON) +button_active_color = (BLACK,MAGENTA,ON) +button_inactive_color = (WHITE,BLACK,OFF) +button_key_active_color = (BLACK,CYAN,ON) +button_key_inactive_color = (CYAN,BLACK,ON) +button_label_active_color = (BLACK,MAGENTA,ON) +button_label_inactive_color = (WHITE,BLACK,OFF) +inputbox_color = (WHITE,BLACK,OFF) +inputbox_border_color = (MAGENTA,BLACK,ON) +menubox_color = (WHITE,BLACK,OFF) +menubox_border_color = (MAGENTA,BLACK,ON) +item_color = (WHITE,BLACK,OFF) +item_selected_color = (BLACK,MAGENTA,ON) +tag_color = (CYAN,BLACK,ON) +tag_selected_color = (BLACK,CYAN,ON) +tag_key_color = (CYAN,BLACK,ON) +tag_key_selected_color = (BLACK,CYAN,ON) +check_color = (WHITE,BLACK,OFF) +check_selected_color = (BLACK,MAGENTA,ON) +uarrow_color = (MAGENTA,BLACK,ON) +darrow_color = (MAGENTA,BLACK,ON) +EOF + +# ── Helpers ─────────────────────────────────────────────────────────────────── +require_dialog() { + command -v dialog &>/dev/null && return + echo "dialog not found — installing..." + sudo pacman -S --noconfirm dialog || { echo "Failed to install dialog."; exit 1; } +} + +require_jq() { + command -v jq &>/dev/null && return + echo "jq not found — installing..." + sudo pacman -S --noconfirm jq || { echo "Failed to install jq."; exit 1; } +} + +die() { clear; printf "\n Error: %s\n\n" "$1" >&2; exit 1; } + +# json_str: emit a properly-quoted JSON string value (handles empty → null) +json_str() { + local v="$1" + if [[ -z "$v" ]]; then printf 'null'; else printf '"%s"' "$v"; fi +} + +# json_bool: emit true/false from YES/NO or true/false input +json_bool() { + local v="${1,,}" + [[ "$v" == "yes" || "$v" == "true" ]] && echo "true" || echo "false" +} + +# ── Preflight ───────────────────────────────────────────────────────────────── +require_dialog +require_jq + +# ── Welcome ─────────────────────────────────────────────────────────────────── +dialog --backtitle "$BACKTITLE" \ + --title " Answerfile Generator " \ + --msgbox "\n\ + This tool walks you through all installer dialogs\n\ + and saves your choices to an answerfile.\n\ + ─────────────────────────────────────────────────\n\ +\n\ + NO software will be installed — this is a dry run.\n\ +\n\ + Output: $OUTPUT\n\ +\n\ + To use on a USB: build.sh --preconf $OUTPUT\n" 16 62 + +# ═══════════════════════════════════════════════════════════════ +# PART 1 — Base OS install options +# ═══════════════════════════════════════════════════════════════ + +# ── Drive ───────────────────────────────────────────────────────────────────── +AVAIL_DRIVES=$(lsblk -dn -o NAME,SIZE,MODEL 2>/dev/null | awk '{printf "%s \"%s %s\" off ", $1, $2, $3}' || true) + +AF_DRIVE=$(dialog --backtitle "$BACKTITLE" \ + --title " Target Drive " \ + --inputbox "\n Enter the install drive (e.g. /dev/sda, /dev/nvme0n1).\n\n Available drives:\n$(lsblk -dn -o NAME,SIZE,MODEL 2>/dev/null | sed 's/^/ /')\n" \ + 16 64 "/dev/sda" \ + 3>&1 1>&2 2>&3) || AF_DRIVE="" + +# ── Kernel ──────────────────────────────────────────────────────────────────── +AF_KERNEL=$(dialog --backtitle "$BACKTITLE" \ + --title " Kernel " \ + --menu "Select kernel package:" 12 54 3 \ + "linux" "Stable kernel" \ + "linux-lts" "Long-term support kernel" \ + "linux-zen" "Zen performance kernel" \ + 3>&1 1>&2 2>&3) || AF_KERNEL="linux" + +# ── Hostname ────────────────────────────────────────────────────────────────── +AF_HOSTNAME=$(dialog --backtitle "$BACKTITLE" \ + --title " Hostname " \ + --inputbox "\n Hostname for the new system.\n\n Leave blank to keep default.\n\n Note: a MAC address suffix will be appended\n automatically when the answerfile is applied,\n preventing hostname conflicts across machines.\n" \ + 14 62 "" \ + 3>&1 1>&2 2>&3) || AF_HOSTNAME="" + +# ── Username ────────────────────────────────────────────────────────────────── +AF_USERNAME=$(dialog --backtitle "$BACKTITLE" \ + --title " Username " \ + --inputbox "\n Name for the primary user account.\n" \ + 9 54 "" \ + 3>&1 1>&2 2>&3) || AF_USERNAME="" + +# NOTE: passwords are intentionally NOT stored in the answerfile. +dialog --backtitle "$BACKTITLE" \ + --title " Password " \ + --msgbox "\n Passwords are NOT stored in the answerfile.\n\n You will be prompted for the user password\n at install time even in automated mode.\n" \ + 10 56 + +# ── Disk encryption ─────────────────────────────────────────────────────────── +dialog --backtitle "$BACKTITLE" \ + --title " Disk Encryption " \ + --yesno "\n Enable LUKS2 disk encryption on the root partition?\n\n If yes, a backup LUKS key will be auto-generated\n and placed at /_LUKS_BACKUP_KEY in the new system.\n" \ + 11 62 && AF_ENCRYPT="true" || AF_ENCRYPT="false" + +AF_FIDO2_ROOT="false" +AF_FIDO2_USER="false" +if [[ "$AF_ENCRYPT" == "true" ]]; then + dialog --backtitle "$BACKTITLE" \ + --title " FIDO2 Root Unlock " \ + --yesno "\n Enable FIDO2 hardware key for LUKS root unlock?\n" \ + 8 56 && AF_FIDO2_ROOT="true" || AF_FIDO2_ROOT="false" +fi + +dialog --backtitle "$BACKTITLE" \ + --title " FIDO2 User Login " \ + --yesno "\n Enable FIDO2 hardware key for user login (PAM)?\n" \ + 8 56 && AF_FIDO2_USER="true" || AF_FIDO2_USER="false" + +# ── Run TUI installer after base install ────────────────────────────────────── +dialog --backtitle "$BACKTITLE" \ + --title " Dotfiles Setup " \ + --yesno "\n Automatically run the dotfiles TUI installer\n inside the chroot after base install completes?\n" \ + 9 58 && AF_RUN_TUI="true" || AF_RUN_TUI="false" + +# ═══════════════════════════════════════════════════════════════ +# PART 2 — Dotfiles / TUI installer options +# (only shown if run_tui is true) +# ═══════════════════════════════════════════════════════════════ +AF_COMPONENTS="" +AF_DE="none" +AF_APPS="" +AF_COLOR_TEXT="" +AF_COLOR_BG="" +AF_COLOR_HIGHLIGHT="" +AF_COLOR_DARK="" +AF_COLOR_RED="" + +if [[ "$AF_RUN_TUI" == "true" ]]; then + + # ── Components ──────────────────────────────────────────────────────────── + AF_COMPONENTS=$(dialog --backtitle "$BACKTITLE" \ + --title " Select Components " \ + --checklist "Space toggles · Enter confirms · Esc quits" 15 68 4 \ + "pkg" "Package managers yay · nvm · rust" on \ + "core" "Core packages 100+ base system packages" on \ + "svc" "Core services NetworkManager · cronie · fail2ban" on \ + "shell" "Shell setup zsh · nvim · yazi · micro · starship" on \ + 3>&1 1>&2 2>&3) || AF_COMPONENTS="" + + # ── DE ──────────────────────────────────────────────────────────────────── + AF_DE=$(dialog --backtitle "$BACKTITLE" \ + --title " Desktop Environment " \ + --menu "Select a desktop environment · Esc / none to skip:" 20 70 8 \ + "hyprland" "Hyprland — Wayland WM, full setup (primary)" \ + "sway" "Sway — Wayland tiling WM" \ + "kde-plasma" "KDE Plasma — feature-rich Wayland/X11 DE" \ + "gnome" "GNOME — modern Wayland DE" \ + "cosmic" "COSMIC — Rust-built Wayland DE (System76)" \ + "xfce" "XFCE — lightweight X11 DE" \ + "lxqt" "LXQt — lightweight Qt X11 DE" \ + "none" "Skip DE installation" \ + 3>&1 1>&2 2>&3) || AF_DE="none" + + # ── Apps ────────────────────────────────────────────────────────────────── + AF_APPS=$(dialog --backtitle "$BACKTITLE" \ + --title " Applications " \ + --checklist "Optional applications — installed after base components:" 40 76 32 \ + "ollama" "Ollama local LLM runner + API server" off \ + "llama-cpp" "llama.cpp standalone inference CLI + server" off \ + "open-webui" "Open WebUI browser UI for Ollama / LLM backends" off \ + "claude" "Claude Code Anthropic CLI via npm" off \ + "networking-cli" "Networking CLI nmap · nethogs · mitmproxy · httpie" off \ + "disk-recovery" "Disk Recovery ddrescue · f3" off \ + "himalaya" "Himalaya terminal email client (AUR)" off \ + "gnuplot" "Gnuplot scientific plotting" off \ + "povray" "POV-Ray ray-tracing renderer" off \ + "blender" "Blender 3D creation suite" off \ + "toot" "toot Mastodon CLI client (AUR)" off \ + "db-clients" "DB Clients pgcli · mycli" off \ + "mysql" "MySQL / MariaDB mariadb server + setup" off \ + "productivity" "Productivity taskwarrior · watson · jrnl" off \ + "yt-dlp" "yt-dlp YouTube / media downloader" off \ + "sox" "SoX audio processing toolkit" off \ + "imagemagick" "ImageMagick image manipulation" off \ + "ffmpeg" "FFmpeg extras thumbnailer · GStreamer codecs" off \ + "localtunnel" "LocalTunnel expose localhost via tunnel" off \ + "butter" "butter btrfs snapshot backup (AUR)" off \ + "tlp" "TLP laptop power management" off \ + "steam" "Steam gaming platform" off \ + "vesktop" "Vesktop Discord + Vencord theme" off \ + "spotify" "Spotify launcher + Spicetify theming" off \ + "prism" "PrismLauncher Minecraft launcher (Flatpak)" off \ + "vintagestory" "Vintage Story survival game (AUR)" off \ + "localsend" "LocalSend LAN file transfer (AUR)" off \ + "croc" "croc cross-platform file transfer" off \ + "onlyoffice" "OnlyOffice office suite (AUR)" off \ + "wireshark" "Wireshark network packet analyser (GUI)" off \ + "k8s" "Kubernetes tools kubectl · podman-desktop" off \ + "docker" "Docker docker · docker-compose" off \ + "podman" "Podman rootless containers · buildah" off \ + "cockpit" "Cockpit web UI · machines · podman" off \ + "ssh-server" "SSH server openssh · key-auth · enabled" off \ + "freeipa-client" "FreeIPA Client sssd + ipa-client-install + enrollment" off \ + "freeipa-server" "FreeIPA Server interactive server setup + client gen" off \ + "freeipa-image" "FreeIPA Image OCI/LXC/Proxmox LXC builder + Keycloak" off \ + "python" "Python tools pyright · pipx · pynvim" off \ + "zfs" "ZFS zfs-dkms kernel module" off \ + "wprs" "WPRS wprs-git (AUR)" off \ + "chromium" "Chromium open-source browser (official)" off \ + "firefox-browser" "Firefox Mozilla browser (official)" off \ + "zen-browser" "Zen Browser Firefox-based privacy browser (AUR)" off \ + "nyxt" "Nyxt keyboard-driven browser (AUR)" off \ + "librewolf" "LibreWolf hardened Firefox fork (AUR)" off \ + "min-browser" "Min minimal Electron browser (AUR)" off \ + "vscodium" "VSCodium telemetry-free VS Code (AUR)" off \ + "zed-ide" "Zed high-performance Rust IDE (official)" off \ + "geany" "Geany lightweight IDE + plugins (official)" off \ + "codeblocks" "Code::Blocks C/C++ IDE (official)" off \ + "kate" "Kate KDE advanced text editor (official)" off \ + 3>&1 1>&2 2>&3) || AF_APPS="" + + # ── Colorway ────────────────────────────────────────────────────────────── + # Read defaults from repo colors.conf + declare -A _cdef + if [[ -f "$DOTFILES_DIR/colors.conf" ]]; then + while IFS='=' read -r k v; do + k="${k%%[[:space:]]*}" + [[ "$k" =~ ^[[:space:]]*# || -z "$k" ]] && continue + v="${v%%#*}"; v="${v//[[:space:]]/}"; v="${v^^}" + _cdef[$k]="$v" + done < "$DOTFILES_DIR/colors.conf" + fi + DEF_TEXT="${_cdef[COLOR_TEXT]:-D6ABAB}" + DEF_BG="${_cdef[COLOR_BG]:-1A1A1A}" + DEF_HIGHLIGHT="${_cdef[COLOR_HIGHLIGHT]:-E40046}" + DEF_DARK="${_cdef[COLOR_DARK]:-5018DD}" + DEF_RED="${_cdef[COLOR_RED]:-F50505}" + + COLORWAY_RAW=$(dialog --backtitle "$BACKTITLE" \ + --title " Colorway (optional) " \ + --form "\n Customize theme colors — bare 6-digit hex, no #.\n Leave unchanged to omit colors from answerfile.\n" \ + 16 62 5 \ + "COLOR_TEXT " 1 1 "$DEF_TEXT" 1 18 10 7 \ + "COLOR_BG " 2 1 "$DEF_BG" 2 18 10 7 \ + "COLOR_HIGHLIGHT " 3 1 "$DEF_HIGHLIGHT" 3 18 10 7 \ + "COLOR_DARK " 4 1 "$DEF_DARK" 4 18 10 7 \ + "COLOR_RED " 5 1 "$DEF_RED" 5 18 10 7 \ + 3>&1 1>&2 2>&3) || COLORWAY_RAW="" + + if [[ -n "$COLORWAY_RAW" ]]; then + mapfile -t _cv <<< "$COLORWAY_RAW" + N_TEXT="${_cv[0]:-$DEF_TEXT}" + N_BG="${_cv[1]:-$DEF_BG}" + N_HIGHLIGHT="${_cv[2]:-$DEF_HIGHLIGHT}" + N_DARK="${_cv[3]:-$DEF_DARK}" + N_RED="${_cv[4]:-$DEF_RED}" + # Only save colors if any differ from defaults + if [[ "${N_TEXT^^}" != "$DEF_TEXT" || \ + "${N_BG^^}" != "$DEF_BG" || \ + "${N_HIGHLIGHT^^}" != "$DEF_HIGHLIGHT" || \ + "${N_DARK^^}" != "$DEF_DARK" || \ + "${N_RED^^}" != "$DEF_RED" ]]; then + AF_COLOR_TEXT="${N_TEXT^^}" + AF_COLOR_BG="${N_BG^^}" + AF_COLOR_HIGHLIGHT="${N_HIGHLIGHT^^}" + AF_COLOR_DARK="${N_DARK^^}" + AF_COLOR_RED="${N_RED^^}" + fi + fi +fi + +# ── Confirmation ────────────────────────────────────────────────────────────── +SUMMARY="" +[[ -n "$AF_DRIVE" ]] && SUMMARY+=" Drive: $AF_DRIVE\n" +[[ -n "$AF_KERNEL" ]] && SUMMARY+=" Kernel: $AF_KERNEL\n" +[[ -n "$AF_HOSTNAME" ]] && SUMMARY+=" Hostname: $AF_HOSTNAME (+ MAC suffix at deploy)\n" +[[ -n "$AF_USERNAME" ]] && SUMMARY+=" Username: $AF_USERNAME\n" +SUMMARY+=" Encrypt: $AF_ENCRYPT\n" +SUMMARY+=" FIDO2 root: $AF_FIDO2_ROOT / FIDO2 user: $AF_FIDO2_USER\n" +SUMMARY+=" Run TUI: $AF_RUN_TUI\n" +[[ -n "$AF_DE" && "$AF_DE" != "none" ]] && SUMMARY+=" DE: $AF_DE\n" +[[ -n "$AF_COLOR_TEXT" ]] && SUMMARY+=" Colors: custom\n" + +dialog --backtitle "$BACKTITLE" \ + --title " Confirm " \ + --yesno "\n Save answerfile with these settings:\n\n${SUMMARY}\n Output: $OUTPUT\n\n Proceed?" \ + 22 66 || { clear; echo "Aborted."; exit 0; } + +# ── Build JSON arrays from space-separated dialog output ────────────────────── +_words_to_json_array() { + local input="$1" + local first=1 + printf '[' + for w in $input; do + [[ $first -eq 0 ]] && printf ',' + printf '"%s"' "$w" + first=0 + done + printf ']' +} + +# ── Write answerfile ────────────────────────────────────────────────────────── +mkdir -p "$(dirname "$OUTPUT")" + +{ + printf '{\n' + printf ' "_generated": "%s",\n' "$(date -Iseconds)" + printf ' "drive": %s,\n' "$(json_str "$AF_DRIVE")" + printf ' "kernel": %s,\n' "$(json_str "$AF_KERNEL")" + printf ' "hostname": %s,\n' "$(json_str "$AF_HOSTNAME")" + printf ' "username": %s,\n' "$(json_str "$AF_USERNAME")" + printf ' "encrypt": %s,\n' "$AF_ENCRYPT" + printf ' "fido2_root": %s,\n' "$AF_FIDO2_ROOT" + printf ' "fido2_user": %s,\n' "$AF_FIDO2_USER" + printf ' "run_tui": %s,\n' "$AF_RUN_TUI" + printf ' "components": %s,\n' "$(_words_to_json_array "$AF_COMPONENTS")" + printf ' "desktop_environment": %s,\n' "$(json_str "$AF_DE")" + printf ' "apps": %s' "$(_words_to_json_array "$AF_APPS")" + + if [[ -n "$AF_COLOR_TEXT" ]]; then + printf ',\n "colors": {\n' + printf ' "COLOR_TEXT": "%s",\n' "$AF_COLOR_TEXT" + printf ' "COLOR_BG": "%s",\n' "$AF_COLOR_BG" + printf ' "COLOR_HIGHLIGHT": "%s",\n' "$AF_COLOR_HIGHLIGHT" + printf ' "COLOR_DARK": "%s",\n' "$AF_COLOR_DARK" + printf ' "COLOR_RED": "%s"\n' "$AF_COLOR_RED" + printf ' }' + fi + + printf '\n}\n' +} > "$OUTPUT" + +clear +printf "\n Answerfile saved to: %s\n\n" "$OUTPUT" +printf " To embed in ISO: bash setup/archiso/build.sh --preconf %s\n\n" "$OUTPUT" diff --git a/setup/tui-install.sh b/setup/tui-install.sh index 39bdebb..133dea8 100755 --- a/setup/tui-install.sh +++ b/setup/tui-install.sh @@ -12,6 +12,10 @@ LOG="$HOME/dotfiles-install.log" TMP_D="$(mktemp -d)" trap 'rm -rf "$TMP_D"' EXIT +ANSWERFILE="${ANSWERFILE:-/answerfile.json}" +ANSWERFILE_MODE=false +[[ -f "$ANSWERFILE" ]] && ANSWERFILE_MODE=true + BACKTITLE="the_miro's Arch Dotfiles" # ── Cyberqueer dialog theme ─────────────────────────────────────────────────── @@ -56,6 +60,12 @@ require_dialog() { sudo pacman -S --noconfirm dialog || { echo "Failed to install dialog."; exit 1; } } +require_jq() { + command -v jq &>/dev/null && return + echo "jq not found — installing..." + sudo pacman -S --noconfirm jq || { echo "Failed to install jq."; exit 1; } +} + die() { clear printf "\n Error: %s\n\n" "$1" >&2 @@ -79,10 +89,14 @@ run_module() { bash "$script" 2>&1 | tee -a "$LOG" || rc=${PIPESTATUS[0]} if [[ $rc -ne 0 ]]; then - dialog --backtitle "$BACKTITLE" \ - --title " Module Failed " \ - --yesno "$label exited with code $rc.\n\nContinue anyway?" 8 54 \ - || { clear; exit 1; } + if [[ $ANSWERFILE_MODE == true ]]; then + printf "\n Warning: %s exited with code %d — continuing.\n" "$label" "$rc" | tee -a "$LOG" + else + dialog --backtitle "$BACKTITLE" \ + --title " Module Failed " \ + --yesno "$label exited with code $rc.\n\nContinue anyway?" 8 54 \ + || { clear; exit 1; } + fi fi } @@ -148,22 +162,63 @@ count_steps() { [[ "$a" == *"kate"* ]] && TOTAL=$(( TOTAL + 1 )) } +# ── Answerfile ──────────────────────────────────────────────────────────────── +AF_HOSTNAME="" +AF_COMPONENTS="" +AF_DE="none" +AF_APPS="" +AF_COLOR_TEXT="" +AF_COLOR_BG="" +AF_COLOR_HIGHLIGHT="" +AF_COLOR_DARK="" +AF_COLOR_RED="" + +load_answerfile() { + require_jq + AF_HOSTNAME=$(jq -r '.hostname // ""' "$ANSWERFILE") + AF_COMPONENTS=$(jq -r '(.components // []) | join(" ")' "$ANSWERFILE") + AF_DE=$(jq -r '.desktop_environment // "none"' "$ANSWERFILE") + AF_APPS=$(jq -r '(.apps // []) | join(" ")' "$ANSWERFILE") + AF_COLOR_TEXT=$(jq -r '.colors.COLOR_TEXT // ""' "$ANSWERFILE") + AF_COLOR_BG=$(jq -r '.colors.COLOR_BG // ""' "$ANSWERFILE") + AF_COLOR_HIGHLIGHT=$(jq -r '.colors.COLOR_HIGHLIGHT // ""' "$ANSWERFILE") + AF_COLOR_DARK=$(jq -r '.colors.COLOR_DARK // ""' "$ANSWERFILE") + AF_COLOR_RED=$(jq -r '.colors.COLOR_RED // ""' "$ANSWERFILE") +} + +# ── MAC address helper ──────────────────────────────────────────────────────── +get_mac_suffix() { + local mac + mac=$(ip link show 2>/dev/null \ + | awk '/^[0-9]+: [^l][^o]/{iface=1} iface && /link\/ether/{print $2; iface=0; exit}') + printf '%s' "${mac//:/}" +} + # ── Preflight ───────────────────────────────────────────────────────────────── [[ $EUID -eq 0 ]] && die "Run as your normal user (not root)." command -v pacman &>/dev/null || die "pacman not found — Arch Linux required." require_dialog +if $ANSWERFILE_MODE; then + load_answerfile + printf "Answerfile mode: %s\n" "$ANSWERFILE" | tee -a "$LOG" +fi + if ! ping -c1 -W3 archlinux.org &>/dev/null; then - dialog --backtitle "$BACKTITLE" \ - --title " No Network Detected " \ - --msgbox "\n No internet connection found.\n\n nmtui will open so you can configure networking.\n Close nmtui when done to continue the installer.\n" 11 58 - nmtui - if ! ping -c1 -W3 archlinux.org &>/dev/null; then + if $ANSWERFILE_MODE; then + printf "Warning: no internet connection detected.\n" | tee -a "$LOG" + else dialog --backtitle "$BACKTITLE" \ - --title " Still Offline " \ - --yesno "\n Still no internet connection.\n\n Packages cannot be downloaded without network access.\n\n Continue anyway?" 11 58 \ - || { clear; echo "Aborted — no network."; exit 1; } + --title " No Network Detected " \ + --msgbox "\n No internet connection found.\n\n nmtui will open so you can configure networking.\n Close nmtui when done to continue the installer.\n" 11 58 + nmtui + if ! ping -c1 -W3 archlinux.org &>/dev/null; then + dialog --backtitle "$BACKTITLE" \ + --title " Still Offline " \ + --yesno "\n Still no internet connection.\n\n Packages cannot be downloaded without network access.\n\n Continue anyway?" 11 58 \ + || { clear; echo "Aborted — no network."; exit 1; } + fi fi fi @@ -171,9 +226,10 @@ fi printf "Dotfiles install: %s\nDotfiles dir: %s\n" "$(date)" "$DOTFILES_DIR" >> "$LOG" # ── Welcome ─────────────────────────────────────────────────────────────────── -dialog --backtitle "$BACKTITLE" \ - --title " Welcome " \ - --msgbox "\n\ +if ! $ANSWERFILE_MODE; then + dialog --backtitle "$BACKTITLE" \ + --title " Welcome " \ + --msgbox "\n\ the_miro's Arch dotfiles installer\n\ Cyberqueer · Wayland · Hyprland\n\ ─────────────────────────────────────────\n\ @@ -182,159 +238,197 @@ dialog --backtitle "$BACKTITLE" \ \n\ Source: $DOTFILES_DIR\n\ Log: $LOG\n" 14 62 - -# ── Component selection ─────────────────────────────────────────────────────── -COMPONENTS=$(dialog --backtitle "$BACKTITLE" \ - --title " Select Components " \ - --checklist "Space toggles · Enter confirms · Esc quits" 15 68 4 \ - "pkg" "Package managers yay · nvm · rust" on \ - "core" "Core packages 100+ base system packages" on \ - "svc" "Core services NetworkManager · cronie · fail2ban" on \ - "shell" "Shell setup zsh · nvim · yazi · micro · starship" on \ - 3>&1 1>&2 2>&3) || { clear; echo "Aborted."; exit 0; } - -# ── DE selection ────────────────────────────────────────────────────────────── -DE=$(dialog --backtitle "$BACKTITLE" \ - --title " Desktop Environment " \ - --menu "Select a desktop environment · Esc / none to skip:" 20 70 8 \ - "hyprland" "Hyprland — Wayland WM, full setup (primary)" \ - "sway" "Sway — Wayland tiling WM" \ - "kde-plasma" "KDE Plasma — feature-rich Wayland/X11 DE" \ - "gnome" "GNOME — modern Wayland DE" \ - "cosmic" "COSMIC — Rust-built Wayland DE (System76)" \ - "xfce" "XFCE — lightweight X11 DE" \ - "lxqt" "LXQt — lightweight Qt X11 DE" \ - "none" "Skip DE installation" \ - 3>&1 1>&2 2>&3) || DE="none" - -# ── Apps selection ──────────────────────────────────────────────────────────── -SELECTED_APPS=$(dialog --backtitle "$BACKTITLE" \ - --title " Applications " \ - --checklist "Optional applications — installed after base components:" 40 76 32 \ - "ollama" "Ollama local LLM runner + API server" off \ - "llama-cpp" "llama.cpp standalone inference CLI + server" off \ - "open-webui" "Open WebUI browser UI for Ollama / LLM backends" off \ - "claude" "Claude Code Anthropic CLI via npm" off \ - "networking-cli" "Networking CLI nmap · nethogs · mitmproxy · httpie" off \ - "disk-recovery" "Disk Recovery ddrescue · f3" off \ - "himalaya" "Himalaya terminal email client (AUR)" off \ - "gnuplot" "Gnuplot scientific plotting" off \ - "povray" "POV-Ray ray-tracing renderer" off \ - "blender" "Blender 3D creation suite" off \ - "toot" "toot Mastodon CLI client (AUR)" off \ - "db-clients" "DB Clients pgcli · mycli" off \ - "mysql" "MySQL / MariaDB mariadb server + setup" off \ - "productivity" "Productivity taskwarrior · watson · jrnl" off \ - "yt-dlp" "yt-dlp YouTube / media downloader" off \ - "sox" "SoX audio processing toolkit" off \ - "imagemagick" "ImageMagick image manipulation" off \ - "ffmpeg" "FFmpeg extras thumbnailer · GStreamer codecs" off \ - "localtunnel" "LocalTunnel expose localhost via tunnel" off \ - "butter" "butter btrfs snapshot backup (AUR)" off \ - "tlp" "TLP laptop power management" off \ - "steam" "Steam gaming platform" off \ - "vesktop" "Vesktop Discord + Vencord theme" off \ - "spotify" "Spotify launcher + Spicetify theming" off \ - "prism" "PrismLauncher Minecraft launcher (Flatpak)" off \ - "vintagestory" "Vintage Story survival game (AUR)" off \ - "localsend" "LocalSend LAN file transfer (AUR)" off \ - "croc" "croc cross-platform file transfer" off \ - "onlyoffice" "OnlyOffice office suite (AUR)" off \ - "wireshark" "Wireshark network packet analyser (GUI)" off \ - "k8s" "Kubernetes tools kubectl · podman-desktop" off \ - "docker" "Docker docker · docker-compose" off \ - "podman" "Podman rootless containers · buildah" off \ - "cockpit" "Cockpit web UI · machines · podman" off \ - "ssh-server" "SSH server openssh · key-auth · enabled" off \ - "freeipa-client" "FreeIPA Client sssd + ipa-client-install + enrollment" off \ - "freeipa-server" "FreeIPA Server interactive server setup + client gen" off \ - "freeipa-image" "FreeIPA Image OCI/LXC/Proxmox LXC builder + Keycloak" off \ - "python" "Python tools pyright · pipx · pynvim" off \ - "zfs" "ZFS zfs-dkms kernel module" off \ - "wprs" "WPRS wprs-git (AUR)" off \ - \ - "chromium" "Chromium open-source browser (official)" off \ - "firefox-browser" "Firefox Mozilla browser (official)" off \ - "zen-browser" "Zen Browser Firefox-based privacy browser (AUR)" off \ - "nyxt" "Nyxt keyboard-driven browser (AUR)" off \ - "librewolf" "LibreWolf hardened Firefox fork (AUR)" off \ - "min-browser" "Min minimal Electron browser (AUR)" off \ - \ - "vscodium" "VSCodium telemetry-free VS Code (AUR)" off \ - "zed-ide" "Zed high-performance Rust IDE (official)" off \ - "geany" "Geany lightweight IDE + plugins (official)" off \ - "codeblocks" "Code::Blocks C/C++ IDE (official)" off \ - "kate" "Kate KDE advanced text editor (official)" off \ - 3>&1 1>&2 2>&3) || SELECTED_APPS="" - -# ── Confirmation ────────────────────────────────────────────────────────────── -SUMMARY="" -[[ "$COMPONENTS" == *"pkg"* ]] && SUMMARY+=" ✦ Package managers (yay, nvm, rust)\n" -[[ "$COMPONENTS" == *"core"* ]] && SUMMARY+=" ✦ Core packages\n" -[[ "$COMPONENTS" == *"svc"* ]] && SUMMARY+=" ✦ Core services\n" -[[ "$COMPONENTS" == *"shell"* ]] && SUMMARY+=" ✦ Shell setup\n" -[[ "$DE" != "none" ]] && SUMMARY+=" ✦ Desktop environment: $DE\n" - -if [[ -n "$SELECTED_APPS" ]]; then - SUMMARY+="\n Applications:\n" - [[ "$SELECTED_APPS" == *"ollama"* ]] && SUMMARY+=" ✦ Ollama\n" - [[ "$SELECTED_APPS" == *"llama-cpp"* ]] && SUMMARY+=" ✦ llama.cpp\n" - [[ "$SELECTED_APPS" == *"open-webui"* ]] && SUMMARY+=" ✦ Open WebUI\n" - [[ "$SELECTED_APPS" == *"claude"* ]] && SUMMARY+=" ✦ Claude Code\n" - [[ "$SELECTED_APPS" == *"networking-cli"* ]] && SUMMARY+=" ✦ Networking CLI (nmap, nethogs, mitmproxy, httpie)\n" - [[ "$SELECTED_APPS" == *"disk-recovery"* ]] && SUMMARY+=" ✦ Disk Recovery (ddrescue, f3)\n" - [[ "$SELECTED_APPS" == *"himalaya"* ]] && SUMMARY+=" ✦ Himalaya\n" - [[ "$SELECTED_APPS" == *"gnuplot"* ]] && SUMMARY+=" ✦ Gnuplot\n" - [[ "$SELECTED_APPS" == *"povray"* ]] && SUMMARY+=" ✦ POV-Ray\n" - [[ "$SELECTED_APPS" == *"blender"* ]] && SUMMARY+=" ✦ Blender\n" - [[ "$SELECTED_APPS" == *"toot"* ]] && SUMMARY+=" ✦ toot\n" - [[ "$SELECTED_APPS" == *"db-clients"* ]] && SUMMARY+=" ✦ DB Clients (pgcli, mycli)\n" - [[ "$SELECTED_APPS" == *"mysql"* ]] && SUMMARY+=" ✦ MySQL / MariaDB\n" - [[ "$SELECTED_APPS" == *"productivity"* ]] && SUMMARY+=" ✦ Productivity (taskwarrior, watson, jrnl)\n" - [[ "$SELECTED_APPS" == *"yt-dlp"* ]] && SUMMARY+=" ✦ yt-dlp\n" - [[ "$SELECTED_APPS" == *"sox"* ]] && SUMMARY+=" ✦ SoX\n" - [[ "$SELECTED_APPS" == *"imagemagick"* ]] && SUMMARY+=" ✦ ImageMagick\n" - [[ "$SELECTED_APPS" == *"ffmpeg"* ]] && SUMMARY+=" ✦ FFmpeg extras\n" - [[ "$SELECTED_APPS" == *"localtunnel"* ]] && SUMMARY+=" ✦ LocalTunnel\n" - [[ "$SELECTED_APPS" == *"butter"* ]] && SUMMARY+=" ✦ butter (btrfs backup)\n" - [[ "$SELECTED_APPS" == *"tlp"* ]] && SUMMARY+=" ✦ TLP\n" - [[ "$SELECTED_APPS" == *"steam"* ]] && SUMMARY+=" ✦ Steam\n" - [[ "$SELECTED_APPS" == *"vesktop"* ]] && SUMMARY+=" ✦ Vesktop + Vencord theme\n" - [[ "$SELECTED_APPS" == *"spotify"* ]] && SUMMARY+=" ✦ Spotify + Spicetify\n" - [[ "$SELECTED_APPS" == *"prism"* ]] && SUMMARY+=" ✦ PrismLauncher\n" - [[ "$SELECTED_APPS" == *"vintagestory"* ]] && SUMMARY+=" ✦ Vintage Story\n" - [[ "$SELECTED_APPS" == *"localsend"* ]] && SUMMARY+=" ✦ LocalSend\n" - [[ "$SELECTED_APPS" == *"croc"* ]] && SUMMARY+=" ✦ croc\n" - [[ "$SELECTED_APPS" == *"onlyoffice"* ]] && SUMMARY+=" ✦ OnlyOffice\n" - [[ "$SELECTED_APPS" == *"wireshark"* ]] && SUMMARY+=" ✦ Wireshark\n" - [[ "$SELECTED_APPS" == *"k8s"* ]] && SUMMARY+=" ✦ Kubernetes tools\n" - [[ "$SELECTED_APPS" == *"docker"* ]] && SUMMARY+=" ✦ Docker + Compose\n" - [[ "$SELECTED_APPS" == *"podman"* ]] && SUMMARY+=" ✦ Podman (rootless) + Buildah\n" - [[ "$SELECTED_APPS" == *"cockpit"* ]] && SUMMARY+=" ✦ Cockpit web UI\n" - [[ "$SELECTED_APPS" == *"ssh-server"* ]] && SUMMARY+=" ✦ SSH server (openssh, key auth)\n" - [[ "$SELECTED_APPS" == *"freeipa-client"* ]] && SUMMARY+=" ✦ FreeIPA Client\n" - [[ "$SELECTED_APPS" == *"freeipa-server"* ]] && SUMMARY+=" ✦ FreeIPA Server\n" - [[ "$SELECTED_APPS" == *"freeipa-image"* ]] && SUMMARY+=" ✦ FreeIPA Image Builder\n" - [[ "$SELECTED_APPS" == *"python"* ]] && SUMMARY+=" ✦ Python tools\n" - [[ "$SELECTED_APPS" == *"zfs"* ]] && SUMMARY+=" ✦ ZFS\n" - [[ "$SELECTED_APPS" == *"wprs"* ]] && SUMMARY+=" ✦ WPRS\n" - [[ "$SELECTED_APPS" == *"chromium"* ]] && SUMMARY+=" ✦ Chromium\n" - [[ "$SELECTED_APPS" == *"firefox-browser"* ]] && SUMMARY+=" ✦ Firefox\n" - [[ "$SELECTED_APPS" == *"zen-browser"* ]] && SUMMARY+=" ✦ Zen Browser\n" - [[ "$SELECTED_APPS" == *"nyxt"* ]] && SUMMARY+=" ✦ Nyxt\n" - [[ "$SELECTED_APPS" == *"librewolf"* ]] && SUMMARY+=" ✦ LibreWolf\n" - [[ "$SELECTED_APPS" == *"min-browser"* ]] && SUMMARY+=" ✦ Min Browser\n" - [[ "$SELECTED_APPS" == *"vscodium"* ]] && SUMMARY+=" ✦ VSCodium\n" - [[ "$SELECTED_APPS" == *"zed-ide"* ]] && SUMMARY+=" ✦ Zed IDE\n" - [[ "$SELECTED_APPS" == *"geany"* ]] && SUMMARY+=" ✦ Geany\n" - [[ "$SELECTED_APPS" == *"codeblocks"* ]] && SUMMARY+=" ✦ Code::Blocks\n" - [[ "$SELECTED_APPS" == *"kate"* ]] && SUMMARY+=" ✦ Kate\n" fi -dialog --backtitle "$BACKTITLE" \ - --title " Confirm Installation " \ - --yesno "\n Components to install:\n\n${SUMMARY}\n Log: $LOG\n\n Proceed?" \ - 24 62 || { clear; echo "Aborted."; exit 0; } +# ── Hostname ────────────────────────────────────────────────────────────────── +HOSTNAME_SET="" +if $ANSWERFILE_MODE; then + if [[ -n "$AF_HOSTNAME" ]]; then + MAC=$(get_mac_suffix) + HOSTNAME_SET="${AF_HOSTNAME}-${MAC}" + printf "Hostname (from answerfile + MAC): %s\n" "$HOSTNAME_SET" | tee -a "$LOG" + fi +else + HOSTNAME_INPUT=$(dialog --backtitle "$BACKTITLE" \ + --title " Hostname " \ + --inputbox "\n Hostname for this machine (leave blank to keep default).\n" 9 54 "" \ + 3>&1 1>&2 2>&3) || HOSTNAME_INPUT="" + HOSTNAME_SET="$HOSTNAME_INPUT" +fi + +if [[ -n "$HOSTNAME_SET" ]]; then + sudo hostnamectl set-hostname "$HOSTNAME_SET" 2>/dev/null \ + || echo "$HOSTNAME_SET" | sudo tee /etc/hostname > /dev/null + printf "Hostname set: %s\n" "$HOSTNAME_SET" >> "$LOG" +fi + +# ── Component selection ─────────────────────────────────────────────────────── +if $ANSWERFILE_MODE; then + COMPONENTS="$AF_COMPONENTS" +else + COMPONENTS=$(dialog --backtitle "$BACKTITLE" \ + --title " Select Components " \ + --checklist "Space toggles · Enter confirms · Esc quits" 15 68 4 \ + "pkg" "Package managers yay · nvm · rust" on \ + "core" "Core packages 100+ base system packages" on \ + "svc" "Core services NetworkManager · cronie · fail2ban" on \ + "shell" "Shell setup zsh · nvim · yazi · micro · starship" on \ + 3>&1 1>&2 2>&3) || { clear; echo "Aborted."; exit 0; } +fi + +# ── DE selection ────────────────────────────────────────────────────────────── +if $ANSWERFILE_MODE; then + DE="$AF_DE" +else + DE=$(dialog --backtitle "$BACKTITLE" \ + --title " Desktop Environment " \ + --menu "Select a desktop environment · Esc / none to skip:" 20 70 8 \ + "hyprland" "Hyprland — Wayland WM, full setup (primary)" \ + "sway" "Sway — Wayland tiling WM" \ + "kde-plasma" "KDE Plasma — feature-rich Wayland/X11 DE" \ + "gnome" "GNOME — modern Wayland DE" \ + "cosmic" "COSMIC — Rust-built Wayland DE (System76)" \ + "xfce" "XFCE — lightweight X11 DE" \ + "lxqt" "LXQt — lightweight Qt X11 DE" \ + "none" "Skip DE installation" \ + 3>&1 1>&2 2>&3) || DE="none" +fi + +# ── Apps selection ──────────────────────────────────────────────────────────── +if $ANSWERFILE_MODE; then + SELECTED_APPS="$AF_APPS" +else + SELECTED_APPS=$(dialog --backtitle "$BACKTITLE" \ + --title " Applications " \ + --checklist "Optional applications — installed after base components:" 40 76 32 \ + "ollama" "Ollama local LLM runner + API server" off \ + "llama-cpp" "llama.cpp standalone inference CLI + server" off \ + "open-webui" "Open WebUI browser UI for Ollama / LLM backends" off \ + "claude" "Claude Code Anthropic CLI via npm" off \ + "networking-cli" "Networking CLI nmap · nethogs · mitmproxy · httpie" off \ + "disk-recovery" "Disk Recovery ddrescue · f3" off \ + "himalaya" "Himalaya terminal email client (AUR)" off \ + "gnuplot" "Gnuplot scientific plotting" off \ + "povray" "POV-Ray ray-tracing renderer" off \ + "blender" "Blender 3D creation suite" off \ + "toot" "toot Mastodon CLI client (AUR)" off \ + "db-clients" "DB Clients pgcli · mycli" off \ + "mysql" "MySQL / MariaDB mariadb server + setup" off \ + "productivity" "Productivity taskwarrior · watson · jrnl" off \ + "yt-dlp" "yt-dlp YouTube / media downloader" off \ + "sox" "SoX audio processing toolkit" off \ + "imagemagick" "ImageMagick image manipulation" off \ + "ffmpeg" "FFmpeg extras thumbnailer · GStreamer codecs" off \ + "localtunnel" "LocalTunnel expose localhost via tunnel" off \ + "butter" "butter btrfs snapshot backup (AUR)" off \ + "tlp" "TLP laptop power management" off \ + "steam" "Steam gaming platform" off \ + "vesktop" "Vesktop Discord + Vencord theme" off \ + "spotify" "Spotify launcher + Spicetify theming" off \ + "prism" "PrismLauncher Minecraft launcher (Flatpak)" off \ + "vintagestory" "Vintage Story survival game (AUR)" off \ + "localsend" "LocalSend LAN file transfer (AUR)" off \ + "croc" "croc cross-platform file transfer" off \ + "onlyoffice" "OnlyOffice office suite (AUR)" off \ + "wireshark" "Wireshark network packet analyser (GUI)" off \ + "k8s" "Kubernetes tools kubectl · podman-desktop" off \ + "docker" "Docker docker · docker-compose" off \ + "podman" "Podman rootless containers · buildah" off \ + "cockpit" "Cockpit web UI · machines · podman" off \ + "ssh-server" "SSH server openssh · key-auth · enabled" off \ + "freeipa-client" "FreeIPA Client sssd + ipa-client-install + enrollment" off \ + "freeipa-server" "FreeIPA Server interactive server setup + client gen" off \ + "freeipa-image" "FreeIPA Image OCI/LXC/Proxmox LXC builder + Keycloak" off \ + "python" "Python tools pyright · pipx · pynvim" off \ + "zfs" "ZFS zfs-dkms kernel module" off \ + "wprs" "WPRS wprs-git (AUR)" off \ + \ + "chromium" "Chromium open-source browser (official)" off \ + "firefox-browser" "Firefox Mozilla browser (official)" off \ + "zen-browser" "Zen Browser Firefox-based privacy browser (AUR)" off \ + "nyxt" "Nyxt keyboard-driven browser (AUR)" off \ + "librewolf" "LibreWolf hardened Firefox fork (AUR)" off \ + "min-browser" "Min minimal Electron browser (AUR)" off \ + \ + "vscodium" "VSCodium telemetry-free VS Code (AUR)" off \ + "zed-ide" "Zed high-performance Rust IDE (official)" off \ + "geany" "Geany lightweight IDE + plugins (official)" off \ + "codeblocks" "Code::Blocks C/C++ IDE (official)" off \ + "kate" "Kate KDE advanced text editor (official)" off \ + 3>&1 1>&2 2>&3) || SELECTED_APPS="" +fi + +# ── Confirmation (interactive mode only) ────────────────────────────────────── +if ! $ANSWERFILE_MODE; then + SUMMARY="" + [[ -n "$HOSTNAME_SET" ]] && SUMMARY+=" ✦ Hostname: $HOSTNAME_SET\n" + [[ "$COMPONENTS" == *"pkg"* ]] && SUMMARY+=" ✦ Package managers (yay, nvm, rust)\n" + [[ "$COMPONENTS" == *"core"* ]] && SUMMARY+=" ✦ Core packages\n" + [[ "$COMPONENTS" == *"svc"* ]] && SUMMARY+=" ✦ Core services\n" + [[ "$COMPONENTS" == *"shell"* ]] && SUMMARY+=" ✦ Shell setup\n" + [[ "$DE" != "none" ]] && SUMMARY+=" ✦ Desktop environment: $DE\n" + + if [[ -n "$SELECTED_APPS" ]]; then + SUMMARY+="\n Applications:\n" + [[ "$SELECTED_APPS" == *"ollama"* ]] && SUMMARY+=" ✦ Ollama\n" + [[ "$SELECTED_APPS" == *"llama-cpp"* ]] && SUMMARY+=" ✦ llama.cpp\n" + [[ "$SELECTED_APPS" == *"open-webui"* ]] && SUMMARY+=" ✦ Open WebUI\n" + [[ "$SELECTED_APPS" == *"claude"* ]] && SUMMARY+=" ✦ Claude Code\n" + [[ "$SELECTED_APPS" == *"networking-cli"* ]] && SUMMARY+=" ✦ Networking CLI (nmap, nethogs, mitmproxy, httpie)\n" + [[ "$SELECTED_APPS" == *"disk-recovery"* ]] && SUMMARY+=" ✦ Disk Recovery (ddrescue, f3)\n" + [[ "$SELECTED_APPS" == *"himalaya"* ]] && SUMMARY+=" ✦ Himalaya\n" + [[ "$SELECTED_APPS" == *"gnuplot"* ]] && SUMMARY+=" ✦ Gnuplot\n" + [[ "$SELECTED_APPS" == *"povray"* ]] && SUMMARY+=" ✦ POV-Ray\n" + [[ "$SELECTED_APPS" == *"blender"* ]] && SUMMARY+=" ✦ Blender\n" + [[ "$SELECTED_APPS" == *"toot"* ]] && SUMMARY+=" ✦ toot\n" + [[ "$SELECTED_APPS" == *"db-clients"* ]] && SUMMARY+=" ✦ DB Clients (pgcli, mycli)\n" + [[ "$SELECTED_APPS" == *"mysql"* ]] && SUMMARY+=" ✦ MySQL / MariaDB\n" + [[ "$SELECTED_APPS" == *"productivity"* ]] && SUMMARY+=" ✦ Productivity (taskwarrior, watson, jrnl)\n" + [[ "$SELECTED_APPS" == *"yt-dlp"* ]] && SUMMARY+=" ✦ yt-dlp\n" + [[ "$SELECTED_APPS" == *"sox"* ]] && SUMMARY+=" ✦ SoX\n" + [[ "$SELECTED_APPS" == *"imagemagick"* ]] && SUMMARY+=" ✦ ImageMagick\n" + [[ "$SELECTED_APPS" == *"ffmpeg"* ]] && SUMMARY+=" ✦ FFmpeg extras\n" + [[ "$SELECTED_APPS" == *"localtunnel"* ]] && SUMMARY+=" ✦ LocalTunnel\n" + [[ "$SELECTED_APPS" == *"butter"* ]] && SUMMARY+=" ✦ butter (btrfs backup)\n" + [[ "$SELECTED_APPS" == *"tlp"* ]] && SUMMARY+=" ✦ TLP\n" + [[ "$SELECTED_APPS" == *"steam"* ]] && SUMMARY+=" ✦ Steam\n" + [[ "$SELECTED_APPS" == *"vesktop"* ]] && SUMMARY+=" ✦ Vesktop + Vencord theme\n" + [[ "$SELECTED_APPS" == *"spotify"* ]] && SUMMARY+=" ✦ Spotify + Spicetify\n" + [[ "$SELECTED_APPS" == *"prism"* ]] && SUMMARY+=" ✦ PrismLauncher\n" + [[ "$SELECTED_APPS" == *"vintagestory"* ]] && SUMMARY+=" ✦ Vintage Story\n" + [[ "$SELECTED_APPS" == *"localsend"* ]] && SUMMARY+=" ✦ LocalSend\n" + [[ "$SELECTED_APPS" == *"croc"* ]] && SUMMARY+=" ✦ croc\n" + [[ "$SELECTED_APPS" == *"onlyoffice"* ]] && SUMMARY+=" ✦ OnlyOffice\n" + [[ "$SELECTED_APPS" == *"wireshark"* ]] && SUMMARY+=" ✦ Wireshark\n" + [[ "$SELECTED_APPS" == *"k8s"* ]] && SUMMARY+=" ✦ Kubernetes tools\n" + [[ "$SELECTED_APPS" == *"docker"* ]] && SUMMARY+=" ✦ Docker + Compose\n" + [[ "$SELECTED_APPS" == *"podman"* ]] && SUMMARY+=" ✦ Podman (rootless) + Buildah\n" + [[ "$SELECTED_APPS" == *"cockpit"* ]] && SUMMARY+=" ✦ Cockpit web UI\n" + [[ "$SELECTED_APPS" == *"ssh-server"* ]] && SUMMARY+=" ✦ SSH server (openssh, key auth)\n" + [[ "$SELECTED_APPS" == *"freeipa-client"* ]] && SUMMARY+=" ✦ FreeIPA Client\n" + [[ "$SELECTED_APPS" == *"freeipa-server"* ]] && SUMMARY+=" ✦ FreeIPA Server\n" + [[ "$SELECTED_APPS" == *"freeipa-image"* ]] && SUMMARY+=" ✦ FreeIPA Image Builder\n" + [[ "$SELECTED_APPS" == *"python"* ]] && SUMMARY+=" ✦ Python tools\n" + [[ "$SELECTED_APPS" == *"zfs"* ]] && SUMMARY+=" ✦ ZFS\n" + [[ "$SELECTED_APPS" == *"wprs"* ]] && SUMMARY+=" ✦ WPRS\n" + [[ "$SELECTED_APPS" == *"chromium"* ]] && SUMMARY+=" ✦ Chromium\n" + [[ "$SELECTED_APPS" == *"firefox-browser"* ]] && SUMMARY+=" ✦ Firefox\n" + [[ "$SELECTED_APPS" == *"zen-browser"* ]] && SUMMARY+=" ✦ Zen Browser\n" + [[ "$SELECTED_APPS" == *"nyxt"* ]] && SUMMARY+=" ✦ Nyxt\n" + [[ "$SELECTED_APPS" == *"librewolf"* ]] && SUMMARY+=" ✦ LibreWolf\n" + [[ "$SELECTED_APPS" == *"min-browser"* ]] && SUMMARY+=" ✦ Min Browser\n" + [[ "$SELECTED_APPS" == *"vscodium"* ]] && SUMMARY+=" ✦ VSCodium\n" + [[ "$SELECTED_APPS" == *"zed-ide"* ]] && SUMMARY+=" ✦ Zed IDE\n" + [[ "$SELECTED_APPS" == *"geany"* ]] && SUMMARY+=" ✦ Geany\n" + [[ "$SELECTED_APPS" == *"codeblocks"* ]] && SUMMARY+=" ✦ Code::Blocks\n" + [[ "$SELECTED_APPS" == *"kate"* ]] && SUMMARY+=" ✦ Kate\n" + fi + + dialog --backtitle "$BACKTITLE" \ + --title " Confirm Installation " \ + --yesno "\n Components to install:\n\n${SUMMARY}\n Log: $LOG\n\n Proceed?" \ + 24 62 || { clear; echo "Aborted."; exit 0; } +fi count_steps "$COMPONENTS" "$DE" "$SELECTED_APPS" @@ -410,10 +504,85 @@ fi [[ "$SELECTED_APPS" == *"codeblocks"* ]] && run_module "Code::Blocks" "$APPS/codeblocks.sh" [[ "$SELECTED_APPS" == *"kate"* ]] && run_module "Kate" "$APPS/kate.sh" -# ── Done ────────────────────────────────────────────────────────────────────── -dialog --backtitle "$BACKTITLE" \ - --title " Done " \ - --msgbox "\n All selected components installed.\n\n Log: $LOG\n\n A reboot may be required for all changes to take effect.\n" 12 58 +# ── Colorway (final step) ───────────────────────────────────────────────────── +# Read defaults from repo colors.conf for pre-population +declare -A _cdef +if [[ -f "$DOTFILES_DIR/colors.conf" ]]; then + while IFS='=' read -r k v; do + k="${k%%[[:space:]]*}" + [[ "$k" =~ ^[[:space:]]*# || -z "$k" ]] && continue + v="${v%%#*}"; v="${v//[[:space:]]/}"; v="${v^^}" + _cdef[$k]="$v" + done < "$DOTFILES_DIR/colors.conf" +fi +DEF_TEXT="${_cdef[COLOR_TEXT]:-D6ABAB}" +DEF_BG="${_cdef[COLOR_BG]:-1A1A1A}" +DEF_HIGHLIGHT="${_cdef[COLOR_HIGHLIGHT]:-E40046}" +DEF_DARK="${_cdef[COLOR_DARK]:-5018DD}" +DEF_RED="${_cdef[COLOR_RED]:-F50505}" -clear -printf "\n Done. Log: %s\n\n" "$LOG" +_write_colors_conf() { + local out="$1" t="$2" b="$3" h="$4" d="$5" r="$6" + printf 'COLOR_TEXT=%s\nCOLOR_BG=%s\nCOLOR_HIGHLIGHT=%s\nCOLOR_DARK=%s\nCOLOR_RED=%s\n' \ + "${t^^}" "${b^^}" "${h^^}" "${d^^}" "${r^^}" > "$out" +} + +if $ANSWERFILE_MODE; then + # Apply colors from answerfile if any are set + if [[ -n "$AF_COLOR_TEXT$AF_COLOR_BG$AF_COLOR_HIGHLIGHT$AF_COLOR_DARK$AF_COLOR_RED" ]]; then + TMP_COLORS="$TMP_D/colors.conf" + _write_colors_conf "$TMP_COLORS" \ + "${AF_COLOR_TEXT:-$DEF_TEXT}" \ + "${AF_COLOR_BG:-$DEF_BG}" \ + "${AF_COLOR_HIGHLIGHT:-$DEF_HIGHLIGHT}" \ + "${AF_COLOR_DARK:-$DEF_DARK}" \ + "${AF_COLOR_RED:-$DEF_RED}" + printf "Applying colorway from answerfile...\n" | tee -a "$LOG" + bash "$DOTFILES_DIR/apply-theme.sh" "$TMP_COLORS" 2>&1 | tee -a "$LOG" || true + fi +else + # Interactive: show color form dialog + COLORWAY_RAW=$(dialog --backtitle "$BACKTITLE" \ + --title " Colorway (optional) " \ + --form "\n Customize theme colors — bare 6-digit hex, no #.\n Leave unchanged to skip colorway setup.\n" \ + 16 62 5 \ + "COLOR_TEXT " 1 1 "$DEF_TEXT" 1 18 10 7 \ + "COLOR_BG " 2 1 "$DEF_BG" 2 18 10 7 \ + "COLOR_HIGHLIGHT " 3 1 "$DEF_HIGHLIGHT" 3 18 10 7 \ + "COLOR_DARK " 4 1 "$DEF_DARK" 4 18 10 7 \ + "COLOR_RED " 5 1 "$DEF_RED" 5 18 10 7 \ + 3>&1 1>&2 2>&3) || COLORWAY_RAW="" + + if [[ -n "$COLORWAY_RAW" ]]; then + mapfile -t _cv <<< "$COLORWAY_RAW" + N_TEXT="${_cv[0]:-$DEF_TEXT}" + N_BG="${_cv[1]:-$DEF_BG}" + N_HIGHLIGHT="${_cv[2]:-$DEF_HIGHLIGHT}" + N_DARK="${_cv[3]:-$DEF_DARK}" + N_RED="${_cv[4]:-$DEF_RED}" + + if [[ "${N_TEXT^^}" != "$DEF_TEXT" || \ + "${N_BG^^}" != "$DEF_BG" || \ + "${N_HIGHLIGHT^^}" != "$DEF_HIGHLIGHT" || \ + "${N_DARK^^}" != "$DEF_DARK" || \ + "${N_RED^^}" != "$DEF_RED" ]]; then + TMP_COLORS="$TMP_D/colors.conf" + _write_colors_conf "$TMP_COLORS" "$N_TEXT" "$N_BG" "$N_HIGHLIGHT" "$N_DARK" "$N_RED" + clear + printf "\n\033[1;35m Applying colorway...\033[0m\n\n" + bash "$DOTFILES_DIR/apply-theme.sh" "$TMP_COLORS" 2>&1 | tee -a "$LOG" || true + fi + fi +fi + +# ── Done ────────────────────────────────────────────────────────────────────── +if $ANSWERFILE_MODE; then + printf "\nDone. Log: %s\n" "$LOG" +else + dialog --backtitle "$BACKTITLE" \ + --title " Done " \ + --msgbox "\n All selected components installed.\n\n Log: $LOG\n\n A reboot may be required for all changes to take effect.\n" 12 58 + + clear + printf "\n Done. Log: %s\n\n" "$LOG" +fi From f1ea6dcb54967bee97f76cacdf3836aa09164f58 Mon Sep 17 00:00:00 2001 From: The_miro Date: Mon, 18 May 2026 15:25:05 +0200 Subject: [PATCH 024/116] ansible: add collect-luks-keys playbook for LUKS backup key archival New playbook collect-luks-keys.yml connects to all enrolled FreeIPA clients, checks for /_LUKS_BACKUP_KEY (placed there by the installer when encryption is enabled), and fetches each key to the Ansible controller as luks-keys/_LUKS_BACKUP_KEY (mode 0400). Hosts without the file are reported but not treated as errors. The luks-keys/ store directory is created with mode 0700. Usage: ansible-playbook -i inventory collect-luks-keys.yml Can be scheduled via cron on the controller for automatic collection. Co-Authored-By: Claude Sonnet 4.6 --- .../ansible/collect-luks-keys.yml | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 setup/modules/FreeipaAnsible/ansible/collect-luks-keys.yml diff --git a/setup/modules/FreeipaAnsible/ansible/collect-luks-keys.yml b/setup/modules/FreeipaAnsible/ansible/collect-luks-keys.yml new file mode 100644 index 0000000..ff986e3 --- /dev/null +++ b/setup/modules/FreeipaAnsible/ansible/collect-luks-keys.yml @@ -0,0 +1,69 @@ +--- +# collect-luks-keys.yml — fetch LUKS backup keys from enrolled clients. +# +# When a client was installed with disk encryption via the M-Archy installer, +# a backup LUKS key is stored at /_LUKS_BACKUP_KEY inside the encrypted root. +# This playbook fetches those keys to the controller and names each copy +# _LUKS_BACKUP_KEY so they can be archived securely. +# +# Keys are stored in luks-keys/ relative to the playbook directory. +# Protect that directory carefully — keys can unlock client root partitions. +# +# Usage: +# ansible-playbook -i inventory collect-luks-keys.yml +# ansible-playbook -i inventory collect-luks-keys.yml -e luks_keys_store=/secure/path +# +# To run automatically, add a cron job on the Ansible controller: +# 0 3 * * * cd /path/to/playbooks && ansible-playbook -i inventory collect-luks-keys.yml + +- name: Collect LUKS backup keys from enrolled clients + hosts: all + become: yes + + vars: + luks_key_path: /_LUKS_BACKUP_KEY + luks_keys_store: "{{ playbook_dir }}/luks-keys" + + tasks: + + - name: Ensure local key store directory exists + file: + path: "{{ luks_keys_store }}" + state: directory + mode: '0700' + delegate_to: localhost + run_once: true + become: false + + - name: Check for LUKS backup key on client + stat: + path: "{{ luks_key_path }}" + register: luks_key_stat + + - name: Fetch LUKS backup key to controller + fetch: + src: "{{ luks_key_path }}" + dest: "{{ luks_keys_store }}/{{ inventory_hostname }}_LUKS_BACKUP_KEY" + flat: yes + when: luks_key_stat.stat.exists + register: luks_key_fetch + + - name: Secure fetched key permissions + file: + path: "{{ luks_keys_store }}/{{ inventory_hostname }}_LUKS_BACKUP_KEY" + mode: '0400' + delegate_to: localhost + become: false + when: + - luks_key_stat.stat.exists + - luks_key_fetch is changed + + - name: Report key status + debug: + msg: >- + {{ inventory_hostname }}: + {% if luks_key_stat.stat.exists %} + key found and fetched to {{ luks_keys_store }}/{{ inventory_hostname }}_LUKS_BACKUP_KEY + {% else %} + no /_LUKS_BACKUP_KEY present (unencrypted or already collected) + {% endif %} From 8128ae84e46302ed63e76539d916c381e6312590 Mon Sep 17 00:00:00 2001 From: The_miro Date: Mon, 18 May 2026 15:47:09 +0200 Subject: [PATCH 025/116] docs: add full documentation site with CyberQueer HTML theme 9 Markdown pages covering installation, theming, Hyprland, editors, modules, archiso, FreeIPA/Ansible, and utilities. md-to-html.sh converts them to self-contained styled HTML using the live palette from colors.conf with inline CyberQueer CSS. Co-Authored-By: Claude Sonnet 4.6 --- docs/html/archiso.html | 432 ++++++++++++++++++ docs/html/editors.html | 575 +++++++++++++++++++++++ docs/html/freeipa-ansible.html | 441 ++++++++++++++++++ docs/html/hyprland.html | 780 +++++++++++++++++++++++++++++++ docs/html/index.html | 396 ++++++++++++++++ docs/html/installation.html | 501 ++++++++++++++++++++ docs/html/modules.html | 807 +++++++++++++++++++++++++++++++++ docs/html/theming.html | 465 +++++++++++++++++++ docs/html/utilities.html | 403 ++++++++++++++++ docs/md-to-html.sh | 407 +++++++++++++++++ docs/md/archiso.md | 170 +++++++ docs/md/editors.md | 159 +++++++ docs/md/freeipa-ansible.md | 211 +++++++++ docs/md/hyprland.md | 260 +++++++++++ docs/md/index.md | 77 ++++ docs/md/installation.md | 187 ++++++++ docs/md/modules.md | 191 ++++++++ docs/md/theming.md | 140 ++++++ docs/md/utilities.md | 173 +++++++ 19 files changed, 6775 insertions(+) create mode 100644 docs/html/archiso.html create mode 100644 docs/html/editors.html create mode 100644 docs/html/freeipa-ansible.html create mode 100644 docs/html/hyprland.html create mode 100644 docs/html/index.html create mode 100644 docs/html/installation.html create mode 100644 docs/html/modules.html create mode 100644 docs/html/theming.html create mode 100644 docs/html/utilities.html create mode 100644 docs/md-to-html.sh create mode 100644 docs/md/archiso.md create mode 100644 docs/md/editors.md create mode 100644 docs/md/freeipa-ansible.md create mode 100644 docs/md/hyprland.md create mode 100644 docs/md/index.md create mode 100644 docs/md/installation.md create mode 100644 docs/md/modules.md create mode 100644 docs/md/theming.md create mode 100644 docs/md/utilities.md diff --git a/docs/html/archiso.html b/docs/html/archiso.html new file mode 100644 index 0000000..c5d2d7b --- /dev/null +++ b/docs/html/archiso.html @@ -0,0 +1,432 @@ + + + + + + Archiso — Custom Live Installer — M-Archy Dotfiles + + + + + ← Index +
+

Archiso — Custom Live Installer

+

The archiso build system produces a bootable Arch Linux ISO pre-loaded with the M-Archy installer scripts. Optionally, an answerfile can be embedded so the entire install — base OS + dotfiles — runs with zero user interaction.

+
+

Prerequisites

+
sudo pacman -S archiso jq
+
+
+

Building the ISO

+
# Basic build — interactive installer, no answerfile
+bash setup/archiso/build.sh
+
+# Specify output directory
+bash setup/archiso/build.sh /path/to/output
+
+# Embed an answerfile for automated deployment
+bash setup/archiso/build.sh --preconf
+
+# Embed a specific answerfile
+bash setup/archiso/build.sh --preconf ~/my-server.json
+
+# Both flags together
+bash setup/archiso/build.sh --preconf ~/my-server.json /media/usb/output
+
+ + + + + + + + + + + + + + + + + + + + + +
FlagEffect
(none)Clean ISO, no answerfile
--preconfEmbed ~/answerfile.json at /answerfile.json in the ISO
--preconf FILEEmbed the specified file instead
+

Build artefacts land in ~/m-archy-out/ by default. Override with the OUT_DIR environment variable or by passing a path argument.

+

Environment Variables

+ + + + + + + + + + + + + + + + + + + + +
VariableDefaultPurpose
WORK_DIR~/m-archy-buildScratch space for mkarchiso
OUT_DIR~/m-archy-outISO output directory
+
+

What the Build Does

+
    +
  1. Copies the upstream releng Arch base profile
  2. +
  3. Applies the M-Archy overlay (setup/archiso/overlay/)
  4. +
  5. Replaces profiledef.sh with the M-Archy version
  6. +
  7. Adds extra packages from packages.extra
  8. +
  9. Embeds both installer scripts (arch-autoinstall.sh, archbaseos-guided-install.sh) into /root/installer/
  10. +
  11. If --preconf: copies the answerfile to /answerfile.json in the ISO's airootfs
  12. +
  13. Runs mkarchiso to produce the final .iso
  14. +
+
+

Extra Packages on the Live System

+

Defined in setup/archiso/overlay/packages.extra:

+
git
+jq
+pam-u2f
+btop
+fastfetch
+openssh
+
+

These are added on top of the standard Arch releng package set.

+
+

Live System Entry Points

+

Once booted from the ISO, the following are available:

+

install-arch

+

A command placed in /usr/local/bin/:

+
install-arch           # guided mode (default)
+install-arch guided    # guided interactive install
+install-arch auto      # automated mode (reads /answerfile.json)
+
+

/root/launch.sh

+

Internal dispatcher used by install-arch.

+

/answerfile.json

+

Only present when built with --preconf. Both installer scripts check for this file on startup. If found, all prompts are answered from it — the only interaction required is the disk-encryption password (passwords are never stored in answerfiles).

+
+

Automated Deployment Workflow

+
┌─────────────────────────────────────┐
+│  Developer machine                  │
+│                                     │
+│  1. generate-answerfile.sh          │
+│     → ~/answerfile.json             │
+│                                     │
+│  2. build.sh --preconf              │
+│     → ~/m-archy-out/m-archy.iso     │
+│                                     │
+│  3. dd if=m-archy.iso of=/dev/sdX   │
+└──────────────┬──────────────────────┘
+               │ USB
+               ▼
+┌─────────────────────────────────────┐
+│  Target machine (boots from USB)    │
+│                                     │
+│  4. install-arch auto               │
+│     reads /answerfile.json          │
+│     installs base OS                │
+│     runs tui-install.sh in chroot   │
+│     installs dotfiles & apps        │
+│                                     │
+│  5. Reboot → ready system           │
+└─────────────────────────────────────┘
+
+

For multi-machine deployments, the hostname field in the answerfile is combined with the machine's MAC address, so each system gets a unique hostname even though they share the same answerfile.

+
+

Overlay Structure

+
setup/archiso/overlay/
+├── airootfs/
+│   ├── etc/motd                          # Welcome message
+│   ├── root/
+│   │   └── launch.sh                     # Installer entry point
+│   └── usr/local/bin/
+│       └── install-arch                  # User-facing CLI command
+├── packages.extra                        # Additional live-system packages
+└── profiledef.sh                         # M-Archy ISO profile definition
+
+

The build.sh script also adds at build time:

+
airootfs/root/installer/
+├── arch-autoinstall.sh
+└── archbaseos-guided-install.sh
+
+
+

Writing the ISO to USB

+
# Find the USB drive
+lsblk
+
+# Write (replace /dev/sdX with your drive — ALL DATA WILL BE ERASED)
+sudo dd if=~/m-archy-out/m-archy-*.iso of=/dev/sdX bs=4M status=progress oflag=sync
+
+

Or use ventoy / balenaEtcher as alternatives.

+
+
+ Generated by md-to-html.sh  ·  CyberQueer theme  ·  2026-05-18 +
+ + diff --git a/docs/html/editors.html b/docs/html/editors.html new file mode 100644 index 0000000..d9773b4 --- /dev/null +++ b/docs/html/editors.html @@ -0,0 +1,575 @@ + + + + + + Editors — M-Archy Dotfiles + + + + + ← Index +
+

Editors

+

Three editors are configured and deployed by the shell component: Neovim (primary), Micro (lightweight), and Yazi (terminal file manager).

+
+

Neovim

+

Config lives in nvim/. Deployed to ~/.config/nvim/ during shell module install.

+

Plugin Manager

+

vim-plug is auto-installed on first launch. Run :PlugInstall after the first start to fetch all plugins.

+

Plugins

+

Language & Completion

+ + + + + + + + + + + + + + + + + + + + + +
PluginPurpose
neoclide/coc.nvimLSP client, auto-completion, diagnostics
rust-lang/rust.vimRust filetype support
nvim-telescope/telescope.nvimFuzzy finder (files, grep, LSP symbols)
+

UI

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PluginPurpose
vim-airline/vim-airlineStatus bar
vim-airline/vim-airline-themesAirline theme collection
junegunn/goyo.vimDistraction-free writing mode
voldikss/vim-floatermFloating terminal windows
norcalli/nvim-colorizer.luaInline colour preview
+ + + + + + + + + + + + + + + + + + + + + + +
PluginPurpose
preservim/nerdtreeFile tree sidebar
junegunn/fzf + fzf.vimFuzzy file/buffer search
elihunter173/dirbuf.nvimEditable directory buffer
+

Snippets

+ + + + + + + + + + + + + + + + + +
PluginPurpose
SirVer/ultisnipsSnippet engine
honza/vim-snippetsSnippet collection
+

Database

+ + + + + + + + + + + + + + + + + +
PluginPurpose
tpope/vim-dadbodDatabase query runner
kristijanhusak/vim-dadbod-uiGUI for vim-dadbod
+

Markdown

+ + + + + + + + + + + + + + + + + +
PluginPurpose
tadmccorkle/markdown.nvimEnhanced Markdown support
ellisonleao/glow.nvimMarkdown preview in terminal
+

Theme

+ + + + + + + + + + + + + +
PluginPurpose
the_miro/cyberqueer.nvimCyberQueer colour scheme (local)
+

CoC LSP Settings

+

nvim/coc-settings.json configures language servers for: +- Python (pyright) +- Lua (lua-language-server) +- Rust (rust-analyzer via rust.vim)

+

CyberQueer Airline Theme

+

nvim/cyberqueer-airline.vim — a custom vim-airline theme using the CyberQueer palette, providing hot-pink/violet segments in the status bar.

+
+

Micro

+

A modern, keyboard-friendly terminal editor. Config in micro/. Deployed to ~/.config/micro/.

+

Settings (settings.json)

+ + + + + + + + + + + + + + + + + + + + +
SettingValueEffect
colorschememiro-darculaCustom dark colour scheme
VariousFile-type-specific settings
+

Keybindings (bindings.json)

+

Custom keybindings extending Micro's defaults. See micro/bindings.json for the full list.

+

Colour Schemes

+

micro/colorschemes/ contains additional colour scheme definitions including the custom miro-darcula scheme.

+

Plugins (micro/plug/)

+ + + + + + + + + + + + + + + + + +
PluginPurpose
filemanagerSidebar file browser
mlspLanguage Server Protocol integration
+
+

Yazi

+

A fast, feature-rich terminal file manager written in Rust.
+Config in yazi/. Deployed to ~/.config/yazi/.

+

Configuration Files

+ + + + + + + + + + + + + + + + + + + + + +
FilePurpose
yazi.tomlCore settings (openers, file rules, display)
theme.tomlCyberQueer colour palette
keymap.tomlKeybindings (17 KB, extensively customised)
+

Theme

+

yazi/theme.toml maps the CyberQueer colours to Yazi's theme variables. It is a colour-substitution target in apply-theme.sh, so it updates automatically when you change the palette.

+

File Openers

+ + + + + + + + + + + + + + + + + + + + + +
File typeOpens with
*.svgInkscape
Text filesNeovim
Everything elsexdg-open (system default)
+

Display Options

+
    +
  • Hidden files visible by default
  • +
  • Symlinks shown and followed
  • +
  • Three-pane layout (parent, current, preview)
  • +
+
+

Launching Editors

+

From the Hyprland desktop:

+ + + + + + + + + + + + + + + + + + + + + +
ShortcutAction
Super + MOpen Micro in Kitty
Super + EOpen Yazi in Kitty
Super + T then nvimNeovim in terminal
+

From the shell:

+
nvim file.rs          # Neovim
+micro config.yaml     # Micro
+yazi                  # Yazi file manager
+
+
+
+ Generated by md-to-html.sh  ·  CyberQueer theme  ·  2026-05-18 +
+ + diff --git a/docs/html/freeipa-ansible.html b/docs/html/freeipa-ansible.html new file mode 100644 index 0000000..8d05790 --- /dev/null +++ b/docs/html/freeipa-ansible.html @@ -0,0 +1,441 @@ + + + + + + FreeIPA & Ansible — M-Archy Dotfiles + + + + + ← Index +
+

FreeIPA & Ansible

+

The FreeIPA/Ansible system provides centralised identity management for a fleet of Arch Linux machines: single sign-on, host-group-driven package and module deployment, LUKS backup key collection, and automatic Keycloak configuration.

+

All relevant files live under setup/modules/FreeipaAnsible/.

+
+

Architecture

+
┌────────────────────────────────────┐
+│  FreeIPA Server                    │
+│  (can run in Docker / LXC)         │
+│                                    │
+│  • User/host directory             │
+│  • Kerberos KDC                    │
+│  • DNS (optional)                  │
+│  • Host group management           │
+└──────────┬─────────────────────────┘
+           │ SSSD / Kerberos
+           ▼
+┌────────────────────────────────────┐
+│  Enrolled client machine           │
+│                                    │
+│  • sssd — authentication           │
+│  • ipa CLI — host group queries    │
+│  • Ansible-deployed timers         │
+│    ├── package installer           │
+│    ├── module installer            │
+│    ├── Flatpak installer           │
+│    └── baseuser group sync         │
+└────────────────────────────────────┘
+
+
+

FreeIPA Server

+

Docker / OCI Image

+

A pre-built Docker image is available via setup/modules/FreeipaAnsible/image/:

+
cd setup/modules/FreeipaAnsible/image
+cp .env.example .env
+# Edit .env with your domain, admin password, realm, etc.
+docker compose up -d
+
+

The container runs ipa-first-boot.sh on first start to initialise the IPA instance, then optionally keycloak-configure.sh to wire up Keycloak as an OIDC provider.

+

Interactive Server Setup

+
bash setup/modules/optional-Modules/apps/freeipa-server.sh
+
+

Prompts for realm, domain, admin password, and whether to generate client-install scripts.

+
+

Client Enrollment

+

Via Installer Module

+

Select freeipa-client during tui-install.sh or install-modules.sh.

+

Manual Enrollment

+

Three modes:

+
# Answerfile mode (unattended)
+bash setup/modules/FreeipaAnsible/freeipa-client.sh \
+    --answerfile setup/modules/FreeipaAnsible/freeipa-client-answerfile.json
+
+# Interactive prompts
+bash setup/modules/FreeipaAnsible/freeipa-client.sh --interactive
+
+# Direct flag passthrough to freeipa-enroll.sh
+bash setup/modules/FreeipaAnsible/freeipa-client.sh \
+    --domain freeipa.example.com \
+    --server ipa.example.com \
+    --principal admin
+
+

Client Answerfile Schema

+
{
+  "domain":      "freeipa.abdelbaki.eu",
+  "realm":       "FREEIPA.ABDELBAKI.EU",
+  "server":      "freeipa.abdelbaki.eu",
+  "hostname":    "",
+  "principal":   "admin",
+  "password":    "",
+  "mkhomedir":   true,
+  "sudo":        true,
+  "dns_update":  true,
+  "ntp_server":  "",
+  "fido2":       false,
+  "fido2_users": []
+}
+
+

Leave hostname blank to use the current machine hostname. Leave password blank to be prompted at enrollment time.

+
+

Ansible Playbooks

+

All playbooks live in setup/modules/FreeipaAnsible/ansible/ and require an inventory of enrolled IPA clients.

+

Deploy Package Auto-Installer

+
ansible-playbook -i inventory deploy-ansipa-install.yml
+
+

Deploys ansipa-install-packages.sh + a systemd timer that runs every 30 minutes. The script queries IPA for host groups named ansipa-install-<package> and installs/removes packages to match.

+

Group naming convention: ansipa-install-firefox → installs the firefox package.

+

Deploy Module Auto-Installer

+
ansible-playbook -i inventory deploy-ansipa-modules.yml \
+    [-e ansipa_user=amir]
+
+

Deploys ansipa-install-modules.sh + timer. Queries for groups named ansipa-module-<name> and runs the matching script from /usr/local/lib/ansipa-modules/<name>.sh.

+

Module scripts are the same ones used by install-modules.sh — copied from setup/modules/optional-Modules/apps/*.sh.

+

Group naming convention: ansipa-module-docker → runs docker.sh on the host.

+

Each module is applied once and stamped in /var/lib/ansipa-modules/<name>.done. Re-running the timer skips already-applied modules.

+

Deploy BaseUser Sync

+
ansible-playbook -i inventory deploy-baseuser-sync.yml
+
+

Deploys a systemd.path unit that triggers whenever a user logs in. If the user is a member of the IPA BaseUser group, they are automatically added to the local baseusers group — useful for desktop permission grants.

+

Collect LUKS Backup Keys

+
ansible-playbook -i inventory collect-luks-keys.yml \
+    [-e luks_keys_store=/secure/location]
+
+

For each enrolled host, checks for /_LUKS_BACKUP_KEY (placed there by the M-Archy installer when disk encryption is enabled) and fetches it to the controller as:

+
<luks_keys_store>/<HOSTNAME>_LUKS_BACKUP_KEY
+
+

Keys are stored with mode 0400. The store directory is created with mode 0700.

+

Schedule for automatic collection:

+
# Add to crontab on the Ansible controller
+0 3 * * * cd /path/to/playbooks && ansible-playbook -i inventory collect-luks-keys.yml
+
+
+

Host Group Reference

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Group prefixHandled byEffect
ansipa-install-<pkg>ansipa-install-packages.shInstall/remove native package
ansipa-module-<name>ansipa-install-modules.shRun module script once
fp_install-<app>ansipa-install-flatpaks.shInstall Flatpak app
BaseUserauto-add-baseuser.shAdd user to local baseusers group
+
+

LUKS Key Flow

+
  Install time (arch-autoinstall.sh or archbaseos-guided-install.sh)
+  ─────────────────────────────────────────────────────────────────
+  1. User sets primary LUKS passphrase interactively
+  2. 64-byte random key generated from /dev/urandom
+  3. Key enrolled in second LUKS slot
+  4. Key written to /_LUKS_BACKUP_KEY (mode 0400, root-only)
+     inside the encrypted Btrfs volume
+
+  Post-install (Ansible)
+  ──────────────────────
+  5. collect-luks-keys.yml runs from the controller
+  6. Fetches /_LUKS_BACKUP_KEY from each client
+  7. Stores as luks-keys/<HOSTNAME>_LUKS_BACKUP_KEY (mode 0400)
+     on the controller
+
+

The backup key lives inside the encrypted partition, so it is only accessible when the disk is already unlocked. Its purpose is to allow an admin to unlock the disk for recovery without knowing the user's passphrase.

+
+

Auto Enrollment + Ansible

+
bash setup/modules/FreeipaAnsible/auto-enroll-ansible.sh
+
+

Combines FreeIPA client enrollment and Ansible deployment in one shot. Useful for provisioning scripts that run on first boot.

+
+
+ Generated by md-to-html.sh  ·  CyberQueer theme  ·  2026-05-18 +
+ + diff --git a/docs/html/hyprland.html b/docs/html/hyprland.html new file mode 100644 index 0000000..e06e4de --- /dev/null +++ b/docs/html/hyprland.html @@ -0,0 +1,780 @@ + + + + + + Hyprland Desktop Environment — M-Archy Dotfiles + + + + + ← Index +
+

Hyprland Desktop Environment

+

The Hyprland setup is the primary desktop environment — a Wayland compositor with a full ecosystem of bars, launchers, notification daemons, and theming tools.

+
+

Overview

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ComponentRole
HyprlandWayland tiling compositor (dwindle layout)
KittyPrimary terminal emulator
EWWStatus bar (three device variants)
WaybarAlternative status bar
WofiApp launcher (keyboard-driven)
WalkerFast CLI launcher
uLauncherGUI app launcher
DunstNotification daemon
HyprlockScreen locker
HyprpaperWallpaper daemon
HypridleIdle management (sleep, lock)
nwg-dockApplication dock
nwg-drawerApplication drawer
nwg-panelDesktop menu
VicinaeGesture-triggered context launcher
lyTUI login manager
+
+

Config File Map

+
desktopenvs/hyprland/
+├── hypr/
+│   ├── hyprland.conf          # Root config — imports all below
+│   ├── hyprtoolkit.conf       # Toolkit utilities
+│   ├── hyprlock.conf          # Lock screen
+│   ├── hypridle.conf          # Idle timeouts
+│   └── hyprpaper.conf         # Wallpaper
+├── hypr-usr/                  # Per-user override layer
+│   ├── binds.conf             # All keybindings
+│   ├── input.conf             # Keyboard/mouse settings
+│   ├── monitors.conf          # Display layout
+│   ├── windowrules.conf       # Per-app behaviour rules
+│   └── autostart.conf         # Startup programs
+├── kitty/
+│   ├── kitty.conf             # Terminal config
+│   ├── current-theme.conf     # Active palette (CyberQueer)
+│   └── themes/cyberqueer.conf # Theme definition
+├── waybar/
+│   ├── config                 # Module layout and data sources
+│   └── style.css              # CyberQueer styling
+├── wofi/style.css             # Launcher styling
+├── walker/themes/             # Walker theme (cyberqueer.css)
+├── dunst/                     # Notification styling
+├── eww/                       # EWW bar (PC — no battery)
+├── eww-nobattery/             # EWW bar alias
+├── eww-touch/                 # EWW bar (tablet / touchscreen)
+├── spicetify/                 # Spotify CyberQueer themes
+├── Vencord/                   # Discord CyberQueer themes
+├── btop/                      # System monitor + cyberqueer.theme
+├── scripts/                   # 20+ utility scripts
+└── config-updater/            # Config synchronisation tool
+
+
+

Keybindings

+

All bindings live in hypr-usr/binds.conf.

+

Applications

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BindingAction
Super + TKitty terminal
Super + Shift + TCool Retro Term (CRT profile)
Super + MMicro editor
Super + EThunar file manager
Super + XWofi app launcher
Super + FFile search (wofi)
Super + Shift + FFolder search (wofi)
+

Window Management

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BindingAction
Super + QClose focused window
Super + VToggle floating
Super + Shift + VCentre floating window
Super + PToggle pseudo-tiling
Super + JToggle split direction
Super + Arrow / hjklFocus window by direction
Super + Shift + Arrow / hjklMove window by direction
Super + [0-9]Switch workspace
Super + Shift + [0-9]Move window to workspace
Super + mouse dragMove/resize floating window
+

System

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BindingAction
Super + OLock screen (hyprlock)
Super + Alt + OPower menu
Super + Ctrl + OShutdown immediately
Super + ZToggle EWW bar
Super + Ctrl + PStart screen recording
+

Touchpad Gestures

+ + + + + + + + + + + + + + + + + + + + + + + + + +
GestureAction
3-finger swipe left/rightSwitch workspace
3-finger swipe up/downMove window to workspace
3-finger pinchToggle overview
4-finger tapOpen launcher
+
+

Status Bar (EWW)

+

EWW (Elkowar's Wayland Window Manager) is compiled from source during Hyprland install and comes in three variants:

+ + + + + + + + + + + + + + + + + + + + + + + + + +
VariantDeviceBattery Widget
eww/Desktop PCNo
eww-nobattery/Desktop PCNo
eww-touch/Laptop / tabletYes
+

During install the EWW installer asks which variant to use.

+

Waybar

+

An alternative to EWW — always installed. The bar layout:

+
    +
  • Left: clock, disk usage, RAM, CPU, temperature
  • +
  • Centre: workspace switcher, active window title
  • +
  • Right: network speed, IP address, system tray, audio volume, battery (if present)
  • +
+
+

Launchers

+

Wofi

+

Keyboard-driven app/file launcher. Activated with Super + X.
+Config: wofi/style.css — themed with CyberQueer colours.

+

Walker

+

Fast CLI launcher (walker). Pre-configured with walker/config.toml and the cyberqueer.css / cyberqueer.toml theme files.

+

uLauncher

+

GUI launcher with plugin support. Theme: ulauncher/user-themes/cyberqueer/.
+Colours in the theme are colour-substitution targets (updated by apply-theme.sh).

+
+

Notification Daemon (Dunst)

+

Lightweight notification daemon. Config in dunst/dunstrc.
+Notifications appear top-right with CyberQueer styling.

+
+

Lock Screen (Hyprlock)

+

hyprlock is the Wayland screen locker. Config at hypr/hyprlock.conf.
+Activated by Super + O or automatically via hypridle after idle timeout.

+
+

Scripts Reference

+

All scripts live in desktopenvs/hyprland/scripts/ and are deployed to ~/.config/scripts/.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ScriptPurpose
caffeine.shToggle hypridle (prevent sleep)
ewwstart.shLaunch EWW bar on startup
ewwstart-niri.shEWW for niri compositor variant
togglebar.shShow/hide EWW bar (monitor-aware)
helpmenu.shDisplay keybindings from binds.conf
screenshot.shRegion/full screenshot via grim + slurp
screenrec.shScreen recording
screenrotationacw.shRotate screen anti-clockwise (tablet)
screenrotationwcw.shRotate screen clockwise (tablet)
unified-rotate.shUnified rotation handler
hyprland-toggle-touchpad.shEnable/disable touchpad
wofi-file-search.shFile search via wofi
foldersearch.shFolder search via wofi
pwr-dmenu.shPower menu (shutdown/reboot/suspend)
caffeine.shToggle idle inhibitor
getispeed.shInternet speed test display
journal.shQuick journal entry
date.sh / time.shDate/time waybar helpers
uptime.shUptime display
dysk-phydisks.shPhysical disk info (dysk)
drawer.shOpen nwg-drawer
menu.shApplication menu
onscreenkb.shOn-screen keyboard (wvkbd)
bluetooth-applet.shBluetooth UI wrapper
togglewinbars.shToggle window title bars
toggle-layout.shSwitch tiling layout
playpause.shMedia play/pause
calender-fix.shCalendar waybar widget fix
+
+

Application Theming

+

Spotify (Spicetify)

+

Two CyberQueer Spicetify themes are available:

+ + + + + + + + + + + + + + + + + +
ThemeStyle
cli-cyberqueerCLI-inspired, minimal
matte-cyberqueerMatte finish variant
+

Applied automatically when the spotify module is installed.

+

Discord (Vencord)

+

Two Discord themes:

+ + + + + + + + + + + + + + + + + +
ThemeLocation
cyberqueer.theme.cssStandalone CyberQueer theme
system24/…/cyberqueer.theme.csssystem24 framework with CyberQueer colours
+

Terminal (Kitty)

+

The kitty/themes/cyberqueer.conf file defines the full 16-colour palette mapped to CyberQueer values. It is sourced by current-theme.conf which is imported in kitty.conf.

+
+

Login Manager (ly)

+

ly is a TUI display manager configured via etc-ly-config.ini (deployed to /etc/ly/config.ini). Its colours are tracked by apply-theme.sh (system file, applied via sudo).

+
+

Installing Hyprland

+
# Via the TUI installer
+bash ~/Dotfiles/setup/tui-install.sh
+# → Select "shell" and "Hyprland" in the dialogs
+
+# On an existing system
+bash ~/Dotfiles/setup/install-modules.sh
+# → Not available; Hyprland is a base DE, use the full installer
+
+# Direct script
+bash ~/Dotfiles/setup/modules/Desktop-Environments/hyprland.sh
+
+

The install script compiles EWW from source (requires Rust), copies all configs, installs the GTK and cursor themes, enables ly@tty1, and configures greetd.

+
+
+ Generated by md-to-html.sh  ·  CyberQueer theme  ·  2026-05-18 +
+ + diff --git a/docs/html/index.html b/docs/html/index.html new file mode 100644 index 0000000..8c01396 --- /dev/null +++ b/docs/html/index.html @@ -0,0 +1,396 @@ + + + + + + M-Archy Dotfiles — M-Archy Dotfiles + + + + + +
+

M-Archy Dotfiles

+

Arch Linux · Hyprland · Wayland · CyberQueer

+

A production-grade Arch Linux configuration for network administration, development, and gaming — built around the Hyprland Wayland compositor and the CyberQueer colour theme.

+
+

What's Inside

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AreaDescription
InstallationInteractive TUI installer, answerfile automation, ISO building
ThemingCyberQueer colour system and apply-theme.sh
HyprlandDesktop environment, keybindings, bars, launchers
ModulesCore modules and full optional-app catalogue
ArchisoBuilding the custom live installer ISO
FreeIPA & AnsibleIdentity management and automated config deployment
EditorsNeovim, Micro, Yazi
UtilitiesEncryption helpers, ClamAV, credentials, update scripts
+
+

Quick Start

+
# 1 — clone
+git clone https://git.abdelbaki.eu/The_miro/Dotfiles.git ~/Dotfiles
+
+# 2 — run the interactive installer
+bash ~/Dotfiles/setup/tui-install.sh
+
+# 3 — optionally apply a custom colour palette
+nano ~/Dotfiles/colors.conf
+bash ~/Dotfiles/apply-theme.sh
+
+

For a fully automated install from a live USB, see Archiso.

+
+

CyberQueer Colour Palette

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RoleNameHex
BackgroundDark grey#1A1A1A
TextRose white#D6ABAB
Primary accentHot pink#E40046
Secondary accentElectric violet#5018DD
Danger / alertsRed#F50505
+
+

Repository Layout

+
Dotfiles/
+├── apply-theme.sh          # Propagate colours across all configs
+├── colors.conf             # Single source of truth for the palette
+├── update.sh               # pacman + yay full system update
+├── setup/
+│   ├── tui-install.sh      # Main interactive / answerfile installer
+│   ├── generate-answerfile.sh  # Dry-run to produce answerfile.json
+│   ├── arch-autoinstall.sh     # Automated base OS installer
+│   ├── archbaseos-guided-install.sh  # Guided base OS installer
+│   ├── install-modules.sh  # Add optional modules to existing system
+│   ├── archiso/            # Custom Arch live ISO builder
+│   └── modules/            # Modular install scripts
+├── desktopenvs/hyprland/   # All Hyprland / Wayland configs
+├── gtk-themes/cyberqueer/  # GTK 3 & 4 theme
+├── qt-themes/cyberqueer/   # Qt platform theme
+├── nvim/                   # Neovim config
+├── micro/                  # Micro editor config
+├── yazi/                   # Yazi file manager config
+├── clamav/                 # ClamAV on-access scan setup
+└── docs/                   # This documentation
+
+
+
+ Generated by md-to-html.sh  ·  CyberQueer theme  ·  2026-05-18 +
+ + diff --git a/docs/html/installation.html b/docs/html/installation.html new file mode 100644 index 0000000..9e2fc3d --- /dev/null +++ b/docs/html/installation.html @@ -0,0 +1,501 @@ + + + + + + Installation — M-Archy Dotfiles + + + + + ← Index +
+

Installation

+

Three paths are available depending on how much you want to automate:

+ + + + + + + + + + + + + + + + + + + + + +
PathWhen to use
Interactive TUIFresh Arch system, guided dialogs
Answerfile (automated)Unattended or repeatable installs
Custom ISODeploy from USB to multiple machines
+
+

Prerequisites

+
    +
  • Arch Linux (base install completed, user created)
  • +
  • Internet connection
  • +
  • git available (sudo pacman -S git)
  • +
+
+

Interactive TUI

+

Clone the repo and run the installer:

+
git clone https://git.abdelbaki.eu/The_miro/Dotfiles.git ~/Dotfiles
+bash ~/Dotfiles/setup/tui-install.sh
+
+

The TUI walks you through:

+
    +
  1. Hostname — optional; sets /etc/hostname immediately
  2. +
  3. Components — pick any combination:
  4. +
  5. pkg — package managers (yay, nvm, Rust)
  6. +
  7. core — 100+ base system packages
  8. +
  9. svc — core services (NetworkManager, cronie, fail2ban, greetd)
  10. +
  11. shell — zsh, Neovim, Yazi, Micro, Starship
  12. +
  13. Desktop Environment — Hyprland, Sway, KDE Plasma, GNOME, COSMIC, XFCE, LXQt, or none
  14. +
  15. Applications — checklist of ~50 optional apps (see Modules)
  16. +
  17. Colorway — optional; enter hex values to customise the CyberQueer palette
  18. +
+

All activity is logged to ~/dotfiles-install.log.

+

Adding Modules Later

+

To install additional optional apps on an already-configured system:

+
bash ~/Dotfiles/setup/install-modules.sh
+
+

This presents the same app checklist without re-running core setup.

+
+

Answerfile (Automated)

+

An answerfile lets the entire install — base OS and dotfiles — run without any user input.

+

Generating an Answerfile

+
bash ~/Dotfiles/setup/generate-answerfile.sh [OUTPUT_PATH]
+# Default output: ~/answerfile.json
+
+

This dry-runs every installer dialog and saves your choices. No software is installed. Passwords are intentionally excluded — you will be prompted at install time.

+

Answerfile Schema

+
{
+  "_generated": "2026-05-18T12:00:00+00:00",
+  "drive": "/dev/sda",
+  "kernel": "linux",
+  "hostname": "myhost",
+  "username": "amir",
+  "encrypt": true,
+  "fido2_root": false,
+  "fido2_user": false,
+  "run_tui": true,
+  "components": ["pkg", "core", "svc", "shell"],
+  "desktop_environment": "hyprland",
+  "apps": ["firefox-browser", "vscodium", "docker"],
+  "colors": {
+    "COLOR_TEXT": "D6ABAB",
+    "COLOR_BG": "1A1A1A",
+    "COLOR_HIGHLIGHT": "E40046",
+    "COLOR_DARK": "5018DD",
+    "COLOR_RED": "F50505"
+  }
+}
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
drivestringInstall target (/dev/sda, /dev/nvme0n1, …)
kernelstringlinux, linux-lts, or linux-zen
hostnamestringBase hostname — a MAC-address suffix is appended automatically
usernamestringPrimary user account name
encryptboolEnable LUKS2 root encryption
fido2_rootboolEnroll FIDO2 key for LUKS unlock
fido2_userboolEnroll FIDO2 key for PAM login
run_tuiboolRun dotfiles setup automatically after base install
componentsarrayDotfiles components to install
desktop_environmentstringDE name or "none"
appsarrayOptional app IDs (see Modules)
colorsobjectOptional colour overrides (omit to keep defaults)
+

Hostname Uniqueness

+

When hostname is set in the answerfile, the MAC address of the primary network interface is automatically appended:

+
myhost  →  myhost-aabbccddee11
+
+

This prevents hostname conflicts when the same answerfile is used across multiple machines.

+

Running with an Answerfile

+

Place the file at /answerfile.json (or set the ANSWERFILE environment variable):

+
# Use default location
+sudo cp ~/answerfile.json /answerfile.json
+bash ~/Dotfiles/setup/tui-install.sh
+
+# Or override the path
+ANSWERFILE=~/my-setup.json bash ~/Dotfiles/setup/tui-install.sh
+
+
+

Base OS Installers

+

Two scripts install Arch Linux itself (before the dotfiles step):

+

Guided Installer (archbaseos-guided-install.sh)

+

Interactive, dialog-based. Prompts for each setting with sensible defaults. Good for hands-on installs where you want to review each option.

+
bash ~/installer/archbaseos-guided-install.sh
+
+

Auto Installer (arch-autoinstall.sh)

+

Reads all settings from /answerfile.json if present; falls back to prompts for anything missing.

+
bash ~/installer/arch-autoinstall.sh
+
+

Both installers perform the same steps:

+
    +
  1. Partition disk (EFI 15 GiB · Root · Swap = RAM size)
  2. +
  3. Optionally encrypt root with LUKS2
  4. +
  5. Format root as Btrfs with @ and @home subvolumes
  6. +
  7. pacstrap base system
  8. +
  9. Configure locale, timezone, hostname, user, sudo
  10. +
  11. Set up mkinitcpio hooks and GRUB
  12. +
  13. Optionally run tui-install.sh inside the chroot
  14. +
+

Disk Encryption

+

When encryption is enabled:

+
    +
  • Primary key: entered interactively at install time
  • +
  • Backup key: generated automatically from /dev/urandom, enrolled into a second LUKS slot, and written to /_LUKS_BACKUP_KEY inside the new system (mode 0400, root-readable only, inside the encrypted container)
  • +
  • FIDO2 (optional): enroll a hardware key for passwordless unlock
  • +
+

The backup key can be collected by Ansible — see FreeIPA & Ansible.

+

mkinitcpio Hook Sets

+ + + + + + + + + + + + + + + + + + + + + +
ScenarioHooks
No encryptionbase udev autodetect microcode modconf kms consolefont block btrfs filesystems keyboard fsck
LUKS + passwordbase udev autodetect microcode modconf kms consolefont block encrypt lvm2 btrfs filesystems keyboard keymap fsck
LUKS + FIDO2base udev systemd autodetect microcode modconf kms consolefont block sd-encrypt lvm2 btrfs filesystems keyboard keymap fsck
+
+

Custom Live ISO

+

See Archiso for building a bootable USB that embeds the installer and, optionally, a pre-baked answerfile for zero-touch deployment.

+
+
+ Generated by md-to-html.sh  ·  CyberQueer theme  ·  2026-05-18 +
+ + diff --git a/docs/html/modules.html b/docs/html/modules.html new file mode 100644 index 0000000..48b3781 --- /dev/null +++ b/docs/html/modules.html @@ -0,0 +1,807 @@ + + + + + + Modules Reference — M-Archy Dotfiles + + + + + ← Index +
+

Modules Reference

+

The setup system is modular — core components are installed first, then any combination of optional apps can be added. All module scripts are idempotent (safe to re-run).

+
+

Core Modules

+

These are selected during the initial tui-install.sh run.

+

pkg — Package Managers

+

Installs the AUR helper, language runtimes, and build toolchains:

+
    +
  • yay — AUR helper (built from source via makepkg)
  • +
  • Rust / Cargo — via rustup with the stable toolchain
  • +
  • nvm — Node Version Manager; installs Node.js v22 LTS by default
  • +
+

core — Core Packages

+

~100 packages including:

+

7zip · base-devel · bluez · bluez-utils · btop · fastfetch · fdupes · ffmpeg · git · greetd-tuigreet · htop · jq · less · lynx · neovim · networkmanager · openssh · pipewire · pipewire-alsa · pipewire-pulse · ripgrep · rsync · tmux · udiskie · yazi · zram-generator

+

Also installs pamtester from the AUR.

+

svc — Core Services

+

Enables and starts these systemd units:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ServicePurpose
NetworkManagerNetwork connectivity
cronieCron daemon
fail2banBrute-force protection
greetdLogin session manager
udisks2Removable media
+

Also deploys greetd-tuigreet config from the dotfiles.

+

shell — Shell Setup

+
    +
  • zsh with Oh My Zsh and plugins (zsh-syntax-highlighting, zsh-autosuggestions)
  • +
  • Starship shell prompt
  • +
  • Neovim with Vim-Plug (see Editors)
  • +
  • Micro editor
  • +
  • Yazi file manager
  • +
  • Deploys .bashrc, .zshrc, starship.toml, Micro config, Neovim config
  • +
+
+

Desktop Environments

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDNameNotes
hyprlandHyprlandPrimary DE — see Hyprland
swaySwayWayland tiling WM, lighter
kde-plasmaKDE PlasmaFull-featured with sddm
gnomeGNOMEModern Wayland DE with gdm
cosmicCOSMICRust-based DE from System76
xfceXFCELightweight X11 with lightdm
lxqtLXQtLightweight Qt X11 with sddm
+
+

Optional Applications

+

Install via tui-install.sh at first install, or add later:

+
bash ~/Dotfiles/setup/install-modules.sh
+
+

AI & Machine Learning

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDPackageDescription
ollamaollamaLocal LLM runner with REST API server
llama-cppllama.cppStandalone inference CLI + server
open-webuiopen-webuiBrowser UI for Ollama / OpenAI-compatible backends
claudeclaude (npm)Anthropic Claude Code CLI
+

Networking & Security

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDPackagesDescription
networking-clinmap · nethogs · mitmproxy · httpieNetwork analysis and HTTP tooling
disk-recoveryddrescue · f3Disk imaging and flash drive testing
ssh-serveropensshSSH daemon with key-auth enforcement
wiresharkwireshark-qtPacket capture and analysis GUI
+

Development

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDPackagesDescription
pythonpyright · pipx · pynvimPython LSP, isolated tool runner, Neovim integration
dockerdocker · docker-composeContainer runtime
podmanpodman · buildah · podman-composeRootless containers
cockpitcockpit · machines · podmanWeb-based system management UI
k8skubectl · podman-desktopKubernetes CLI and desktop client
db-clientspgcli · mycliEnhanced interactive database CLIs
mysqlmariadbMariaDB server with initial setup
+

IDEs & Editors

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDPackageDescription
vscodiumvscodium-bin (AUR)VS Code without telemetry
zed-idezedHigh-performance Rust IDE
geanygeany · geany-pluginsLightweight IDE
codeblockscodeblocksC/C++ IDE
katekateKDE advanced text editor
+

Browsers

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDPackageDescription
chromiumchromiumOpen-source Chromium
firefox-browserfirefoxMozilla Firefox
zen-browserzen-browser-bin (AUR)Privacy-focused Firefox fork
nyxtnyxt (AUR)Keyboard-driven, hackable browser
librewolflibrewolf-bin (AUR)Hardened Firefox fork
min-browsermin (AUR)Minimal Electron browser
+

Gaming

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDPackageDescription
steamsteamSteam gaming platform
vesktopvesktop (AUR)Discord client with Vencord built-in
spotifyspotify (AUR) + spicetifyMusic player with CyberQueer theme
prismprismlauncher (Flatpak)Minecraft launcher
vintagestoryvintagestory (AUR)Survival / voxel game
+

Media & Creative

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDPackagesDescription
ffmpeggst-plugin-pipewire · gst-plugins-good · ffmpegthumbnailerGStreamer codecs + thumbnailer
soxsoxCommand-line audio processing
imagemagickimagemagickImage manipulation suite
yt-dlpyt-dlpYouTube / media downloader
blenderblender3D creation suite
gnuplotgnuplotScientific plotting
povraypovrayRay-tracing renderer
+

Productivity

+ + + + + + + + + + + + + + + + + + + + + + + + + +
IDPackagesDescription
productivitytaskwarrior · watson · jrnlTask management, time tracking, journaling
himalayahimalaya (AUR)Terminal email client
toottoot (AUR)Mastodon CLI client
+

System Utilities

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDPackagesDescription
tlptlp · tlp-rdwLaptop battery optimisation
zfszfs-dkmsZFS kernel module
wprswprs-git (AUR)Wayland proxy for remote sessions
butterbutter (AUR)Btrfs snapshot backup manager
localsendlocalsend (AUR)LAN file transfer (AirDrop-like)
croccrocCross-platform encrypted file transfer
localtunnellocaltunnel (npm)Expose localhost over a public URL
onlyofficeonlyoffice-bin (AUR)Office suite (Docs, Sheets, Slides)
+

Identity & Infrastructure

+ + + + + + + + + + + + + + + + + + + + + +
IDDescription
freeipa-clientsssd + ipa-client-install + auto-enrollment (see FreeIPA)
freeipa-serverInteractive FreeIPA server setup + client generator
freeipa-imageOCI / LXC / Proxmox LXC image builder + Keycloak
+
+

Container Shell Setups

+

Scripts in setup/Setup-shell-4-containers/ configure a minimal shell environment inside containers or chroots for each major distribution:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ScriptTarget
alpine.shAlpine Linux
arch.shArch Linux
debian.shDebian
fedora.shFedora
suse.shopenSUSE
ubuntu.shUbuntu
void.shVoid Linux
other.shGeneric fallback
+
+
+ Generated by md-to-html.sh  ·  CyberQueer theme  ·  2026-05-18 +
+ + diff --git a/docs/html/theming.html b/docs/html/theming.html new file mode 100644 index 0000000..b963628 --- /dev/null +++ b/docs/html/theming.html @@ -0,0 +1,465 @@ + + + + + + CyberQueer Theme System — M-Archy Dotfiles + + + + + ← Index +
+

CyberQueer Theme System

+

The CyberQueer theme is a single-source colour system: every config file that needs colours references a small set of hex values that can be changed in one place and propagated everywhere with a single command.

+
+

The Palette

+

Defined in ~/Dotfiles/colors.conf (bare 6-digit hex, no # prefix):

+
COLOR_TEXT=D6ABAB       # Rose-white — foreground text, labels
+COLOR_BG=1A1A1A         # Near-black — base surface, backgrounds
+COLOR_HIGHLIGHT=E40046  # Hot pink   — primary accent, active borders
+COLOR_DARK=5018DD       # Violet     — secondary accent, inactive borders
+COLOR_RED=F50505        # Red        — danger indicators, alerts
+
+
+

Applying the Theme

+
# Apply using the default colors.conf
+bash ~/Dotfiles/apply-theme.sh
+
+# Apply from a custom palette file
+bash ~/Dotfiles/apply-theme.sh /path/to/custom-colors.conf
+
+

apply-theme.sh will:

+
    +
  1. Read colors.conf (or the file you pass)
  2. +
  3. Compare against the last-applied state in ~/.config/colors.state
  4. +
  5. Replace only changed colour values across all tracked files
  6. +
  7. Save the new state to colors.state
  8. +
+

If nothing changed it exits immediately — safe to call repeatedly.

+

First-Run Bootstrap

+

On a fresh install where configs have been copied but no state file exists yet, apply-theme.sh bootstraps ~/.config/colors.state with the repository defaults so the diff works correctly from the start.

+
+

What Gets Themed

+

User Configs (~/.config/…)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileWhat it styles
starship.tomlShell prompt segment colours
yazi/theme.tomlFile manager UI colours
hypr/hyprland.confActive/inactive window border gradients
hypr/hyprtoolkit.confAdditional Hyprland colours
hypr/hyprlock.confLock screen colours
kitty/current-theme.confTerminal colour palette
kitty/kitty.confTerminal background & accents
kitty/themes/cyberqueer.confKitty colour scheme definition
waybar/style.cssTop bar widget colours
wofi/style.cssApp launcher colours
walker/themes/cyberqueer.cssWalker launcher theme
nwg-dock-hyprland/style.cssApplication dock
nwg-drawer/drawer.cssApplication drawer
nwg-panel/menu-start.cssPanel start menu
vicinae/cyberqueer.tomlGesture launcher
scripts/onscreenkb.shOn-screen keyboard colours
spicetify/Themes/*/color.iniSpotify client theme (×2 variants)
ulauncher/user-themes/cyberqueer/manifest.jsonuLauncher theme
ulauncher/user-themes/cyberqueer/theme.cssuLauncher CSS
ulauncher/user-themes/cyberqueer/generated.cssuLauncher generated CSS
Vencord/themes/cyberqueer.theme.cssDiscord theme
Vencord/themes/system24/…/cyberqueer.theme.cssDiscord system24 variant
+

System Files (applied via sudo)

+ + + + + + + + + + + + + + + + + + + + + +
FileWhat it styles
/etc/ly/config.iniTUI login manager colours
/usr/share/themes/cyberqueer/gtk-3.0/gtk.cssGTK 3 theme
/usr/share/themes/cyberqueer/gtk-4.0/gtk.cssGTK 4 theme
+
+

Customising the Palette

+

Edit ~/Dotfiles/colors.conf, then run apply-theme.sh:

+
# Example: shift the accent to cyan
+nano ~/Dotfiles/colors.conf
+# → COLOR_HIGHLIGHT=00B4D8
+
+bash ~/Dotfiles/apply-theme.sh
+
+

The tui-install.sh installer also offers a colorway dialog as its final step: +enter new hex values in the form; leave them unchanged to skip.

+
+

How It Works Internally

+

apply-theme.sh reads two key–value files and computes the diff:

+
~/.config/colors.state   (old values — what's currently applied)
+colors.conf              (new values — what you want)
+
+

For each changed key it runs:

+
sed -i "s/${OLD_HEX}/${NEW_HEX}/gI" <file>
+
+

The case-insensitive (I) flag matches uppercase hex codes that some apps emit. After all replacements succeed, colors.state is updated.

+ +

apply-theme.sh refuses to run if any deployed config path resolves back into ~/Dotfiles/ via symlink. This prevents theme changes from being committed directly into the git repository. The new-style install (via tui-install.sh) copies configs instead of symlinking them, so this guard is normally never triggered.

+
+

Answerfile Theming

+

If you generate an answerfile with generate-answerfile.sh, custom colours can be embedded in it:

+
{
+  "colors": {
+    "COLOR_TEXT": "D6ABAB",
+    "COLOR_BG": "1A1A1A",
+    "COLOR_HIGHLIGHT": "E40046",
+    "COLOR_DARK": "5018DD",
+    "COLOR_RED": "F50505"
+  }
+}
+
+

tui-install.sh will apply these at the end of an automated install.

+
+
+ Generated by md-to-html.sh  ·  CyberQueer theme  ·  2026-05-18 +
+ + diff --git a/docs/html/utilities.html b/docs/html/utilities.html new file mode 100644 index 0000000..31f50a6 --- /dev/null +++ b/docs/html/utilities.html @@ -0,0 +1,403 @@ + + + + + + Utilities — M-Archy Dotfiles + + + + + ← Index +
+

Utilities

+

Miscellaneous scripts and tools that live at the top level or in the clamav/ directory.

+
+

System Update

+
bash ~/Dotfiles/update.sh
+
+

Runs a full system update: +1. sudo pacman -Syu — official repos +2. yay -Syu --answerdiff None --answerclean All --removemake — AUR packages (no prompts)

+

For per-package AUR updates with confirmation:

+
bash ~/Dotfiles/update-aur-onebyone.sh
+
+
+

Package Audit

+
bash ~/Dotfiles/setup/audit-packages.sh
+
+

Audits installed packages — useful for finding orphans or unexpected installations.

+
+

Encryption Utilities

+

Simple OpenSSL wrappers for encrypting/decrypting arbitrary strings. Useful for storing secrets in scripts or config files without plaintext exposure.

+

Encrypt

+
bash ~/Dotfiles/encrypt.sh "my secret text" "my-passphrase"
+# Output: base64-encoded AES-256-CBC ciphertext
+
+

Decrypt

+
bash ~/Dotfiles/decrypt.sh "<ciphertext>" "my-passphrase"
+# Output: original plaintext
+
+

Both use AES-256-CBC with PBKDF2 key derivation via OpenSSL.

+
+

Credential Storage

+

Initial Setup

+
bash ~/Dotfiles/setup-creds-missing.sh
+
+

Installs gnome-keyring and seahorse (GUI manager), then sets git's credential helper to store.

+

Git Credentials

+

git/ contains .gitconfig with:

+
[user]
+    name  = The_miro
+    email = amir@abdelbaki.eu
+
+[credential]
+    helper = store
+
+[init]
+    defaultBranch = main
+
+[push]
+    autoSetupRemote = true
+
+

The store helper writes credentials to ~/.git-credentials. For higher security, gnome-keyring intercepts this and stores the credentials in the system keyring instead of plaintext.

+
+

Zsh Plugins

+
bash ~/Dotfiles/zshplugins.sh
+
+

Clones (or updates) the two Oh My Zsh community plugins: +- zsh-syntax-highlighting — real-time syntax colouring in the prompt +- zsh-autosuggestions — fish-style history-based suggestions

+

These are referenced in .zshrc and active after the next shell start.

+
+

ClamAV On-Access Scanning

+

Full real-time antivirus scanning via ClamAV's clamonacc daemon.

+

Installation

+
bash ~/Dotfiles/clamav/install-clam-onaccess.sh
+
+

What it does: +1. Installs clamav +2. Copies clamd.conf to /etc/clamav/ +3. Installs clamav-clamonacc.service to /etc/systemd/system/ +4. Installs the sudoers entry from clamav-sudoer +5. Updates virus definitions (freshclam) +6. Enables and starts clamd + clamav-clamonacc

+

Key Files

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FilePurpose
clamav/clamd.confDaemon configuration (30 KB, full options)
clamav/clamav-clamonacc.servicesystemd unit for on-access scanning
clamav/clamav-sudoersudoers rule for ClamAV processes
clamav/virus-event.bashHandler executed when a virus is detected
+

Virus Event Handler

+

virus-event.bash is called by clamonacc when a threat is found. Customise it to send notifications, quarantine files, or alert an admin.

+
+

Shell Configuration

+

.zshrc

+
    +
  • Framework: Oh My Zsh
  • +
  • Theme: robbyrussell (overridden visually by Starship)
  • +
  • Plugins: syntax-highlighting, autosuggestions
  • +
  • Walk integration: lk function opens the walk file navigator
  • +
  • WALK_MAIN_COLOR: set to #5018DD (CyberQueer violet)
  • +
  • Sources Starship init at the end
  • +
+

.bashrc

+

Minimal bash config — sets PS1, loads ~/.bash_profile if present.

+

Starship Prompt

+

starship.toml at the repo root is deployed to ~/.config/starship.toml.

+

Key customisations: +- OS, username, directory, git, language, docker, and time segments +- CyberQueer colours throughout (colour-substitution target) +- Directory abbreviated to 3 levels with …/ truncation +- Common directory substitutions (~/Documents📄, etc.)

+
+

Login Manager (ly)

+

etc-ly-config.ini is deployed to /etc/ly/config.ini during Hyprland install and kept as a colour-substitution target in apply-theme.sh.

+

ly is a minimal TUI display manager that runs on tty1:

+
systemctl enable ly@tty1
+
+

Session selection, auto-login, and timeout settings are all in the config.

+
+
+ Generated by md-to-html.sh  ·  CyberQueer theme  ·  2026-05-18 +
+ + diff --git a/docs/md-to-html.sh b/docs/md-to-html.sh new file mode 100644 index 0000000..75cddc8 --- /dev/null +++ b/docs/md-to-html.sh @@ -0,0 +1,407 @@ +#!/usr/bin/env bash +# md-to-html.sh — Convert Markdown docs to styled HTML with the CyberQueer theme. +# +# Usage: +# bash docs/md-to-html.sh # convert all docs/md/*.md +# bash docs/md-to-html.sh docs/md/foo.md # convert one file +# +# Output lands in docs/html/ with the same base name. +# Requires: python3 with the 'markdown' package (python-markdown on Arch). +# sudo pacman -S python-markdown + +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +MD_DIR="$SCRIPT_DIR/md" +HTML_DIR="$SCRIPT_DIR/html" + +# ── Preflight ───────────────────────────────────────────────────────────────── +if ! python3 -c "import markdown" 2>/dev/null; then + echo "python-markdown not found. Installing..." + sudo pacman -S --noconfirm python-markdown \ + || { echo "Error: please install python-markdown manually."; exit 1; } +fi + +mkdir -p "$HTML_DIR" + +# ── CyberQueer inline CSS ───────────────────────────────────────────────────── +# Read live palette from colors.conf if available, otherwise use defaults. +_hex() { + local key="$1" default="$2" + if [[ -f "$SCRIPT_DIR/../colors.conf" ]]; then + local v + v=$(grep -m1 "^${key}=" "$SCRIPT_DIR/../colors.conf" 2>/dev/null | cut -d= -f2 | tr -d '[:space:]' | sed 's/#.*//') + [[ -n "$v" ]] && { printf '#%s' "${v^^}"; return; } + fi + printf '#%s' "$default" +} + +C_BG=$(_hex COLOR_BG 1A1A1A) +C_TEXT=$(_hex COLOR_TEXT D6ABAB) +C_HI=$(_hex COLOR_HIGHLIGHT E40046) +C_VIO=$(_hex COLOR_DARK 5018DD) +C_RED=$(_hex COLOR_RED F50505) + +# Derived +C_BG2="#242424" +C_BG3="#2e2e2e" +C_BORDER="${C_VIO}" + +CSS=" +/* ── CyberQueer Theme ──────────────────────────────────────────────── */ +:root { + --bg: ${C_BG}; + --bg2: ${C_BG2}; + --bg3: ${C_BG3}; + --text: ${C_TEXT}; + --accent: ${C_HI}; + --violet: ${C_VIO}; + --danger: ${C_RED}; + --border: ${C_BORDER}; + --radius: 10px; + --radius-sm: 5px; +} + +/* ── Reset & Base ──────────────────────────────────────────────────── */ +*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } + +html { scroll-behavior: smooth; } + +body { + background-color: var(--bg); + color: var(--text); + font-family: 'Agave Nerd Font Mono', 'JetBrains Mono', 'Fira Code', + 'Cascadia Code', 'Source Code Pro', monospace; + font-size: 15px; + line-height: 1.75; + max-width: 960px; + margin: 0 auto; + padding: 2.5rem 2rem 5rem; +} + +/* ── Typography ────────────────────────────────────────────────────── */ +h1, h2, h3, h4, h5, h6 { + font-family: 'Agave Nerd Font Mono', monospace; + font-weight: 700; + line-height: 1.25; + margin-top: 2.2rem; + margin-bottom: 0.6rem; +} + +h1 { + color: var(--accent); + font-size: 2.2rem; + border-bottom: 3px solid var(--accent); + padding-bottom: 0.4rem; + margin-top: 0; +} + +h2 { + color: var(--accent); + font-size: 1.55rem; + border-bottom: 2px solid var(--violet); + padding-bottom: 0.3rem; +} + +h3 { + color: var(--violet); + font-size: 1.2rem; +} + +h4, h5, h6 { + color: var(--text); + font-size: 1rem; +} + +p { + margin: 0.9rem 0; +} + +strong { color: var(--accent); font-weight: 700; } +em { color: var(--violet); font-style: italic; } + +/* ── Links ─────────────────────────────────────────────────────────── */ +a { + color: var(--violet); + text-decoration: none; + border-bottom: 1px solid transparent; + transition: color 0.15s, border-color 0.15s; +} + +a:hover { + color: var(--accent); + border-bottom-color: var(--accent); +} + +/* ── Code ──────────────────────────────────────────────────────────── */ +code { + font-family: inherit; + background: var(--bg2); + color: var(--violet); + border: 1px solid var(--violet); + border-radius: var(--radius-sm); + padding: 0.1em 0.42em; + font-size: 0.9em; +} + +pre { + background: var(--bg2); + border: 2px solid var(--violet); + border-radius: var(--radius); + padding: 1.2rem 1.4rem; + overflow-x: auto; + margin: 1.2rem 0; + position: relative; +} + +pre code { + background: transparent; + border: none; + padding: 0; + color: var(--text); + font-size: 0.875em; + line-height: 1.6; +} + +/* Syntax-like token colouring (no JS required — structural only) */ +pre code .kw { color: var(--accent); } +pre code .str { color: var(--violet); } +pre code .cm { color: #666; font-style: italic; } + +/* ── Horizontal Rule ───────────────────────────────────────────────── */ +hr { + border: none; + border-top: 2px solid var(--violet); + margin: 2rem 0; + opacity: 0.45; +} + +/* ── Blockquote ────────────────────────────────────────────────────── */ +blockquote { + border-left: 4px solid var(--accent); + background: var(--bg2); + margin: 1.2rem 0; + padding: 0.8rem 1.2rem; + border-radius: 0 var(--radius) var(--radius) 0; + color: var(--text); + opacity: 0.9; +} + +blockquote p { margin: 0; } + +/* ── Tables ────────────────────────────────────────────────────────── */ +table { + width: 100%; + border-collapse: collapse; + border: 2px solid var(--border); + border-radius: var(--radius); + overflow: hidden; + margin: 1.2rem 0; + font-size: 0.9em; +} + +th { + background: var(--violet); + color: var(--bg); + text-align: left; + padding: 0.55rem 0.9rem; + font-weight: 700; + letter-spacing: 0.03em; +} + +td { + padding: 0.5rem 0.9rem; + border-top: 1px solid var(--bg3); + vertical-align: top; +} + +tr:nth-child(even) td { background: var(--bg2); } +tr:hover td { background: var(--bg3); } + +/* ── Lists ─────────────────────────────────────────────────────────── */ +ul, ol { + padding-left: 1.6rem; + margin: 0.7rem 0; +} + +li { margin: 0.25rem 0; } + +ul li::marker { color: var(--accent); } +ol li::marker { color: var(--violet); font-weight: 700; } + +/* ── Nav sidebar (index page) ──────────────────────────────────────── */ +nav ul { + list-style: none; + padding: 0; +} + +nav li { margin: 0.3rem 0; } + +/* ── Page Header Bar ───────────────────────────────────────────────── */ +.page-header { + border-bottom: 3px solid var(--accent); + padding-bottom: 0.6rem; + margin-bottom: 2rem; + display: flex; + align-items: baseline; + gap: 1rem; +} + +.page-header .site-title { + color: var(--accent); + font-size: 0.85rem; + opacity: 0.75; + white-space: nowrap; +} + +/* ── Back link ─────────────────────────────────────────────────────── */ +.back-link { + display: inline-block; + color: var(--violet); + font-size: 0.85rem; + margin-bottom: 1.5rem; + padding: 0.25rem 0.75rem; + border: 1px solid var(--violet); + border-radius: 30px; + transition: background 0.15s, color 0.15s; +} + +.back-link:hover { + background: var(--violet); + color: var(--bg); + border-bottom-color: transparent; +} + +/* ── Footer ────────────────────────────────────────────────────────── */ +footer { + margin-top: 4rem; + padding-top: 1rem; + border-top: 1px solid var(--bg3); + color: var(--text); + opacity: 0.4; + font-size: 0.8rem; + text-align: center; +} + +/* ── Responsive ────────────────────────────────────────────────────── */ +@media (max-width: 680px) { + body { padding: 1.2rem 1rem 3rem; font-size: 14px; } + h1 { font-size: 1.7rem; } + h2 { font-size: 1.3rem; } + table { display: block; overflow-x: auto; } +} + +/* ── Selection ─────────────────────────────────────────────────────── */ +::selection { + background: var(--accent); + color: var(--bg); +} + +/* ── Scrollbar ─────────────────────────────────────────────────────── */ +::-webkit-scrollbar { width: 8px; height: 8px; } +::-webkit-scrollbar-track { background: var(--bg2); } +::-webkit-scrollbar-thumb { background: var(--violet); border-radius: 4px; } +::-webkit-scrollbar-thumb:hover { background: var(--accent); } +" + +# ── HTML template ───────────────────────────────────────────────────────────── +render_html() { + local title="$1" + local body_html="$2" + local is_index="$3" # "true" or "false" + + local back_link="" + if [[ "$is_index" == "false" ]]; then + back_link='← Index' + fi + + cat < + + + + + ${title} — M-Archy Dotfiles + + + + + ${back_link} +
+${body_html} +
+
+ Generated by md-to-html.sh  ·  CyberQueer theme  ·  $(date '+%Y-%m-%d') +
+ + +HTML +} + +# ── Python converter ────────────────────────────────────────────────────────── +convert_file() { + local src="$1" + local base; base="$(basename "$src" .md)" + local dest="$HTML_DIR/${base}.html" + local is_index="false" + [[ "$base" == "index" ]] && is_index="true" + + # Extract title from first H1 in the markdown + local title + title=$(grep -m1 '^# ' "$src" | sed 's/^# //' || echo "$base") + + # Convert markdown → HTML body via python-markdown + local body_html + body_html=$(python3 - "$src" <<'PYEOF' +import sys, markdown + +with open(sys.argv[1], encoding="utf-8") as fh: + text = fh.read() + +extensions = [ + "tables", + "fenced_code", + "toc", + "attr_list", + "def_list", + "abbr", + "meta", +] + +md = markdown.Markdown(extensions=extensions, extension_configs={ + "toc": {"permalink": True, "permalink_class": "toc-anchor"}, +}) + +print(md.convert(text)) +PYEOF +) + + render_html "$title" "$body_html" "$is_index" > "$dest" + printf " %-40s → %s\n" "$(basename "$src")" "$(basename "$dest")" +} + +# ── Main ────────────────────────────────────────────────────────────────────── +if [[ $# -gt 0 ]]; then + # Explicit file list + for f in "$@"; do + [[ -f "$f" ]] || { echo "Not found: $f" >&2; continue; } + convert_file "$f" + done +else + # All markdown files in docs/md/ + shopt -s nullglob + files=("$MD_DIR"/*.md) + if [[ ${#files[@]} -eq 0 ]]; then + echo "No .md files found in $MD_DIR" + exit 0 + fi + echo "Converting ${#files[@]} files → $HTML_DIR/" + for f in "${files[@]}"; do + convert_file "$f" + done +fi + +echo +echo "Done. Open docs/html/index.html in a browser." diff --git a/docs/md/archiso.md b/docs/md/archiso.md new file mode 100644 index 0000000..1575c6d --- /dev/null +++ b/docs/md/archiso.md @@ -0,0 +1,170 @@ +# Archiso — Custom Live Installer + +The archiso build system produces a bootable Arch Linux ISO pre-loaded with the M-Archy installer scripts. Optionally, an answerfile can be embedded so the entire install — base OS + dotfiles — runs with zero user interaction. + +--- + +## Prerequisites + +```bash +sudo pacman -S archiso jq +``` + +--- + +## Building the ISO + +```bash +# Basic build — interactive installer, no answerfile +bash setup/archiso/build.sh + +# Specify output directory +bash setup/archiso/build.sh /path/to/output + +# Embed an answerfile for automated deployment +bash setup/archiso/build.sh --preconf + +# Embed a specific answerfile +bash setup/archiso/build.sh --preconf ~/my-server.json + +# Both flags together +bash setup/archiso/build.sh --preconf ~/my-server.json /media/usb/output +``` + +| Flag | Effect | +|------|--------| +| _(none)_ | Clean ISO, no answerfile | +| `--preconf` | Embed `~/answerfile.json` at `/answerfile.json` in the ISO | +| `--preconf FILE` | Embed the specified file instead | + +Build artefacts land in `~/m-archy-out/` by default. Override with the `OUT_DIR` environment variable or by passing a path argument. + +### Environment Variables + +| Variable | Default | Purpose | +|----------|---------|---------| +| `WORK_DIR` | `~/m-archy-build` | Scratch space for mkarchiso | +| `OUT_DIR` | `~/m-archy-out` | ISO output directory | + +--- + +## What the Build Does + +1. Copies the upstream `releng` Arch base profile +2. Applies the M-Archy overlay (`setup/archiso/overlay/`) +3. Replaces `profiledef.sh` with the M-Archy version +4. Adds extra packages from `packages.extra` +5. Embeds both installer scripts (`arch-autoinstall.sh`, `archbaseos-guided-install.sh`) into `/root/installer/` +6. If `--preconf`: copies the answerfile to `/answerfile.json` in the ISO's airootfs +7. Runs `mkarchiso` to produce the final `.iso` + +--- + +## Extra Packages on the Live System + +Defined in `setup/archiso/overlay/packages.extra`: + +``` +git +jq +pam-u2f +btop +fastfetch +openssh +``` + +These are added on top of the standard Arch `releng` package set. + +--- + +## Live System Entry Points + +Once booted from the ISO, the following are available: + +### `install-arch` + +A command placed in `/usr/local/bin/`: + +```bash +install-arch # guided mode (default) +install-arch guided # guided interactive install +install-arch auto # automated mode (reads /answerfile.json) +``` + +### `/root/launch.sh` + +Internal dispatcher used by `install-arch`. + +### `/answerfile.json` + +Only present when built with `--preconf`. Both installer scripts check for this file on startup. If found, all prompts are answered from it — the only interaction required is the disk-encryption password (passwords are never stored in answerfiles). + +--- + +## Automated Deployment Workflow + +``` +┌─────────────────────────────────────┐ +│ Developer machine │ +│ │ +│ 1. generate-answerfile.sh │ +│ → ~/answerfile.json │ +│ │ +│ 2. build.sh --preconf │ +│ → ~/m-archy-out/m-archy.iso │ +│ │ +│ 3. dd if=m-archy.iso of=/dev/sdX │ +└──────────────┬──────────────────────┘ + │ USB + ▼ +┌─────────────────────────────────────┐ +│ Target machine (boots from USB) │ +│ │ +│ 4. install-arch auto │ +│ reads /answerfile.json │ +│ installs base OS │ +│ runs tui-install.sh in chroot │ +│ installs dotfiles & apps │ +│ │ +│ 5. Reboot → ready system │ +└─────────────────────────────────────┘ +``` + +For multi-machine deployments, the `hostname` field in the answerfile is combined with the machine's MAC address, so each system gets a unique hostname even though they share the same answerfile. + +--- + +## Overlay Structure + +``` +setup/archiso/overlay/ +├── airootfs/ +│ ├── etc/motd # Welcome message +│ ├── root/ +│ │ └── launch.sh # Installer entry point +│ └── usr/local/bin/ +│ └── install-arch # User-facing CLI command +├── packages.extra # Additional live-system packages +└── profiledef.sh # M-Archy ISO profile definition +``` + +The `build.sh` script also adds at build time: +``` +airootfs/root/installer/ +├── arch-autoinstall.sh +└── archbaseos-guided-install.sh +``` + +--- + +## Writing the ISO to USB + +```bash +# Find the USB drive +lsblk + +# Write (replace /dev/sdX with your drive — ALL DATA WILL BE ERASED) +sudo dd if=~/m-archy-out/m-archy-*.iso of=/dev/sdX bs=4M status=progress oflag=sync +``` + +Or use `ventoy` / `balenaEtcher` as alternatives. diff --git a/docs/md/editors.md b/docs/md/editors.md new file mode 100644 index 0000000..fb1dd21 --- /dev/null +++ b/docs/md/editors.md @@ -0,0 +1,159 @@ +# Editors + +Three editors are configured and deployed by the `shell` component: Neovim (primary), Micro (lightweight), and Yazi (terminal file manager). + +--- + +## Neovim + +Config lives in `nvim/`. Deployed to `~/.config/nvim/` during `shell` module install. + +### Plugin Manager + +[vim-plug](https://github.com/junegunn/vim-plug) is auto-installed on first launch. Run `:PlugInstall` after the first start to fetch all plugins. + +### Plugins + +#### Language & Completion + +| Plugin | Purpose | +|--------|---------| +| `neoclide/coc.nvim` | LSP client, auto-completion, diagnostics | +| `rust-lang/rust.vim` | Rust filetype support | +| `nvim-telescope/telescope.nvim` | Fuzzy finder (files, grep, LSP symbols) | + +#### UI + +| Plugin | Purpose | +|--------|---------| +| `vim-airline/vim-airline` | Status bar | +| `vim-airline/vim-airline-themes` | Airline theme collection | +| `junegunn/goyo.vim` | Distraction-free writing mode | +| `voldikss/vim-floaterm` | Floating terminal windows | +| `norcalli/nvim-colorizer.lua` | Inline colour preview | + +#### Navigation + +| Plugin | Purpose | +|--------|---------| +| `preservim/nerdtree` | File tree sidebar | +| `junegunn/fzf` + `fzf.vim` | Fuzzy file/buffer search | +| `elihunter173/dirbuf.nvim` | Editable directory buffer | + +#### Snippets + +| Plugin | Purpose | +|--------|---------| +| `SirVer/ultisnips` | Snippet engine | +| `honza/vim-snippets` | Snippet collection | + +#### Database + +| Plugin | Purpose | +|--------|---------| +| `tpope/vim-dadbod` | Database query runner | +| `kristijanhusak/vim-dadbod-ui` | GUI for vim-dadbod | + +#### Markdown + +| Plugin | Purpose | +|--------|---------| +| `tadmccorkle/markdown.nvim` | Enhanced Markdown support | +| `ellisonleao/glow.nvim` | Markdown preview in terminal | + +#### Theme + +| Plugin | Purpose | +|--------|---------| +| `the_miro/cyberqueer.nvim` | CyberQueer colour scheme (local) | + +### CoC LSP Settings + +`nvim/coc-settings.json` configures language servers for: +- Python (pyright) +- Lua (lua-language-server) +- Rust (rust-analyzer via rust.vim) + +### CyberQueer Airline Theme + +`nvim/cyberqueer-airline.vim` — a custom vim-airline theme using the CyberQueer palette, providing hot-pink/violet segments in the status bar. + +--- + +## Micro + +A modern, keyboard-friendly terminal editor. Config in `micro/`. Deployed to `~/.config/micro/`. + +### Settings (`settings.json`) + +| Setting | Value | Effect | +|---------|-------|--------| +| `colorscheme` | `miro-darcula` | Custom dark colour scheme | +| Various | — | File-type-specific settings | + +### Keybindings (`bindings.json`) + +Custom keybindings extending Micro's defaults. See `micro/bindings.json` for the full list. + +### Colour Schemes + +`micro/colorschemes/` contains additional colour scheme definitions including the custom `miro-darcula` scheme. + +### Plugins (`micro/plug/`) + +| Plugin | Purpose | +|--------|---------| +| `filemanager` | Sidebar file browser | +| `mlsp` | Language Server Protocol integration | + +--- + +## Yazi + +A fast, feature-rich terminal file manager written in Rust. +Config in `yazi/`. Deployed to `~/.config/yazi/`. + +### Configuration Files + +| File | Purpose | +|------|---------| +| `yazi.toml` | Core settings (openers, file rules, display) | +| `theme.toml` | CyberQueer colour palette | +| `keymap.toml` | Keybindings (17 KB, extensively customised) | + +### Theme + +`yazi/theme.toml` maps the CyberQueer colours to Yazi's theme variables. It is a colour-substitution target in `apply-theme.sh`, so it updates automatically when you change the palette. + +### File Openers + +| File type | Opens with | +|-----------|-----------| +| `*.svg` | Inkscape | +| Text files | Neovim | +| Everything else | `xdg-open` (system default) | + +### Display Options + +- Hidden files visible by default +- Symlinks shown and followed +- Three-pane layout (parent, current, preview) + +--- + +## Launching Editors + +From the Hyprland desktop: + +| Shortcut | Action | +|----------|--------| +| `Super + M` | Open Micro in Kitty | +| `Super + E` | Open Yazi in Kitty | +| `Super + T` then `nvim` | Neovim in terminal | + +From the shell: +```bash +nvim file.rs # Neovim +micro config.yaml # Micro +yazi # Yazi file manager +``` diff --git a/docs/md/freeipa-ansible.md b/docs/md/freeipa-ansible.md new file mode 100644 index 0000000..979ca89 --- /dev/null +++ b/docs/md/freeipa-ansible.md @@ -0,0 +1,211 @@ +# FreeIPA & Ansible + +The FreeIPA/Ansible system provides centralised identity management for a fleet of Arch Linux machines: single sign-on, host-group-driven package and module deployment, LUKS backup key collection, and automatic Keycloak configuration. + +All relevant files live under `setup/modules/FreeipaAnsible/`. + +--- + +## Architecture + +``` +┌────────────────────────────────────┐ +│ FreeIPA Server │ +│ (can run in Docker / LXC) │ +│ │ +│ • User/host directory │ +│ • Kerberos KDC │ +│ • DNS (optional) │ +│ • Host group management │ +└──────────┬─────────────────────────┘ + │ SSSD / Kerberos + ▼ +┌────────────────────────────────────┐ +│ Enrolled client machine │ +│ │ +│ • sssd — authentication │ +│ • ipa CLI — host group queries │ +│ • Ansible-deployed timers │ +│ ├── package installer │ +│ ├── module installer │ +│ ├── Flatpak installer │ +│ └── baseuser group sync │ +└────────────────────────────────────┘ +``` + +--- + +## FreeIPA Server + +### Docker / OCI Image + +A pre-built Docker image is available via `setup/modules/FreeipaAnsible/image/`: + +```bash +cd setup/modules/FreeipaAnsible/image +cp .env.example .env +# Edit .env with your domain, admin password, realm, etc. +docker compose up -d +``` + +The container runs `ipa-first-boot.sh` on first start to initialise the IPA instance, then optionally `keycloak-configure.sh` to wire up Keycloak as an OIDC provider. + +### Interactive Server Setup + +```bash +bash setup/modules/optional-Modules/apps/freeipa-server.sh +``` + +Prompts for realm, domain, admin password, and whether to generate client-install scripts. + +--- + +## Client Enrollment + +### Via Installer Module + +Select `freeipa-client` during `tui-install.sh` or `install-modules.sh`. + +### Manual Enrollment + +Three modes: + +```bash +# Answerfile mode (unattended) +bash setup/modules/FreeipaAnsible/freeipa-client.sh \ + --answerfile setup/modules/FreeipaAnsible/freeipa-client-answerfile.json + +# Interactive prompts +bash setup/modules/FreeipaAnsible/freeipa-client.sh --interactive + +# Direct flag passthrough to freeipa-enroll.sh +bash setup/modules/FreeipaAnsible/freeipa-client.sh \ + --domain freeipa.example.com \ + --server ipa.example.com \ + --principal admin +``` + +### Client Answerfile Schema + +```json +{ + "domain": "freeipa.abdelbaki.eu", + "realm": "FREEIPA.ABDELBAKI.EU", + "server": "freeipa.abdelbaki.eu", + "hostname": "", + "principal": "admin", + "password": "", + "mkhomedir": true, + "sudo": true, + "dns_update": true, + "ntp_server": "", + "fido2": false, + "fido2_users": [] +} +``` + +Leave `hostname` blank to use the current machine hostname. Leave `password` blank to be prompted at enrollment time. + +--- + +## Ansible Playbooks + +All playbooks live in `setup/modules/FreeipaAnsible/ansible/` and require an inventory of enrolled IPA clients. + +### Deploy Package Auto-Installer + +```bash +ansible-playbook -i inventory deploy-ansipa-install.yml +``` + +Deploys `ansipa-install-packages.sh` + a systemd timer that runs every 30 minutes. The script queries IPA for host groups named `ansipa-install-` and installs/removes packages to match. + +**Group naming convention:** `ansipa-install-firefox` → installs the `firefox` package. + +### Deploy Module Auto-Installer + +```bash +ansible-playbook -i inventory deploy-ansipa-modules.yml \ + [-e ansipa_user=amir] +``` + +Deploys `ansipa-install-modules.sh` + timer. Queries for groups named `ansipa-module-` and runs the matching script from `/usr/local/lib/ansipa-modules/.sh`. + +Module scripts are the same ones used by `install-modules.sh` — copied from `setup/modules/optional-Modules/apps/*.sh`. + +**Group naming convention:** `ansipa-module-docker` → runs `docker.sh` on the host. + +Each module is applied once and stamped in `/var/lib/ansipa-modules/.done`. Re-running the timer skips already-applied modules. + +### Deploy BaseUser Sync + +```bash +ansible-playbook -i inventory deploy-baseuser-sync.yml +``` + +Deploys a `systemd.path` unit that triggers whenever a user logs in. If the user is a member of the IPA `BaseUser` group, they are automatically added to the local `baseusers` group — useful for desktop permission grants. + +### Collect LUKS Backup Keys + +```bash +ansible-playbook -i inventory collect-luks-keys.yml \ + [-e luks_keys_store=/secure/location] +``` + +For each enrolled host, checks for `/_LUKS_BACKUP_KEY` (placed there by the M-Archy installer when disk encryption is enabled) and fetches it to the controller as: + +``` +/_LUKS_BACKUP_KEY +``` + +Keys are stored with mode `0400`. The store directory is created with mode `0700`. + +**Schedule for automatic collection:** +```bash +# Add to crontab on the Ansible controller +0 3 * * * cd /path/to/playbooks && ansible-playbook -i inventory collect-luks-keys.yml +``` + +--- + +## Host Group Reference + +| Group prefix | Handled by | Effect | +|--------------|-----------|--------| +| `ansipa-install-` | `ansipa-install-packages.sh` | Install/remove native package | +| `ansipa-module-` | `ansipa-install-modules.sh` | Run module script once | +| `fp_install-` | `ansipa-install-flatpaks.sh` | Install Flatpak app | +| `BaseUser` | `auto-add-baseuser.sh` | Add user to local `baseusers` group | + +--- + +## LUKS Key Flow + +``` + Install time (arch-autoinstall.sh or archbaseos-guided-install.sh) + ───────────────────────────────────────────────────────────────── + 1. User sets primary LUKS passphrase interactively + 2. 64-byte random key generated from /dev/urandom + 3. Key enrolled in second LUKS slot + 4. Key written to /_LUKS_BACKUP_KEY (mode 0400, root-only) + inside the encrypted Btrfs volume + + Post-install (Ansible) + ────────────────────── + 5. collect-luks-keys.yml runs from the controller + 6. Fetches /_LUKS_BACKUP_KEY from each client + 7. Stores as luks-keys/_LUKS_BACKUP_KEY (mode 0400) + on the controller +``` + +The backup key lives inside the encrypted partition, so it is only accessible when the disk is already unlocked. Its purpose is to allow an admin to unlock the disk for recovery without knowing the user's passphrase. + +--- + +## Auto Enrollment + Ansible + +```bash +bash setup/modules/FreeipaAnsible/auto-enroll-ansible.sh +``` + +Combines FreeIPA client enrollment and Ansible deployment in one shot. Useful for provisioning scripts that run on first boot. diff --git a/docs/md/hyprland.md b/docs/md/hyprland.md new file mode 100644 index 0000000..394b470 --- /dev/null +++ b/docs/md/hyprland.md @@ -0,0 +1,260 @@ +# Hyprland Desktop Environment + +The Hyprland setup is the primary desktop environment — a Wayland compositor with a full ecosystem of bars, launchers, notification daemons, and theming tools. + +--- + +## Overview + +| Component | Role | +|-----------|------| +| **Hyprland** | Wayland tiling compositor (dwindle layout) | +| **Kitty** | Primary terminal emulator | +| **EWW** | Status bar (three device variants) | +| **Waybar** | Alternative status bar | +| **Wofi** | App launcher (keyboard-driven) | +| **Walker** | Fast CLI launcher | +| **uLauncher** | GUI app launcher | +| **Dunst** | Notification daemon | +| **Hyprlock** | Screen locker | +| **Hyprpaper** | Wallpaper daemon | +| **Hypridle** | Idle management (sleep, lock) | +| **nwg-dock** | Application dock | +| **nwg-drawer** | Application drawer | +| **nwg-panel** | Desktop menu | +| **Vicinae** | Gesture-triggered context launcher | +| **ly** | TUI login manager | + +--- + +## Config File Map + +``` +desktopenvs/hyprland/ +├── hypr/ +│ ├── hyprland.conf # Root config — imports all below +│ ├── hyprtoolkit.conf # Toolkit utilities +│ ├── hyprlock.conf # Lock screen +│ ├── hypridle.conf # Idle timeouts +│ └── hyprpaper.conf # Wallpaper +├── hypr-usr/ # Per-user override layer +│ ├── binds.conf # All keybindings +│ ├── input.conf # Keyboard/mouse settings +│ ├── monitors.conf # Display layout +│ ├── windowrules.conf # Per-app behaviour rules +│ └── autostart.conf # Startup programs +├── kitty/ +│ ├── kitty.conf # Terminal config +│ ├── current-theme.conf # Active palette (CyberQueer) +│ └── themes/cyberqueer.conf # Theme definition +├── waybar/ +│ ├── config # Module layout and data sources +│ └── style.css # CyberQueer styling +├── wofi/style.css # Launcher styling +├── walker/themes/ # Walker theme (cyberqueer.css) +├── dunst/ # Notification styling +├── eww/ # EWW bar (PC — no battery) +├── eww-nobattery/ # EWW bar alias +├── eww-touch/ # EWW bar (tablet / touchscreen) +├── spicetify/ # Spotify CyberQueer themes +├── Vencord/ # Discord CyberQueer themes +├── btop/ # System monitor + cyberqueer.theme +├── scripts/ # 20+ utility scripts +└── config-updater/ # Config synchronisation tool +``` + +--- + +## Keybindings + +All bindings live in `hypr-usr/binds.conf`. + +### Applications + +| Binding | Action | +|---------|--------| +| `Super + T` | Kitty terminal | +| `Super + Shift + T` | Cool Retro Term (CRT profile) | +| `Super + M` | Micro editor | +| `Super + E` | Thunar file manager | +| `Super + X` | Wofi app launcher | +| `Super + F` | File search (wofi) | +| `Super + Shift + F` | Folder search (wofi) | + +### Window Management + +| Binding | Action | +|---------|--------| +| `Super + Q` | Close focused window | +| `Super + V` | Toggle floating | +| `Super + Shift + V` | Centre floating window | +| `Super + P` | Toggle pseudo-tiling | +| `Super + J` | Toggle split direction | +| `Super + Arrow / hjkl` | Focus window by direction | +| `Super + Shift + Arrow / hjkl` | Move window by direction | +| `Super + [0-9]` | Switch workspace | +| `Super + Shift + [0-9]` | Move window to workspace | +| `Super + mouse drag` | Move/resize floating window | + +### System + +| Binding | Action | +|---------|--------| +| `Super + O` | Lock screen (hyprlock) | +| `Super + Alt + O` | Power menu | +| `Super + Ctrl + O` | Shutdown immediately | +| `Super + Z` | Toggle EWW bar | +| `Super + Ctrl + P` | Start screen recording | + +### Touchpad Gestures + +| Gesture | Action | +|---------|--------| +| 3-finger swipe left/right | Switch workspace | +| 3-finger swipe up/down | Move window to workspace | +| 3-finger pinch | Toggle overview | +| 4-finger tap | Open launcher | + +--- + +## Status Bar (EWW) + +EWW (Elkowar's Wayland Window Manager) is compiled from source during Hyprland install and comes in three variants: + +| Variant | Device | Battery Widget | +|---------|--------|---------------| +| `eww/` | Desktop PC | No | +| `eww-nobattery/` | Desktop PC | No | +| `eww-touch/` | Laptop / tablet | Yes | + +During install the EWW installer asks which variant to use. + +### Waybar + +An alternative to EWW — always installed. The bar layout: + +- **Left**: clock, disk usage, RAM, CPU, temperature +- **Centre**: workspace switcher, active window title +- **Right**: network speed, IP address, system tray, audio volume, battery (if present) + +--- + +## Launchers + +### Wofi + +Keyboard-driven app/file launcher. Activated with `Super + X`. +Config: `wofi/style.css` — themed with CyberQueer colours. + +### Walker + +Fast CLI launcher (`walker`). Pre-configured with `walker/config.toml` and the `cyberqueer.css` / `cyberqueer.toml` theme files. + +### uLauncher + +GUI launcher with plugin support. Theme: `ulauncher/user-themes/cyberqueer/`. +Colours in the theme are colour-substitution targets (updated by `apply-theme.sh`). + +--- + +## Notification Daemon (Dunst) + +Lightweight notification daemon. Config in `dunst/dunstrc`. +Notifications appear top-right with CyberQueer styling. + +--- + +## Lock Screen (Hyprlock) + +`hyprlock` is the Wayland screen locker. Config at `hypr/hyprlock.conf`. +Activated by `Super + O` or automatically via `hypridle` after idle timeout. + +--- + +## Scripts Reference + +All scripts live in `desktopenvs/hyprland/scripts/` and are deployed to `~/.config/scripts/`. + +| Script | Purpose | +|--------|---------| +| `caffeine.sh` | Toggle hypridle (prevent sleep) | +| `ewwstart.sh` | Launch EWW bar on startup | +| `ewwstart-niri.sh` | EWW for niri compositor variant | +| `togglebar.sh` | Show/hide EWW bar (monitor-aware) | +| `helpmenu.sh` | Display keybindings from binds.conf | +| `screenshot.sh` | Region/full screenshot via grim + slurp | +| `screenrec.sh` | Screen recording | +| `screenrotationacw.sh` | Rotate screen anti-clockwise (tablet) | +| `screenrotationwcw.sh` | Rotate screen clockwise (tablet) | +| `unified-rotate.sh` | Unified rotation handler | +| `hyprland-toggle-touchpad.sh` | Enable/disable touchpad | +| `wofi-file-search.sh` | File search via wofi | +| `foldersearch.sh` | Folder search via wofi | +| `pwr-dmenu.sh` | Power menu (shutdown/reboot/suspend) | +| `caffeine.sh` | Toggle idle inhibitor | +| `getispeed.sh` | Internet speed test display | +| `journal.sh` | Quick journal entry | +| `date.sh` / `time.sh` | Date/time waybar helpers | +| `uptime.sh` | Uptime display | +| `dysk-phydisks.sh` | Physical disk info (dysk) | +| `drawer.sh` | Open nwg-drawer | +| `menu.sh` | Application menu | +| `onscreenkb.sh` | On-screen keyboard (wvkbd) | +| `bluetooth-applet.sh` | Bluetooth UI wrapper | +| `togglewinbars.sh` | Toggle window title bars | +| `toggle-layout.sh` | Switch tiling layout | +| `playpause.sh` | Media play/pause | +| `calender-fix.sh` | Calendar waybar widget fix | + +--- + +## Application Theming + +### Spotify (Spicetify) + +Two CyberQueer Spicetify themes are available: + +| Theme | Style | +|-------|-------| +| `cli-cyberqueer` | CLI-inspired, minimal | +| `matte-cyberqueer` | Matte finish variant | + +Applied automatically when the `spotify` module is installed. + +### Discord (Vencord) + +Two Discord themes: + +| Theme | Location | +|-------|----------| +| `cyberqueer.theme.css` | Standalone CyberQueer theme | +| `system24/…/cyberqueer.theme.css` | system24 framework with CyberQueer colours | + +### Terminal (Kitty) + +The `kitty/themes/cyberqueer.conf` file defines the full 16-colour palette mapped to CyberQueer values. It is sourced by `current-theme.conf` which is imported in `kitty.conf`. + +--- + +## Login Manager (ly) + +`ly` is a TUI display manager configured via `etc-ly-config.ini` (deployed to `/etc/ly/config.ini`). Its colours are tracked by `apply-theme.sh` (system file, applied via `sudo`). + +--- + +## Installing Hyprland + +```bash +# Via the TUI installer +bash ~/Dotfiles/setup/tui-install.sh +# → Select "shell" and "Hyprland" in the dialogs + +# On an existing system +bash ~/Dotfiles/setup/install-modules.sh +# → Not available; Hyprland is a base DE, use the full installer + +# Direct script +bash ~/Dotfiles/setup/modules/Desktop-Environments/hyprland.sh +``` + +The install script compiles EWW from source (requires Rust), copies all configs, installs the GTK and cursor themes, enables `ly@tty1`, and configures `greetd`. diff --git a/docs/md/index.md b/docs/md/index.md new file mode 100644 index 0000000..585a2c7 --- /dev/null +++ b/docs/md/index.md @@ -0,0 +1,77 @@ +# M-Archy Dotfiles + +**Arch Linux · Hyprland · Wayland · CyberQueer** + +A production-grade Arch Linux configuration for network administration, development, and gaming — built around the Hyprland Wayland compositor and the CyberQueer colour theme. + +--- + +## What's Inside + +| Area | Description | +|------|-------------| +| [Installation](installation.md) | Interactive TUI installer, answerfile automation, ISO building | +| [Theming](theming.md) | CyberQueer colour system and `apply-theme.sh` | +| [Hyprland](hyprland.md) | Desktop environment, keybindings, bars, launchers | +| [Modules](modules.md) | Core modules and full optional-app catalogue | +| [Archiso](archiso.md) | Building the custom live installer ISO | +| [FreeIPA & Ansible](freeipa-ansible.md) | Identity management and automated config deployment | +| [Editors](editors.md) | Neovim, Micro, Yazi | +| [Utilities](utilities.md) | Encryption helpers, ClamAV, credentials, update scripts | + +--- + +## Quick Start + +```bash +# 1 — clone +git clone https://git.abdelbaki.eu/The_miro/Dotfiles.git ~/Dotfiles + +# 2 — run the interactive installer +bash ~/Dotfiles/setup/tui-install.sh + +# 3 — optionally apply a custom colour palette +nano ~/Dotfiles/colors.conf +bash ~/Dotfiles/apply-theme.sh +``` + +For a fully automated install from a live USB, see [Archiso](archiso.md). + +--- + +## CyberQueer Colour Palette + +| Role | Name | Hex | +|------|------|-----| +| Background | Dark grey | `#1A1A1A` | +| Text | Rose white | `#D6ABAB` | +| Primary accent | Hot pink | `#E40046` | +| Secondary accent | Electric violet | `#5018DD` | +| Danger / alerts | Red | `#F50505` | + +--- + +## Repository Layout + +``` +Dotfiles/ +├── apply-theme.sh # Propagate colours across all configs +├── colors.conf # Single source of truth for the palette +├── update.sh # pacman + yay full system update +├── setup/ +│ ├── tui-install.sh # Main interactive / answerfile installer +│ ├── generate-answerfile.sh # Dry-run to produce answerfile.json +│ ├── arch-autoinstall.sh # Automated base OS installer +│ ├── archbaseos-guided-install.sh # Guided base OS installer +│ ├── install-modules.sh # Add optional modules to existing system +│ ├── archiso/ # Custom Arch live ISO builder +│ └── modules/ # Modular install scripts +├── desktopenvs/hyprland/ # All Hyprland / Wayland configs +├── gtk-themes/cyberqueer/ # GTK 3 & 4 theme +├── qt-themes/cyberqueer/ # Qt platform theme +├── nvim/ # Neovim config +├── micro/ # Micro editor config +├── yazi/ # Yazi file manager config +├── clamav/ # ClamAV on-access scan setup +└── docs/ # This documentation +``` diff --git a/docs/md/installation.md b/docs/md/installation.md new file mode 100644 index 0000000..b61d8c7 --- /dev/null +++ b/docs/md/installation.md @@ -0,0 +1,187 @@ +# Installation + +Three paths are available depending on how much you want to automate: + +| Path | When to use | +|------|-------------| +| [Interactive TUI](#interactive-tui) | Fresh Arch system, guided dialogs | +| [Answerfile (automated)](#answerfile-automated) | Unattended or repeatable installs | +| [Custom ISO](#custom-live-iso) | Deploy from USB to multiple machines | + +--- + +## Prerequisites + +- Arch Linux (base install completed, user created) +- Internet connection +- `git` available (`sudo pacman -S git`) + +--- + +## Interactive TUI + +Clone the repo and run the installer: + +```bash +git clone https://git.abdelbaki.eu/The_miro/Dotfiles.git ~/Dotfiles +bash ~/Dotfiles/setup/tui-install.sh +``` + +The TUI walks you through: + +1. **Hostname** — optional; sets `/etc/hostname` immediately +2. **Components** — pick any combination: + - `pkg` — package managers (yay, nvm, Rust) + - `core` — 100+ base system packages + - `svc` — core services (NetworkManager, cronie, fail2ban, greetd) + - `shell` — zsh, Neovim, Yazi, Micro, Starship +3. **Desktop Environment** — Hyprland, Sway, KDE Plasma, GNOME, COSMIC, XFCE, LXQt, or none +4. **Applications** — checklist of ~50 optional apps (see [Modules](modules.md)) +5. **Colorway** — optional; enter hex values to customise the CyberQueer palette + +All activity is logged to `~/dotfiles-install.log`. + +### Adding Modules Later + +To install additional optional apps on an already-configured system: + +```bash +bash ~/Dotfiles/setup/install-modules.sh +``` + +This presents the same app checklist without re-running core setup. + +--- + +## Answerfile (Automated) + +An **answerfile** lets the entire install — base OS _and_ dotfiles — run without any user input. + +### Generating an Answerfile + +```bash +bash ~/Dotfiles/setup/generate-answerfile.sh [OUTPUT_PATH] +# Default output: ~/answerfile.json +``` + +This dry-runs every installer dialog and saves your choices. **No software is installed.** Passwords are intentionally excluded — you will be prompted at install time. + +### Answerfile Schema + +```json +{ + "_generated": "2026-05-18T12:00:00+00:00", + "drive": "/dev/sda", + "kernel": "linux", + "hostname": "myhost", + "username": "amir", + "encrypt": true, + "fido2_root": false, + "fido2_user": false, + "run_tui": true, + "components": ["pkg", "core", "svc", "shell"], + "desktop_environment": "hyprland", + "apps": ["firefox-browser", "vscodium", "docker"], + "colors": { + "COLOR_TEXT": "D6ABAB", + "COLOR_BG": "1A1A1A", + "COLOR_HIGHLIGHT": "E40046", + "COLOR_DARK": "5018DD", + "COLOR_RED": "F50505" + } +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `drive` | string | Install target (`/dev/sda`, `/dev/nvme0n1`, …) | +| `kernel` | string | `linux`, `linux-lts`, or `linux-zen` | +| `hostname` | string | Base hostname — a MAC-address suffix is appended automatically | +| `username` | string | Primary user account name | +| `encrypt` | bool | Enable LUKS2 root encryption | +| `fido2_root` | bool | Enroll FIDO2 key for LUKS unlock | +| `fido2_user` | bool | Enroll FIDO2 key for PAM login | +| `run_tui` | bool | Run dotfiles setup automatically after base install | +| `components` | array | Dotfiles components to install | +| `desktop_environment` | string | DE name or `"none"` | +| `apps` | array | Optional app IDs (see [Modules](modules.md)) | +| `colors` | object | Optional colour overrides (omit to keep defaults) | + +### Hostname Uniqueness + +When `hostname` is set in the answerfile, the MAC address of the primary network interface is automatically appended: + +``` +myhost → myhost-aabbccddee11 +``` + +This prevents hostname conflicts when the same answerfile is used across multiple machines. + +### Running with an Answerfile + +Place the file at `/answerfile.json` (or set the `ANSWERFILE` environment variable): + +```bash +# Use default location +sudo cp ~/answerfile.json /answerfile.json +bash ~/Dotfiles/setup/tui-install.sh + +# Or override the path +ANSWERFILE=~/my-setup.json bash ~/Dotfiles/setup/tui-install.sh +``` + +--- + +## Base OS Installers + +Two scripts install Arch Linux itself (before the dotfiles step): + +### Guided Installer (`archbaseos-guided-install.sh`) + +Interactive, dialog-based. Prompts for each setting with sensible defaults. Good for hands-on installs where you want to review each option. + +```bash +bash ~/installer/archbaseos-guided-install.sh +``` + +### Auto Installer (`arch-autoinstall.sh`) + +Reads all settings from `/answerfile.json` if present; falls back to prompts for anything missing. + +```bash +bash ~/installer/arch-autoinstall.sh +``` + +Both installers perform the same steps: + +1. Partition disk (EFI 15 GiB · Root · Swap = RAM size) +2. Optionally encrypt root with LUKS2 +3. Format root as Btrfs with `@` and `@home` subvolumes +4. `pacstrap` base system +5. Configure locale, timezone, hostname, user, sudo +6. Set up mkinitcpio hooks and GRUB +7. Optionally run `tui-install.sh` inside the chroot + +### Disk Encryption + +When encryption is enabled: + +- **Primary key**: entered interactively at install time +- **Backup key**: generated automatically from `/dev/urandom`, enrolled into a second LUKS slot, and written to `/_LUKS_BACKUP_KEY` inside the new system (mode `0400`, root-readable only, inside the encrypted container) +- **FIDO2** (optional): enroll a hardware key for passwordless unlock + +The backup key can be collected by Ansible — see [FreeIPA & Ansible](freeipa-ansible.md). + +### mkinitcpio Hook Sets + +| Scenario | Hooks | +|----------|-------| +| No encryption | `base udev autodetect microcode modconf kms consolefont block btrfs filesystems keyboard fsck` | +| LUKS + password | `base udev autodetect microcode modconf kms consolefont block encrypt lvm2 btrfs filesystems keyboard keymap fsck` | +| LUKS + FIDO2 | `base udev systemd autodetect microcode modconf kms consolefont block sd-encrypt lvm2 btrfs filesystems keyboard keymap fsck` | + +--- + +## Custom Live ISO + +See [Archiso](archiso.md) for building a bootable USB that embeds the installer and, optionally, a pre-baked answerfile for zero-touch deployment. diff --git a/docs/md/modules.md b/docs/md/modules.md new file mode 100644 index 0000000..4f1707c --- /dev/null +++ b/docs/md/modules.md @@ -0,0 +1,191 @@ +# Modules Reference + +The setup system is modular — core components are installed first, then any combination of optional apps can be added. All module scripts are idempotent (safe to re-run). + +--- + +## Core Modules + +These are selected during the initial `tui-install.sh` run. + +### `pkg` — Package Managers + +Installs the AUR helper, language runtimes, and build toolchains: + +- **yay** — AUR helper (built from source via `makepkg`) +- **Rust / Cargo** — via `rustup` with the stable toolchain +- **nvm** — Node Version Manager; installs Node.js v22 LTS by default + +### `core` — Core Packages + +~100 packages including: + +`7zip` · `base-devel` · `bluez` · `bluez-utils` · `btop` · `fastfetch` · `fdupes` · `ffmpeg` · `git` · `greetd-tuigreet` · `htop` · `jq` · `less` · `lynx` · `neovim` · `networkmanager` · `openssh` · `pipewire` · `pipewire-alsa` · `pipewire-pulse` · `ripgrep` · `rsync` · `tmux` · `udiskie` · `yazi` · `zram-generator` + +Also installs `pamtester` from the AUR. + +### `svc` — Core Services + +Enables and starts these systemd units: + +| Service | Purpose | +|---------|---------| +| `NetworkManager` | Network connectivity | +| `cronie` | Cron daemon | +| `fail2ban` | Brute-force protection | +| `greetd` | Login session manager | +| `udisks2` | Removable media | + +Also deploys `greetd-tuigreet` config from the dotfiles. + +### `shell` — Shell Setup + +- **zsh** with **Oh My Zsh** and plugins (zsh-syntax-highlighting, zsh-autosuggestions) +- **Starship** shell prompt +- **Neovim** with Vim-Plug (see [Editors](editors.md)) +- **Micro** editor +- **Yazi** file manager +- Deploys `.bashrc`, `.zshrc`, `starship.toml`, Micro config, Neovim config + +--- + +## Desktop Environments + +| ID | Name | Notes | +|----|------|-------| +| `hyprland` | Hyprland | Primary DE — see [Hyprland](hyprland.md) | +| `sway` | Sway | Wayland tiling WM, lighter | +| `kde-plasma` | KDE Plasma | Full-featured with sddm | +| `gnome` | GNOME | Modern Wayland DE with gdm | +| `cosmic` | COSMIC | Rust-based DE from System76 | +| `xfce` | XFCE | Lightweight X11 with lightdm | +| `lxqt` | LXQt | Lightweight Qt X11 with sddm | + +--- + +## Optional Applications + +Install via `tui-install.sh` at first install, or add later: + +```bash +bash ~/Dotfiles/setup/install-modules.sh +``` + +### AI & Machine Learning + +| ID | Package | Description | +|----|---------|-------------| +| `ollama` | ollama | Local LLM runner with REST API server | +| `llama-cpp` | llama.cpp | Standalone inference CLI + server | +| `open-webui` | open-webui | Browser UI for Ollama / OpenAI-compatible backends | +| `claude` | claude (npm) | Anthropic Claude Code CLI | + +### Networking & Security + +| ID | Packages | Description | +|----|---------|-------------| +| `networking-cli` | nmap · nethogs · mitmproxy · httpie | Network analysis and HTTP tooling | +| `disk-recovery` | ddrescue · f3 | Disk imaging and flash drive testing | +| `ssh-server` | openssh | SSH daemon with key-auth enforcement | +| `wireshark` | wireshark-qt | Packet capture and analysis GUI | + +### Development + +| ID | Packages | Description | +|----|---------|-------------| +| `python` | pyright · pipx · pynvim | Python LSP, isolated tool runner, Neovim integration | +| `docker` | docker · docker-compose | Container runtime | +| `podman` | podman · buildah · podman-compose | Rootless containers | +| `cockpit` | cockpit · machines · podman | Web-based system management UI | +| `k8s` | kubectl · podman-desktop | Kubernetes CLI and desktop client | +| `db-clients` | pgcli · mycli | Enhanced interactive database CLIs | +| `mysql` | mariadb | MariaDB server with initial setup | + +### IDEs & Editors + +| ID | Package | Description | +|----|---------|-------------| +| `vscodium` | vscodium-bin (AUR) | VS Code without telemetry | +| `zed-ide` | zed | High-performance Rust IDE | +| `geany` | geany · geany-plugins | Lightweight IDE | +| `codeblocks` | codeblocks | C/C++ IDE | +| `kate` | kate | KDE advanced text editor | + +### Browsers + +| ID | Package | Description | +|----|---------|-------------| +| `chromium` | chromium | Open-source Chromium | +| `firefox-browser` | firefox | Mozilla Firefox | +| `zen-browser` | zen-browser-bin (AUR) | Privacy-focused Firefox fork | +| `nyxt` | nyxt (AUR) | Keyboard-driven, hackable browser | +| `librewolf` | librewolf-bin (AUR) | Hardened Firefox fork | +| `min-browser` | min (AUR) | Minimal Electron browser | + +### Gaming + +| ID | Package | Description | +|----|---------|-------------| +| `steam` | steam | Steam gaming platform | +| `vesktop` | vesktop (AUR) | Discord client with Vencord built-in | +| `spotify` | spotify (AUR) + spicetify | Music player with CyberQueer theme | +| `prism` | prismlauncher (Flatpak) | Minecraft launcher | +| `vintagestory` | vintagestory (AUR) | Survival / voxel game | + +### Media & Creative + +| ID | Packages | Description | +|----|---------|-------------| +| `ffmpeg` | gst-plugin-pipewire · gst-plugins-good · ffmpegthumbnailer | GStreamer codecs + thumbnailer | +| `sox` | sox | Command-line audio processing | +| `imagemagick` | imagemagick | Image manipulation suite | +| `yt-dlp` | yt-dlp | YouTube / media downloader | +| `blender` | blender | 3D creation suite | +| `gnuplot` | gnuplot | Scientific plotting | +| `povray` | povray | Ray-tracing renderer | + +### Productivity + +| ID | Packages | Description | +|----|---------|-------------| +| `productivity` | taskwarrior · watson · jrnl | Task management, time tracking, journaling | +| `himalaya` | himalaya (AUR) | Terminal email client | +| `toot` | toot (AUR) | Mastodon CLI client | + +### System Utilities + +| ID | Packages | Description | +|----|---------|-------------| +| `tlp` | tlp · tlp-rdw | Laptop battery optimisation | +| `zfs` | zfs-dkms | ZFS kernel module | +| `wprs` | wprs-git (AUR) | Wayland proxy for remote sessions | +| `butter` | butter (AUR) | Btrfs snapshot backup manager | +| `localsend` | localsend (AUR) | LAN file transfer (AirDrop-like) | +| `croc` | croc | Cross-platform encrypted file transfer | +| `localtunnel` | localtunnel (npm) | Expose localhost over a public URL | +| `onlyoffice` | onlyoffice-bin (AUR) | Office suite (Docs, Sheets, Slides) | + +### Identity & Infrastructure + +| ID | Description | +|----|-------------| +| `freeipa-client` | sssd + ipa-client-install + auto-enrollment (see [FreeIPA](freeipa-ansible.md)) | +| `freeipa-server` | Interactive FreeIPA server setup + client generator | +| `freeipa-image` | OCI / LXC / Proxmox LXC image builder + Keycloak | + +--- + +## Container Shell Setups + +Scripts in `setup/Setup-shell-4-containers/` configure a minimal shell environment inside containers or chroots for each major distribution: + +| Script | Target | +|--------|--------| +| `alpine.sh` | Alpine Linux | +| `arch.sh` | Arch Linux | +| `debian.sh` | Debian | +| `fedora.sh` | Fedora | +| `suse.sh` | openSUSE | +| `ubuntu.sh` | Ubuntu | +| `void.sh` | Void Linux | +| `other.sh` | Generic fallback | diff --git a/docs/md/theming.md b/docs/md/theming.md new file mode 100644 index 0000000..a3420d3 --- /dev/null +++ b/docs/md/theming.md @@ -0,0 +1,140 @@ +# CyberQueer Theme System + +The CyberQueer theme is a single-source colour system: every config file that needs colours references a small set of hex values that can be changed in one place and propagated everywhere with a single command. + +--- + +## The Palette + +Defined in `~/Dotfiles/colors.conf` (bare 6-digit hex, no `#` prefix): + +```ini +COLOR_TEXT=D6ABAB # Rose-white — foreground text, labels +COLOR_BG=1A1A1A # Near-black — base surface, backgrounds +COLOR_HIGHLIGHT=E40046 # Hot pink — primary accent, active borders +COLOR_DARK=5018DD # Violet — secondary accent, inactive borders +COLOR_RED=F50505 # Red — danger indicators, alerts +``` + +--- + +## Applying the Theme + +```bash +# Apply using the default colors.conf +bash ~/Dotfiles/apply-theme.sh + +# Apply from a custom palette file +bash ~/Dotfiles/apply-theme.sh /path/to/custom-colors.conf +``` + +`apply-theme.sh` will: + +1. Read `colors.conf` (or the file you pass) +2. Compare against the last-applied state in `~/.config/colors.state` +3. Replace only **changed** colour values across all tracked files +4. Save the new state to `colors.state` + +If nothing changed it exits immediately — safe to call repeatedly. + +### First-Run Bootstrap + +On a fresh install where configs have been copied but no state file exists yet, `apply-theme.sh` bootstraps `~/.config/colors.state` with the repository defaults so the diff works correctly from the start. + +--- + +## What Gets Themed + +### User Configs (`~/.config/…`) + +| File | What it styles | +|------|---------------| +| `starship.toml` | Shell prompt segment colours | +| `yazi/theme.toml` | File manager UI colours | +| `hypr/hyprland.conf` | Active/inactive window border gradients | +| `hypr/hyprtoolkit.conf` | Additional Hyprland colours | +| `hypr/hyprlock.conf` | Lock screen colours | +| `kitty/current-theme.conf` | Terminal colour palette | +| `kitty/kitty.conf` | Terminal background & accents | +| `kitty/themes/cyberqueer.conf` | Kitty colour scheme definition | +| `waybar/style.css` | Top bar widget colours | +| `wofi/style.css` | App launcher colours | +| `walker/themes/cyberqueer.css` | Walker launcher theme | +| `nwg-dock-hyprland/style.css` | Application dock | +| `nwg-drawer/drawer.css` | Application drawer | +| `nwg-panel/menu-start.css` | Panel start menu | +| `vicinae/cyberqueer.toml` | Gesture launcher | +| `scripts/onscreenkb.sh` | On-screen keyboard colours | +| `spicetify/Themes/*/color.ini` | Spotify client theme (×2 variants) | +| `ulauncher/user-themes/cyberqueer/manifest.json` | uLauncher theme | +| `ulauncher/user-themes/cyberqueer/theme.css` | uLauncher CSS | +| `ulauncher/user-themes/cyberqueer/generated.css` | uLauncher generated CSS | +| `Vencord/themes/cyberqueer.theme.css` | Discord theme | +| `Vencord/themes/system24/…/cyberqueer.theme.css` | Discord system24 variant | + +### System Files (applied via `sudo`) + +| File | What it styles | +|------|---------------| +| `/etc/ly/config.ini` | TUI login manager colours | +| `/usr/share/themes/cyberqueer/gtk-3.0/gtk.css` | GTK 3 theme | +| `/usr/share/themes/cyberqueer/gtk-4.0/gtk.css` | GTK 4 theme | + +--- + +## Customising the Palette + +Edit `~/Dotfiles/colors.conf`, then run `apply-theme.sh`: + +```bash +# Example: shift the accent to cyan +nano ~/Dotfiles/colors.conf +# → COLOR_HIGHLIGHT=00B4D8 + +bash ~/Dotfiles/apply-theme.sh +``` + +The tui-install.sh installer also offers a colorway dialog as its final step: +enter new hex values in the form; leave them unchanged to skip. + +--- + +## How It Works Internally + +`apply-theme.sh` reads two key–value files and computes the diff: + +``` +~/.config/colors.state (old values — what's currently applied) +colors.conf (new values — what you want) +``` + +For each changed key it runs: +```bash +sed -i "s/${OLD_HEX}/${NEW_HEX}/gI" +``` + +The case-insensitive (`I`) flag matches uppercase hex codes that some apps emit. After all replacements succeed, `colors.state` is updated. + +### Symlink Guard + +`apply-theme.sh` refuses to run if any deployed config path resolves back into `~/Dotfiles/` via symlink. This prevents theme changes from being committed directly into the git repository. The new-style install (via `tui-install.sh`) **copies** configs instead of symlinking them, so this guard is normally never triggered. + +--- + +## Answerfile Theming + +If you generate an answerfile with `generate-answerfile.sh`, custom colours can be embedded in it: + +```json +{ + "colors": { + "COLOR_TEXT": "D6ABAB", + "COLOR_BG": "1A1A1A", + "COLOR_HIGHLIGHT": "E40046", + "COLOR_DARK": "5018DD", + "COLOR_RED": "F50505" + } +} +``` + +`tui-install.sh` will apply these at the end of an automated install. diff --git a/docs/md/utilities.md b/docs/md/utilities.md new file mode 100644 index 0000000..8e7fbbf --- /dev/null +++ b/docs/md/utilities.md @@ -0,0 +1,173 @@ +# Utilities + +Miscellaneous scripts and tools that live at the top level or in the `clamav/` directory. + +--- + +## System Update + +```bash +bash ~/Dotfiles/update.sh +``` + +Runs a full system update: +1. `sudo pacman -Syu` — official repos +2. `yay -Syu --answerdiff None --answerclean All --removemake` — AUR packages (no prompts) + +For per-package AUR updates with confirmation: +```bash +bash ~/Dotfiles/update-aur-onebyone.sh +``` + +--- + +## Package Audit + +```bash +bash ~/Dotfiles/setup/audit-packages.sh +``` + +Audits installed packages — useful for finding orphans or unexpected installations. + +--- + +## Encryption Utilities + +Simple OpenSSL wrappers for encrypting/decrypting arbitrary strings. Useful for storing secrets in scripts or config files without plaintext exposure. + +### Encrypt + +```bash +bash ~/Dotfiles/encrypt.sh "my secret text" "my-passphrase" +# Output: base64-encoded AES-256-CBC ciphertext +``` + +### Decrypt + +```bash +bash ~/Dotfiles/decrypt.sh "" "my-passphrase" +# Output: original plaintext +``` + +Both use AES-256-CBC with PBKDF2 key derivation via OpenSSL. + +--- + +## Credential Storage + +### Initial Setup + +```bash +bash ~/Dotfiles/setup-creds-missing.sh +``` + +Installs `gnome-keyring` and `seahorse` (GUI manager), then sets git's credential helper to `store`. + +### Git Credentials + +`git/` contains `.gitconfig` with: + +```ini +[user] + name = The_miro + email = amir@abdelbaki.eu + +[credential] + helper = store + +[init] + defaultBranch = main + +[push] + autoSetupRemote = true +``` + +The `store` helper writes credentials to `~/.git-credentials`. For higher security, `gnome-keyring` intercepts this and stores the credentials in the system keyring instead of plaintext. + +--- + +## Zsh Plugins + +```bash +bash ~/Dotfiles/zshplugins.sh +``` + +Clones (or updates) the two Oh My Zsh community plugins: +- `zsh-syntax-highlighting` — real-time syntax colouring in the prompt +- `zsh-autosuggestions` — fish-style history-based suggestions + +These are referenced in `.zshrc` and active after the next shell start. + +--- + +## ClamAV On-Access Scanning + +Full real-time antivirus scanning via ClamAV's `clamonacc` daemon. + +### Installation + +```bash +bash ~/Dotfiles/clamav/install-clam-onaccess.sh +``` + +What it does: +1. Installs `clamav` +2. Copies `clamd.conf` to `/etc/clamav/` +3. Installs `clamav-clamonacc.service` to `/etc/systemd/system/` +4. Installs the sudoers entry from `clamav-sudoer` +5. Updates virus definitions (`freshclam`) +6. Enables and starts `clamd` + `clamav-clamonacc` + +### Key Files + +| File | Purpose | +|------|---------| +| `clamav/clamd.conf` | Daemon configuration (30 KB, full options) | +| `clamav/clamav-clamonacc.service` | systemd unit for on-access scanning | +| `clamav/clamav-sudoer` | sudoers rule for ClamAV processes | +| `clamav/virus-event.bash` | Handler executed when a virus is detected | + +### Virus Event Handler + +`virus-event.bash` is called by clamonacc when a threat is found. Customise it to send notifications, quarantine files, or alert an admin. + +--- + +## Shell Configuration + +### `.zshrc` + +- **Framework**: Oh My Zsh +- **Theme**: robbyrussell (overridden visually by Starship) +- **Plugins**: syntax-highlighting, autosuggestions +- **Walk integration**: `lk` function opens the `walk` file navigator +- **`WALK_MAIN_COLOR`**: set to `#5018DD` (CyberQueer violet) +- Sources Starship init at the end + +### `.bashrc` + +Minimal bash config — sets `PS1`, loads `~/.bash_profile` if present. + +### Starship Prompt + +`starship.toml` at the repo root is deployed to `~/.config/starship.toml`. + +Key customisations: +- OS, username, directory, git, language, docker, and time segments +- CyberQueer colours throughout (colour-substitution target) +- Directory abbreviated to 3 levels with `…/` truncation +- Common directory substitutions (`~/Documents` → `📄`, etc.) + +--- + +## Login Manager (ly) + +`etc-ly-config.ini` is deployed to `/etc/ly/config.ini` during Hyprland install and kept as a colour-substitution target in `apply-theme.sh`. + +ly is a minimal TUI display manager that runs on `tty1`: + +``` +systemctl enable ly@tty1 +``` + +Session selection, auto-login, and timeout settings are all in the config. From 6c5c1f8589fad45b957bd1e2ca7c488cc2c19276 Mon Sep 17 00:00:00 2001 From: The_miro Date: Mon, 18 May 2026 15:48:47 +0200 Subject: [PATCH 026/116] gitignore: exclude generated docs/html/ build artifacts Co-Authored-By: Claude Sonnet 4.6 --- .gitignore | 1 + docs/html/archiso.html | 432 ------------------ docs/html/editors.html | 575 ----------------------- docs/html/freeipa-ansible.html | 441 ------------------ docs/html/hyprland.html | 780 ------------------------------- docs/html/index.html | 396 ---------------- docs/html/installation.html | 501 -------------------- docs/html/modules.html | 807 --------------------------------- docs/html/theming.html | 465 ------------------- docs/html/utilities.html | 403 ---------------- 10 files changed, 1 insertion(+), 4800 deletions(-) delete mode 100644 docs/html/archiso.html delete mode 100644 docs/html/editors.html delete mode 100644 docs/html/freeipa-ansible.html delete mode 100644 docs/html/hyprland.html delete mode 100644 docs/html/index.html delete mode 100644 docs/html/installation.html delete mode 100644 docs/html/modules.html delete mode 100644 docs/html/theming.html delete mode 100644 docs/html/utilities.html diff --git a/.gitignore b/.gitignore index 7cb7b59..3ee9c66 100644 --- a/.gitignore +++ b/.gitignore @@ -22,6 +22,7 @@ yazi/*.toml-* # Generated files readme.html +docs/html/ # Build/image output artifacts *.iso diff --git a/docs/html/archiso.html b/docs/html/archiso.html deleted file mode 100644 index c5d2d7b..0000000 --- a/docs/html/archiso.html +++ /dev/null @@ -1,432 +0,0 @@ - - - - - - Archiso — Custom Live Installer — M-Archy Dotfiles - - - - - ← Index -
-

Archiso — Custom Live Installer

-

The archiso build system produces a bootable Arch Linux ISO pre-loaded with the M-Archy installer scripts. Optionally, an answerfile can be embedded so the entire install — base OS + dotfiles — runs with zero user interaction.

-
-

Prerequisites

-
sudo pacman -S archiso jq
-
-
-

Building the ISO

-
# Basic build — interactive installer, no answerfile
-bash setup/archiso/build.sh
-
-# Specify output directory
-bash setup/archiso/build.sh /path/to/output
-
-# Embed an answerfile for automated deployment
-bash setup/archiso/build.sh --preconf
-
-# Embed a specific answerfile
-bash setup/archiso/build.sh --preconf ~/my-server.json
-
-# Both flags together
-bash setup/archiso/build.sh --preconf ~/my-server.json /media/usb/output
-
- - - - - - - - - - - - - - - - - - - - - -
FlagEffect
(none)Clean ISO, no answerfile
--preconfEmbed ~/answerfile.json at /answerfile.json in the ISO
--preconf FILEEmbed the specified file instead
-

Build artefacts land in ~/m-archy-out/ by default. Override with the OUT_DIR environment variable or by passing a path argument.

-

Environment Variables

- - - - - - - - - - - - - - - - - - - - -
VariableDefaultPurpose
WORK_DIR~/m-archy-buildScratch space for mkarchiso
OUT_DIR~/m-archy-outISO output directory
-
-

What the Build Does

-
    -
  1. Copies the upstream releng Arch base profile
  2. -
  3. Applies the M-Archy overlay (setup/archiso/overlay/)
  4. -
  5. Replaces profiledef.sh with the M-Archy version
  6. -
  7. Adds extra packages from packages.extra
  8. -
  9. Embeds both installer scripts (arch-autoinstall.sh, archbaseos-guided-install.sh) into /root/installer/
  10. -
  11. If --preconf: copies the answerfile to /answerfile.json in the ISO's airootfs
  12. -
  13. Runs mkarchiso to produce the final .iso
  14. -
-
-

Extra Packages on the Live System

-

Defined in setup/archiso/overlay/packages.extra:

-
git
-jq
-pam-u2f
-btop
-fastfetch
-openssh
-
-

These are added on top of the standard Arch releng package set.

-
-

Live System Entry Points

-

Once booted from the ISO, the following are available:

-

install-arch

-

A command placed in /usr/local/bin/:

-
install-arch           # guided mode (default)
-install-arch guided    # guided interactive install
-install-arch auto      # automated mode (reads /answerfile.json)
-
-

/root/launch.sh

-

Internal dispatcher used by install-arch.

-

/answerfile.json

-

Only present when built with --preconf. Both installer scripts check for this file on startup. If found, all prompts are answered from it — the only interaction required is the disk-encryption password (passwords are never stored in answerfiles).

-
-

Automated Deployment Workflow

-
┌─────────────────────────────────────┐
-│  Developer machine                  │
-│                                     │
-│  1. generate-answerfile.sh          │
-│     → ~/answerfile.json             │
-│                                     │
-│  2. build.sh --preconf              │
-│     → ~/m-archy-out/m-archy.iso     │
-│                                     │
-│  3. dd if=m-archy.iso of=/dev/sdX   │
-└──────────────┬──────────────────────┘
-               │ USB
-               ▼
-┌─────────────────────────────────────┐
-│  Target machine (boots from USB)    │
-│                                     │
-│  4. install-arch auto               │
-│     reads /answerfile.json          │
-│     installs base OS                │
-│     runs tui-install.sh in chroot   │
-│     installs dotfiles & apps        │
-│                                     │
-│  5. Reboot → ready system           │
-└─────────────────────────────────────┘
-
-

For multi-machine deployments, the hostname field in the answerfile is combined with the machine's MAC address, so each system gets a unique hostname even though they share the same answerfile.

-
-

Overlay Structure

-
setup/archiso/overlay/
-├── airootfs/
-│   ├── etc/motd                          # Welcome message
-│   ├── root/
-│   │   └── launch.sh                     # Installer entry point
-│   └── usr/local/bin/
-│       └── install-arch                  # User-facing CLI command
-├── packages.extra                        # Additional live-system packages
-└── profiledef.sh                         # M-Archy ISO profile definition
-
-

The build.sh script also adds at build time:

-
airootfs/root/installer/
-├── arch-autoinstall.sh
-└── archbaseos-guided-install.sh
-
-
-

Writing the ISO to USB

-
# Find the USB drive
-lsblk
-
-# Write (replace /dev/sdX with your drive — ALL DATA WILL BE ERASED)
-sudo dd if=~/m-archy-out/m-archy-*.iso of=/dev/sdX bs=4M status=progress oflag=sync
-
-

Or use ventoy / balenaEtcher as alternatives.

-
-
- Generated by md-to-html.sh  ·  CyberQueer theme  ·  2026-05-18 -
- - diff --git a/docs/html/editors.html b/docs/html/editors.html deleted file mode 100644 index d9773b4..0000000 --- a/docs/html/editors.html +++ /dev/null @@ -1,575 +0,0 @@ - - - - - - Editors — M-Archy Dotfiles - - - - - ← Index -
-

Editors

-

Three editors are configured and deployed by the shell component: Neovim (primary), Micro (lightweight), and Yazi (terminal file manager).

-
-

Neovim

-

Config lives in nvim/. Deployed to ~/.config/nvim/ during shell module install.

-

Plugin Manager

-

vim-plug is auto-installed on first launch. Run :PlugInstall after the first start to fetch all plugins.

-

Plugins

-

Language & Completion

- - - - - - - - - - - - - - - - - - - - - -
PluginPurpose
neoclide/coc.nvimLSP client, auto-completion, diagnostics
rust-lang/rust.vimRust filetype support
nvim-telescope/telescope.nvimFuzzy finder (files, grep, LSP symbols)
-

UI

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PluginPurpose
vim-airline/vim-airlineStatus bar
vim-airline/vim-airline-themesAirline theme collection
junegunn/goyo.vimDistraction-free writing mode
voldikss/vim-floatermFloating terminal windows
norcalli/nvim-colorizer.luaInline colour preview
- - - - - - - - - - - - - - - - - - - - - - -
PluginPurpose
preservim/nerdtreeFile tree sidebar
junegunn/fzf + fzf.vimFuzzy file/buffer search
elihunter173/dirbuf.nvimEditable directory buffer
-

Snippets

- - - - - - - - - - - - - - - - - -
PluginPurpose
SirVer/ultisnipsSnippet engine
honza/vim-snippetsSnippet collection
-

Database

- - - - - - - - - - - - - - - - - -
PluginPurpose
tpope/vim-dadbodDatabase query runner
kristijanhusak/vim-dadbod-uiGUI for vim-dadbod
-

Markdown

- - - - - - - - - - - - - - - - - -
PluginPurpose
tadmccorkle/markdown.nvimEnhanced Markdown support
ellisonleao/glow.nvimMarkdown preview in terminal
-

Theme

- - - - - - - - - - - - - -
PluginPurpose
the_miro/cyberqueer.nvimCyberQueer colour scheme (local)
-

CoC LSP Settings

-

nvim/coc-settings.json configures language servers for: -- Python (pyright) -- Lua (lua-language-server) -- Rust (rust-analyzer via rust.vim)

-

CyberQueer Airline Theme

-

nvim/cyberqueer-airline.vim — a custom vim-airline theme using the CyberQueer palette, providing hot-pink/violet segments in the status bar.

-
-

Micro

-

A modern, keyboard-friendly terminal editor. Config in micro/. Deployed to ~/.config/micro/.

-

Settings (settings.json)

- - - - - - - - - - - - - - - - - - - - -
SettingValueEffect
colorschememiro-darculaCustom dark colour scheme
VariousFile-type-specific settings
-

Keybindings (bindings.json)

-

Custom keybindings extending Micro's defaults. See micro/bindings.json for the full list.

-

Colour Schemes

-

micro/colorschemes/ contains additional colour scheme definitions including the custom miro-darcula scheme.

-

Plugins (micro/plug/)

- - - - - - - - - - - - - - - - - -
PluginPurpose
filemanagerSidebar file browser
mlspLanguage Server Protocol integration
-
-

Yazi

-

A fast, feature-rich terminal file manager written in Rust.
-Config in yazi/. Deployed to ~/.config/yazi/.

-

Configuration Files

- - - - - - - - - - - - - - - - - - - - - -
FilePurpose
yazi.tomlCore settings (openers, file rules, display)
theme.tomlCyberQueer colour palette
keymap.tomlKeybindings (17 KB, extensively customised)
-

Theme

-

yazi/theme.toml maps the CyberQueer colours to Yazi's theme variables. It is a colour-substitution target in apply-theme.sh, so it updates automatically when you change the palette.

-

File Openers

- - - - - - - - - - - - - - - - - - - - - -
File typeOpens with
*.svgInkscape
Text filesNeovim
Everything elsexdg-open (system default)
-

Display Options

-
    -
  • Hidden files visible by default
  • -
  • Symlinks shown and followed
  • -
  • Three-pane layout (parent, current, preview)
  • -
-
-

Launching Editors

-

From the Hyprland desktop:

- - - - - - - - - - - - - - - - - - - - - -
ShortcutAction
Super + MOpen Micro in Kitty
Super + EOpen Yazi in Kitty
Super + T then nvimNeovim in terminal
-

From the shell:

-
nvim file.rs          # Neovim
-micro config.yaml     # Micro
-yazi                  # Yazi file manager
-
-
-
- Generated by md-to-html.sh  ·  CyberQueer theme  ·  2026-05-18 -
- - diff --git a/docs/html/freeipa-ansible.html b/docs/html/freeipa-ansible.html deleted file mode 100644 index 8d05790..0000000 --- a/docs/html/freeipa-ansible.html +++ /dev/null @@ -1,441 +0,0 @@ - - - - - - FreeIPA & Ansible — M-Archy Dotfiles - - - - - ← Index -
-

FreeIPA & Ansible

-

The FreeIPA/Ansible system provides centralised identity management for a fleet of Arch Linux machines: single sign-on, host-group-driven package and module deployment, LUKS backup key collection, and automatic Keycloak configuration.

-

All relevant files live under setup/modules/FreeipaAnsible/.

-
-

Architecture

-
┌────────────────────────────────────┐
-│  FreeIPA Server                    │
-│  (can run in Docker / LXC)         │
-│                                    │
-│  • User/host directory             │
-│  • Kerberos KDC                    │
-│  • DNS (optional)                  │
-│  • Host group management           │
-└──────────┬─────────────────────────┘
-           │ SSSD / Kerberos
-           ▼
-┌────────────────────────────────────┐
-│  Enrolled client machine           │
-│                                    │
-│  • sssd — authentication           │
-│  • ipa CLI — host group queries    │
-│  • Ansible-deployed timers         │
-│    ├── package installer           │
-│    ├── module installer            │
-│    ├── Flatpak installer           │
-│    └── baseuser group sync         │
-└────────────────────────────────────┘
-
-
-

FreeIPA Server

-

Docker / OCI Image

-

A pre-built Docker image is available via setup/modules/FreeipaAnsible/image/:

-
cd setup/modules/FreeipaAnsible/image
-cp .env.example .env
-# Edit .env with your domain, admin password, realm, etc.
-docker compose up -d
-
-

The container runs ipa-first-boot.sh on first start to initialise the IPA instance, then optionally keycloak-configure.sh to wire up Keycloak as an OIDC provider.

-

Interactive Server Setup

-
bash setup/modules/optional-Modules/apps/freeipa-server.sh
-
-

Prompts for realm, domain, admin password, and whether to generate client-install scripts.

-
-

Client Enrollment

-

Via Installer Module

-

Select freeipa-client during tui-install.sh or install-modules.sh.

-

Manual Enrollment

-

Three modes:

-
# Answerfile mode (unattended)
-bash setup/modules/FreeipaAnsible/freeipa-client.sh \
-    --answerfile setup/modules/FreeipaAnsible/freeipa-client-answerfile.json
-
-# Interactive prompts
-bash setup/modules/FreeipaAnsible/freeipa-client.sh --interactive
-
-# Direct flag passthrough to freeipa-enroll.sh
-bash setup/modules/FreeipaAnsible/freeipa-client.sh \
-    --domain freeipa.example.com \
-    --server ipa.example.com \
-    --principal admin
-
-

Client Answerfile Schema

-
{
-  "domain":      "freeipa.abdelbaki.eu",
-  "realm":       "FREEIPA.ABDELBAKI.EU",
-  "server":      "freeipa.abdelbaki.eu",
-  "hostname":    "",
-  "principal":   "admin",
-  "password":    "",
-  "mkhomedir":   true,
-  "sudo":        true,
-  "dns_update":  true,
-  "ntp_server":  "",
-  "fido2":       false,
-  "fido2_users": []
-}
-
-

Leave hostname blank to use the current machine hostname. Leave password blank to be prompted at enrollment time.

-
-

Ansible Playbooks

-

All playbooks live in setup/modules/FreeipaAnsible/ansible/ and require an inventory of enrolled IPA clients.

-

Deploy Package Auto-Installer

-
ansible-playbook -i inventory deploy-ansipa-install.yml
-
-

Deploys ansipa-install-packages.sh + a systemd timer that runs every 30 minutes. The script queries IPA for host groups named ansipa-install-<package> and installs/removes packages to match.

-

Group naming convention: ansipa-install-firefox → installs the firefox package.

-

Deploy Module Auto-Installer

-
ansible-playbook -i inventory deploy-ansipa-modules.yml \
-    [-e ansipa_user=amir]
-
-

Deploys ansipa-install-modules.sh + timer. Queries for groups named ansipa-module-<name> and runs the matching script from /usr/local/lib/ansipa-modules/<name>.sh.

-

Module scripts are the same ones used by install-modules.sh — copied from setup/modules/optional-Modules/apps/*.sh.

-

Group naming convention: ansipa-module-docker → runs docker.sh on the host.

-

Each module is applied once and stamped in /var/lib/ansipa-modules/<name>.done. Re-running the timer skips already-applied modules.

-

Deploy BaseUser Sync

-
ansible-playbook -i inventory deploy-baseuser-sync.yml
-
-

Deploys a systemd.path unit that triggers whenever a user logs in. If the user is a member of the IPA BaseUser group, they are automatically added to the local baseusers group — useful for desktop permission grants.

-

Collect LUKS Backup Keys

-
ansible-playbook -i inventory collect-luks-keys.yml \
-    [-e luks_keys_store=/secure/location]
-
-

For each enrolled host, checks for /_LUKS_BACKUP_KEY (placed there by the M-Archy installer when disk encryption is enabled) and fetches it to the controller as:

-
<luks_keys_store>/<HOSTNAME>_LUKS_BACKUP_KEY
-
-

Keys are stored with mode 0400. The store directory is created with mode 0700.

-

Schedule for automatic collection:

-
# Add to crontab on the Ansible controller
-0 3 * * * cd /path/to/playbooks && ansible-playbook -i inventory collect-luks-keys.yml
-
-
-

Host Group Reference

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Group prefixHandled byEffect
ansipa-install-<pkg>ansipa-install-packages.shInstall/remove native package
ansipa-module-<name>ansipa-install-modules.shRun module script once
fp_install-<app>ansipa-install-flatpaks.shInstall Flatpak app
BaseUserauto-add-baseuser.shAdd user to local baseusers group
-
-

LUKS Key Flow

-
  Install time (arch-autoinstall.sh or archbaseos-guided-install.sh)
-  ─────────────────────────────────────────────────────────────────
-  1. User sets primary LUKS passphrase interactively
-  2. 64-byte random key generated from /dev/urandom
-  3. Key enrolled in second LUKS slot
-  4. Key written to /_LUKS_BACKUP_KEY (mode 0400, root-only)
-     inside the encrypted Btrfs volume
-
-  Post-install (Ansible)
-  ──────────────────────
-  5. collect-luks-keys.yml runs from the controller
-  6. Fetches /_LUKS_BACKUP_KEY from each client
-  7. Stores as luks-keys/<HOSTNAME>_LUKS_BACKUP_KEY (mode 0400)
-     on the controller
-
-

The backup key lives inside the encrypted partition, so it is only accessible when the disk is already unlocked. Its purpose is to allow an admin to unlock the disk for recovery without knowing the user's passphrase.

-
-

Auto Enrollment + Ansible

-
bash setup/modules/FreeipaAnsible/auto-enroll-ansible.sh
-
-

Combines FreeIPA client enrollment and Ansible deployment in one shot. Useful for provisioning scripts that run on first boot.

-
-
- Generated by md-to-html.sh  ·  CyberQueer theme  ·  2026-05-18 -
- - diff --git a/docs/html/hyprland.html b/docs/html/hyprland.html deleted file mode 100644 index e06e4de..0000000 --- a/docs/html/hyprland.html +++ /dev/null @@ -1,780 +0,0 @@ - - - - - - Hyprland Desktop Environment — M-Archy Dotfiles - - - - - ← Index -
-

Hyprland Desktop Environment

-

The Hyprland setup is the primary desktop environment — a Wayland compositor with a full ecosystem of bars, launchers, notification daemons, and theming tools.

-
-

Overview

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ComponentRole
HyprlandWayland tiling compositor (dwindle layout)
KittyPrimary terminal emulator
EWWStatus bar (three device variants)
WaybarAlternative status bar
WofiApp launcher (keyboard-driven)
WalkerFast CLI launcher
uLauncherGUI app launcher
DunstNotification daemon
HyprlockScreen locker
HyprpaperWallpaper daemon
HypridleIdle management (sleep, lock)
nwg-dockApplication dock
nwg-drawerApplication drawer
nwg-panelDesktop menu
VicinaeGesture-triggered context launcher
lyTUI login manager
-
-

Config File Map

-
desktopenvs/hyprland/
-├── hypr/
-│   ├── hyprland.conf          # Root config — imports all below
-│   ├── hyprtoolkit.conf       # Toolkit utilities
-│   ├── hyprlock.conf          # Lock screen
-│   ├── hypridle.conf          # Idle timeouts
-│   └── hyprpaper.conf         # Wallpaper
-├── hypr-usr/                  # Per-user override layer
-│   ├── binds.conf             # All keybindings
-│   ├── input.conf             # Keyboard/mouse settings
-│   ├── monitors.conf          # Display layout
-│   ├── windowrules.conf       # Per-app behaviour rules
-│   └── autostart.conf         # Startup programs
-├── kitty/
-│   ├── kitty.conf             # Terminal config
-│   ├── current-theme.conf     # Active palette (CyberQueer)
-│   └── themes/cyberqueer.conf # Theme definition
-├── waybar/
-│   ├── config                 # Module layout and data sources
-│   └── style.css              # CyberQueer styling
-├── wofi/style.css             # Launcher styling
-├── walker/themes/             # Walker theme (cyberqueer.css)
-├── dunst/                     # Notification styling
-├── eww/                       # EWW bar (PC — no battery)
-├── eww-nobattery/             # EWW bar alias
-├── eww-touch/                 # EWW bar (tablet / touchscreen)
-├── spicetify/                 # Spotify CyberQueer themes
-├── Vencord/                   # Discord CyberQueer themes
-├── btop/                      # System monitor + cyberqueer.theme
-├── scripts/                   # 20+ utility scripts
-└── config-updater/            # Config synchronisation tool
-
-
-

Keybindings

-

All bindings live in hypr-usr/binds.conf.

-

Applications

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
BindingAction
Super + TKitty terminal
Super + Shift + TCool Retro Term (CRT profile)
Super + MMicro editor
Super + EThunar file manager
Super + XWofi app launcher
Super + FFile search (wofi)
Super + Shift + FFolder search (wofi)
-

Window Management

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
BindingAction
Super + QClose focused window
Super + VToggle floating
Super + Shift + VCentre floating window
Super + PToggle pseudo-tiling
Super + JToggle split direction
Super + Arrow / hjklFocus window by direction
Super + Shift + Arrow / hjklMove window by direction
Super + [0-9]Switch workspace
Super + Shift + [0-9]Move window to workspace
Super + mouse dragMove/resize floating window
-

System

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
BindingAction
Super + OLock screen (hyprlock)
Super + Alt + OPower menu
Super + Ctrl + OShutdown immediately
Super + ZToggle EWW bar
Super + Ctrl + PStart screen recording
-

Touchpad Gestures

- - - - - - - - - - - - - - - - - - - - - - - - - -
GestureAction
3-finger swipe left/rightSwitch workspace
3-finger swipe up/downMove window to workspace
3-finger pinchToggle overview
4-finger tapOpen launcher
-
-

Status Bar (EWW)

-

EWW (Elkowar's Wayland Window Manager) is compiled from source during Hyprland install and comes in three variants:

- - - - - - - - - - - - - - - - - - - - - - - - - -
VariantDeviceBattery Widget
eww/Desktop PCNo
eww-nobattery/Desktop PCNo
eww-touch/Laptop / tabletYes
-

During install the EWW installer asks which variant to use.

-

Waybar

-

An alternative to EWW — always installed. The bar layout:

-
    -
  • Left: clock, disk usage, RAM, CPU, temperature
  • -
  • Centre: workspace switcher, active window title
  • -
  • Right: network speed, IP address, system tray, audio volume, battery (if present)
  • -
-
-

Launchers

-

Wofi

-

Keyboard-driven app/file launcher. Activated with Super + X.
-Config: wofi/style.css — themed with CyberQueer colours.

-

Walker

-

Fast CLI launcher (walker). Pre-configured with walker/config.toml and the cyberqueer.css / cyberqueer.toml theme files.

-

uLauncher

-

GUI launcher with plugin support. Theme: ulauncher/user-themes/cyberqueer/.
-Colours in the theme are colour-substitution targets (updated by apply-theme.sh).

-
-

Notification Daemon (Dunst)

-

Lightweight notification daemon. Config in dunst/dunstrc.
-Notifications appear top-right with CyberQueer styling.

-
-

Lock Screen (Hyprlock)

-

hyprlock is the Wayland screen locker. Config at hypr/hyprlock.conf.
-Activated by Super + O or automatically via hypridle after idle timeout.

-
-

Scripts Reference

-

All scripts live in desktopenvs/hyprland/scripts/ and are deployed to ~/.config/scripts/.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ScriptPurpose
caffeine.shToggle hypridle (prevent sleep)
ewwstart.shLaunch EWW bar on startup
ewwstart-niri.shEWW for niri compositor variant
togglebar.shShow/hide EWW bar (monitor-aware)
helpmenu.shDisplay keybindings from binds.conf
screenshot.shRegion/full screenshot via grim + slurp
screenrec.shScreen recording
screenrotationacw.shRotate screen anti-clockwise (tablet)
screenrotationwcw.shRotate screen clockwise (tablet)
unified-rotate.shUnified rotation handler
hyprland-toggle-touchpad.shEnable/disable touchpad
wofi-file-search.shFile search via wofi
foldersearch.shFolder search via wofi
pwr-dmenu.shPower menu (shutdown/reboot/suspend)
caffeine.shToggle idle inhibitor
getispeed.shInternet speed test display
journal.shQuick journal entry
date.sh / time.shDate/time waybar helpers
uptime.shUptime display
dysk-phydisks.shPhysical disk info (dysk)
drawer.shOpen nwg-drawer
menu.shApplication menu
onscreenkb.shOn-screen keyboard (wvkbd)
bluetooth-applet.shBluetooth UI wrapper
togglewinbars.shToggle window title bars
toggle-layout.shSwitch tiling layout
playpause.shMedia play/pause
calender-fix.shCalendar waybar widget fix
-
-

Application Theming

-

Spotify (Spicetify)

-

Two CyberQueer Spicetify themes are available:

- - - - - - - - - - - - - - - - - -
ThemeStyle
cli-cyberqueerCLI-inspired, minimal
matte-cyberqueerMatte finish variant
-

Applied automatically when the spotify module is installed.

-

Discord (Vencord)

-

Two Discord themes:

- - - - - - - - - - - - - - - - - -
ThemeLocation
cyberqueer.theme.cssStandalone CyberQueer theme
system24/…/cyberqueer.theme.csssystem24 framework with CyberQueer colours
-

Terminal (Kitty)

-

The kitty/themes/cyberqueer.conf file defines the full 16-colour palette mapped to CyberQueer values. It is sourced by current-theme.conf which is imported in kitty.conf.

-
-

Login Manager (ly)

-

ly is a TUI display manager configured via etc-ly-config.ini (deployed to /etc/ly/config.ini). Its colours are tracked by apply-theme.sh (system file, applied via sudo).

-
-

Installing Hyprland

-
# Via the TUI installer
-bash ~/Dotfiles/setup/tui-install.sh
-# → Select "shell" and "Hyprland" in the dialogs
-
-# On an existing system
-bash ~/Dotfiles/setup/install-modules.sh
-# → Not available; Hyprland is a base DE, use the full installer
-
-# Direct script
-bash ~/Dotfiles/setup/modules/Desktop-Environments/hyprland.sh
-
-

The install script compiles EWW from source (requires Rust), copies all configs, installs the GTK and cursor themes, enables ly@tty1, and configures greetd.

-
-
- Generated by md-to-html.sh  ·  CyberQueer theme  ·  2026-05-18 -
- - diff --git a/docs/html/index.html b/docs/html/index.html deleted file mode 100644 index 8c01396..0000000 --- a/docs/html/index.html +++ /dev/null @@ -1,396 +0,0 @@ - - - - - - M-Archy Dotfiles — M-Archy Dotfiles - - - - - -
-

M-Archy Dotfiles

-

Arch Linux · Hyprland · Wayland · CyberQueer

-

A production-grade Arch Linux configuration for network administration, development, and gaming — built around the Hyprland Wayland compositor and the CyberQueer colour theme.

-
-

What's Inside

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AreaDescription
InstallationInteractive TUI installer, answerfile automation, ISO building
ThemingCyberQueer colour system and apply-theme.sh
HyprlandDesktop environment, keybindings, bars, launchers
ModulesCore modules and full optional-app catalogue
ArchisoBuilding the custom live installer ISO
FreeIPA & AnsibleIdentity management and automated config deployment
EditorsNeovim, Micro, Yazi
UtilitiesEncryption helpers, ClamAV, credentials, update scripts
-
-

Quick Start

-
# 1 — clone
-git clone https://git.abdelbaki.eu/The_miro/Dotfiles.git ~/Dotfiles
-
-# 2 — run the interactive installer
-bash ~/Dotfiles/setup/tui-install.sh
-
-# 3 — optionally apply a custom colour palette
-nano ~/Dotfiles/colors.conf
-bash ~/Dotfiles/apply-theme.sh
-
-

For a fully automated install from a live USB, see Archiso.

-
-

CyberQueer Colour Palette

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
RoleNameHex
BackgroundDark grey#1A1A1A
TextRose white#D6ABAB
Primary accentHot pink#E40046
Secondary accentElectric violet#5018DD
Danger / alertsRed#F50505
-
-

Repository Layout

-
Dotfiles/
-├── apply-theme.sh          # Propagate colours across all configs
-├── colors.conf             # Single source of truth for the palette
-├── update.sh               # pacman + yay full system update
-├── setup/
-│   ├── tui-install.sh      # Main interactive / answerfile installer
-│   ├── generate-answerfile.sh  # Dry-run to produce answerfile.json
-│   ├── arch-autoinstall.sh     # Automated base OS installer
-│   ├── archbaseos-guided-install.sh  # Guided base OS installer
-│   ├── install-modules.sh  # Add optional modules to existing system
-│   ├── archiso/            # Custom Arch live ISO builder
-│   └── modules/            # Modular install scripts
-├── desktopenvs/hyprland/   # All Hyprland / Wayland configs
-├── gtk-themes/cyberqueer/  # GTK 3 & 4 theme
-├── qt-themes/cyberqueer/   # Qt platform theme
-├── nvim/                   # Neovim config
-├── micro/                  # Micro editor config
-├── yazi/                   # Yazi file manager config
-├── clamav/                 # ClamAV on-access scan setup
-└── docs/                   # This documentation
-
-
-
- Generated by md-to-html.sh  ·  CyberQueer theme  ·  2026-05-18 -
- - diff --git a/docs/html/installation.html b/docs/html/installation.html deleted file mode 100644 index 9e2fc3d..0000000 --- a/docs/html/installation.html +++ /dev/null @@ -1,501 +0,0 @@ - - - - - - Installation — M-Archy Dotfiles - - - - - ← Index -
-

Installation

-

Three paths are available depending on how much you want to automate:

- - - - - - - - - - - - - - - - - - - - - -
PathWhen to use
Interactive TUIFresh Arch system, guided dialogs
Answerfile (automated)Unattended or repeatable installs
Custom ISODeploy from USB to multiple machines
-
-

Prerequisites

-
    -
  • Arch Linux (base install completed, user created)
  • -
  • Internet connection
  • -
  • git available (sudo pacman -S git)
  • -
-
-

Interactive TUI

-

Clone the repo and run the installer:

-
git clone https://git.abdelbaki.eu/The_miro/Dotfiles.git ~/Dotfiles
-bash ~/Dotfiles/setup/tui-install.sh
-
-

The TUI walks you through:

-
    -
  1. Hostname — optional; sets /etc/hostname immediately
  2. -
  3. Components — pick any combination:
  4. -
  5. pkg — package managers (yay, nvm, Rust)
  6. -
  7. core — 100+ base system packages
  8. -
  9. svc — core services (NetworkManager, cronie, fail2ban, greetd)
  10. -
  11. shell — zsh, Neovim, Yazi, Micro, Starship
  12. -
  13. Desktop Environment — Hyprland, Sway, KDE Plasma, GNOME, COSMIC, XFCE, LXQt, or none
  14. -
  15. Applications — checklist of ~50 optional apps (see Modules)
  16. -
  17. Colorway — optional; enter hex values to customise the CyberQueer palette
  18. -
-

All activity is logged to ~/dotfiles-install.log.

-

Adding Modules Later

-

To install additional optional apps on an already-configured system:

-
bash ~/Dotfiles/setup/install-modules.sh
-
-

This presents the same app checklist without re-running core setup.

-
-

Answerfile (Automated)

-

An answerfile lets the entire install — base OS and dotfiles — run without any user input.

-

Generating an Answerfile

-
bash ~/Dotfiles/setup/generate-answerfile.sh [OUTPUT_PATH]
-# Default output: ~/answerfile.json
-
-

This dry-runs every installer dialog and saves your choices. No software is installed. Passwords are intentionally excluded — you will be prompted at install time.

-

Answerfile Schema

-
{
-  "_generated": "2026-05-18T12:00:00+00:00",
-  "drive": "/dev/sda",
-  "kernel": "linux",
-  "hostname": "myhost",
-  "username": "amir",
-  "encrypt": true,
-  "fido2_root": false,
-  "fido2_user": false,
-  "run_tui": true,
-  "components": ["pkg", "core", "svc", "shell"],
-  "desktop_environment": "hyprland",
-  "apps": ["firefox-browser", "vscodium", "docker"],
-  "colors": {
-    "COLOR_TEXT": "D6ABAB",
-    "COLOR_BG": "1A1A1A",
-    "COLOR_HIGHLIGHT": "E40046",
-    "COLOR_DARK": "5018DD",
-    "COLOR_RED": "F50505"
-  }
-}
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
drivestringInstall target (/dev/sda, /dev/nvme0n1, …)
kernelstringlinux, linux-lts, or linux-zen
hostnamestringBase hostname — a MAC-address suffix is appended automatically
usernamestringPrimary user account name
encryptboolEnable LUKS2 root encryption
fido2_rootboolEnroll FIDO2 key for LUKS unlock
fido2_userboolEnroll FIDO2 key for PAM login
run_tuiboolRun dotfiles setup automatically after base install
componentsarrayDotfiles components to install
desktop_environmentstringDE name or "none"
appsarrayOptional app IDs (see Modules)
colorsobjectOptional colour overrides (omit to keep defaults)
-

Hostname Uniqueness

-

When hostname is set in the answerfile, the MAC address of the primary network interface is automatically appended:

-
myhost  →  myhost-aabbccddee11
-
-

This prevents hostname conflicts when the same answerfile is used across multiple machines.

-

Running with an Answerfile

-

Place the file at /answerfile.json (or set the ANSWERFILE environment variable):

-
# Use default location
-sudo cp ~/answerfile.json /answerfile.json
-bash ~/Dotfiles/setup/tui-install.sh
-
-# Or override the path
-ANSWERFILE=~/my-setup.json bash ~/Dotfiles/setup/tui-install.sh
-
-
-

Base OS Installers

-

Two scripts install Arch Linux itself (before the dotfiles step):

-

Guided Installer (archbaseos-guided-install.sh)

-

Interactive, dialog-based. Prompts for each setting with sensible defaults. Good for hands-on installs where you want to review each option.

-
bash ~/installer/archbaseos-guided-install.sh
-
-

Auto Installer (arch-autoinstall.sh)

-

Reads all settings from /answerfile.json if present; falls back to prompts for anything missing.

-
bash ~/installer/arch-autoinstall.sh
-
-

Both installers perform the same steps:

-
    -
  1. Partition disk (EFI 15 GiB · Root · Swap = RAM size)
  2. -
  3. Optionally encrypt root with LUKS2
  4. -
  5. Format root as Btrfs with @ and @home subvolumes
  6. -
  7. pacstrap base system
  8. -
  9. Configure locale, timezone, hostname, user, sudo
  10. -
  11. Set up mkinitcpio hooks and GRUB
  12. -
  13. Optionally run tui-install.sh inside the chroot
  14. -
-

Disk Encryption

-

When encryption is enabled:

-
    -
  • Primary key: entered interactively at install time
  • -
  • Backup key: generated automatically from /dev/urandom, enrolled into a second LUKS slot, and written to /_LUKS_BACKUP_KEY inside the new system (mode 0400, root-readable only, inside the encrypted container)
  • -
  • FIDO2 (optional): enroll a hardware key for passwordless unlock
  • -
-

The backup key can be collected by Ansible — see FreeIPA & Ansible.

-

mkinitcpio Hook Sets

- - - - - - - - - - - - - - - - - - - - - -
ScenarioHooks
No encryptionbase udev autodetect microcode modconf kms consolefont block btrfs filesystems keyboard fsck
LUKS + passwordbase udev autodetect microcode modconf kms consolefont block encrypt lvm2 btrfs filesystems keyboard keymap fsck
LUKS + FIDO2base udev systemd autodetect microcode modconf kms consolefont block sd-encrypt lvm2 btrfs filesystems keyboard keymap fsck
-
-

Custom Live ISO

-

See Archiso for building a bootable USB that embeds the installer and, optionally, a pre-baked answerfile for zero-touch deployment.

-
-
- Generated by md-to-html.sh  ·  CyberQueer theme  ·  2026-05-18 -
- - diff --git a/docs/html/modules.html b/docs/html/modules.html deleted file mode 100644 index 48b3781..0000000 --- a/docs/html/modules.html +++ /dev/null @@ -1,807 +0,0 @@ - - - - - - Modules Reference — M-Archy Dotfiles - - - - - ← Index -
-

Modules Reference

-

The setup system is modular — core components are installed first, then any combination of optional apps can be added. All module scripts are idempotent (safe to re-run).

-
-

Core Modules

-

These are selected during the initial tui-install.sh run.

-

pkg — Package Managers

-

Installs the AUR helper, language runtimes, and build toolchains:

-
    -
  • yay — AUR helper (built from source via makepkg)
  • -
  • Rust / Cargo — via rustup with the stable toolchain
  • -
  • nvm — Node Version Manager; installs Node.js v22 LTS by default
  • -
-

core — Core Packages

-

~100 packages including:

-

7zip · base-devel · bluez · bluez-utils · btop · fastfetch · fdupes · ffmpeg · git · greetd-tuigreet · htop · jq · less · lynx · neovim · networkmanager · openssh · pipewire · pipewire-alsa · pipewire-pulse · ripgrep · rsync · tmux · udiskie · yazi · zram-generator

-

Also installs pamtester from the AUR.

-

svc — Core Services

-

Enables and starts these systemd units:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ServicePurpose
NetworkManagerNetwork connectivity
cronieCron daemon
fail2banBrute-force protection
greetdLogin session manager
udisks2Removable media
-

Also deploys greetd-tuigreet config from the dotfiles.

-

shell — Shell Setup

-
    -
  • zsh with Oh My Zsh and plugins (zsh-syntax-highlighting, zsh-autosuggestions)
  • -
  • Starship shell prompt
  • -
  • Neovim with Vim-Plug (see Editors)
  • -
  • Micro editor
  • -
  • Yazi file manager
  • -
  • Deploys .bashrc, .zshrc, starship.toml, Micro config, Neovim config
  • -
-
-

Desktop Environments

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDNameNotes
hyprlandHyprlandPrimary DE — see Hyprland
swaySwayWayland tiling WM, lighter
kde-plasmaKDE PlasmaFull-featured with sddm
gnomeGNOMEModern Wayland DE with gdm
cosmicCOSMICRust-based DE from System76
xfceXFCELightweight X11 with lightdm
lxqtLXQtLightweight Qt X11 with sddm
-
-

Optional Applications

-

Install via tui-install.sh at first install, or add later:

-
bash ~/Dotfiles/setup/install-modules.sh
-
-

AI & Machine Learning

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDPackageDescription
ollamaollamaLocal LLM runner with REST API server
llama-cppllama.cppStandalone inference CLI + server
open-webuiopen-webuiBrowser UI for Ollama / OpenAI-compatible backends
claudeclaude (npm)Anthropic Claude Code CLI
-

Networking & Security

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDPackagesDescription
networking-clinmap · nethogs · mitmproxy · httpieNetwork analysis and HTTP tooling
disk-recoveryddrescue · f3Disk imaging and flash drive testing
ssh-serveropensshSSH daemon with key-auth enforcement
wiresharkwireshark-qtPacket capture and analysis GUI
-

Development

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDPackagesDescription
pythonpyright · pipx · pynvimPython LSP, isolated tool runner, Neovim integration
dockerdocker · docker-composeContainer runtime
podmanpodman · buildah · podman-composeRootless containers
cockpitcockpit · machines · podmanWeb-based system management UI
k8skubectl · podman-desktopKubernetes CLI and desktop client
db-clientspgcli · mycliEnhanced interactive database CLIs
mysqlmariadbMariaDB server with initial setup
-

IDEs & Editors

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDPackageDescription
vscodiumvscodium-bin (AUR)VS Code without telemetry
zed-idezedHigh-performance Rust IDE
geanygeany · geany-pluginsLightweight IDE
codeblockscodeblocksC/C++ IDE
katekateKDE advanced text editor
-

Browsers

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDPackageDescription
chromiumchromiumOpen-source Chromium
firefox-browserfirefoxMozilla Firefox
zen-browserzen-browser-bin (AUR)Privacy-focused Firefox fork
nyxtnyxt (AUR)Keyboard-driven, hackable browser
librewolflibrewolf-bin (AUR)Hardened Firefox fork
min-browsermin (AUR)Minimal Electron browser
-

Gaming

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDPackageDescription
steamsteamSteam gaming platform
vesktopvesktop (AUR)Discord client with Vencord built-in
spotifyspotify (AUR) + spicetifyMusic player with CyberQueer theme
prismprismlauncher (Flatpak)Minecraft launcher
vintagestoryvintagestory (AUR)Survival / voxel game
-

Media & Creative

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDPackagesDescription
ffmpeggst-plugin-pipewire · gst-plugins-good · ffmpegthumbnailerGStreamer codecs + thumbnailer
soxsoxCommand-line audio processing
imagemagickimagemagickImage manipulation suite
yt-dlpyt-dlpYouTube / media downloader
blenderblender3D creation suite
gnuplotgnuplotScientific plotting
povraypovrayRay-tracing renderer
-

Productivity

- - - - - - - - - - - - - - - - - - - - - - - - - -
IDPackagesDescription
productivitytaskwarrior · watson · jrnlTask management, time tracking, journaling
himalayahimalaya (AUR)Terminal email client
toottoot (AUR)Mastodon CLI client
-

System Utilities

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDPackagesDescription
tlptlp · tlp-rdwLaptop battery optimisation
zfszfs-dkmsZFS kernel module
wprswprs-git (AUR)Wayland proxy for remote sessions
butterbutter (AUR)Btrfs snapshot backup manager
localsendlocalsend (AUR)LAN file transfer (AirDrop-like)
croccrocCross-platform encrypted file transfer
localtunnellocaltunnel (npm)Expose localhost over a public URL
onlyofficeonlyoffice-bin (AUR)Office suite (Docs, Sheets, Slides)
-

Identity & Infrastructure

- - - - - - - - - - - - - - - - - - - - - -
IDDescription
freeipa-clientsssd + ipa-client-install + auto-enrollment (see FreeIPA)
freeipa-serverInteractive FreeIPA server setup + client generator
freeipa-imageOCI / LXC / Proxmox LXC image builder + Keycloak
-
-

Container Shell Setups

-

Scripts in setup/Setup-shell-4-containers/ configure a minimal shell environment inside containers or chroots for each major distribution:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ScriptTarget
alpine.shAlpine Linux
arch.shArch Linux
debian.shDebian
fedora.shFedora
suse.shopenSUSE
ubuntu.shUbuntu
void.shVoid Linux
other.shGeneric fallback
-
-
- Generated by md-to-html.sh  ·  CyberQueer theme  ·  2026-05-18 -
- - diff --git a/docs/html/theming.html b/docs/html/theming.html deleted file mode 100644 index b963628..0000000 --- a/docs/html/theming.html +++ /dev/null @@ -1,465 +0,0 @@ - - - - - - CyberQueer Theme System — M-Archy Dotfiles - - - - - ← Index -
-

CyberQueer Theme System

-

The CyberQueer theme is a single-source colour system: every config file that needs colours references a small set of hex values that can be changed in one place and propagated everywhere with a single command.

-
-

The Palette

-

Defined in ~/Dotfiles/colors.conf (bare 6-digit hex, no # prefix):

-
COLOR_TEXT=D6ABAB       # Rose-white — foreground text, labels
-COLOR_BG=1A1A1A         # Near-black — base surface, backgrounds
-COLOR_HIGHLIGHT=E40046  # Hot pink   — primary accent, active borders
-COLOR_DARK=5018DD       # Violet     — secondary accent, inactive borders
-COLOR_RED=F50505        # Red        — danger indicators, alerts
-
-
-

Applying the Theme

-
# Apply using the default colors.conf
-bash ~/Dotfiles/apply-theme.sh
-
-# Apply from a custom palette file
-bash ~/Dotfiles/apply-theme.sh /path/to/custom-colors.conf
-
-

apply-theme.sh will:

-
    -
  1. Read colors.conf (or the file you pass)
  2. -
  3. Compare against the last-applied state in ~/.config/colors.state
  4. -
  5. Replace only changed colour values across all tracked files
  6. -
  7. Save the new state to colors.state
  8. -
-

If nothing changed it exits immediately — safe to call repeatedly.

-

First-Run Bootstrap

-

On a fresh install where configs have been copied but no state file exists yet, apply-theme.sh bootstraps ~/.config/colors.state with the repository defaults so the diff works correctly from the start.

-
-

What Gets Themed

-

User Configs (~/.config/…)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileWhat it styles
starship.tomlShell prompt segment colours
yazi/theme.tomlFile manager UI colours
hypr/hyprland.confActive/inactive window border gradients
hypr/hyprtoolkit.confAdditional Hyprland colours
hypr/hyprlock.confLock screen colours
kitty/current-theme.confTerminal colour palette
kitty/kitty.confTerminal background & accents
kitty/themes/cyberqueer.confKitty colour scheme definition
waybar/style.cssTop bar widget colours
wofi/style.cssApp launcher colours
walker/themes/cyberqueer.cssWalker launcher theme
nwg-dock-hyprland/style.cssApplication dock
nwg-drawer/drawer.cssApplication drawer
nwg-panel/menu-start.cssPanel start menu
vicinae/cyberqueer.tomlGesture launcher
scripts/onscreenkb.shOn-screen keyboard colours
spicetify/Themes/*/color.iniSpotify client theme (×2 variants)
ulauncher/user-themes/cyberqueer/manifest.jsonuLauncher theme
ulauncher/user-themes/cyberqueer/theme.cssuLauncher CSS
ulauncher/user-themes/cyberqueer/generated.cssuLauncher generated CSS
Vencord/themes/cyberqueer.theme.cssDiscord theme
Vencord/themes/system24/…/cyberqueer.theme.cssDiscord system24 variant
-

System Files (applied via sudo)

- - - - - - - - - - - - - - - - - - - - - -
FileWhat it styles
/etc/ly/config.iniTUI login manager colours
/usr/share/themes/cyberqueer/gtk-3.0/gtk.cssGTK 3 theme
/usr/share/themes/cyberqueer/gtk-4.0/gtk.cssGTK 4 theme
-
-

Customising the Palette

-

Edit ~/Dotfiles/colors.conf, then run apply-theme.sh:

-
# Example: shift the accent to cyan
-nano ~/Dotfiles/colors.conf
-# → COLOR_HIGHLIGHT=00B4D8
-
-bash ~/Dotfiles/apply-theme.sh
-
-

The tui-install.sh installer also offers a colorway dialog as its final step: -enter new hex values in the form; leave them unchanged to skip.

-
-

How It Works Internally

-

apply-theme.sh reads two key–value files and computes the diff:

-
~/.config/colors.state   (old values — what's currently applied)
-colors.conf              (new values — what you want)
-
-

For each changed key it runs:

-
sed -i "s/${OLD_HEX}/${NEW_HEX}/gI" <file>
-
-

The case-insensitive (I) flag matches uppercase hex codes that some apps emit. After all replacements succeed, colors.state is updated.

- -

apply-theme.sh refuses to run if any deployed config path resolves back into ~/Dotfiles/ via symlink. This prevents theme changes from being committed directly into the git repository. The new-style install (via tui-install.sh) copies configs instead of symlinking them, so this guard is normally never triggered.

-
-

Answerfile Theming

-

If you generate an answerfile with generate-answerfile.sh, custom colours can be embedded in it:

-
{
-  "colors": {
-    "COLOR_TEXT": "D6ABAB",
-    "COLOR_BG": "1A1A1A",
-    "COLOR_HIGHLIGHT": "E40046",
-    "COLOR_DARK": "5018DD",
-    "COLOR_RED": "F50505"
-  }
-}
-
-

tui-install.sh will apply these at the end of an automated install.

-
-
- Generated by md-to-html.sh  ·  CyberQueer theme  ·  2026-05-18 -
- - diff --git a/docs/html/utilities.html b/docs/html/utilities.html deleted file mode 100644 index 31f50a6..0000000 --- a/docs/html/utilities.html +++ /dev/null @@ -1,403 +0,0 @@ - - - - - - Utilities — M-Archy Dotfiles - - - - - ← Index -
-

Utilities

-

Miscellaneous scripts and tools that live at the top level or in the clamav/ directory.

-
-

System Update

-
bash ~/Dotfiles/update.sh
-
-

Runs a full system update: -1. sudo pacman -Syu — official repos -2. yay -Syu --answerdiff None --answerclean All --removemake — AUR packages (no prompts)

-

For per-package AUR updates with confirmation:

-
bash ~/Dotfiles/update-aur-onebyone.sh
-
-
-

Package Audit

-
bash ~/Dotfiles/setup/audit-packages.sh
-
-

Audits installed packages — useful for finding orphans or unexpected installations.

-
-

Encryption Utilities

-

Simple OpenSSL wrappers for encrypting/decrypting arbitrary strings. Useful for storing secrets in scripts or config files without plaintext exposure.

-

Encrypt

-
bash ~/Dotfiles/encrypt.sh "my secret text" "my-passphrase"
-# Output: base64-encoded AES-256-CBC ciphertext
-
-

Decrypt

-
bash ~/Dotfiles/decrypt.sh "<ciphertext>" "my-passphrase"
-# Output: original plaintext
-
-

Both use AES-256-CBC with PBKDF2 key derivation via OpenSSL.

-
-

Credential Storage

-

Initial Setup

-
bash ~/Dotfiles/setup-creds-missing.sh
-
-

Installs gnome-keyring and seahorse (GUI manager), then sets git's credential helper to store.

-

Git Credentials

-

git/ contains .gitconfig with:

-
[user]
-    name  = The_miro
-    email = amir@abdelbaki.eu
-
-[credential]
-    helper = store
-
-[init]
-    defaultBranch = main
-
-[push]
-    autoSetupRemote = true
-
-

The store helper writes credentials to ~/.git-credentials. For higher security, gnome-keyring intercepts this and stores the credentials in the system keyring instead of plaintext.

-
-

Zsh Plugins

-
bash ~/Dotfiles/zshplugins.sh
-
-

Clones (or updates) the two Oh My Zsh community plugins: -- zsh-syntax-highlighting — real-time syntax colouring in the prompt -- zsh-autosuggestions — fish-style history-based suggestions

-

These are referenced in .zshrc and active after the next shell start.

-
-

ClamAV On-Access Scanning

-

Full real-time antivirus scanning via ClamAV's clamonacc daemon.

-

Installation

-
bash ~/Dotfiles/clamav/install-clam-onaccess.sh
-
-

What it does: -1. Installs clamav -2. Copies clamd.conf to /etc/clamav/ -3. Installs clamav-clamonacc.service to /etc/systemd/system/ -4. Installs the sudoers entry from clamav-sudoer -5. Updates virus definitions (freshclam) -6. Enables and starts clamd + clamav-clamonacc

-

Key Files

- - - - - - - - - - - - - - - - - - - - - - - - - -
FilePurpose
clamav/clamd.confDaemon configuration (30 KB, full options)
clamav/clamav-clamonacc.servicesystemd unit for on-access scanning
clamav/clamav-sudoersudoers rule for ClamAV processes
clamav/virus-event.bashHandler executed when a virus is detected
-

Virus Event Handler

-

virus-event.bash is called by clamonacc when a threat is found. Customise it to send notifications, quarantine files, or alert an admin.

-
-

Shell Configuration

-

.zshrc

-
    -
  • Framework: Oh My Zsh
  • -
  • Theme: robbyrussell (overridden visually by Starship)
  • -
  • Plugins: syntax-highlighting, autosuggestions
  • -
  • Walk integration: lk function opens the walk file navigator
  • -
  • WALK_MAIN_COLOR: set to #5018DD (CyberQueer violet)
  • -
  • Sources Starship init at the end
  • -
-

.bashrc

-

Minimal bash config — sets PS1, loads ~/.bash_profile if present.

-

Starship Prompt

-

starship.toml at the repo root is deployed to ~/.config/starship.toml.

-

Key customisations: -- OS, username, directory, git, language, docker, and time segments -- CyberQueer colours throughout (colour-substitution target) -- Directory abbreviated to 3 levels with …/ truncation -- Common directory substitutions (~/Documents📄, etc.)

-
-

Login Manager (ly)

-

etc-ly-config.ini is deployed to /etc/ly/config.ini during Hyprland install and kept as a colour-substitution target in apply-theme.sh.

-

ly is a minimal TUI display manager that runs on tty1:

-
systemctl enable ly@tty1
-
-

Session selection, auto-login, and timeout settings are all in the config.

-
-
- Generated by md-to-html.sh  ·  CyberQueer theme  ·  2026-05-18 -
- - From be3352897c13d278bf367b4584cd49c546e34348 Mon Sep 17 00:00:00 2001 From: The_miro Date: Mon, 18 May 2026 15:49:38 +0200 Subject: [PATCH 027/116] renamed old doc -> notes --- {doc => notes}/colorcodes.md | 0 {doc => notes}/todo.md | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename {doc => notes}/colorcodes.md (100%) rename {doc => notes}/todo.md (100%) diff --git a/doc/colorcodes.md b/notes/colorcodes.md similarity index 100% rename from doc/colorcodes.md rename to notes/colorcodes.md diff --git a/doc/todo.md b/notes/todo.md similarity index 100% rename from doc/todo.md rename to notes/todo.md From 2b282a156532615a6f541ba695c691fc1ad7c183 Mon Sep 17 00:00:00 2001 From: The_miro Date: Mon, 18 May 2026 16:00:30 +0200 Subject: [PATCH 028/116] docs: replace readme with cliff notes and links to full docs Old readme archived as readme.md.old. Co-Authored-By: Claude Sonnet 4.6 --- readme.md | 81 ++++++++++++++++++++++++++------------------------- readme.md.old | 47 ++++++++++++++++++++++++++++++ 2 files changed, 88 insertions(+), 40 deletions(-) create mode 100644 readme.md.old diff --git a/readme.md b/readme.md index b02100f..7ab7cf3 100644 --- a/readme.md +++ b/readme.md @@ -1,47 +1,48 @@ -# Dotfiles +# M-Archy Dotfiles -config for using arch linux in network administration, development and gaming +Arch Linux · Hyprland · Wayland · CyberQueer -## Installation +Production-grade Arch Linux config for network administration, development, and gaming. - -!!! Please Read the instructions on Installation !!! - +--- +## Quick Start -### Installation instructions -- Clone the Repository -- Navigate to Dotfiles/setup -- execute setup/autoformat.sh and accept the prompts on screen, for default partitioning layout -- execute setup/live-install.sh and accept the prompts on screen -- after being chrooted by setup/live-install.sh go to the Filesystem root and execute chroot-install.sh -- reboot -- run setup/install.sh -- if needed run setup/modules/... to install additional preconfigured modules -- reboot after running all desired installers -## TODO -### Prio -- Finish the new install script +```bash +git clone https://git.abdelbaki.eu/The_miro/Dotfiles.git ~/Dotfiles +bash ~/Dotfiles/setup/tui-install.sh +``` -### Ongoing tasks -- move all config dirs that get modified after install to being copied to the client or linking individual files where relevant -> known offenders: micro, some nwg-shell components -### Non-Prio -- implement the hypr-ecosystem components: hyprpwcenter, hyprshutdown -- solution for updates - Possibly using package list being read by script; Also possibly using git diff on some kind of .config manifest -- clamav Module -- eww sidebar popup menu ??? not sure on functionality yet - maybe cpu/ram/gpu usage +The TUI installer covers: packages, desktop environment, optional apps, and colour palette. +To add modules to an existing system: `bash ~/Dotfiles/setup/install-modules.sh` -### Completed -- add screen rotation (script, keybind, eww widget) for touchscreens -- some kind of per monitor startup script for the bar -- set cmd+F1 to show a list of keybinds (regex on binds.conf???) -- automatic monitor handling on new attatched -- default to swapping esc and capslock in input.conf -- Create Module for installing from the arch live enviroment -- bluetooth tray icon -- make toggling EWW bar less delayed -> only toggle the bar don't kill it -- optional module that installs discord, steam -- try to remove hyprland-git before installing -- hyprsleep -- make full gtk-4 theme -- input config for use with touchscreens -> install+enable hyprgrass; button that enables hyprtabs? +--- + +## Cliff Notes + +- **Single source of truth for colours** — edit `colors.conf`, run `apply-theme.sh` to propagate everywhere. +- **Answerfile** — generate with `setup/generate-answerfile.sh`, place at `/answerfile.json` for a fully automated install. Passwords are never stored in it. +- **Hostname uniqueness** — the MAC address of the primary NIC is appended automatically when an answerfile hostname is set (`myhost` → `myhost-aabbccddee11`). +- **LUKS encryption** — backup key is auto-generated from `/dev/urandom`, enrolled in a second LUKS slot, written to `/_LUKS_BACKUP_KEY` (root-only, inside the encrypted container). Collectable via Ansible. +- **Custom ISO** — `setup/archiso/` builds a live USB that can embed a pre-baked answerfile for zero-touch deployment. +- **Modular** — core, shell, services, and desktop are independent components; pick only what you need. + +--- + +## Documentation + +Full docs live in [`docs/md/`](docs/md/) (Markdown) and [`docs/html/`](docs/html/) (rendered). + +| Topic | Markdown | HTML | +|-------|----------|------| +| Overview & repo layout | [index.md](docs/md/index.md) | [index.html](docs/html/index.html) | +| Installation (TUI, answerfile, ISO) | [installation.md](docs/md/installation.md) | [installation.html](docs/html/installation.html) | +| Hyprland desktop | [hyprland.md](docs/md/hyprland.md) | [hyprland.html](docs/html/hyprland.html) | +| Theming & CyberQueer palette | [theming.md](docs/md/theming.md) | [theming.html](docs/html/theming.html) | +| Optional modules & app catalogue | [modules.md](docs/md/modules.md) | [modules.html](docs/html/modules.html) | +| Custom Archiso builder | [archiso.md](docs/md/archiso.md) | [archiso.html](docs/html/archiso.html) | +| FreeIPA & Ansible | [freeipa-ansible.md](docs/md/freeipa-ansible.md) | [freeipa-ansible.html](docs/html/freeipa-ansible.html) | +| Editors (Neovim, Micro, Yazi) | [editors.md](docs/md/editors.md) | [editors.html](docs/html/editors.html) | +| Utilities (encrypt, ClamAV, updates) | [utilities.md](docs/md/utilities.md) | [utilities.html](docs/html/utilities.html) | + +> The old readme is preserved at [`readme.md.old`](readme.md.old). diff --git a/readme.md.old b/readme.md.old new file mode 100644 index 0000000..b02100f --- /dev/null +++ b/readme.md.old @@ -0,0 +1,47 @@ +# Dotfiles + +config for using arch linux in network administration, development and gaming + +## Installation + + +!!! Please Read the instructions on Installation !!! + + + +### Installation instructions +- Clone the Repository +- Navigate to Dotfiles/setup +- execute setup/autoformat.sh and accept the prompts on screen, for default partitioning layout +- execute setup/live-install.sh and accept the prompts on screen +- after being chrooted by setup/live-install.sh go to the Filesystem root and execute chroot-install.sh +- reboot +- run setup/install.sh +- if needed run setup/modules/... to install additional preconfigured modules +- reboot after running all desired installers +## TODO +### Prio +- Finish the new install script + +### Ongoing tasks +- move all config dirs that get modified after install to being copied to the client or linking individual files where relevant -> known offenders: micro, some nwg-shell components +### Non-Prio +- implement the hypr-ecosystem components: hyprpwcenter, hyprshutdown +- solution for updates - Possibly using package list being read by script; Also possibly using git diff on some kind of .config manifest +- clamav Module +- eww sidebar popup menu ??? not sure on functionality yet - maybe cpu/ram/gpu usage + +### Completed +- add screen rotation (script, keybind, eww widget) for touchscreens +- some kind of per monitor startup script for the bar +- set cmd+F1 to show a list of keybinds (regex on binds.conf???) +- automatic monitor handling on new attatched +- default to swapping esc and capslock in input.conf +- Create Module for installing from the arch live enviroment +- bluetooth tray icon +- make toggling EWW bar less delayed -> only toggle the bar don't kill it +- optional module that installs discord, steam +- try to remove hyprland-git before installing +- hyprsleep +- make full gtk-4 theme +- input config for use with touchscreens -> install+enable hyprgrass; button that enables hyprtabs? From b629697ddddbe1dc85b85e879d9faf51639c27c4 Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 19 May 2026 08:50:23 +0200 Subject: [PATCH 029/116] feat: add hyprlua config set and migrate hyprland envvars to dedicated file Duplicates desktopenvs/hyprland/ as desktopenvs/hyprlua/ and converts all Hyprland-specific configs (.conf) to Lua (.lua) using the 0.55+ hl.* API: hyprland.lua, envvars.lua, monitors.lua, input.lua, autostart.lua, windowrules.lua, binds.lua. Non-Hyprland tool configs (hyprpaper, hyprlock, hypridle, hyprtoolkit) remain as .conf. Adds hyprlua.sh installer (user-side .lua files install to ~/.config/hypr/ for require() resolution) and registers HyprLua as the recommended DE option in tui-install.sh, marking the old hyprlang-based Hyprland install as legacy. Also consolidates hyprland (legacy) env vars into hypr-usr/envvars.conf, removing duplicates from hyprland.conf and monitors.conf. Co-Authored-By: Claude Sonnet 4.6 --- desktopenvs/hyprland/hypr-usr/envvars.conf | 7 + desktopenvs/hyprland/hypr-usr/monitors.conf | 3 - desktopenvs/hyprland/hypr/hyprland.conf | 13 +- desktopenvs/hyprlua/CRT/Cyberqueer.crt.json | 27 + .../hyprlua/Vencord/settings/quickCss.css | 0 .../hyprlua/Vencord/settings/settings.json | 632 +++++++++ .../Vencord/themes/cyberqueer.theme.css | 89 ++ .../Vencord/themes/system24/.prettierrc | 6 + .../hyprlua/Vencord/themes/system24/LICENSE | 21 + .../hyprlua/Vencord/themes/system24/README.md | 72 ++ .../themes/system24/assets/gruv-material.png | Bin 0 -> 787777 bytes .../themes/system24/assets/monochrome.png | Bin 0 -> 644077 bytes .../themes/system24/assets/preview.png | Bin 0 -> 38308 bytes .../themes/system24/assets/rosepine.png | Bin 0 -> 207672 bytes .../themes/system24/assets/screenshot.png | Bin 0 -> 634779 bytes .../themes/system24/assets/screenshot2.png | Bin 0 -> 629565 bytes .../themes/system24/assets/screenshot3.png | Bin 0 -> 655502 bytes .../themes/system24/benchmark/benchmark.js | 56 + .../system24/benchmark/benchmarkresults.csv | 195 +++ .../system24/benchmark/benchmarkresults2.csv | 232 ++++ .../system24/benchmark/benchmarkresults3.csv | 231 ++++ .../Vencord/themes/system24/package-lock.json | 215 ++++ .../Vencord/themes/system24/package.json | 14 + .../Vencord/themes/system24/scripts/dev.js | 46 + .../Vencord/themes/system24/src/main.1.css | 1126 +++++++++++++++++ .../Vencord/themes/system24/src/main.css | 1126 +++++++++++++++++ .../themes/system24/src/unrounding.css | 67 + .../flavors/catppuccin-macchiato.theme.css | 87 ++ .../theme/flavors/catppuccin-mocha.theme.css | 84 ++ .../theme/flavors/cyberqueer.theme.css | 84 ++ .../theme/flavors/gruvbox-material.theme.css | 78 ++ .../system24/theme/flavors/light.theme.css | 88 ++ .../theme/flavors/monochrome.theme.css | 86 ++ .../system24/theme/flavors/rosepine.theme.css | 87 ++ .../theme/flavors/spotify-text.theme.css | 84 ++ .../theme/flavors/templates/pywal16.theme.css | 84 ++ .../system24/theme/flavors/vencord.theme.css | 83 ++ .../themes/system24/theme/system24.theme.css | 84 ++ desktopenvs/hyprlua/alacritty/alacritty | 1 + desktopenvs/hyprlua/alacritty/alacritty.toml | 10 + desktopenvs/hyprlua/btop/btop.conf | 272 ++++ .../hyprlua/btop/themes/cyberqueer.theme | 92 ++ .../hyprlua/config-updater/update-configs.sh | 123 ++ .../hyprlua/config-updater/updater.conf | 42 + desktopenvs/hyprlua/dunst/dunst | 1 + desktopenvs/hyprlua/dunst/dunstrc | 492 +++++++ desktopenvs/hyprlua/eww-nobattery/eww | 1 + desktopenvs/hyprlua/eww-nobattery/eww.scss | 104 ++ desktopenvs/hyprlua/eww-nobattery/eww.yuck | 114 ++ desktopenvs/hyprlua/eww-touch/eww | 1 + desktopenvs/hyprlua/eww-touch/eww.scss | 104 ++ desktopenvs/hyprlua/eww-touch/eww.yuck | 161 +++ desktopenvs/hyprlua/eww-touch/eww.yuck.old | 150 +++ desktopenvs/hyprlua/eww/eww | 1 + desktopenvs/hyprlua/eww/eww.scss | 104 ++ desktopenvs/hyprlua/eww/eww.yuck | 119 ++ .../hyprlua/greetd-tuigreet/config.toml | 16 + desktopenvs/hyprlua/gtk-3.0/bookmarks | 1 + desktopenvs/hyprlua/gtk-3.0/settings.ini | 17 + desktopenvs/hyprlua/hypr-usr/autostart.lua | 23 + desktopenvs/hyprlua/hypr-usr/binds.lua | 267 ++++ desktopenvs/hyprlua/hypr-usr/envvars.lua | 7 + desktopenvs/hyprlua/hypr-usr/input.lua | 16 + desktopenvs/hyprlua/hypr-usr/monitors.lua | 13 + desktopenvs/hyprlua/hypr-usr/wallpaper.conf | 7 + .../hyprlua/hypr-usr/windowrules.conf.old | 109 ++ desktopenvs/hyprlua/hypr-usr/windowrules.lua | 88 ++ .../hyprlua/hypr/application-style.conf | 0 .../hyprlua/hypr/deprecated/hyprland.conf.old | 384 ++++++ .../hyprlua/hypr/deprecated/hyprlock.conf.old | 142 +++ desktopenvs/hyprlua/hypr/hypridle.conf | 22 + desktopenvs/hyprlua/hypr/hyprland.lua | 110 ++ desktopenvs/hyprlua/hypr/hyprlock.conf | 115 ++ desktopenvs/hyprlua/hypr/hyprpaper.conf | 11 + desktopenvs/hyprlua/hypr/hyprtoolkit.conf | 15 + desktopenvs/hyprlua/hypr/monitorhandler.sh | 5 + desktopenvs/hyprlua/kitty/bash-remoteconf | 63 + desktopenvs/hyprlua/kitty/current-theme.conf | 106 ++ desktopenvs/hyprlua/kitty/kitty.conf | 36 + desktopenvs/hyprlua/kitty/kitty.conf.old | 25 + desktopenvs/hyprlua/kitty/ssh.conf | 6 + .../hyprlua/kitty/themes/cyberqueer.conf | 106 ++ desktopenvs/hyprlua/mimeapps.list | 47 + .../hyprlua/nwg-dock-hyprland/style.css | 45 + desktopenvs/hyprlua/nwg-drawer/drawer.css | 49 + desktopenvs/hyprlua/nwg-drawer/drawer.css.old | 40 + .../hyprlua/nwg-panel/common-settings.json | 8 + desktopenvs/hyprlua/nwg-panel/config | 466 +++++++ desktopenvs/hyprlua/nwg-panel/menu-start.css | 56 + desktopenvs/hyprlua/nwg-panel/style.css | 111 ++ .../hyprlua/scripts/_toggle_Template.tmplsh | 15 + desktopenvs/hyprlua/scripts/activewindow | 18 + desktopenvs/hyprlua/scripts/amssh | 659 ++++++++++ desktopenvs/hyprlua/scripts/batteryperc | 44 + .../hyprlua/scripts/bluetooth-applet.sh | 2 + desktopenvs/hyprlua/scripts/caffeine.sh | 17 + desktopenvs/hyprlua/scripts/calender-fix.sh | 26 + desktopenvs/hyprlua/scripts/date.sh | 2 + .../scripts/deprecated/batteryperc.old | 37 + .../hyprland-toggle-touchpad.sh.old | 40 + .../deprecated/screenrotationacw.sh.old | 15 + .../deprecated/screenrotationacw.sh.proto | 22 + .../deprecated/screenrotationwcw.sh.old | 15 + .../deprecated/screenrotationwcw.sh.proto | 21 + desktopenvs/hyprlua/scripts/drawer.sh | 3 + desktopenvs/hyprlua/scripts/dysk-phydisks.sh | 3 + desktopenvs/hyprlua/scripts/ewwstart-niri.sh | 14 + desktopenvs/hyprlua/scripts/ewwstart.sh | 15 + desktopenvs/hyprlua/scripts/foldersearch.sh | 2 + .../hyprlua/scripts/frequentcommands.list | 27 + desktopenvs/hyprlua/scripts/getispeed.sh | 3 + desktopenvs/hyprlua/scripts/getvol | 5 + desktopenvs/hyprlua/scripts/helpmenu.sh | 3 + .../scripts/hyprland-toggle-touchpad.sh | 25 + desktopenvs/hyprlua/scripts/ip | 3 + desktopenvs/hyprlua/scripts/journal.sh | 3 + desktopenvs/hyprlua/scripts/menu.sh | 2 + desktopenvs/hyprlua/scripts/monitorhandler.sh | 4 + desktopenvs/hyprlua/scripts/onscreenkb.sh | 4 + desktopenvs/hyprlua/scripts/playerget | 31 + desktopenvs/hyprlua/scripts/playpause.sh | 2 + desktopenvs/hyprlua/scripts/pwr-dmenu.sh | 3 + .../hyprlua/scripts/python/boilerplate.py | 7 + .../hyprlua/scripts/python/ispeedtest.py | 18 + desktopenvs/hyprlua/scripts/screenrec.sh | 25 + .../hyprlua/scripts/screenrotationacw.sh | 3 + .../hyprlua/scripts/screenrotationwcw.sh | 3 + desktopenvs/hyprlua/scripts/screenshot.sh | 3 + desktopenvs/hyprlua/scripts/time.sh | 2 + .../hyprlua/scripts/timer-notify.sh.old | 58 + desktopenvs/hyprlua/scripts/timer-pick | 201 +++ desktopenvs/hyprlua/scripts/timer-run | 79 ++ desktopenvs/hyprlua/scripts/timer.sh.old | 151 +++ desktopenvs/hyprlua/scripts/toggle-layout.sh | 13 + desktopenvs/hyprlua/scripts/togglebar.sh | 40 + desktopenvs/hyprlua/scripts/togglewinbars.sh | 15 + desktopenvs/hyprlua/scripts/ulwatchdog.sh | 9 + desktopenvs/hyprlua/scripts/unified-rotate.sh | 56 + desktopenvs/hyprlua/scripts/uptime.sh | 2 + desktopenvs/hyprlua/scripts/wallpaper-picker | 285 +++++ desktopenvs/hyprlua/scripts/windowswitcher | 2 + .../hyprlua/scripts/wofi-file-search.sh | 2 + desktopenvs/hyprlua/scripts/workspace | 52 + .../CustomApps/marketplace/README.md | 35 + .../CustomApps/marketplace/extension.js | 10 + .../spicetify/CustomApps/marketplace/index.js | 13 + .../CustomApps/marketplace/manifest.json | 12 + .../CustomApps/marketplace/style.css | 1 + .../spicetify/Themes/cli-cyberqueer/color.ini | 16 + .../spicetify/Themes/cli-cyberqueer/user.css | 905 +++++++++++++ .../Themes/matte-cyberqueer/color.ini | 644 ++++++++++ .../Themes/matte-cyberqueer/user.css | 548 ++++++++ desktopenvs/hyprlua/spicetify/config-xpui.ini | 32 + .../com.github.albano-a.packsearch.db | Bin 0 -> 6 bytes .../com.github.arabianq.ulauncher-duckai.db | Bin 0 -> 6 bytes ...anmaster0790.flatpakinstaller-ulauncher.db | Bin 0 -> 6 bytes .../com.github.brpaz.ulauncher-brotab.db | Bin 0 -> 6 bytes .../com.github.brpaz.ulauncher-file-search.db | Bin 0 -> 6 bytes .../com.github.brpaz.ulauncher-lipsum.db | Bin 0 -> 6 bytes .../com.github.brpaz.ulauncher-statuspages.db | Bin 0 -> 6 bytes .../com.github.ckrybus.ulauncher-journal.db | Bin 0 -> 6 bytes ...om.github.dcervenkov.ulauncher-z-search.db | Bin 0 -> 6 bytes ...github.e1bos.ulauncher-media-controller.db | Bin 0 -> 6 bytes ...off42.ulauncher-bluetooth-quick-connect.db | Bin 0 -> 52 bytes .../com.github.extner32.babel-converter.db | Bin 0 -> 6 bytes .../com.github.hoisel.pinboard-ulauncher.db | Bin 0 -> 6 bytes .../com.github.iboyperson.ulauncher-system.db | Bin 0 -> 6 bytes ...hub.ikorjefocur.ulauncher-commandrunner.db | Bin 0 -> 6 bytes .../com.github.isacikgoz.ukill.db | Bin 0 -> 6 bytes .../com.github.jack5github.ulauncher-steam.db | Bin 0 -> 6 bytes ...com.github.kcoovi.ulauncher-link-opener.db | Bin 0 -> 6 bytes ...lighttigerxiv.ulauncher-session-manager.db | Bin 0 -> 134 bytes ...xiv.ulauncher-terminal-runner-extension.db | Bin 0 -> 119 bytes ...m.github.mariob88.ulauncher-grep-search.db | Bin 0 -> 6 bytes .../com.github.melianmiko.ulauncher-nmcli.db | Bin 0 -> 6 bytes ...github.mikebarkmin.ulauncher-duckduckgo.db | Bin 0 -> 6 bytes ....github.msaistaken.ulauncher-translator.db | Bin 0 -> 6 bytes .../com.github.munim.ulauncher-ip-lookup.db | Bin 0 -> 6 bytes .../com.github.noam09.ulauncher-remmina.db | Bin 0 -> 6 bytes .../com.github.noam09.ulauncher-units.db | Bin 0 -> 6 bytes ...ub.ooo-w.ulauncher-hypr-window-switcher.db | Bin 0 -> 6 bytes .../com.github.pywkm.ulauncher-spotify.db | Bin 0 -> 6 bytes ...com.github.rapha149.ulauncher-bluetooth.db | Bin 0 -> 6 bytes ...hub.rmassidda.ulauncher-firefox-history.db | Bin 0 -> 6 bytes .../com.github.rootwork.ulauncher-symbol.db | Bin 0 -> 6 bytes ...thub.sergius02.ulauncher-colorconverter.db | Bin 0 -> 6 bytes ...har.ulauncher-albert-calculate-anything.db | Bin 0 -> 6 bytes ...om.github.the-lay.ulauncher-spotify-api.db | Bin 0 -> 6 bytes .../com.github.ulauncher.ulauncher-emoji.db | Bin 0 -> 6 bytes .../com.github.ulauncher.ulauncher-timer.db | Bin 0 -> 6 bytes ...b.ultiblog.ulauncher-password-generator.db | Bin 0 -> 6 bytes .../com.github.ural89.batterystatus.db | Bin 0 -> 6 bytes ...com.github.vanguard478.ulauncher-zoxide.db | Bin 0 -> 6 bytes .../com.github.ygun.ulauncher-nm.db | Bin 0 -> 6 bytes .../com.github.zensoup.ulauncher-unicode.db | Bin 0 -> 6 bytes desktopenvs/hyprlua/ulauncher/extensions.json | 177 +++ desktopenvs/hyprlua/ulauncher/settings.json | 12 + desktopenvs/hyprlua/ulauncher/shortcuts.json | 52 + .../user-themes/cyberqueer/generated.css | 75 ++ .../user-themes/cyberqueer/manifest.json | 12 + .../user-themes/cyberqueer/theme.css | 73 ++ desktopenvs/hyprlua/vicinae/cyberqueer.toml | 80 ++ .../hyprlua/vicinae/vicinae/settings.json | 88 ++ desktopenvs/hyprlua/walker/config.toml | 247 ++++ .../hyprlua/walker/themes/cyberqueer.css | 112 ++ .../hyprlua/walker/themes/cyberqueer.toml | 106 ++ desktopenvs/hyprlua/walker/themes/default.css | 162 +++ .../hyprlua/walker/themes/default.toml | 103 ++ .../hyprlua/walker/themes/default_window.toml | 105 ++ desktopenvs/hyprlua/waybar/config | 208 +++ .../hyprlua/waybar/scripts/amixer-toggle.sh | 11 + .../hyprlua/waybar/scripts/brightness.sh | 3 + .../hyprlua/waybar/scripts/colorpicker.sh | 60 + .../hyprlua/waybar/scripts/myUpdates.sh | 24 + .../hyprlua/waybar/scripts/myupdate.sh | 22 + .../hyprlua/waybar/scripts/powerdraw.sh | 10 + desktopenvs/hyprlua/waybar/style.css | 58 + desktopenvs/hyprlua/waybar/testconf | 161 +++ desktopenvs/hyprlua/wofi/config | 6 + .../wofi/netman/wofi-network-manager.conf | 16 + .../wofi/netman/wofi-network-manager.css | 61 + .../wofi/netman/wofi-network-manager.sh | 223 ++++ desktopenvs/hyprlua/wofi/style.css | 58 + desktopenvs/hyprlua/wofi/wofi | 1 + desktopenvs/hyprlua/xfce4/helpers.rc | 3 + .../deprecated/thunar.xml.orig | 24 + .../deprecated/thunar_BACKUP_1232483.xml | 24 + .../deprecated/thunar_BASE_1232483.xml | 9 + .../deprecated/thunar_LOCAL_1232483.xml | 13 + .../deprecated/thunar_REMOTE_1232483.xml | 13 + .../thunar-shares-plugin.xml | 5 + .../xfce-perchannel-xml/thunar-volman.xml | 10 + .../xfconf/xfce-perchannel-xml/thunar.xml | 18 + .../xfce4-power-manager.xml | 8 + .../modules/Desktop-Environments/hyprland.sh | 2 +- setup/modules/Desktop-Environments/hyprlua.sh | 137 ++ setup/tui-install.sh | 6 +- 237 files changed, 16438 insertions(+), 18 deletions(-) create mode 100644 desktopenvs/hyprland/hypr-usr/envvars.conf create mode 100644 desktopenvs/hyprlua/CRT/Cyberqueer.crt.json create mode 100644 desktopenvs/hyprlua/Vencord/settings/quickCss.css create mode 100644 desktopenvs/hyprlua/Vencord/settings/settings.json create mode 100644 desktopenvs/hyprlua/Vencord/themes/cyberqueer.theme.css create mode 100644 desktopenvs/hyprlua/Vencord/themes/system24/.prettierrc create mode 100644 desktopenvs/hyprlua/Vencord/themes/system24/LICENSE create mode 100644 desktopenvs/hyprlua/Vencord/themes/system24/README.md create mode 100644 desktopenvs/hyprlua/Vencord/themes/system24/assets/gruv-material.png create mode 100644 desktopenvs/hyprlua/Vencord/themes/system24/assets/monochrome.png create mode 100644 desktopenvs/hyprlua/Vencord/themes/system24/assets/preview.png create mode 100644 desktopenvs/hyprlua/Vencord/themes/system24/assets/rosepine.png create mode 100644 desktopenvs/hyprlua/Vencord/themes/system24/assets/screenshot.png create mode 100644 desktopenvs/hyprlua/Vencord/themes/system24/assets/screenshot2.png create mode 100644 desktopenvs/hyprlua/Vencord/themes/system24/assets/screenshot3.png create mode 100644 desktopenvs/hyprlua/Vencord/themes/system24/benchmark/benchmark.js create mode 100644 desktopenvs/hyprlua/Vencord/themes/system24/benchmark/benchmarkresults.csv create mode 100644 desktopenvs/hyprlua/Vencord/themes/system24/benchmark/benchmarkresults2.csv create mode 100644 desktopenvs/hyprlua/Vencord/themes/system24/benchmark/benchmarkresults3.csv create mode 100644 desktopenvs/hyprlua/Vencord/themes/system24/package-lock.json create mode 100644 desktopenvs/hyprlua/Vencord/themes/system24/package.json create mode 100644 desktopenvs/hyprlua/Vencord/themes/system24/scripts/dev.js create mode 100644 desktopenvs/hyprlua/Vencord/themes/system24/src/main.1.css create mode 100644 desktopenvs/hyprlua/Vencord/themes/system24/src/main.css create mode 100644 desktopenvs/hyprlua/Vencord/themes/system24/src/unrounding.css create mode 100644 desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/catppuccin-macchiato.theme.css create mode 100644 desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/catppuccin-mocha.theme.css create mode 100644 desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/cyberqueer.theme.css create mode 100755 desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/gruvbox-material.theme.css create mode 100644 desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/light.theme.css create mode 100644 desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/monochrome.theme.css create mode 100644 desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/rosepine.theme.css create mode 100644 desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/spotify-text.theme.css create mode 100644 desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/templates/pywal16.theme.css create mode 100644 desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/vencord.theme.css create mode 100644 desktopenvs/hyprlua/Vencord/themes/system24/theme/system24.theme.css create mode 120000 desktopenvs/hyprlua/alacritty/alacritty create mode 100644 desktopenvs/hyprlua/alacritty/alacritty.toml create mode 100644 desktopenvs/hyprlua/btop/btop.conf create mode 100644 desktopenvs/hyprlua/btop/themes/cyberqueer.theme create mode 100755 desktopenvs/hyprlua/config-updater/update-configs.sh create mode 100644 desktopenvs/hyprlua/config-updater/updater.conf create mode 120000 desktopenvs/hyprlua/dunst/dunst create mode 100644 desktopenvs/hyprlua/dunst/dunstrc create mode 120000 desktopenvs/hyprlua/eww-nobattery/eww create mode 100644 desktopenvs/hyprlua/eww-nobattery/eww.scss create mode 100644 desktopenvs/hyprlua/eww-nobattery/eww.yuck create mode 120000 desktopenvs/hyprlua/eww-touch/eww create mode 100644 desktopenvs/hyprlua/eww-touch/eww.scss create mode 100644 desktopenvs/hyprlua/eww-touch/eww.yuck create mode 100644 desktopenvs/hyprlua/eww-touch/eww.yuck.old create mode 120000 desktopenvs/hyprlua/eww/eww create mode 100644 desktopenvs/hyprlua/eww/eww.scss create mode 100644 desktopenvs/hyprlua/eww/eww.yuck create mode 100644 desktopenvs/hyprlua/greetd-tuigreet/config.toml create mode 100644 desktopenvs/hyprlua/gtk-3.0/bookmarks create mode 100644 desktopenvs/hyprlua/gtk-3.0/settings.ini create mode 100644 desktopenvs/hyprlua/hypr-usr/autostart.lua create mode 100644 desktopenvs/hyprlua/hypr-usr/binds.lua create mode 100644 desktopenvs/hyprlua/hypr-usr/envvars.lua create mode 100644 desktopenvs/hyprlua/hypr-usr/input.lua create mode 100644 desktopenvs/hyprlua/hypr-usr/monitors.lua create mode 100644 desktopenvs/hyprlua/hypr-usr/wallpaper.conf create mode 100644 desktopenvs/hyprlua/hypr-usr/windowrules.conf.old create mode 100644 desktopenvs/hyprlua/hypr-usr/windowrules.lua create mode 100644 desktopenvs/hyprlua/hypr/application-style.conf create mode 100644 desktopenvs/hyprlua/hypr/deprecated/hyprland.conf.old create mode 100644 desktopenvs/hyprlua/hypr/deprecated/hyprlock.conf.old create mode 100644 desktopenvs/hyprlua/hypr/hypridle.conf create mode 100644 desktopenvs/hyprlua/hypr/hyprland.lua create mode 100644 desktopenvs/hyprlua/hypr/hyprlock.conf create mode 100644 desktopenvs/hyprlua/hypr/hyprpaper.conf create mode 100644 desktopenvs/hyprlua/hypr/hyprtoolkit.conf create mode 100644 desktopenvs/hyprlua/hypr/monitorhandler.sh create mode 100644 desktopenvs/hyprlua/kitty/bash-remoteconf create mode 100644 desktopenvs/hyprlua/kitty/current-theme.conf create mode 100644 desktopenvs/hyprlua/kitty/kitty.conf create mode 100644 desktopenvs/hyprlua/kitty/kitty.conf.old create mode 100644 desktopenvs/hyprlua/kitty/ssh.conf create mode 100644 desktopenvs/hyprlua/kitty/themes/cyberqueer.conf create mode 100644 desktopenvs/hyprlua/mimeapps.list create mode 100644 desktopenvs/hyprlua/nwg-dock-hyprland/style.css create mode 100644 desktopenvs/hyprlua/nwg-drawer/drawer.css create mode 100644 desktopenvs/hyprlua/nwg-drawer/drawer.css.old create mode 100644 desktopenvs/hyprlua/nwg-panel/common-settings.json create mode 100644 desktopenvs/hyprlua/nwg-panel/config create mode 100644 desktopenvs/hyprlua/nwg-panel/menu-start.css create mode 100644 desktopenvs/hyprlua/nwg-panel/style.css create mode 100755 desktopenvs/hyprlua/scripts/_toggle_Template.tmplsh create mode 100755 desktopenvs/hyprlua/scripts/activewindow create mode 100755 desktopenvs/hyprlua/scripts/amssh create mode 100755 desktopenvs/hyprlua/scripts/batteryperc create mode 100755 desktopenvs/hyprlua/scripts/bluetooth-applet.sh create mode 100755 desktopenvs/hyprlua/scripts/caffeine.sh create mode 100755 desktopenvs/hyprlua/scripts/calender-fix.sh create mode 100755 desktopenvs/hyprlua/scripts/date.sh create mode 100644 desktopenvs/hyprlua/scripts/deprecated/batteryperc.old create mode 100755 desktopenvs/hyprlua/scripts/deprecated/hyprland-toggle-touchpad.sh.old create mode 100755 desktopenvs/hyprlua/scripts/deprecated/screenrotationacw.sh.old create mode 100755 desktopenvs/hyprlua/scripts/deprecated/screenrotationacw.sh.proto create mode 100755 desktopenvs/hyprlua/scripts/deprecated/screenrotationwcw.sh.old create mode 100755 desktopenvs/hyprlua/scripts/deprecated/screenrotationwcw.sh.proto create mode 100755 desktopenvs/hyprlua/scripts/drawer.sh create mode 100755 desktopenvs/hyprlua/scripts/dysk-phydisks.sh create mode 100755 desktopenvs/hyprlua/scripts/ewwstart-niri.sh create mode 100755 desktopenvs/hyprlua/scripts/ewwstart.sh create mode 100755 desktopenvs/hyprlua/scripts/foldersearch.sh create mode 100755 desktopenvs/hyprlua/scripts/frequentcommands.list create mode 100755 desktopenvs/hyprlua/scripts/getispeed.sh create mode 100755 desktopenvs/hyprlua/scripts/getvol create mode 100755 desktopenvs/hyprlua/scripts/helpmenu.sh create mode 100755 desktopenvs/hyprlua/scripts/hyprland-toggle-touchpad.sh create mode 100755 desktopenvs/hyprlua/scripts/ip create mode 100755 desktopenvs/hyprlua/scripts/journal.sh create mode 100755 desktopenvs/hyprlua/scripts/menu.sh create mode 100755 desktopenvs/hyprlua/scripts/monitorhandler.sh create mode 100755 desktopenvs/hyprlua/scripts/onscreenkb.sh create mode 100755 desktopenvs/hyprlua/scripts/playerget create mode 100755 desktopenvs/hyprlua/scripts/playpause.sh create mode 100755 desktopenvs/hyprlua/scripts/pwr-dmenu.sh create mode 100644 desktopenvs/hyprlua/scripts/python/boilerplate.py create mode 100644 desktopenvs/hyprlua/scripts/python/ispeedtest.py create mode 100755 desktopenvs/hyprlua/scripts/screenrec.sh create mode 100755 desktopenvs/hyprlua/scripts/screenrotationacw.sh create mode 100755 desktopenvs/hyprlua/scripts/screenrotationwcw.sh create mode 100755 desktopenvs/hyprlua/scripts/screenshot.sh create mode 100755 desktopenvs/hyprlua/scripts/time.sh create mode 100755 desktopenvs/hyprlua/scripts/timer-notify.sh.old create mode 100755 desktopenvs/hyprlua/scripts/timer-pick create mode 100755 desktopenvs/hyprlua/scripts/timer-run create mode 100755 desktopenvs/hyprlua/scripts/timer.sh.old create mode 100755 desktopenvs/hyprlua/scripts/toggle-layout.sh create mode 100755 desktopenvs/hyprlua/scripts/togglebar.sh create mode 100755 desktopenvs/hyprlua/scripts/togglewinbars.sh create mode 100755 desktopenvs/hyprlua/scripts/ulwatchdog.sh create mode 100755 desktopenvs/hyprlua/scripts/unified-rotate.sh create mode 100755 desktopenvs/hyprlua/scripts/uptime.sh create mode 100755 desktopenvs/hyprlua/scripts/wallpaper-picker create mode 100755 desktopenvs/hyprlua/scripts/windowswitcher create mode 100755 desktopenvs/hyprlua/scripts/wofi-file-search.sh create mode 100755 desktopenvs/hyprlua/scripts/workspace create mode 100644 desktopenvs/hyprlua/spicetify/CustomApps/marketplace/README.md create mode 100644 desktopenvs/hyprlua/spicetify/CustomApps/marketplace/extension.js create mode 100644 desktopenvs/hyprlua/spicetify/CustomApps/marketplace/index.js create mode 100644 desktopenvs/hyprlua/spicetify/CustomApps/marketplace/manifest.json create mode 100644 desktopenvs/hyprlua/spicetify/CustomApps/marketplace/style.css create mode 100644 desktopenvs/hyprlua/spicetify/Themes/cli-cyberqueer/color.ini create mode 100644 desktopenvs/hyprlua/spicetify/Themes/cli-cyberqueer/user.css create mode 100644 desktopenvs/hyprlua/spicetify/Themes/matte-cyberqueer/color.ini create mode 100644 desktopenvs/hyprlua/spicetify/Themes/matte-cyberqueer/user.css create mode 100644 desktopenvs/hyprlua/spicetify/config-xpui.ini create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.albano-a.packsearch.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.arabianq.ulauncher-duckai.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.beanmaster0790.flatpakinstaller-ulauncher.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.brpaz.ulauncher-brotab.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.brpaz.ulauncher-file-search.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.brpaz.ulauncher-lipsum.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.brpaz.ulauncher-statuspages.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.ckrybus.ulauncher-journal.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.dcervenkov.ulauncher-z-search.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.e1bos.ulauncher-media-controller.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.eckhoff42.ulauncher-bluetooth-quick-connect.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.extner32.babel-converter.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.hoisel.pinboard-ulauncher.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.iboyperson.ulauncher-system.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.ikorjefocur.ulauncher-commandrunner.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.isacikgoz.ukill.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.jack5github.ulauncher-steam.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.kcoovi.ulauncher-link-opener.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.lighttigerxiv.ulauncher-session-manager.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.lighttigerxiv.ulauncher-terminal-runner-extension.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.mariob88.ulauncher-grep-search.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.melianmiko.ulauncher-nmcli.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.mikebarkmin.ulauncher-duckduckgo.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.msaistaken.ulauncher-translator.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.munim.ulauncher-ip-lookup.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.noam09.ulauncher-remmina.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.noam09.ulauncher-units.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.ooo-w.ulauncher-hypr-window-switcher.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.pywkm.ulauncher-spotify.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.rapha149.ulauncher-bluetooth.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.rmassidda.ulauncher-firefox-history.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.rootwork.ulauncher-symbol.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.sergius02.ulauncher-colorconverter.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.tchar.ulauncher-albert-calculate-anything.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.the-lay.ulauncher-spotify-api.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.ulauncher.ulauncher-emoji.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.ulauncher.ulauncher-timer.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.ultiblog.ulauncher-password-generator.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.ural89.batterystatus.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.vanguard478.ulauncher-zoxide.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.ygun.ulauncher-nm.db create mode 100644 desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.zensoup.ulauncher-unicode.db create mode 100644 desktopenvs/hyprlua/ulauncher/extensions.json create mode 100644 desktopenvs/hyprlua/ulauncher/settings.json create mode 100644 desktopenvs/hyprlua/ulauncher/shortcuts.json create mode 100644 desktopenvs/hyprlua/ulauncher/user-themes/cyberqueer/generated.css create mode 100644 desktopenvs/hyprlua/ulauncher/user-themes/cyberqueer/manifest.json create mode 100644 desktopenvs/hyprlua/ulauncher/user-themes/cyberqueer/theme.css create mode 100644 desktopenvs/hyprlua/vicinae/cyberqueer.toml create mode 100644 desktopenvs/hyprlua/vicinae/vicinae/settings.json create mode 100644 desktopenvs/hyprlua/walker/config.toml create mode 100644 desktopenvs/hyprlua/walker/themes/cyberqueer.css create mode 100644 desktopenvs/hyprlua/walker/themes/cyberqueer.toml create mode 100644 desktopenvs/hyprlua/walker/themes/default.css create mode 100644 desktopenvs/hyprlua/walker/themes/default.toml create mode 100644 desktopenvs/hyprlua/walker/themes/default_window.toml create mode 100644 desktopenvs/hyprlua/waybar/config create mode 100755 desktopenvs/hyprlua/waybar/scripts/amixer-toggle.sh create mode 100644 desktopenvs/hyprlua/waybar/scripts/brightness.sh create mode 100755 desktopenvs/hyprlua/waybar/scripts/colorpicker.sh create mode 100755 desktopenvs/hyprlua/waybar/scripts/myUpdates.sh create mode 100755 desktopenvs/hyprlua/waybar/scripts/myupdate.sh create mode 100755 desktopenvs/hyprlua/waybar/scripts/powerdraw.sh create mode 100644 desktopenvs/hyprlua/waybar/style.css create mode 100644 desktopenvs/hyprlua/waybar/testconf create mode 100644 desktopenvs/hyprlua/wofi/config create mode 100644 desktopenvs/hyprlua/wofi/netman/wofi-network-manager.conf create mode 100644 desktopenvs/hyprlua/wofi/netman/wofi-network-manager.css create mode 100644 desktopenvs/hyprlua/wofi/netman/wofi-network-manager.sh create mode 100644 desktopenvs/hyprlua/wofi/style.css create mode 120000 desktopenvs/hyprlua/wofi/wofi create mode 100644 desktopenvs/hyprlua/xfce4/helpers.rc create mode 100644 desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/deprecated/thunar.xml.orig create mode 100644 desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/deprecated/thunar_BACKUP_1232483.xml create mode 100644 desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/deprecated/thunar_BASE_1232483.xml create mode 100644 desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/deprecated/thunar_LOCAL_1232483.xml create mode 100644 desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/deprecated/thunar_REMOTE_1232483.xml create mode 100644 desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/thunar-shares-plugin.xml create mode 100644 desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/thunar-volman.xml create mode 100644 desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/thunar.xml create mode 100644 desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml create mode 100755 setup/modules/Desktop-Environments/hyprlua.sh diff --git a/desktopenvs/hyprland/hypr-usr/envvars.conf b/desktopenvs/hyprland/hypr-usr/envvars.conf new file mode 100644 index 0000000..586df3e --- /dev/null +++ b/desktopenvs/hyprland/hypr-usr/envvars.conf @@ -0,0 +1,7 @@ +env = GTK_THEME,cyberqueer +env = GDK_SCALE,2 +env = XCURSOR_SIZE,40 +env = HYPRCURSOR_SIZE,40 +env = QT_QPA_PLATFORMTHEME,qt6ct +env = QT_STYLE_OVERRIDE,Fusion +env = QT_STYLE_SHEET,~/.config/qt6ct/qss/style.qss diff --git a/desktopenvs/hyprland/hypr-usr/monitors.conf b/desktopenvs/hyprland/hypr-usr/monitors.conf index 3d794ab..40ceeda 100644 --- a/desktopenvs/hyprland/hypr-usr/monitors.conf +++ b/desktopenvs/hyprland/hypr-usr/monitors.conf @@ -9,6 +9,3 @@ xwayland { force_zero_scaling = true } -# toolkit-specific scale -env = GDK_SCALE,2 -env = XCURSOR_SIZE,32 diff --git a/desktopenvs/hyprland/hypr/hyprland.conf b/desktopenvs/hyprland/hypr/hyprland.conf index 1649658..0ebbae0 100644 --- a/desktopenvs/hyprland/hypr/hyprland.conf +++ b/desktopenvs/hyprland/hypr/hyprland.conf @@ -1,9 +1,9 @@ source = ~/.config/input.conf source = ~/.config/monitors.conf +source = ~/.config/envvars.conf source = ~/.config/binds.conf source = ~/.config/windowrules.conf source = ~/.config/autostart.conf -env GTK_THEME = cyberqueer #plugin { # hyprexpo { # columns = 3 @@ -60,17 +60,6 @@ $menu = wofi --show=drun -############################# -### ENVIRONMENT VARIABLES ### -############################# - -# See https://wiki.hyprland.org/Configuring/Environment-variables/ - -env = XCURSOR_SIZE,40 -env = HYPRCURSOR_SIZE,40 -env = QT_QPA_PLATFORMTHEME,qt6ct -env = QT_STYLE_OVERRIDE,"Fusion" -env = QT_STYLE_SHEET,"~/.config/qt6ct/qss/style.qss" ##################### ### LOOK AND FEEL ### diff --git a/desktopenvs/hyprlua/CRT/Cyberqueer.crt.json b/desktopenvs/hyprlua/CRT/Cyberqueer.crt.json new file mode 100644 index 0000000..ebc0715 --- /dev/null +++ b/desktopenvs/hyprlua/CRT/Cyberqueer.crt.json @@ -0,0 +1,27 @@ +{ + "backgroundColor": "#1a1a1a", + "fontColor": "#d6abab", + "flickering": 0.2, + "horizontalSync": 0.3762, + "staticNoise": 0.0955, + "chromaColor": 1, + "saturationColor": 0.4983, + "screenCurvature": 0.1716, + "glowingLine": 0.1476, + "burnIn": 0.0754, + "bloom": 0.5017, + "rasterization": 1, + "jitter": 0.2368, + "rbgShift": 0.0224, + "brightness": 0.5014, + "contrast": 0.85, + "ambientLight": 0.0835, + "windowOpacity": 0.2561, + "fontName": "TERMINUS_SCALED", + "fontWidth": 1, + "margin": 0.1, + "blinkingCursor": true, + "frameMargin": 0, + "name": "Cyberqeer", + "version": 2 +} \ No newline at end of file diff --git a/desktopenvs/hyprlua/Vencord/settings/quickCss.css b/desktopenvs/hyprlua/Vencord/settings/quickCss.css new file mode 100644 index 0000000..e69de29 diff --git a/desktopenvs/hyprlua/Vencord/settings/settings.json b/desktopenvs/hyprlua/Vencord/settings/settings.json new file mode 100644 index 0000000..9e19175 --- /dev/null +++ b/desktopenvs/hyprlua/Vencord/settings/settings.json @@ -0,0 +1,632 @@ +{ + "autoUpdate": true, + "autoUpdateNotification": true, + "useQuickCss": true, + "themeLinks": [], + "eagerPatches": false, + "enabledThemes": [ + "cyberqueer.theme.css" + ], + "enableReactDevtools": true, + "frameless": false, + "transparent": false, + "winCtrlQ": false, + "disableMinSize": false, + "winNativeTitleBar": false, + "plugins": { + "ChatInputButtonAPI": { + "enabled": true + }, + "CommandsAPI": { + "enabled": true + }, + "DynamicImageModalAPI": { + "enabled": false + }, + "MemberListDecoratorsAPI": { + "enabled": true + }, + "MessageAccessoriesAPI": { + "enabled": true + }, + "MessageDecorationsAPI": { + "enabled": true + }, + "MessageEventsAPI": { + "enabled": false + }, + "MessagePopoverAPI": { + "enabled": true + }, + "MessageUpdaterAPI": { + "enabled": true + }, + "ServerListAPI": { + "enabled": true + }, + "UserSettingsAPI": { + "enabled": true + }, + "AccountPanelServerProfile": { + "enabled": true + }, + "AlwaysAnimate": { + "enabled": true + }, + "AlwaysExpandRoles": { + "enabled": true + }, + "AlwaysTrust": { + "enabled": true, + "domain": true, + "file": true + }, + "AnonymiseFileNames": { + "enabled": true + }, + "AppleMusicRichPresence": { + "enabled": false + }, + "BANger": { + "enabled": false + }, + "BetterFolders": { + "enabled": false, + "sidebar": true, + "showFolderIcon": 1, + "keepIcons": false, + "closeAllHomeButton": false, + "closeAllFolders": false, + "forceOpen": false, + "sidebarAnim": true, + "closeOthers": false + }, + "BetterGifAltText": { + "enabled": true + }, + "BetterGifPicker": { + "enabled": true + }, + "BetterNotesBox": { + "enabled": true, + "hide": false + }, + "BetterRoleContext": { + "enabled": true + }, + "BetterRoleDot": { + "enabled": true, + "bothStyles": false, + "copyRoleColorInProfilePopout": false + }, + "BetterSessions": { + "enabled": true, + "backgroundCheck": false + }, + "BetterSettings": { + "enabled": true, + "disableFade": true, + "eagerLoad": true, + "organizeMenu": true + }, + "BetterUploadButton": { + "enabled": true + }, + "BiggerStreamPreview": { + "enabled": true + }, + "BlurNSFW": { + "enabled": false + }, + "CallTimer": { + "enabled": true + }, + "ClearURLs": { + "enabled": false + }, + "ClientTheme": { + "enabled": false + }, + "ColorSighted": { + "enabled": false + }, + "ConsoleJanitor": { + "enabled": false + }, + "ConsoleShortcuts": { + "enabled": false + }, + "CopyEmojiMarkdown": { + "enabled": false + }, + "CopyFileContents": { + "enabled": false + }, + "CopyUserURLs": { + "enabled": true + }, + "CrashHandler": { + "enabled": true + }, + "CtrlEnterSend": { + "enabled": false + }, + "CustomRPC": { + "enabled": true, + "type": 0 + }, + "CustomIdle": { + "enabled": false + }, + "Dearrow": { + "enabled": false + }, + "Decor": { + "enabled": false + }, + "DisableCallIdle": { + "enabled": false + }, + "DontRoundMyTimestamps": { + "enabled": false + }, + "EmoteCloner": { + "enabled": false + }, + "Experiments": { + "enabled": false + }, + "F8Break": { + "enabled": false + }, + "FakeNitro": { + "enabled": false + }, + "FakeProfileThemes": { + "enabled": false + }, + "FavoriteEmojiFirst": { + "enabled": false + }, + "FavoriteGifSearch": { + "enabled": false + }, + "FixCodeblockGap": { + "enabled": true + }, + "FixImagesQuality": { + "enabled": true + }, + "FixSpotifyEmbeds": { + "enabled": true + }, + "FixYoutubeEmbeds": { + "enabled": true + }, + "ForceOwnerCrown": { + "enabled": true + }, + "FriendInvites": { + "enabled": false + }, + "FriendsSince": { + "enabled": true + }, + "FullSearchContext": { + "enabled": false + }, + "FullUserInChatbox": { + "enabled": false + }, + "GameActivityToggle": { + "enabled": false + }, + "GifPaste": { + "enabled": false + }, + "GreetStickerPicker": { + "enabled": false + }, + "HideMedia": { + "enabled": false + }, + "iLoveSpam": { + "enabled": false + }, + "IgnoreActivities": { + "enabled": false + }, + "ImageLink": { + "enabled": false + }, + "ImageZoom": { + "enabled": false + }, + "ImplicitRelationships": { + "enabled": true, + "sortByAffinity": true + }, + "InvisibleChat": { + "enabled": true + }, + "IrcColors": { + "enabled": false, + "memberListColors": true, + "lightness": 70, + "applyColorOnlyInDms": false, + "applyColorOnlyToUsersWithoutColor": false + }, + "KeepCurrentChannel": { + "enabled": false + }, + "LastFMRichPresence": { + "enabled": false + }, + "LoadingQuotes": { + "enabled": true, + "replaceEvents": true, + "enableDiscordPresetQuotes": false, + "additionalQuotes": "", + "additionalQuotesDelimiter": "|", + "enablePluginPresetQuotes": true + }, + "MemberCount": { + "enabled": false + }, + "MentionAvatars": { + "enabled": false + }, + "MessageClickActions": { + "enabled": false + }, + "MessageLatency": { + "enabled": false + }, + "MessageLinkEmbeds": { + "enabled": false + }, + "MessageLogger": { + "enabled": false + }, + "MessageTags": { + "enabled": false + }, + "MoreCommands": { + "enabled": false + }, + "MoreKaomoji": { + "enabled": false + }, + "Moyai": { + "enabled": false + }, + "MutualGroupDMs": { + "enabled": false + }, + "NewGuildSettings": { + "enabled": false + }, + "NoBlockedMessages": { + "enabled": false + }, + "NoDevtoolsWarning": { + "enabled": false + }, + "NoF1": { + "enabled": false + }, + "NoMaskedUrlPaste": { + "enabled": false + }, + "NoMosaic": { + "enabled": false + }, + "NoOnboardingDelay": { + "enabled": false + }, + "NoPendingCount": { + "enabled": false + }, + "NoProfileThemes": { + "enabled": false + }, + "NoRPC": { + "enabled": false + }, + "NoReplyMention": { + "enabled": false + }, + "NoServerEmojis": { + "enabled": true + }, + "NoSystemBadge": { + "enabled": false + }, + "NoTypingAnimation": { + "enabled": false + }, + "NoUnblockToJump": { + "enabled": false + }, + "NormalizeMessageLinks": { + "enabled": false + }, + "NotificationVolume": { + "enabled": false + }, + "NSFWGateBypass": { + "enabled": false + }, + "OnePingPerDM": { + "enabled": false + }, + "oneko": { + "enabled": false + }, + "OpenInApp": { + "enabled": false + }, + "OverrideForumDefaults": { + "enabled": false + }, + "PartyMode": { + "enabled": false + }, + "PauseInvitesForever": { + "enabled": false + }, + "PermissionFreeWill": { + "enabled": false + }, + "PermissionsViewer": { + "enabled": false + }, + "petpet": { + "enabled": false + }, + "PictureInPicture": { + "enabled": false + }, + "PinDMs": { + "enabled": false + }, + "PlainFolderIcon": { + "enabled": true + }, + "PlatformIndicators": { + "enabled": true, + "colorMobileIndicator": true, + "list": true, + "badges": true, + "messages": true + }, + "PreviewMessage": { + "enabled": false + }, + "QuickMention": { + "enabled": true + }, + "QuickReply": { + "enabled": true + }, + "ReactErrorDecoder": { + "enabled": false + }, + "ReadAllNotificationsButton": { + "enabled": true + }, + "RelationshipNotifier": { + "enabled": true, + "offlineRemovals": true, + "groups": true, + "servers": true, + "friends": true, + "friendRequestCancels": true + }, + "ReplaceGoogleSearch": { + "enabled": false + }, + "ReplyTimestamp": { + "enabled": false + }, + "RevealAllSpoilers": { + "enabled": false + }, + "ReverseImageSearch": { + "enabled": true + }, + "ReviewDB": { + "enabled": true, + "notifyReviews": true + }, + "RoleColorEverywhere": { + "enabled": true, + "chatMentions": true, + "memberList": true, + "voiceUsers": true, + "reactorsList": true, + "pollResults": true, + "colorChatMessages": false + }, + "SecretRingToneEnabler": { + "enabled": false + }, + "Summaries": { + "enabled": false + }, + "SendTimestamps": { + "enabled": false + }, + "ServerInfo": { + "enabled": false + }, + "ServerListIndicators": { + "enabled": false + }, + "ShikiCodeblocks": { + "enabled": false + }, + "ShowAllMessageButtons": { + "enabled": false + }, + "ShowConnections": { + "enabled": false + }, + "ShowHiddenChannels": { + "enabled": false + }, + "ShowHiddenThings": { + "enabled": false + }, + "ShowMeYourName": { + "enabled": false + }, + "ShowTimeoutDuration": { + "enabled": false + }, + "SilentMessageToggle": { + "enabled": false + }, + "SilentTyping": { + "enabled": false + }, + "SortFriendRequests": { + "enabled": false + }, + "SpotifyControls": { + "enabled": true, + "hoverControls": false + }, + "SpotifyCrack": { + "enabled": false + }, + "SpotifyShareCommands": { + "enabled": false + }, + "StartupTimings": { + "enabled": false + }, + "StickerPaste": { + "enabled": false + }, + "StreamerModeOnStream": { + "enabled": false + }, + "SuperReactionTweaks": { + "enabled": false + }, + "TextReplace": { + "enabled": false + }, + "ThemeAttributes": { + "enabled": false + }, + "Translate": { + "enabled": false + }, + "TypingIndicator": { + "enabled": false + }, + "TypingTweaks": { + "enabled": true, + "alternativeFormatting": true + }, + "Unindent": { + "enabled": false + }, + "UnlockedAvatarZoom": { + "enabled": false + }, + "UnsuppressEmbeds": { + "enabled": false + }, + "UserMessagesPronouns": { + "enabled": true, + "showSelf": true, + "pronounsFormat": "LOWERCASE" + }, + "UserVoiceShow": { + "enabled": false + }, + "USRBG": { + "enabled": true, + "voiceBackground": true, + "nitroFirst": true + }, + "ValidReply": { + "enabled": true + }, + "ValidUser": { + "enabled": true + }, + "VoiceChatDoubleClick": { + "enabled": false + }, + "VcNarrator": { + "enabled": false + }, + "VencordToolbox": { + "enabled": true + }, + "ViewIcons": { + "enabled": false + }, + "ViewRaw": { + "enabled": false + }, + "VoiceDownload": { + "enabled": true + }, + "VoiceMessages": { + "enabled": true + }, + "VolumeBooster": { + "enabled": false + }, + "WhoReacted": { + "enabled": true + }, + "XSOverlay": { + "enabled": true, + "webSocketPort": 42070, + "botNotifications": false, + "pingColor": "#7289da", + "channelPingColor": "#8a2be2", + "serverNotifications": true, + "lengthBasedTimeout": true, + "opacity": 1, + "volume": 0.2, + "soundPath": "default", + "preferUDP": false + }, + "YoutubeAdblock": { + "enabled": true + }, + "BadgeAPI": { + "enabled": true + }, + "NoTrack": { + "enabled": true, + "disableAnalytics": true + }, + "Settings": { + "enabled": true, + "settingsLocation": "aboveNitro" + }, + "SupportHelper": { + "enabled": true + } + }, + "notifications": { + "timeout": 5000, + "position": "bottom-right", + "useNative": "not-focused", + "logLimit": 50 + }, + "cloud": { + "authenticated": false, + "url": "https://api.vencord.dev/", + "settingsSync": false, + "settingsSyncVersion": 1744550478260 + } +} \ No newline at end of file diff --git a/desktopenvs/hyprlua/Vencord/themes/cyberqueer.theme.css b/desktopenvs/hyprlua/Vencord/themes/cyberqueer.theme.css new file mode 100644 index 0000000..ac9caf0 --- /dev/null +++ b/desktopenvs/hyprlua/Vencord/themes/cyberqueer.theme.css @@ -0,0 +1,89 @@ +/** + * @name system24 + * @description A tui-style discord theme. + * @author refact0r + * @version 1.0.0 + * @invite nz87hXyvcy + * @website https://github.com/refact0r/system24 + * @source https://github.com/refact0r/system24/blob/master/system24.theme.css + * @authorId 508863359777505290 + * @authorLink https://www.refact0r.dev +*/ + +@import url('https://refact0r.github.io/system24/src/main.css'); /* main theme css. DO NOT REMOVE */ +/* @import url('https://refact0r.github.io/system24/src/unrounding.css'); /* gets rid of all rounded corners. remove if you want rounded corners. */ +*{ + font-family: 'Agave Nerd Font Mono'; +} + +/* customize things here */ +:root { + font: 'Agave Nerd Font'; /* UI font name. it must be installed on your system. */ + letter-spacing: 0; /* decreases letter spacing for better readability. */ + font-weight: 400; /* UI font weight. */ + --label-font-weight: 400; /* font weight for panel labels. */ + --corner-text: 'system24'; /* custom text to display in the corner. only works on windows. */ + --pad: 20px; /* padding between panels. */ + --txt-pad: 5px; /* padding inside panels to prevent labels from clipping */ + --panel-roundness: 0px; /* corner roundness of panels. ONLY WORKS IF unrounding.css IS REMOVED (see above). */ + + /* background colors */ + --bg-0: #1a1a1a; /* main background color. */ + --bg-1: #1a1a1a; /* background color for secondary elements like code blocks, embeds, etc. */ + --bg-2: #1a1a1a; /* color of neutral buttons. */ + --bg-3: #641a1a; /* color of neutral buttons when hovered. */ + + /* state modifiers */ + --hover: #5018dd;/* color of hovered elements. */ + --active: #E40046;/* color of elements when clicked. */ + --selected: #5018dd; /* color of selected elements. */ + + /* text colors */ + --txt-dark: var(--bg-0); /* color of dark text on colored backgrounds. */ + --txt-link: var(--cyan); /* color of links. */ + --txt-0: #d6abab; /* color of bright/white text. */ + --txt-1: #d6abab;/* main text color. */ + --txt-2: #5018dd;/* color of secondary text like channel list. */ + --txt-3: #d6abab;/* color of muted text. */ + + /* accent colors */ + --acc-1: #E40046; /* main accent color. */ + --acc-0: #5018dd; /* color of accent buttons when hovered. */ + --acc-2: #5018dd; /* color of accent buttons when clicked. */ + + /* borders */ + --border-width: 19px; /* panel border thickness. */ + --border-color: #5018dd; /* panel border color. */ + --border-hover-color: #E40046; /* panel border color when hovered. */ + --border-transition: 0.2s ease; /* panel border transition. */ + + /* status dot colors */ + --online-dot: var(--green); /* color of online dot. */ + --dnd-dot: var(--pink); /* color of do not disturb dot. */ + --idle-dot: var(--yellow); /* color of idle dot. */ + --streaming-dot: var(--purple); /* color of streaming dot. */ + + /* mention/ping and message colors */ + --mention-txt: #5018dd; /* color of mention text. */ + --mention-bg: #E40046; /* background highlight of mention text. */ + --mention-overlay: color-mix(in oklch, var(--acc-0), transparent 90%); /* overlay color of messages that mention you. */ + --mention-hover-overlay: color-mix(in oklch, var(--acc-0), transparent 95%); /* overlay color of messages that mention you when hovered. */ + --reply-overlay: var(--active); /* overlay color of message you are replying to. */ + --reply-hover-overlay: var(--hover); /* overlay color of message you are replying to when hovered. */ + + /* color shades */ + --pink: oklch(73% 0.12 0); + --pink-1: oklch(63% 0.12 0); + --pink-2: oklch(53% 0.12 0); + --purple: oklch(73% 0.12 300); + --purple-1: oklch(63% 0.12 300); + --purple-2: oklch(53% 0.12 300); + --cyan: oklch(73% 0.12 200); + --yellow: oklch(78% 0.12 80); + --green: hsl(141, 76%, 48%); + --green-1: hsl(141, 73%, 42%); + --green-2: hsl(141, 73%, 36%); +} +/* .container_c48ade{ + background-color: transparent; +} */ diff --git a/desktopenvs/hyprlua/Vencord/themes/system24/.prettierrc b/desktopenvs/hyprlua/Vencord/themes/system24/.prettierrc new file mode 100644 index 0000000..7bfe977 --- /dev/null +++ b/desktopenvs/hyprlua/Vencord/themes/system24/.prettierrc @@ -0,0 +1,6 @@ +{ + "tabWidth": 4, + "singleQuote": true, + "useTabs": true, + "printWidth": 200 +} diff --git a/desktopenvs/hyprlua/Vencord/themes/system24/LICENSE b/desktopenvs/hyprlua/Vencord/themes/system24/LICENSE new file mode 100644 index 0000000..db1d2a4 --- /dev/null +++ b/desktopenvs/hyprlua/Vencord/themes/system24/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 refact0r + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/desktopenvs/hyprlua/Vencord/themes/system24/README.md b/desktopenvs/hyprlua/Vencord/themes/system24/README.md new file mode 100644 index 0000000..5e7c114 --- /dev/null +++ b/desktopenvs/hyprlua/Vencord/themes/system24/README.md @@ -0,0 +1,72 @@ +> [!WARNING] +> recently discord has rolled out a new UI refresh update, which breaks the theme. for now, development is paused. if and when i find the motivation, the theme will be rewritten for the new UI. until then, please check out my other theme, [midnight](https://github.com/refact0r/midnight-discord). + +![preivew](/assets/preview.png) + +# system24 + +a tui-style discord theme, inspired by [spicetify text theme](https://github.com/spicetify/spicetify-themes/tree/master/text). + +![screenshot](/assets/screenshot3.png) + +## discord server + +need help? want to get notified about updates? have feedback? join + +## install + +### vencord/betterdiscord (or client with theme folder) + +1. go the [default theme file](https://github.com/refact0r/system24/blob/main/theme/system24.theme.css) or choose a flavor from the options below. +2. click the download button in the top right. +3. move the downloaded file into your theme folder. (there should be a button to open the theme folder in theme settings) +4. you may need to enable the theme in your theme settings by clicking a toggle switch. +5. (optional) customize the theme by editing the variables in `system24.theme.css`. + +### install through link + +1. add `https://refact0r.github.io/system24/theme/system24.theme.css` to your theme import links. + +## flavors + +customized variants of the theme. + +### spotify-text + +matches the spotify/spicetify ["text" theme](https://github.com/spicetify/spicetify-themes/tree/master/text). thinner borders and different font weights from the default system24. + +[theme file](https://github.com/refact0r/system24/blob/main/theme/flavors/spotify-text.theme.css) + +![image](https://github.com/user-attachments/assets/f459f9fc-7b6c-4e9d-a8c9-4adefb0be417) + +### catppuccin mocha + +based on the mocha palette of [catppuccin](https://catppuccin.com/palette). + +[theme file](https://github.com/refact0r/system24/blob/main/theme/flavors/catppuccin-mocha.theme.css) + +![image](https://github.com/user-attachments/assets/994d35f6-90d8-4f99-bfce-c3df13f415d4) + +### gruvbox material + +based on the vim theme [gruvbox material](https://github.com/sainnhe/gruvbox-material). + +[theme file](https://github.com/refact0r/system24/blob/main/theme/flavors/gruvbox-material.theme.css) + +![image](/assets/gruv-material.png) + +### monochrome + +A monochrome version of the default theme with mostly neutral colors. + +[theme file](https://github.com/refact0r/system24/blob/main/theme/flavors/monochrome.theme.css) + +![image](/assets/monochrome.png) + +### rose pine + +based on the main palette of [rose pine](https://rosepinetheme.com/palette/). + +[theme file](https://github.com/refact0r/system24/blob/main/theme/flavors/rosepine.theme.css) + +![image](/assets/rosepine.png) diff --git a/desktopenvs/hyprlua/Vencord/themes/system24/assets/gruv-material.png b/desktopenvs/hyprlua/Vencord/themes/system24/assets/gruv-material.png new file mode 100644 index 0000000000000000000000000000000000000000..844f9f9eebff3bd2aad5b31d0ff2227309a986d0 GIT binary patch literal 787777 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�mi~GG|ZH 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%0A;5!U4=D;*70RUlA+`lUBf2zmxui^6m7Bnvtj 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 z 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%0D30R%FR<$fU`-v+KO?l9Ez+ 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

c}H0%-r{kbqPXh?aGthFJ*_mii&>y&Ew$tWJv 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

^1Dge5|Qo|C0Qb6OU&L|*h6Z% z2kGv3#MMoEo#-;RdGp`)8n!%)bxTXuS;q6tzJLG-HFPG?*a3{TU1k3L@iXf$-mUo% z;1;TE-(HR=J#Ef(ZnG?vVDO#yP7>jTVFl8dpn#pg+o=QqM25pmSwzjhZ>tF=UF1bed9fBRV*G zpc!v4%u!-xKsUQlM5HJ`^u26u65UIfct~0SWmjV*lZd2J?WZ7}9pXj#4^5IAEmwG; z_(T+nJf}2<)KR*eY`h6eSWLG4m)&%}o|>5AO84Z4Wuui{72EQ9-87!_ri0;H98w-! zpTAa#TDz~E0|CI;0YLHb*wfUj5vbVvFaJEg>3~DN zp&cs}F4PXUqz^3(?|l=K5d(yR0@xwI0M*>+RoFgxfMY^)RP<9Cpp)bs)9J`v05-bH zvHqDoQBN-m%<*_^-PQxc`Gq)NIwnfPkS7sHeBHT^k1)PzI>A$oYT~S#1r_)aNF=6? zkP0L^tvy?;BDRfTWv|jV57&V@sAv*( z^(@m>qXx0U!I9tu?fRywnBQE}7rT*9($Ri5$Wi++>8E?W>g`+Nr|PAKi-o^}4%otC zcYpo2i2d-}PI~K4m7liSFJeWf9g;;JMvfkEpZ2$t*q*wU+Ih*yA03_s7q(NL7AqdR z=T>a`mb@#jW<~Fn%Y_#mZx$ajMff+`g$81uz*?o(C+wHM#_op%reg#(yMB9o^RO4R zCH*U_YV&RL(M8qsNH2T(uO@j;#CxDa4MQ34l(&t|fhm7gQauYbh+44_0!8`UfzELH zFY;t&A-Y@o;D*1Tqp)x+Dp}DCrfBv`CP(H+9G*&$8~{@oEvyYsOBM{qMhSPJE`wSl zmX{Gi)SLn1#h8+KD^da|fiN*F5Gp*L?)B%4+S*B7V7#iU=@-y(wX&h_Me0IXwBN^@ z^ydrB({m?z+v9$cmVwu!%jvww=|Z<84lPsqy#HCc9_z#Xmf>CF==|+kJ?`WBgEU*| zmFM1oJ1$lEL59ywV+r)!zP!G-HuKGKM-Ly7IlRUf@(ZUzte#Qa?5K zU_TK}V-m;h#oe9l$6wxCEl^P$yavt6QVUipNvIQMC_B%^viQ|v+E7fHkV)r5J;+SJnW&b%|F_FO1;x_X2ps|siAqGXgp8`Po)LXd!*0HOOu5ftzX1CVS7 zew{rLXRiys-dm!?4i?35pEFUEANZ%P%N<*clnjMwnR06?#O4r`3+Fe{>RlGlk`Hm<4A?gIxK&z{+9FdT*zud)Vh z-^LP0*miN(sCAxo<5F4K-8Q3spE*nPT2k{}4^pUJqm^gdo?e)9 zz&39#BhmQ17Nvv{@F?Uh2qiYwq2hmvg8$$edMap*t4d)DE-}7Fl3H3gf);cMB-WvO z4Yv$P0zA;rwVfns>0Sm`Jk4QtTqs|A-p;Z;=8RqxJSRmfKYHAsr}*9QiJon=KM_9} zQvnK}kcN#Hf|Iuui(aSG>OKdV56GvpXQ8MgPb<5H$lHNP!l&t8)Bzr$x(c;GO9)1P|&BJ=UQ`y+?vUWTO3t1^naBcBHw8>>$blbXnG z(-?mr?zVAR_Fdnt$DIxPPgXf41FLfW1+{I?b#3@{e2I}IH^l`21LnDY?c+sqLYny$R9vB^-Ukl?rB za%^2T!x??~FI&xIFTBnd$Ji$}QZK}N1V~5Z^k%gx9PBFGpO5inl8yenp6>o0SC;x7 zu+TM~%kz!ln%d-mF^=Srq!(pMC0i0;70l;Q|8BQ0*iZ0iL!WqmABPI8+o_u zbFPECf6HnRqvR1+@I#maC$h#t)N!Df`N***ITUlNq-M#@2;sfuF_M3~_0vrYT}>@D zBVprS;sltG9xnC$t?ConH>X2yu&_J5(T`YqJv>bu&HhkZ1lJF|HPotQH+i2mEo8Oc z;&W_5w+&zj2t=cf<5k=i_|%b)1!25iZta7~F`8ggeA^|9eprK-`#KP z+fa)htAju85pWy5X>1#%$<>{o24NO>Wh0dqZmrS)J$0l zv6d1VV*j)=N`$GRcQwDTLXBn#pnv#-lf{6!!uSY82`2+yLkJHd?owS0^e#N$gr`&B ztLDd2{tL(NbkF%0M5UOs%TnCQ1hP3wdE-oFshnW=4!4Ik5?20~IC3J#2eP?I2g`BT0MImv!8#l&0buP9}sTX1nQ z(E$z0k`kup7xig;X$oy|e>|TZ-ev|{DhMu!g`ku4BoCDu;orvlCJue&FzJmV{i~gA#$A_oeEoI@iA@mjQl-FffZ5y2zWpxL>4mS>GBSj9)3|uxABSN!i zfa5tWQSU$Zb2&p_PZA=l?aTiTC*Vjk_BA=Th?4IA`f`Rx99H6%=dXf$h5K3Yd<|A* z%dbxK8A<6%VOR}^#Et4oZb-zM5$&?g3u3*hXj zB*4^C6h3PMc>+{r;#+3NgJ)enn!R<(Ma-VTdLMMo#d zrtA$>es)xMHUjWSrV)+sifdO!ywn>I3}p|-LL~*65WphQ#r9Z8)i(mNJdH6;)ng>U z)cu9Ua+nh6>I7o>SldPYmvf`nQ)49Wu#0WKfzOrG3%MCZOyjHJ- z72=Jta(%JVG_dKOFE@pWA=K41RN$$vf;w8{9nv$~1xT=q@gy-pSucmOp$o&KI@MNlmSpw>SL@Y=q0d~A zcFY+6+<}?mq+_!hF@Y7`+Z$@nqqQqwN2dSA&E;n3S;3om*ImPhF|9V=l2u^`(Ijlc z`ysBADdEd~!A0N8+CKU^(M$=Rc?wiO$F-v~_7?Fclz^O0d-sjNGshM_2F;&(FUQZ0 zypKEq0EYJ4Fhh@z%S#@Kq+EU|se@P$$z&s^tdHKD->~Tj3bE7;Jqhjcv>mdc5-%87 zKx+K;xo4^Adlt?%XFoZ&uC62!bqUaTtYv`YuSvBD&jZ&QNVyFFq1~y`lFF6M&f8(H zv9w{R)?&~^YNkRIR3kVrNjy|TJYGQ}q85=|b`w$vu7txOR#6CA)d(;G9DxmuudJaQ zfEOE~VS>f8JFS}1ighiZFQv^j)L+HsBRls@1Fvaeva8ZjV?%X=)$}+Z|Y8W4XHlC?_8XvA+Xkmm&hlEr`_yt@v0O`1K2m$;*!u!J{z+e@<)E>hs_S{cGL%k zBJAm?TewnftL+p+gP_X%Ay=wamKs4fgH4Crt57`u-^Bdpgjq%Yn#Ck#%$TzAUnR+m<{kgLPUWz3pxQ+2;x?3`04sjF}k+cnB~tW_=kj=&uooJzhW|u8qyxd zvhZR!BB%cie=Og={4-CI5*&f^&-c8pldy97ZbH z=s=vR^00)DrLR7In`oP|1VPnx2VYz#I}Ps1{{eTv!^20au&~IUPh^p(GT~$1Xd1}k zVknnBT>|5K6%7@2`?YJ8AFh9(VlV=6G@|Ot8CH z_bAW;rXnpIRDedaPFCh=Ra>ugsqCy>r^MAeXpQhv){B4v{csfU8`rMoy^d@+EOP!$ zRDgpSM_v0{FV+eCKykDV1w$f*_cjz0&$37aI;ddOkx99CD*A&-x=-Zb!=iC}LsKhR zHhUp4VTFOj?w8P{LsNDr9f9r3LsD))4@`;&RjVjBBI9Vo8zYB-DLk^bA>$H<{if8KjMUk8`?;Z1S2vNVjQrOzJ;+QQ8BSwK00h63qg5j$+DM}j2e&yK zuSAEo=ADn%9;|g^rGeukuxS)uhr(gDw199F25?-yB!+$`SgM6rJT0rNt+I?gf`N$% zsQm{3#$xJvHMe6Ei4{lygT$d!Gf<-dkck?KWxRNR%9nA!!aY<%E83d;AF}S3TMMX~ zy<6v~dwWB2q({sB&VC*KDxTr`$$?3hxKDR@L!a6F>11F{S?DCQ_38wMFY)ui+)n${rAi z=D>fh1*l^gmT9b#jDP;%aNvWXvqFrV)mlHBx~gwZ<>ylB!-x;(6AtI?3CVuxf&xl| z#1%`=5nmG3i_mS=Spso=T!h>rC@_RcLW5PE-={Nt+-e|CeyN)vkYZ89AtjD&6)ym_ zOY5kW`t|BZ`kF-Fy!%i8E#3C=n~H2vp=@zhKHjU$Hht(1Ma6*Y*WC|7Xxt;OZ1xvd zET4=VtzAz>@Z}|;9YC|n^?m@kmZFNd&3lW@CRsV-ug!G{W_4;`!2}sKm8N1>^uwz7 z_i=F zwciQCy-G@71Qf!k71`a*xq;B0kVF5ao52*fdIMow;?Vfoo!$H4MpJKpPHdPF=48;T zme=WRud_5KKj9T~0#t1JqRO6!XdUksrEwHTq2d>NzCk1cI?fIJoPW;IYrUF2i&V() zY&(m_QBfi6tf|HV6!+&^MySyjMkB;+pb_d~fPA;{Gs#b*yWd`W9o{}xmWH$IWuyx> z!otE>I^&=qDdXgR#RZRz!q1hgS@?}TK=~+Y`SA_z=1<(}Kf0Z4Czu%F*-le$P0FyC zVL5gIF(iW#qojfnA9Qr|Q}^tTC}PvSZ1#?qjan*I!fOZg4-^4lG5Jne(i|)dHm0gz zo|HA}P06!OKfnJiN%z8e8d}Ts5z^Ds?8@h}yfmrUgK7n6mciMPo$cGW6=LAt!ZcJ(bRSXroX!_eKr)6vC@3+0#=CBSx(yrXr`;jKfa z4>i%&=we3K;V{i1s@U0j`*n)4d-updv&eDT)W=Ug4UG@2(y1J4^s(u|Yg+YnxG}Nt z!9wd8>4Y0hx@~PR+0kp>Y-mpPj!#;tTS8AfQx3I!Aq1t1U1H;1h0N3~nv^KX*a@wI zf~l!=8hu?lf3TDSs2}nNMb2X7-sfm_rIVSh_NPrpIXj=@)VY=|TiI`mNY@RA>K&F&GlOhw1jogZ_W(4`whL|{^ zhyXNo05=|%`_~sg^HfN4#k+ATUJk@xMW9g&mS0<{%a^8X%|H8iQ3nR5R8|$#xsG*t zIl#JWnqL0~hd;5sf5BodV5k;+R zd*=F~P8*qCp3ZFvv?Iv|(_6%pO?EUqhnD(^X$^d@4sIe8@g*rW*ZO7a^-ASABXj3Q1yq=DaXBQh-d{f{WiaeK0pH099@)5FGTJAXY z&c-25+&OEqzvzr47~=0EdCokyz9^LD5^tWNo(P&uAd!!7^4uYa_s#e+)Kqth0--faoB1J0Ur1Al!9zNRe)I0AC z1dEEJNo5H zq|z(M>YYc~VBMeLzljnWp;J#1vxMj}BG%Y}Xpm9>fI15h2M~~UU#fn5A?kZoXp8Re zaWX?(Aw6cphvOdenFsj=EteOaKm(1s7{-7Hfir>wq=>{M$UQ{L`{Wn^96g$M3W)VD zrRmMwn0O4ILl`WY1*Wr(#G6A!(Hmn3d8(41 zq~26yRJ*$3>2kKK9m`{v$I{2tod3f_SGXbdc3`;f)@+_L_34h_`~&e2{S*J=#DYr)Vf^0l>Dd2z zN%X|M)q(5LuX~82ms|EE*%k*X*@KepT7=6ZO?WZ&O2x>x8avCsN!KsI>+$g>!RJZw zpuJ4|sXNpA{$ zD*)j7#K;-@_rMpWVJ;%8FdAF`l2w zfPw)5?Cj1YeGG;3w*tZ9XR}T8J^vypC1rsG+6eVP?3~42tiX-A1+Z8WAU|R8zA4N; zwFQOQPWsM**g`=hd+5c#>Q{F-;<6in%{?pffZThc@ibd0)6vv>nSP4;EzDVi2 zVJO_{aVPgm0^Vjy0y3w1Z(i3w)M13^Nx_ndWGc-va8c8wkj|1qi!bE}u>^uuF?(u0 zH*nM~MH^!e&Cfc?oX5@nw4&3XLD(=O3z8!f9%>R;h31x8>uPh>s-kNB?@|v}yQ+AG zR6}GZ;krPaAHZ{_*S$Y1^DJ#OwN>I5oM@PO1vGN#boS|NoK2$y(zTJP&XSvv6FOZ# z?Z2A+NXXDVv@bp1Y_|HIkH}a2u|~qro%;o1n%kO)mEfi}$ENUk*QO!>Du$*PU-qSl zG|j0}3E}wTgkpWpn~}itZCZ=A##(W)jbZl7F*{tTY?N0iUNaf=nkh}r@K@r#-N7sC zyTcF2=}Y^>oV8y0b3A^ z<|>*N;xk9*CHQn0#zXx$mK3K2URV$zi*a0M^yljMg}9$%ElOX#{mlj46JF0Kjs2%U zM;WIfqm4=Ycf@+kbHk(3^mt|RT$dtt&_S=i8(u7z8xt3`QmCQ+QA(22^!NH3hLD6xhl-aNtqt&5*Qw5Ih%;apX+nnlWz1Pvy6sIh z`;X$5xSR@&EixnvB=;F43#h$t!2keqjLvKI003GB6GI+oyuPuok(fl6Wj|rLOhQx4 z+D{+=^o=M(9J2!eQJ{CsKLUWi|K`h*2nj%xiTAO_LWk~lx*Bi1SeqM3FIgoyVfxcm zCoGnj(9*o22j?q-^g|qwVIL2e@OT-Ir}{~-{tLE)xX@~W_ooX3Y;6^-1=DY z)LTJCY2SXqdN%L!{q8pUSLh>>O?YW<^x}7EDXX7F+N_owZ2Mj8|KJSrH!jH$Rf0dsWsf66~K8z>7X*)_;x|4VKVCd?1HU2BscYiQ* z>3h?!k)^YL4)>?sxVE(H^LMk)9>b^m{i&LYquF(7j$8MG-9FcIDk>II^BC&7TP_fH zFMG9)&Ibfc1J>l)IpYMzv6E_cIpw=w_i@O9e~9iJDRDQaLfI7|0?@GYP@yr z+qtvPtjCxZIbjohs4CfPqo?!~t9TeosiOm!AB-4!&8<#pwcomUEma6L{4vxM_MVHV zuFv52hWnk3zB$Oa8&NgCZ|+zc7`wZQG5r6C`l_flqi);a4#BlZ&>{s|+@Zmp65NUx zr+Bd-#hv0%C{A!FZpGc*-Q687|B-v%GDb!ok}qrTwdR^~*I-B*!T6{feEshc^;;Yp zo%WEW3^Ryy!C$W|5zlG%m~r)dtc7t_b7%L5>~C(&SsY|yd%aa*0iG2`K;dh z*I(*54O!jd4D2q4Zg#?&)8@O#tjAQo#{bR(_2wmv^c-8K&vkw!G_e_sK}AO%2a~11zr~T|H$!`d?c5U1 z9)_Uj@euM=Wi_JGROHB!$`#ENpDr3l2hcwX1iz&?mpFRlmM(}4U_1}`5+-cpXP3|A-( zmM^6@-T9(=O(=P@#iA@l>UNcHMl#b4_in3lD`xPR|73j(;ri`{GF=#(JtW1X%*zpwCL%gE()CP7|uJXhm~O=C*9oqUKViod0g9=dAZIx z4;g1cMjRDLKATxT>v5vhmPjfy}ruNH&J51W4w#{z_!mC1I&V zL^6ZS94vS=xC*{xVxMIK15INhfM`%4b2b2!{fVKUA}$mje(WTKfuM2U0BKaX&HH&f zV^0!}FftpC4l=OYDDPGh=66wVDhWpmg{KRIA|m>e5C(_=)IeegULv5_S+KEl*uGWo`c&w#ws+*p(Boy_+wY{|^`Y(cXXXmDG+eW6e4!I3 z-FHLbI!XC$gLLxwb-VnTIQsgqIH|QEbIE&s#7%f^_2D4T8jEgs^||ed*S>A^o#^Ef zcKOQ7811c)g67LcUR;}JJXQDJYE3cK?D#5$Pkmf$O`!lAI|6{z>e+x5#KZw23y?9w zl&jxn=i5|Vi*;M!rs5HOc#~+|-r4&ch(7gM*J1m<*7@w-F21&&P1!%k7Z|MGn7kgI zdL7khj6UuAUc`#pp1zzBx0wJRZ+xx)1LmnUc$#!FFDbbalIrKHUHWl}hN;3r83WX!Bem{c~2%6172$QNtb2|Jj5j6A1MZaHJ(cYb-24K!!Mp89Ehr|u7%y< z%H#l-!fO~znunQUD{U6rHLCa2b1-9f=45ZX-;;gGb91^h+OYXMU(rfU?M*n&%45Uu za``Dm1YbmPzExm}Zr^vr20U*S{+gMsXzlv6W2OK!C$Wr3Qi& zD@T#-u{7r2Od)2(g`H<@i-iJfRLtx!87IDy?6nTP302>!G&Z*;T*cHK**KU+_kgjU zXnaZf3J@91Hoc5KLQ%gO%AET_|47LFrmN{hPjLBkfliP)O<8cxcW0*p&Fo!H-$=zL z%QJVTcq3+-GxT_d%)n*GW!dwqxQ6iWhcWyiA)kXo0J&n!M~56mT__xAw}SH-1)56i zE|**;+Y6e~z1xv#g2A4i(s@+9)KW=5?tk7(WMeZ9m*HqiPw&j>BBFB3uzsK2-_oBv zwdnSW&Cp3R)IQ=f=L+zQ zv9S$iv%gBh7#or8j(O!=df2pL%*r?Ec(5i5p9 zGENL6=aMIdK&cSq$5m}AtD=}a1NumhMn}O4C}p_Ux__9fW^S)@ejQ?cTM?onzn8(J z;i#_3Pulj7sq~ashDVQ;G}7Q0`iG8cS$IvIgq>{YWBOd_W=FxAoaTGCv6dFB#<_N= zK7dYx%B=PG7wJiIi)tYw02e4GSyzVh#yim6yk%@K%emg4?2ulrz%6!R@>Ys=}1S5)>M07Bt`pcEx|7AioDh`zbBgX5bsZLg) z7m`6#e|^U@d{`JBT%992ZNQ!q2v}o79T<2VY^pq0eG|dO5MaFrq547I0&>=P>Tw|e zfGPyn2GLXK3coFLHxvMFAEhwFfEySW9YqIq4i}TP@X42oryD=k z#6n2LQ98$YfBQVFOMmd%3D;fPviIJz(J*LwUeYZ)Jpr$9JFk1-oCyZmtQpbJ|E?ft1MmK7<#WY_%gpq z)+8DqyQ81oUN?SRd}({Q@k}yW|84lVU+(>q^YXdvX{>1H;q>{YSH#ilf%bK>q1t$~ z^;BQ^sk`l^WB+tw>x;ao|9E-xYh=^IYFYZ@ImH{9OLV2x7pzXW5JF?Ffe4ZSV^|Rc z#_*xyGF5X*xoALrs@*R#pQ)&PCQ(8~<5bOu?kcn5>uY{?8Kn7^y&#|M#?4gW9oFK@k$>3Vn(o+{lSW6cNM;(Qw;$GTS@`-A0g;pNm zRlV5|#7XD}Gx@`aRASXYYMB^@d`|EYKAS0;Www+`R#I|f{547?KT*N{B%~z^>L&60 zQ~$Ez0U(JHjqy%*zORJwYH{SWL52E#qp`UDvL!hL92VF^ki#MH(Jf4Xn);p5gd&=)J8k%5Xcht%! zvJf_0kM2m)i2M*Kq8Ukqyhw~!k1z@8L#FtZF{uy&;-Vu14jCypHPsJz;6nO=Igvm~E#Y1! zqtY5v3Nr$X0{L(!d3kU1GMfDNMLj*iz#7=IgH{|agG7=x_rifi_m*rNV-K+L+t>8P zq}ULE7+OwWp&hpLrYbk~X1$x2^YhM)Fk{k*NKI8UR}!Oas}aUedGSF$y}hoXAcbV0 z(8R>jQ-fWd-NDDZ30_44YBNHV;pX>AHnl7I^$u1hwnd{9AQWszuG*aLi~2I@yboLM z+17_@WE#|)eFB^49|5&roRzW|WHn6t`Fg6*BE{J3RGLOx>jlx*D{$G#2*fIrh>9u9^8J>|KmArEG<(a1z-s5E_-v%Epx-Dr|L~CEDO-L)a%dzY z8(9G+R8X9!8JzL$y0X@<=FnEEQvbW%QT!_(D)x`I-0F^6=ut3x- zKO`faL5Lbp?m$ycEC)Pb-+E;j)s}`VD`U*Eg-@N3BaYKD1PNZ=RBU&Gt|k?F2a<1; z9H8j|X5+*r{85Z+Hv8unhHBoJE`eL|HMAy>B(Ek28GvLS8-~CHgTfRxM^zzc?ON~& z=0}pb-d5QQ8gp3i)ad@qBwbx9on(^e)^?*+!q}dQF@=C7#P@?xaLBPgB2Z1N29=Sh z>9o~kd!N`>@2Dk>_If{82|FxO5^9z2=!tr2mQ#3ese(SOd+z2*7#|IgbIvwq09 zj5V{){J}ZQSAAQCuR(6VR$P2)toUGN91*6hS_rucK(%7UcWH99wX-EWEO!#8zkB=V zWxbz6dpB0j_dK!FmYhyrghU=K3_aifLr`AwKGqr>+Nk8XvkYmX9 z$9LVEc<7VwgZe{jFQvQtvwwO(TcwP($>>-H?QwiLe1#}g!dWu=n;qWVU{P_2N7in zN6eF(jSN>-l9d!v12x9ADVZaCvKTI$@GIbkf|Bx?< z+8RND<-GHKQW?~)wRzLNBEJ7-6Oj0j(EvK8v#Vj6Kvb)mX<&-4VwIfM(b74{5UPA5 zHA1rj+Euj^3axN2STm*+hiw3u0be;(KUSfMfzG!iVnw}Xi>7ljS^~a)(JbLsA?)U5 z9mwV6tQTo>SnTO>=W70bkKVg)OeCJn1t}%agMIj!Ov4khK-58?P8XI*Vr(rq!uOfF zW2gjF?lD*;Q@myqUceT@gc#gPvCJ1_t=fgEWnThSq-(w&`j&3^UV8TS&6ss?mVITe z(bwZ-Ja5~rq||V6#nbNejEwgY$VhoYyt9=oI9qKap_bx~?8P81$g&dIx1!Rp*v>a{Pq{R_YJ!<51dSrf`npTX;0p zphU@E`4^B7NWe1z1$~iA56R~dlGy`)xUB1<9oI}TT6xIN#v1~bUWopOQJ0IU)bY19 zZB3XnMbVli1$M9jK;Y6TnzfwlFiPrWI<1NK7KhB}pgwok=EN#)xZlU4Xrz3hC%7+0 zCyBmnR(|zzPe0T#7w&V5uREP!Fa9?e9e5i-d6bH`@{e5m$D}`B0Z8$2!>Za6K;{y< z=d$RJ=dt`NmFhxXcAE<`BWFgh(>+aHsahQ>PRi^2j4V_$rNS1n0^CFifd!}9nA(e)lGzMS9Cm5mH9H?&T<)xuKc1*K=B22>sgdd0cA#84F@ zYOW){)99d6%y2|8@G!%mC5if0J3uynxho1;Kb1w9tyy2j6rsy+<2+a7TA(Tc6*^j( zrVms*hFItw@Is}RL4_UP2Q$nUqEYTP4^2gFSwU=@);`}7{&i@_1) zhhJ3v3_Mr(gpKVZbM8vX>(r58r2uj`2QpjOz>i{?7h6G*ce2wu@n&T(2_xBz`F*+o z$4LcZ2e00l@)W~jZgp%yl*j$);$XARFNc3-T~=G$wL5Cdum$wn#i4RyAw4mi)#W+= zMIil8J=!ZgD&pB3)9@^D>*Tn6tMZv`XriolSgpS((HKJ|`I!Yo?PAIa@?kvOA@yr` znBXmYM;9-zD;V4qE#mI2$Z(N_FB>o_PL4ZFd~o>vAMz}fFE%W!#8t5SVdFb; z7Uk{0`9Doaga|U+2;S_zIp;6I-uUqsruoH8_6L@hpVxMEP8}}90veb!@XVw~MBNgV zbN$O+ZPv0;L7O@4j{4jlsf|-;pFY)9+WbbM#Q?IbN&CYB>K%m2V#w9rPS2 z>z>EDzQB+LrL8HG(&%ak!N4t_%}K+Ph53$}zp7d|=4{GY7%E+{2tQkuuvf>0h5QxO z*8WwBZ?Uk%ON1Sp6Gmpz$6)#{PF#YZGP`79^yuNiYV#;l&&zLG=*Q|?P9Od*)rr3C z5FCGLYLvt}1uPDV4*2M=1D5CHoRY-~{NZUGZgNG_6Vmz>KwvwV5CMQGWxoZONZEut zZsm0KMR6#nS7Y~sY9$~EB*{6M>eqz|T14Sjs1>0uv14Abk~8GGf;p^*u3>4NMm$5G1~-ARKE>ecTkTxzAYx=9pMQOa@(mcO;N}0@FJb7OXAsW zN?0@IwFc9z4^$rO8yj60ZQsrp9N2-w)@{&md%cL|Kudd;l`&=n0GlnA_M;e&eB9KV z8?W7DmzuNP(8Wb$Df7TaKNc%db9n?e`i6-*BtVKSWur0H8;HyP#5B;`Vv`Uum}NO z8lRtP9{~|CKVGQ(8ZGtDE&C^;E<$+Az@nR!)=g3`x7Hk`Qs~Rf?bBVOw2O|$?~8XW zmpG4qeX|BmET=T8|45NUR+I+$@-FlWb-dA6fIUpU!&L&Wb=L$I|I3wld1s=?N{qf=oQe5=^dYFD46_-!0k%0>?T!SpwE4NA+9X zigdI&m;LeFYzjk-UsK_oV;KOQvIyOuZ`JVK9{2EX%T5fQs*{W#jIercF1h@)G%)3Hyw`+;9$%X)bTh~iO7bLo zTO8vXo`$J}2ixQ|_a~x_R((UpC#kj_-}o15p)iR+DbpX^Ip{>cBtiYqb8j4?xzsX-uX#Z)qt;q?7E zR%*{^gA%s5d%M3;y`j zUwK3zf%u}Dk!?DXNj@cR7%I^(bxHAsyjwb%I)YG{K5AGYJO$DikW9=P35lMeft9h> z4zts-r^ZZ-p0g0S+W`qvRrP#q%`ed}cI-t~zjfi)DXfWj=f`b9#-`(ao+JMT34KKc z;EgwLb%h@G4@OOqk`n@;hSDH{D+&V%#J|vv8<+02W2fCcjTpJ9i2EL|2iuF*HUCb! z&O%4GELD7m6y-@P$}CK?CGk^?u_kfsQ6R93=%-{j8C%L!(VrqU!u~>drWibQPJbjG z{|-DtTFV`UbymFhAZ8g%7k*MoDwI{~`i}YDky3u^%!bz2Bwl6?bef}Ms-wuD!{__S z;=$k?KM?CpW4P0^0bI^NM9`lKq0m2J?Zpf|eDW=HnWv_^JVYm2C!=|(0@c18jSbaq zLa=1q1iq?3;9)*1i>s{z2jAun#-}7=c#`Bpl3Pp$^%%d@<+U|s1P0pzN^7JI8m z*1}g&PkSQMewUSd??L{CD06H&FINj=>9UmZy@&T;E7SQlmH_B z0o05A%L(9_@xI3sSrC?1^2p6=S=&O!Sp>I7e&MNiT8fp1{!0B^8|BCKiVF^>nhy4KU_Y@6>#-dZHQXpJlsn zncutiD}(?Nlc<3iaI>!)f8US-c%;G2Ve0f3FM+9dL0ld4otu&QU60(2KN1EJt5$_k zyMJ8=!#Ad47EO$gfXWi@{(O2_s%p?>?}ST)^7Sf z^Koi38Z!G*zz!KxTmZOmXEfEVnCf{QO0(}8T4+w6EjpZ>e!X&AW;oNu0QH1Ax}eff z2#>R9nMA_E5I-w)jf7fBni7#+y?t2`CKBlu*Iw5`vqIPJeD7UdasDRuNxg}CiuV6j zMNZ1A@(PG%T*t5U`$Qv6KQh%W+nH)V8r6q=UIfO=6bfVa=E$bRyRnJ=or&k3q2@iH zr;d%pN5_M&kiqPlY0Qn>bHc1KK1o(&b<`lu2sGXag~Mme`Xl9e|FAsIih`CU7ibwF zer-vS2S|3j@5`~sf4mLb*Mr2UAoyFw7t>(5yi2AswV}?&BLg6F;7DXaRtg{NnU^5q zSB1>4UkSwVKetPk>uXt#DuTjbOma|Et?)v3(<;OeX6B;L_SwWGD}@IbO^?bN*ZLQp zT1gQwirh*obeerx<<#n{WL>C5?nw@;$y1=qB1IAnpBiMniVEe(5@mwjeR8X`>T^f&+64 zacpvhbDoFzOyUeiHGOW4MmMyP|H+r*2ZAKf`JNwuoNn&W) zQ!Nk`&#rYfSS5}Yv@WO4oUF9}P1amY3wA26$wHjlV`IC1c&zT{<1<#mD&Ps5>mrKM z)($l-CB8+;nD*Iv+H$BG%}!B#l$}x1aVe^^Kc@b&BnRrcFCiQKyv+qgV6bLmW;*-c z=F1RMIgZ(7sxlft9$e*|fXaXUr%XbB%k0gP22nkQl=NqcLYHF)4>GxS{FthypxDO< zsco6UTQa%b8X^!5N%Fxmr@92wnIdMom-w%*ag<;yS4*4hNBV{ygTY06>43Pq_S$$(^T>ziOw%yA@w!0 zXl0MR6u}NwT08-Y$~f`)?}bp6KMcZP%#i)-AKHnwc6P7>BM!^D zMbJUZV{zL<@wxkjPaFRKmOK(hD_Wu4ahH^A+E7pb7tyn#)8pG8T|xpBjNf=Dm5Ud) zyPx{yl{r3f3Y-pjx$;riEw}UzQT^Bm)o6+yLas@wjk9X?zS{~daZKmW z&DF>Kn&`Qvwwossqw9@*k|30{v`c-zFVP~;I3wjztyjB-Wz>Roj{Z-Yr>FKct3Tpr zYu9u|9%g2CbWab~9_rSYRy+3uSA$qi^w*j-vzRJJ{G1f^tA3m#tEeN6hoIu(Ro?o< z!nM2|bU5hIHj%CfY4qfRr@bHkz7I>$tU8gaTRy3sFksPD>M)8?jngLQ%tqu0 zbj&?4;RdKySSbYdjUY)xiYuH+LJ%zTWP0K__gbLHkk5&Qj$~DcCBh2dNp@3r`QE$d z&(QTN;4`opZ_axHQGj$q=nWqBy&jBsS+ZjAsOXlo;E0+ZJLj8J_kH+=-sgFTC3FtW;mgHVwGA-_=7A-F>C zW6hL+B;H76z*2Df?LY*gm-(2tmx+gk5PpIyi*Q4$!29Ksk}STIVmT3uu|5(oLA#G> z)a}NWR$>z5%^O;e(4Rd65e+t}-6EW^LK>x6#VW63M(7p8U<<=tE?xg3e=Mzuk{0jf z$-`pJUWVRNpLMB|A1`-v>E)(Jd_9#Qc#VlCsC80@r@MRk*p%ZLf1l9esQp04jrkky z!A936-O0mXYjggl&sH()ql}Fr%lu#*7tp^lHdLqRTsv{DPtuhbtKG|>$)xYu^aW$m6u;ET;?A~aByJSG>?)krx+;41h~);+;J@-pKPZe z+_sTfx!cj6NVCUCOcf!lt_v+?E-sQ&$;O87V{*4^o>??wzkx%{f;8W;3fI}4 zR>AUdfvx$(*%0Y!p0h?`!{xHLMc!-@6ZecoVk08w`g!y6cZbcF-zJOE*FRA*Z*d9% z8TtDc7Z(o?I;daW+(va4t!k=R5ugbP33Rdy@u9FDNAr?c^8e)mP)JnF=vWU{arKmy zmX?;4m6Vq1cs{MIWif?STZ~GnPFdARpq6T|gxTmf^)S7YbR?LU>K5^Sa8}(~wu??F zt*NtHmWy-dB5PYc?fSo7z#hFX$iFx-Y1U`MDf7_T69VaRoH}HKo0xe%rf&DNz#QJa z3bi*x73Oo=jTgSY3vfKMY>h zt!xb(4z50o-`d$VUzZ)Em7aEu?;nl6ZhpCJ^LTL!A{V`#|8gQf`Z}@_@RQ{)$(VSMdGBK|^pm zDsl(Xj;YNOZk5&X)g~+}p?osgBs`Xr8BdJ65Rg#D%=nWtQCrnYLzx-$;Z_n&V9;CS zO^R}{=Ag6l`zI+HAZg)vTPbbRonmOIw*dzZh^9A|p-p3^A{7ISLF7bSB3F{yOkw6K ztp%t+AZTz4l|r8T8=KJ?fn56YbM@ZOK}7s-1BZ*Ti8=s)D1jHd!|)*_P*R$zYFStmfh-de{vW(* z#%q;cKcRKHgpR~8pyQ%cC_Lgl{O2qthkTShe zB!0M{PlB1q!xI%78C1i|ER05)BOXb*+1C?v04T#w&kx{BI~`qeZ^H!8L=31PAS^PA zkw$?;)y2VnViL)UJA%wjIs4BZ+i?8Z)art~WXferNQP7K>tAOk__be=VoT)Z#4;PTqG)|4$+^`i-3) z+_9-}vQQxFnw4Nna>m2b{N?=f#=)JP{w|6Rp%kmC>05Fg-a^7H1j4_oryt7RpR7@g zfR3{1_&Z5W(D4A=983-U*Ecj1S80VsYQ51lhdK`*M-$1GX|P{Xm)#O@@$%xVhoR9v zs*0(Fi8xU;eOrFLP_#1FQg{50L6zlD={wnQj!D4Z4D%v-G`nxyk<2Dx#(bl%cX^9} zFP;l}gROlJi_^<0dM%Z-QqQ+pb?$%w9&8>K&b|t>wXKCs}|6AxrKZGl(h@ z=whW9#u*XfavZ_w@jG~Ju&UAJaHhrcmJF%&Tx8ZIGQ^SMCotU!Fo)>oewv~U0Z);* zj?iY`+WGpvKKqdW&y4UkEO4Nu#^1iZj{@Psseq{S6WZ5~`mf2840&|~LV#^Pn7v2Wt4{$1 znNKN^At<637^3%=%6fdnIKHoLhD%7$(bsLK)ysI%dc^tQ*3&jGtIhc6>xxp{E$;iVpNuytw8ocK7lsPH*nZ?B5EBPWZuM<> z{c05tSrVeKG`T{8B;=n{S&9*W>F5~fKuCymaH!&7u%s9wozNVfI$Y|9ASfd1(4_!Q znHVBsL=12o0ae_t!w{;~N6V5*++-3awJ<0x7iUUxKRgFTLxo=qmUib1M?p`z zWkJd~U8rl%q_%VS!=DMbZQ?v|ms5UY&_s6}vRRLk|af=5Zs}}%!B3BLoBT6{hwbSubr8fRJlo)+I*{giR zc39eZuHwbhN6BC3_;OTK({4pnchRxh>gMk9xVB=$bBT>Az**Y6RHRQP!Km1L;J_uC ztd8=Ny+tnGBOCe;j5(I8k^|t29SClA-pm&1>wK%~>*00zSvP~0mbNBQ+gSaB+7>e$ z(}J%*M17x)TGKQWa6|%`!Zx`27$W<3feq$prFLh2IW|Lh-jz+CjRBl z06D8TXBL>OdMPvs1>XP^VNIQ$}$o04w$;y)jb?%gyW9quswm@>RW zHRfC+skrh#UCCO&VADg-vt8ToOhJA=r=6peY701E%wom}hVNy^a+B_}k1tOq6$M2J zYq?&-_xpncmI9^Urk@podS^a7nfT)a7gfd9xSTT~0}l1_VAq`gAPtl_v<{v=Oo{kB^3ZQ=Bd|tS&4nR`%~p~0>{%v+spIoJ&v24dy``8yByzT zeQ(AngUf^4w{WgU-qF{a>n;4GA5Df2X{)Ug%AyTiPZLQ#x7Yov+k*c*<0B%rrF6vt zd-!MT9nSVGKEMIs!UFSKn{cxR58hox-Ro#PEI*I)h7doU8*eY4+@y_A<=R`o|6sH@ zck_7mM_LtV6)ay_i5I1ym9(j*+b2_s_`1UvmGmHAY;7%*3y{x9;0wx2JnpIWPZihE zj-#Kiht*-<>Kl~Q2(&|T_I)Oz9<+mF)lG%cR#<|YuDv|<2)t8b}ekUkwLYa z?3v)uf0`DagPH{zSzWTs80LqXwy%JMED2Ci5mTpES2MfDoQS&95|pbK@qOqz?vzD+ zv1mKZF@v;xbjo}fr@C)d_M)REN?<7#;0r!bMS$KOFrPA33$b4s@Y=a8^77&scptmw z*Qe)6LXf5nioeJ_s$uAL<)^Rn3Bzp^ zk-aoA+}{%IFg0`(BC=qe<5xQl&4!7Tp@@P(vv`WA@>ovSVtp_h2?}x(1>kx1@HM`_ zI|@%N%W@RlJ7pY6cn}B|I4d4rh5mt@mxuS*GX6J5|#>o;nH_5)zmNgLWytIIB#dd}87`Fg;hZ zN)(KZWP-l-(UL1uojyN_J_HZHK^q977PV{oxV@`i^;?Ml8=FMJSm8W9Aiov#<@5*c zS%^5kq(pn=emG>ZLz3iieqNZyXH=$Kozv1aTy6EuOwROux#v<8z1&w`WU{J-Ob;fp zX9~KFRG{I7jFBM_NEE(BUUO4mzup=?*PWi*5I?nSw#Z8LbbOY4`(Y7rBRTW6ivdFv z64cqJ6wwMeL!H~4%}pQ9-e8lv4>XFp$PyBB)+yqtwQ;$Gj4T1$*Vo%7#l?<^l)o+y zfDJHC<12{>PGrHb?t z&S?0K?2_xa7_%<7IeW9~dpTXcRR2^p<)lKB9OH^>C9Y*K~-EKcnBQMb~ z2yYY+yX%l=KRG`3qo+rtmQi!fB)OHM`p!qI|hcmN(VtXEis_I8&+QWCiv((rESdRQ(ZmKSL5X`z?K|Jgq(JxhXzf zeit;b?q%iqn8@EC49~@&^yNy7LFKs1Qw1rADYEIftAS%!K043{+x(?lHz!iWchtn1 zs>z{h@r0$f{n6{UX0?~V@UGb(f`wAPsBEs4fylw1qq96us>t0q1Hi-L}z%c(fW(n3UKqV1G42(-Jft8D1lQiy3nUh^8 zPDF^TLZ}g1%E|c&m!>yAj5ZjxC+n*-_eeVa+FY0B?agI}e#QP5+fSq0Q7p|k?SgbU z0Mv?MhXj6Oj9gCISV(ObgE5^kIHwDJEU*Xg3Gf~o;tma%h{SN)<=`C>TklbNu_)!W zDrjy#H>y}`^85MJ{Dy7)7n*;@T?o1h;SLY=qIdD$zFD3vTf$s9^Ze?oH-(1x944ba$54m4muq?f2-Iv!Nf0v?_vi$ zM=>cst9;8VttMyGjCRSod6%76lR&2w{yctjgS}-oR~XH9y&(Is|M0l;e0@C^A$?M> z`tRg{x?a-nTB*t6+q(R1^*JQda4EK+MzSau-?oK@rly)t-_6keAeX|H!Yv6W{w9bl z2)@WTKQ)y5tlzg37buqqKMv)|6DyUul?pT({ySZ1Q9}M4DG|gP;)X7Vxcpb&G#1QdD}co9z-w284 zi&ER6!$*=V1>Ejdtte~iW?<`sds zryj}8@VL~7vbaiLjxROn%=6AOFo}&lS%x42R8{gJ{2(rw$|n|PTy3(YEfD|@`2cJcT4MoNRdYW_gsM$o;#MUq{RGIck*^GlJ@ZrI7|IDD- zacL)!b67vSC(r&5$~rX$B4tY$*&febEL0MP{HtX*Y|!_Zb$&%718~bvwqINf9KZrO zg!shN5eX6+%LFr`I4S%!5~7XO#;RO-PxbWm8zZKW3L!Z^kz3Y;I~70|S*r_qoSeGjow5&r~vizuUScP;%c))sG^C@I9 z;Qr{Kba*l6k4goR_|VAn{&Euv%1;eP4FZ1;q!rneaE{d4AE)8y^Gkibule=&Db9H( zV7p+0RH6jT-Gosn5 z!OxO{cwt-slI3^S)QH_2?7)Q~dLCb%>hNKI=C=q%CMJ6K`mfPV}p)L9^=4)QQc z<_b!Wd{sE4touwcI2AZ`v`EfMPFyQgiIJR|SgXSH@VCU`?E&UHrv3@K&qfe+BWkIz z_XB)W8wnxFF0H6X!W@3d_`|xELarV0=u5F3 zOcT;^%piQFgd8+cK$wR}I<`G_ux=CW`==BGQEL~Iv}y6%8;rN7(dumc?L7#aIzlVB zf)x%6ZSSR|SuouW>$3A3MAJoIkbNzKkE)puo{C(;Z+^&A6(~*z9L-&xsu~B0_0N#P zGafXa>7W2;KQNRp6T4czf8X-?L_rye>)&iTNNMAc*V+zg`?cl^;C@c(x~tD#z@TJKV?#xIHeXSMlt zSG5kE1)*zt!(ACly@I>x0c#K>F|?xDQ&JvKdxJ_75CsWSq@M0@=)$EoF=jPj*TmN2 zzQAXrKw01G>DFhr?)9PkXlX8(&PmZ^3E?QiTq6GoEZ>hzgWU4+LP;qP%P6w;xOV?Aq23l}y5tHSA#@|yga zWc3w}M^^_I+s6S(_NVH&$2d|brEHN>Mw`t2Cl<$F8NEwcUhSlRQ{FNDaHz%T_58b% zXV=3}rJbH3>eEwdt8jVV^8Bpdc6iYY7R0fm{EG^Li%$KR4MPT-^4OH%7kWFub5k>e zQE{2?esICcm*-mqQ+3G8Z*(FmJULq3Vpb`Mc%?V>mVMUqJ@%v+LhCbna7{2J@R%{# ze&Nf0)QY^==5YFh3Nz9_4zH4!5pSzrI*sU=BsOf|q@W}TK*y`gjwhFo{;hM^J-+Vl zW1mbl^3+`Nw!S=E5F}2=*g(YfV=a!U3Nbo6P#2#LfJeldfc{fp0O1dBhHPrZVoj=b z`3t3Za&Y2$n1UqW)qg_Kk=2o)DGG&=Zem@ScoIOP4uD#5Iai1ZH5245Ij<1Rf=8!8 zjYy{fu9yL36BCB2AmC3y+dYfY1xCrV{61S4Bp#%h%&cLYHx!Gbc@T)>3E%XYh!Wn7 zoSgm45EO*U*bBwGYx)-3zh4F7((y>YV}Q#_AwoBxR3c)#Gp_<>{olaiKRi6_>Xzcp zr6qWM^@$1>vo8#_r-CymCLKeO{X2m09Aq4!YRjrfM#rc5BlM=Wj-gYL4ad!uWfTB{ zJ|y~tmrI)-i@wZfhE^X*XFhMyS|~qFu(KlWom!>3TL9Dv5l!tdo!b8eNI_^2L0mR- zfN{6N`Bs!2ZSQcNAd~CS_LcBEaod8M{ZsFagyOWO&VJn&m$w$t{q*_r)0&cz4on#k{tSmh$nj?xPN_<;+M<r`XV#c7wBN z2FopYy;YI=RzW?1S~+bwbe>QHpKFM`My&VPzE~{W>fINhf*r(5nu3c42fPx;Rk-Y<8Lnl5+bZ0W^aDimfd2*SEU4B&d&K02 zOo0G6w0?ezQd^fs7k#AD03+is$eM(C$lqM}LWG8AL-%3w@ z%w(@qO#Kf2Zd{~!JEBlYEDPN2#!WCuiCTs`W#|_#zP94kKBgy^?{A=gIE(Z6Zlvtu zGFEk*Tv9ohk)SlQtR<>SG`(fic<2_!G+O!@@hk*}36CCPiKdJEiw~W{$v_?dU&54; z1MkU-G6%)bXU3>#oW^Gjp8n3#bLYuF#~(_wv04v$kC)e)AWT|y$<-~;MVneY9g;DaKp$xm3&HR<$wT1tktt3SZHaBjJo(2! zs5q(EzPJ&^SCdZrx`||yU2g*dCB!+h0!|6NBsEQ(4^riL&0$bu6EV|3 zXDdAxckk*_lGWQEVi2?yKR>AepDd9#H3g!Wyzl;s^%a?cq$|$nl6T-=om>!$pBOkX(#B9N7WZ3!t*~2Q|(4$a|mmL-L%$}(4tL`8}~B{*Qt0qEXEzXr@}eD z4}QoT68orRrP)|IJp{s!#*inJ;dd-Uk7|~cb6fN3naLk_*221U)Sny~?p$taqA?m$ zi*mK{tFN=NC29_6#2le_wA#pZRubceva=Muli_pVcL<|EsGxzbf`T0tc>Dk(;fSK5 z=@uDLks!jpf_PXuI!c5N+4pl)mF-q_{f-D-;jKp|}+(#odETad&r$TWOKvrMSDh7r(ss-v4{=hkQ7h zIWuRHnSGwU*4pbQyW{oFa7ls6!+ernE%ST3M{X-Fb3W}_C9uJ>;}`z$tj2>k%YDK2 z&E52o^zcMqKxeI)^0gIP(TI9vfinN0CDP}bLPlk(#74}#(u4DsrFrtxqZppsO6`9D zRM;G_DQyPdixtIX`*_*=ZPBJ}1!GKAV=n*o84bGNmZyFTZm$?+U z%AR&sdY&CO2;#F!FOD zh55{HG!uqrv<%&;Gl4`j0C{<=5o5MFfm-w*Kh+o`a|E69FSy3t4vi7Xpb%teZ|;#l zDKjoNBTy1W6Gf6VkQM@A`B4b>XUfikTQk(`20Hyu7GSU_=|&@{M_JO()z(>E3pE~s zLEGC8{NlWf0DSFP0+b?ymIEDY-d)7VS4`u9(QzNdNo?1jVgj_#Y2D-f-4lH$3pZ#a z2Idk4<;sEtsJEV?Fg%c;Hg2A32}E}z3+{ZPSSv^Xh%PzfE6S(3ddTFtnQuflt7!ZB zL63jic2Q%I>4d#1M()7{CPsqz?YqlSuONWwVt%Ys4|kYX_t-bRk$`}pygW5(#cHQ# zq&KoU;lI=8DGq}$&dhgR1>60KS0?WLnOqg;4~!_u4qB<7uQ9as57!v)Ya^vq_M!U?e zC4Q~2Tz_zVo;7-D#QnL>N4U5m3|8wwiy`6}A?W}xfx+LHAnMsEr?&{*w&`mzxF(>1 zgvKFv4)zy3RC4NY}|XiWW3XH^S=3phM4tV%=Z1)E(dSj zySJ)T$OzD>AY4Qm7_vW}YG>%stY84~`M`%I#rl|u1ap<)vbM6Buy1OycKix`UnneZ zPmk;zaHL^+rkDFs1e2Af_0`N}@Nn)Jgj7+yH~P2!9Nqh zH4!2Cc;zkmzzu1j$msaUBlACNUx8?W*uVM#EW8Mmx@LS4_qm5_zwDykbmxXI3tUKr z<-*~CQ2F=oqmM}e66cck_H-+>Ob{S|NlpUz`}LIHS2H(Fk%$b}9$`XBnqOcpfnCDi zb3lZ&IospDu(eurR{#d05&?rXFt7S>-kpamI-+CGQY&0DX6Kg-GMrF>K-gONeF`ou zcHYQtgOL9&aE?RAoaIA#qyLQI5SRFriRJfYYafq4`|L%E2F~@PmUw8&g$FyT z^yli$i^KI(>2t>E9ChWxom%ReO%%;iDDt^m9a{(z;JCP++E2Fab)!m0(_@)4J+nPt z6Ch|H=2(ajyh7DRJy|tSo(`Tbp#Dj7S``htp)~?$5<@LHE!%o27%K+?eBRe zc7W-suG=Mlekl=VAL=}BDYb=(dab|yG_TDP*~-N$ANysiPU@#ZoC#ACi^zM7n1dFf=l1A)o_zrL_pe`J6pTEZ&&OS)CkyXs8s4_PHvWYJ|pe@bEF2?CE8_* zxE=k|L1ByZ_Bxz#bYnrr1@zA;`+1mO|NA@C#yPRPm_lvyMk{Z z-hE89O#9V#mz$pqyXEUAq5z3}9@}V~TYx{@>uH-G{g1p|fdB*Y?!itUGk^wO2q1fO z3-;~)uVhLYj+{nV;2b-Xkb)$mtysOK$Ai~RkCk)X z!q8oki0^ie^%igWR@e7tQvYKYJuJmOOGj)rFecC45B7`|dYKfsU2Li_7(HGno<2gA zeIHGC`HbA{AEJ3DS`~9_S0A%dx)t8Lc&^VgE)l=PwmS@63}-)W4Q6#ee>)`+Y`z_& zUKDtooULiOeURu<;90E#N`k1ro}s^q5JZN3f^mjI|2!Cv2)iu2u=$>Td^xmOXMFzl z@|@wi=C|sxG4Ty>_UGAqzwX;vqvw_0mw!W;FXJpApMzc%u?7k@L_A_|V&~jXy24fT z5|i30U<3f+6r>*+{AuVn^Z`Fi{nm8FDh*+d-~%Cks(`Hc*KJ?1wx-6{M|$rrl=!q5 zmRAbyP2ol#Yx2aX%Li+6u|jB(!MIX#29Hn_1ULZ2hP?~JXh;;gkIi z$+?v>`8jqPDWEjm7j>%ndkh3Z!x9IH_q1A(hfU{_1-5`h06MnOoPapum1$mHH43P| z_D5cFi(hc`Z`fq|XY!!t1m^MG%Zu&B+c8R`eK&PmYzUcchdhWKC?B7jxga3+Zq!`> z%^!52I@Tj#Tws=n4MO4~2@38f2O<{Dn(zpxD%Wq>H$S~^9zLd5Xk2ZoU=x{07-;)i z7ZmGy_LV$^OFO2{tHZh6&1rXVQuy2BLFamfn;Q=arN-Lmoi-@J3bqWt22@y^D?Qfxvlf5- z$_F0QmYR8qG|P3alf$Z+a$kvjiX0EdTDNKh4C>9S0f<4o1+9A2de zFIQy+Rkb#}S2M1`3(l0bWKuT%a}s&GsRO#+2y%Ys&bU$`06wQNL?Ivn#m{k7MDSt1 zkp}L01G{iO@v#-xP}i0MX|yJ3_5|#!-|~TF*-Wv>@Z*sB)YCiI`lYLS`rjt3W*sH|1C?XanvV^yM-}dyQl~} zx=&l3jC^)cZoCjRC>)ttGB_ND#1w((4_2S123sX6Dbh@?|oFZI$hwuYxeCrMPUM8Y$_k@zGIAf@1Q z1~Sp2~Ha_?BpkhT0ieF5Ii96x%b*HB=#>#`BzovUZZ7I`+ar>PR-K8{5K=t8QaJZOLmFauA7f5S2Op^ z)X%-mA6bS?OR^l_yA6bW9M|=`@W{YfzPcN0SbDka-bG?tQ`|MK8{$oZ`;+q;kE_ zf5wKz{ic(IkpL35ml=NN`8g|1_9BKW4*`15!>7wFipGz<$EVMClVjd$lSRi~uVA+X z7B?!Yet#?vT5WE@1?v*?cc{?tJ{rx<$lq~!001)%H0}$L2}NXPV`%ig;1G5#CmT6$ ze%s{EufNv2+quWLer_wbofrO<+mPslVoT{6R7n&`O-UFs0t_d#lLC`L0d<%A_)jUPZ7z+s8G*J`G_QeO+!V%GTjvsMpX7yUJV;y z9K{KRr|#-x7X<{_I7+~d0AZ>GX^k_gN@nQjShemn<$ZPR#xLHxc?J(L=~hq+JoFD+ zzjd)7WPqsfqlNQ$lP;x8G45~>VtG9(lG%hdq@q6nTnNN2lavX9{6Lr_n8dU6`YZ2Q zaBcE^p4^s-tZaF;0Uvo0Z(eMyq%z>cH=dQk=uvlR7UtPz!;ViIi3P<}OZ*RK&vypg zPXqTpQ;u9vw%x`fws#|AA8v1`$8L+cIHn>@C3Y#312A^+G#sV`SxSL3+62KO1d={S zR`nJ$GvP82^5_{|xhOe0r_HsIrImea!gnHA9l+92De>*rl^-dBfN9%C&#D>u1PeAB zde`B4DUM8y)SumL?LmKDfT3EW_9TM@dZ*St z7{`eUPkb%KRRab6G2v)FIu+qaDH2`9Nkz_)#b8PMDkcBEkZ3BnXahfqdzHi(p}-_X zl&nI$xrFCwsR({!^8LQPPW6D+^%S#*zOKV;M)%Q_jD9Za(p++1{fI#20(q<8)uZ|QTuAKST)+kLgI18BZOqW0j`KW|mEi1oW& zG`zWpRug*KgQYxe!rDh|S6{L}p0r#^`>i4@JO+rrk{dqeyp-UtK8Hs#BCNHDKdrSF zIZrc+zsNYRSU#Wj6Z;-6ESd>6ZzUk+Hf{gRc^Y~6Xb?PDb?W=zvFl*{JE&dUOk0Q4+6tzrC{{{Ggf{%rTsis9^`5ayskf0PfjL%x7g!z_fP#fLJxrrD&@r` zZ{#d?+H>xLjC4KF0n~SE0|`J)bgvvZXE%O3k#-^9<;Kc9Newz|D^^PeRA3pBcKZKj^>I!Qmg>63fv zt%xz|erZzddS3euu=ALgdpW$zAaYwdi^WYmY%+8|Cl^2J`WG;alPLa=Njg*nH`8;Y z|AE@W&Z4Wgo`_MMJUUtu>#x!QO473OcrZy)2m^uGo7Ye+7v~*WX=5f5(@f>(>CaU= zqKwX2^M=jjQq`=v*-A?9e;C?U(by26)2#!BkeNt8Nt(z(HZ=4cPNmVokPiR`K0Y{6 z5hP@d_As6^Zb~LEn1*@Jxqhh9{8K%gYCjas!lF`w&bnAeFo!se5@ph=umN1sa-{Tz z3!sf6_L0FnL`TLS3jhZ~Y_3zR?xK+J*iI#2lA5q0yfv+RdZYt&iGXtEK*W4bD=a}M zejxh=fh3TpmbnZ=C!P;eUQf&*Occ$l!6um_;5OdSq|G+L+6Wl{9C)RuC@l}*%PFv zBh~EfpkLfU-i~L+mi7Ubf?{T%tTa0wn?|8lcxI19@3;6A&p}<(3tG72$uRv{x`;L} z?&!8h_RXb9WwM=4yS_%v2Q%As!N_Hqu9q z^qo0C85YF;Y1@Jf?4MGx#dh1sTGg7Fnirus$kVG2d${*xakm~-G~YCJA(iM|3t_um!3mFM8w6r7C4}I zcIxgFLY(C>Z=Ida69_G#jMnIFSE}GY?Wz^2pCT%eB6?kKIyn4Nqt@4UcX8g0j8@tc zJD0XmW+RJdJ0b$cS^XXVv(o=($=?zup%8E)b82ifpCd*FTm~hurA{VQg*?+fAO;Fv2U4A z`+u!|$_(u1%LRJgDqnQv2sj@iy~=qr84ezQLnn&q`fDC{sF%IB^j2JF^qN-vRTJACZJgCF+0sG$f&Cdthr|!FY53B#KS#Xo`nAVYV8wX;Sp31~KoF0Eh zil5CmztZj;PP_;AYciHDExWxIH{P;)jqmG~oOl_d0&<#VopmnxTMW;iD;`)fLuIh^O)4y;oug6m)Bp31@oRv+^)RkEK_ z6vY-v#h)_yU;cWu`@QI`dU3iLdCd!-h#ziJi)`GBKQ4&h2$})(at`t}o>Jq}x}T4h zHy6jfF7?K{U+7j>{@p~zh`T?9b@MDPxvsndww_~RAAcE$lc65GkJokr!yw!cT?^NE zT105U&@ju6DoUUU^Wcddz+?8a3WkhLgLo*@?I) zdjH$$ez}@P1DuG6Jik1SsjW}6@1h!y`&{3c{zVfzXEb`50RT=qb}3Kqvr-(yZ--bM z{(%piNH3^EQtTG|>4kAdubh|bEgtu<<$#zZ&PQ8j{AT>Cw`bW%kxzlN9HfU>(}UVv zHlH;WWe=kBi=CHmzKWl6et@3uxKu3?Sx8E$5zGh?$(p_gf90*cZmg31WmU6!icvro zUtXGnk&r&egp_8yX?!TF87b9M%RxgTrNB+ZU|DAjD6Z$oEvJak)LeK~(p_~&CoDP{ z@65Lfd~vE_y}a4b2l5En*oJ$$ipc}v5;%%EDG=uDw4kth z9uJ!~SI6J!@X{TnEhZ;E1)FGH9$n|_IU!=1N3r&fI7~Y(?a@J*_;)J`{x_>jDBYqpq=I6JY ze5`lBde`3G-`rt-oM-zokj3wUKvl=+_n4Vt|2U(;Gabf*NtHVi!SnEJ3CSYwzNyNf zLYbR(-ycvBelCsHYnp1dd)imYG-AsZ^<`VS9#L1xb|_beCB0J{BJ9Op3 z0S&}+3Xp6;RX8ef@A58x&^@q(dn`JUvy1E&zBrFot#(}Z*i2YHucdU|vEx2(7tM;6 zP%c(w^uP9-lAly1uAQB+3A-A4KXYcJpYb4meVH&gwy|0LN?tl|g)lODnt?-XCwv{q z78JH$iWwU@9F!%4kXvWU*T>OzES1}zARc$rF)V`gYuI#)0G~35@Q;_cxcKV6>tR*0VnSPkjG+ya&mW~IeA?}z zEo=a|ZbnPJz8s>y{f|IDBDi{r6J}85Q6+D|;(3*@i3b7z)c`O@L6aXKG60AOMbgaT z4Ft6`Vq{(YAh3d;5z0&Xy@8ec4T7m@kr1MU4g?coOh7;-*x|l0@^j8g16yZTUp-Qv zps-wsW)k!G*JUJGD-+kuCw1Fi!BLkXdww|y8AMhT0)GWWRJkE53ID`2z%-d`0nwC> zaVSWFYZNUm;B*@2hS9={&W+E#a!{i{XgcBm8$Fb}h_`WTgjeXVQrlD;x2VZ%ItqV+ zeZOQ?GY7x3z->Sh(w1Zq&O1b6I&EZ4B6F0==?oY0ykDFVb!lds(ciDk2YVFvhwW#^ zr7(Wakk!uc*o6KjiPH4=<7UWOywMqEy*@U zMkcKj<0GmSMz*)A1(MlkWMqjM?UJAUBrt|J-f)8qE3rLSDFCOW?x7lRJVPI_Qc?Yg0?HjOr6YZ^oVQ+QX$CD#;mbk4L(SZv94O#AX)vB2fySkQD zp}qDJ$Da7?HxX05n#s?LEHRG_t50G(MnW4&mQyDWLj@K25=V;74sTCe@1Jd+g1FJr z7sppfT)mxhysl?7WQkt(>qt{y`8A69Y3&ZHE+_kz)Y~^k4K3tthlXERDY_mUB2x?= zH%edTvW`oH7DgySd<7za*#g;yjVbx` zoNDw+({-ytfjUB!PZth7w{OH$KEy25p79U@b3&=F?Chy?+)e0x?g-9Fj~$kUpQ`yY z@AFoL2?0Z`lzz^AqOpF3w<~vbEL0wki;(%1*4?FzS9L~sGrBH3J`KIv$&%KC@8K@oJZWpaYt3h z%t;*|`J5F|B2;FV*vs#k*so!3_(7?%gNMS15QL1KfL+`loZFMgP!G{D=dcQ9qHzy< zQ%?X5{D@9tC}Ioxg7rpf6V6JqS)^~p4oVd$Thzrg(7)%}DrQBEe`OH0N@_=s4lt-} zt0S_rznw}FbuQ!j#G6T-tlLg6%3d)(jDnfM_V>MF1p3d{}a#3}5e?f+`Ob;z`;YE0Y}oc|31 zr`Ml(FclM{Mh3-cz*|*Oq#A9|<7CtTrGIHjB|yjw#!P)BiBJvG%^`thQYO-`oM|L) zwa7K+Pi4%)F;w|2@1(niM2aNqmrIqfAv@mD(JSx+`&s z^W+FIao&-~&Kf6Z3Y(0BQ-`Y;vCzMK1M{4rjE=*Ft}(qQ9f<+_p{UjMxYxT`doL-{ zdV#G0kPoi}D6o;ymBk8JRBdSX7T~T`@PqwJnW<7RwgV%JteP!zEdw%pnD`1B-IxFE zK^v&_V2C^f_dza3KECkJ6lesfhJQ0Bw5W%O*DSXM1N=Apl`GSZl4RJ)nfz(#m{-DnD7qQj z&VHuX1lva`X{k;7?+yRl4JuqoP<1?0a2BcNz3@c?*j~$KU(3wJed72@)pB(G@MJhE zAO~mG-L{N$gjuHxmNJ21Izv!dn7j5LhyU(FSBb~wUteHjt_|Uw%eAzSU|w5Ich_C% zc<;`3PqS^Oml zw-p~uXhCweA|5iK$##CxXy`nly!AdN%?b_vn^87uTXN$zdM#(4cEn0# z-VWd>*nJsk6|NQ)@IA54c<_3c5yD2?eO$o4^6<*_d(eHY*}*3>ZQ_y_X$5}zx-n=u zc`|g=0d+oPX*O?uzRP1k7#TlFH){8JD)=ZWFzNoQb@#fvvw&$y^5q26X4cQ;wz{gu z^EkYL{}`8>Yt?%c9rK0bQhvc>mDKk1ewV??XSmPdes4JP7WZ01X( z!=gRzipQWNV8LhgQK!alb3c-QJT}K?XK+8e;ug&+MT1@RDW4Memvu?b(b~O@oXmQj z?^W_d*;Ci5!lY~S2S%f-^3mg`Z#BZUT+t1xTwZiS773?ux3;axSE^4kj& z0oDpl`4N9CgvZ;2q=lSpPEd@)&-S|bGQCGy8T)TVQ~`4ZMy`)<$d+nraF_Oo|IB^2 zr#qfw_#?2Ls&S~&+_1pu@Dh&gRnvZi?ahglj8IDs5NcZ#oAZ-6pmzlO$ruDBC1@E2qT}Piz$C7yHeXE{C`jP z3UKx3=5lGObp-YU$mwAT%sqe*AcH^cUpSIgj}@3u0;)~#kDv+K_KzUbE;rg1sC%d7 z|8rNjSR%O;_02^SRZ=So7_JF3Q?RXm4*lWUcg;F91l#*-!*X?y;|oR3eyp;pr-=VLl}GM6{MJ?(u%Wf;`M8fOTY2e+}#_* zig+7S^&&fT3r~vr=JB^#{6xkcfrE5VrX|;;(i8~i=@37e^$PKfsrN7$qJ%f12E=in zM-|F5IZ+s6JxC6>erJ=~JFq&Gsw0bp`qT86GXSL2K4=_ayW7`g(I3aRWmqwoM#o!l zEz~v&L}ZdlS)SE8{nV1>D;iL?21_x`xlP}4n8~k9MU{cU@+S(Sx-v5YO@*ZxlBzHT z6ba-yg=3B>st1tUY2NJPfQ zWIlKQg_o9)mqV-*CnC{vprZpy4X)xsq@h9bCycSl7PPd$8Tn}qL^6VNzemtaZWEr$ zW2(&^N=UDY2>mU{Wfg$UAwSp!RZRkLWjj(i zl8-U(kL1kM*Y*P?Fv9UHBoLzkQ61I^F0TXUM*xAE3bzc9N$;}c6 z_+w>0VbkCta`{2nacks6hRNJj+)ihySwMsJd*8`QccGQAZBG@|s%~49{Wq9KK|#wj0If zrR~Y~F3003;qiy-RUt+S->b-+cH6s5J1B^4v6zxnZkhtqjLtGgZ2cjuCxX>>|^MjitdIfG-CJME_ruSD=^Jg=V~i$+|i_LB+@ zVhz`4ADWlNFdf|owwuR$(lx~Iyg!w-dk;hD@!9wKTQmgdHY!cqnT{{U7*Q{l2S?E z^{0oWpok2FcsPNGh$Eo{QSt8dxzZqYnsZ&O7Wu43vrNESvL8h+PfEyUpm2B`P(daL z&Tqc5#!9P657zP#3DJ^4Y>3b{)gss>%)2|!d0?32c}Hpt{^Wszj9d%bxZG@9CV&N` z5z<7^nMT1&<+E?=I|?wa@7*c*LFfR_EEyb`1n9^J;5yxBJ6!JRDveP&rU_?sbouM* z*rMB*OTDq6xaDEn$86t?wlW15J|=BjlS84-tMt>O=bf%flC*pa{7TwG)Sl66rt#oZ z26>j^Z?Tn(q0}N%X@i{fIpy+8D4)Rddq4}>S?{Ae5ss_>;2oCsguB*NhHN45K>wS z#}J-IA6AnuA@*#&?Ye^fbGNfD)TtRz(;_(LVn@K6D(lU^efsf!2E?GCu9&Z7Hb6FN zk=ffX2{rz$9cd=woLAWoO#K0Zzwb-TBhdUVK@=>#9S;H_5T4Vz;~)fOK-*8 z$4BzjUBZpeXs`kTg1+R@YS+)CwaAVM0$3wiw@@0&;}AJt`5>R|G?55`qAIXJG(4zL z(Hkuthmq3*?s-pBzowp#C84%-^c&@=#WrT8>q;!j!6@Ihu4}xWP6lqgce}hMc@!^y zaw7rab;xp!U-KdH?*{V2nbBh5W~?I5AtB5uKG$w(^O1XB3US25$V}f>nqBt}5EsJI}VN&fFsyc*~s(icjTK4q(5l{0g8m%Jbq`YHCg1z)PLDZ zh1Z*3u11z~I1odi-?od%gDS^87WC^YTYerTY@I+sEe~sp;Wk-FC-#huc*> zuHSJnb*n_z?oa1$Q6QJbe}Lg}IwFN{^iq)?@qBu86sSjix|rhEsL>_)RE9-)@EO)wBg(-8cA}&|ED*xsI((`#+jmX< za8B=4EDc(Y|9$A{Jk*=@JHJ@GK?ej2SGOEoOhg*FZJh7Eqi9)IG%{#8i>`U-!Cv-T zTVJ`seCPXg$~sO$(Q>KsvehQ+se00J{>!iD^kIHdMbsf^c=x39;KkdfR1DW6K${ig zq)~2&3t}pn2Q<%4p`qI>aB5Jq@JJ?xhDstiCtCzTxFu{s5L;Qij6O2;{hfIw`Q4xs z->-i0B@};q-(XInNvj3d8*4!&zCejU2nsNkD(plSq8DHt z25dwMi4I3}KxL_f8AY6i!54@g4Ul;#f&!$8NK3A+$~qBWk3uU2Kmx!L9g3_&K?2CT zna(%>En?bWm?VWFcgpl3<6Dh-eS@kYiP8&^O6Oo?KtBmWM1CQYI#ExOl_AWO6B&qL z@)1|xJ=sB1zr0i%G|Zb`cJ>*z`Pzt#U+UM++xX|RhmaBg zK$<#nJyO^1NSzY|-x`|SqStdM(ug0YsQrQT6 zxq{#-(ned`TuodJ`~d0fUFXQiR}0)?m#BeD4gt*!fUfZ4oeMG(fa$Gn(pa501 zR2dS@GA`FJV-e{dO__RRHTHulbhRzQz)~PLCZd1ozuX>;y=eXdy4h$R{DBQA;A;dY zh*c5uR0dfjOkD@Bgh(?LQpn6!zO{rq=iI>gOhBq8?pZ5U9Y{;UrA{!r>aDQ_k+!hb zLnK2KVpn+v{RLDO(l*fTJ2RK*F_fS{?i8wg2L^r$RViK%a8u*n~n5Mc#vvazcL_%tmK9JGrU`o;iw?#(hgAofo zDUb+M{0d6~WpJA=+0fP&ag|G?dU}Dz0V>gvA~Jl9)F*>t#P_&!JN)oYp^|A>;~U+7QXV#W9u{2>PcFNJs2`u#sSWOYl9Sp`TennRKVHONZ}jgi zQ}o*|E{es=i--NXHcFm7rmJhZk4mc109JOZt`@fU7po5&MGuH^1}_O8{f@db@7pGy z?_&Jk0gTUA^u%0G*;Ho7UIi>Sb#n}J+MWo!$hU}Zue?_V>u2WNjl6{wVS_BE8EGqS z?n1*{MisGvybwFp=vQ5Jj{2y$0m;vC{8Lhbd;)SL!Y=C?o|G1SeKOWtuq|PI4!e%cMzS1(w%xgc+y3LbDTrGV%xp^@)W6p|yDNYAkNmKmaHKLPLr-^_RQ8 z91jsfg7{Oe9+m&f=XnuOpsxkg;l&efDT`B@c?=GvY9Du*Nl%`Et@n3@_ODDF zY=H>1Sowy3MUJmLWlq2!L}T*lv#n%Hs2aO8dfRcSWKmF%d$pE7L`^ODQ2*wY-E4>< z6Zg9;EnVqyetr(xmqI1QPuCvgBB3uFB4w+T)RgF9D#fG4%Y|7^=@!JBYn__sv0xgw zVw!hOlUt8P@oi3ca*^>5EV&Q!nJ(fl&C^lSqehq5(ILp;Ug92k z*m+vactjIG=rzNv*b*cgzLveFM{*;WM0w{6`b4AWf*t19r zkzgFx;R3?jXQ%Lq|5L?yR5b6+PF`qTlk)CnSed9Tdy-}gOQuu; z645_vT8p0TdauCm`+&ZBU${cB(|E`~Mz!*h=&rlxbc9<{Q?n|8ff)Q_{nunhGX)`| zlUKaC4w#D4NTY(G)4pcHPIiXKoRq=Ev_RFui9+YF<91}}kTuS!aV8Z(20I&tAh@2AuMC|zd1 zxpy;SH5bnRE@#2rsfBmtfl~+&sA6k{rso+wjIx%{5)J9->0@-5GDLXeu?-n5kzz!X z!A=kV!?Y<0fm<`}BidK!R8!Xlf#0F!?W1;!Wwv;#M-e?CYsQM^Ys(1~B+1pUOa30g zzn=Az%k-U}o)G9p>K@|00N-G&CC=u@e7fv!+T=t0am3vEA5$#HeDCs7!Hn{Q;aO

wZnD#$l>Z%k5U^VP{v*NuQdWcXQM!Bg)d(*NIH3)#<5s{b};)`|_zph_)$PM7|Bc z2`+`DZlfx}0XL2Uyn0u)5o$7obm}kn4;|&skU|^|# zJ{AqUv{dnpCJ4YFt9b=LhWZEB^VFhXMUY4_xXf@l1ADx10W-SN!MQYuOz`RAVQFKt zR(%Q(D~y)_R+h}H=>nV}k(Nc!X5eV}BB3gc`kRSVl7oge5umMT6B5BGV3O~f=F;#r zuRZm~jzCcB-B7Ld@t)2Ah0_Dw18$@6vE)vAIKqS^=OQV^9+ps#w&iRS+2O1b)qI33 z_KD3cnhyF;CSx#TMkCz-d6&{)%YwY=WIP?an9Y=qQYIBIm1vXpichZS@~Nq#iAf%C zBA=F!-Zo~D$7u{*ZtPt#zbMb@Fro>qgiU6;yg^hy2_Lg$QR0dS)`G9tJKILX&MuA_ zeeK2c)Y9AZrbBuylEkJQ40u0|2@>*wgj|7upoz4IP@A)_g{ysa``mFc3aUd;GlFR? zIKHf!R}%Id8#4SijEe@2aJ}M&Ixm&JgXJ`3)hL@0-LJi+Yuec8l2PWVx(NUf-*12A zAC-D#y_?NI-f`Y)A@FSJhvu(Guo7i|7toE|ZP-vv*JFU9Adzq&zb%3qwQ*5jWqFQ$ z$+@rhY`1mNx1Bn05!Q;7eHE|ms_e6>@_%t~jpcL^Fsp5vmoN5YQqkGgvsuP)vsYlN*D0ja57CX+6r(+rud_ZjPZ zIP^^n{yS%>$x_}l9VrAeSm}&aE7L?ACLVwTlUBxwjq68|97K^QTtX7|>Wsq5*WCT{ z0HXgpNc*}sxHttvBJ!;m3O`>%5HxfmeOpTFX2+5I^}YzjcX~;l7{=LrKf%R*IU9I6 z{H4;p5Q{kfE9YM{^|xZNoXRbSN~++`QFS9Glw1w8yhQ#y5&7j!e=z5kD$f2KUc)V` zCEaNBL&CCW--uExeTV}5cu#?*8M+rjoustV!#3+}H)^}`Jle$paP~frh8TUSjwQ9aJo?eZ><+3)A~Z;ryo?s-kw5@i0y|F+P7EpT5G)HXF?Qx@{P)Grb5{DX-xBGvDo zU-{?-(?DTmHLoj2M2v4VX5f(6-$0f`iqu7W7b=nT)`{U=!TWW0iV)@(LM;Ug3}yf- zvol@gf);2(Hxj<`0Fu&4o*@ZRCB%m|m}KkZxxF;;tpL1>J9vnVfg{q2NP-4$NT(LStVuK2IMPFm^w&5SA6~Tu zkqjBkl_`(__~$}HmDpU(a^*YA5r6(@css1M9`!xFABtmZEDPbDubkebcdFwp^w+(} zJqzP@W;!0#(hQk$Gm?#@Qtg<5-8MksXA_T|FVF*mdk=?T zS!o8=)xFO%&UD7)Mtgs{?hz#8IsZfEn)lncjM$a>(;opoXt2q4_{;nD(o4NjX!~57KM`OHzA}F(T(Nh5Px7fUsW-c_3WW2mVTC&g0ifW!?k66bY;+^>KeM3D%U-wdWg+F z8+ODYentCP)Z*~{eSkMAi}>oXN4EP~`$J93&dhWG`A2={LmSb16j@X^@9iPst_vxC z)8BE_aLI6;11eS?I^t1+L5!Yb(rUS7$Betj>eZzU@61qS{9!@ z9br@EJuJ9xv-Qds$i0ykG_e7t<%Zw}$UOVqtQ^ZFvkIT;rF6PMw?r$(p1$7hpX^)X z4CX;&l@y0r-j}G9rTKnn0NK& z04oaNI}{E^B0Y$h24mzz2FiK7-(K@~_H_=XYNuLmwQ{Ev%DJ|xMfb1T;4_*PR;DLe z(>>?arSn~co#3rc%d%rjhjCZW?|Hjb`wUv9T|O4#c=94uue2u3xOB$%Iqm+dN59H` zVH}HVgNibB%q4M(ShhB72DT(1xPNMs{f~1v+B%;rSs&c$+}%eVdUw@%-Y!=?fq`X>%S=~g){w;l zLZ6rGFE~Y%cQyWIOjmslFxAOHu_PtL{@?H$zuO(dQjmYB#*-9;5|2PciGLyX=$LgH z09psyBB$mdX67yTV8gHg#qQQ0XD>!jsKdwez=yf27Qe0eq@*O8;lWKgm8ij^>s`&Z z858v@RUm@crD`HS_w?&R8K)saIgr0#xx?RC!l=BKOQXu-Y^OTl@ouW@FhAeaSlmB8 zXL<03@#DqA&_s|jL-Gu-1);$>QxV&K=7{t;?Ot(Tj0%jO+apUUn01IQvp+Y+TKf4f zkJKe9qL@fc!J%qJhcYubWd02jD>58II>-#yid+>9j{u-J=0n6!E6oSvMyG|qArJv{ zFyGUMyyz)!oMGtbByf*$FuvVSko|CE5ZpEt_D>Wodx}0tk$6`VlK@W|jW}{q1U{K- zfeqRTAw-kjydP4}_itac{tV1(XyowyYkGUKhwyzozWb>z)$09TYerq@)QG0wh_E}* z=V7FAn`r0&fm+=6tBS=1#g4OUX%Pb|;C{z_XNMiA`HHkg<8s_uP|-QQ@o=Jw$zdX61K$@=@74v#*iXEIX6HlVrFx|EAjzN zr0@!W&tGM&QPka+@?A}R32{(1J-T^Uvd%ccCX}T!rRve{m7d_=t+}?0+s&KesdxVU z$8zS4*uJ}{p$Gi7wx{B1qPAIGU9CXUH{hes)Mmv9?&lxg&*e;Bk#JVSIk(R(1n z3N2KTx5Qk{gdVCRoQbjo$E_evuO64LEYCAZ{B-s(E;Z|XDqWozJq?z;Q#nLz(qcto z+7jurgm?NrqKCu(2ouYRRKgoaYA((nrtbQtrtUB9Y(?|*HcL73uAm#X!ga`K=ZwD~ zGEg-r7AwUFGK#E||X_Yt3F$?sA&#*=fkTD@emi*ds0utxjF0nG0 zoVySe|NBpvq~aui&48c63ZU}|4{JbW-1|i&VTmFy1N7&cRDR#D?>U$7M_R z)nAKKQ7fLihe{8-^gg#(tGVCWL08N|JuZHhsPFH~Z?{fI2G^O(6Vy35TRP;;zdb}= z+q%a9>$Ybb*q*^j(3Gqe2JUvw4@PdBRy{|O-x{QZSSgT+dq=Fevb;Ny+x+%3qT^FP zY?l16@ldNh`M33A)sY58SaSdS)LZ|S#iQpLqt znv~WRIqwS{sh3Tsj6RdS&hlL8a^1)Bb~~ugW*YH7>hjs{d=bE#m0Msc>3w-{%lv?{ zdBHWFkFbxvk7-9s!UNop+&a&9^3#rH_`_~T(ZH*|_v|sVQ%R_Tw2{4ZlQjnK_C_c@LiOD>J&7+?rbzpq5`je#U zPAVpyr@m7o=4sO5Ya^1A+PCR2CfO2&+!@(K9S5904DKp{@Ax%(CRCSPSq3x)gJk1h z*Xs!|yyGnQv}tT~6qiN2RKxWCM`c!Yb`Uv)EXguq0IC8K8OmKxboEcHQI%mS z4k@g6mDR_7w;f^iCn0~HCO@EDNYSj3H^_F`E%}q*2lF3A4C|?{?L6>Q;MpVu7v8r7RjhaH}52x0>MU-8k-~A zHe=2oawJ<`-!6wwUU=NlIJcLmuN!G!T~H3rJNJfSii58I*gn)z)m@tU@28CZTY8}` z<>$q=GzMug8DnUd*ASHhsN!j~aXD*)PQTYgFfRq39logjg%vsS7rC!F=&756 zU3FumfLe;#wP&4AQzI4b-?U z)hC2jrB1aEe!iG8`G<;fyM7q@5F43k9c%o+7b2Wj=d|i;*({7;LLF}5Ro{M0u>0Qw zZnY6%&5{L!wKrEj7ZT+gH2|2M2ww1@S!%}N?>wOyF02F(_dVBx2HbZpVpp4EF3lW2 zfE9yagffKnMh49<^~5F#Ld6zpu>)IN!)ckG=;+CEI>CvNQInGk=a+7V zMNU_*3Fw2mAkyqs^xBqy>|~gge|5>%0gMf9oda?5U@$jtsA8;tIpSTKH92k~hh2u& zi=FZmJA($rRes});a-sp;^c+YNHkB!?#^l{pYEk|84RQfRczZA@maE5&X`c0!89tt6d_W`^#wFMZVNYg!)tG$O7LFT@jO+V#aeKc%jTit zH&@l6iy_CT3$J(h<(q`ZyQqK*wuifVUz@G@6=g#AnHvLfww7i4QN1OPMzt~M`zA?G z33HiY13BL7V#C#L7_}aI=IpO+t8`wFFt7AJ(MFg^XygULagR>HP7W5^TVGWH>TW2m zV3T@rWHX2ImHU{#@!+QAV-J;BD|Hdldx%@#%@K+}s!Ok8YvnfAd+z;5(Q6nF8vua4 zL5rbqwXb&6TDq)P5e>NXQ^t0Qpjd{cO&7IvAEc39L4#I z7mx->pxjWMk+q}i}5tF2s6Rl$G3^!%#H>8UZ*A} zC%^f-a7cML79})7@u3a$A|5Wp?CMslPplCna;TqwD2QgP%odlIcTAK2E}(N+eAz*~ z-E-CJu;t;;6;~~18EaN?aTJ{FjMZhFm;`6ixVavS28Q}Wip9_8qJ{Klr3rGwQfR$*mWq4Fwt>2HYaL;4(}u@uAkskn+E zz;G>)W%b*)VYK1)f~oCz;WpA3+#Q0|Yyf;#T*XMUbUxc;;@fwve@5skgXti&h0ndG zy_Rz(kt#YfNTgRJWqr{V9g!$dy*DyC*hx6B+f$5DgP%tmlYv&(Oh7B_r`spV&%f=y z_A2aOEM1wbE*yBvLu9c@WaZ`*7Tq-oj191kRjrpmME z8J1ca2R;|0RyaeF);Y|s%L?s2m6^(>D8u+3U%I(@0s^|Rpxe`Wi5V;eb zX-7-1#r-T?!+>KY?cb1^@4H?1{W=%Q-AF7av)xTg?-@KX*%|Jo@pDWnx6KC)Q43x9$`z6iy>ph%0e0xSZb~pCyO*j37gsX&g zI#2Gt+yC1dEAdqriWwOYQ9r0ve`0a<_lrg%qH)WqZgmtE<(9XprhEtl(lE$ruOJZM zulH#L&*K2bAi59y=(5suIyy*bUeYG09h)x#Gt*m80Z^*a9iQ~$WZmoiO;KAu6QFlo zY23N2fpXjJ?3^PQ2o^AB<3#U#= zUS8g_l%UUwdq^bRN{(7jgW+$3)Zo+0)5E7Rbtv0T>2kS8$6}s?pv{uROe#g|Li2Wx zzZwvj%Q(AkO28^O{G@QbTAPtYNbRAurxQk+JyJjDXOW zpA8tr6pS-^RYvmW3&|s?!hv8uD`~k=Teas%2X4wxhDHoXnQS*Ecl|n6J(j9CYV=7@cMS@( zW8ME9Uiy3j&V!)SRn9$UW?7ai>r8=9Vf_3adIDW8UmI@(O5 zU7KMzFBg`Yo#Rwn-SPu@)^0;4DP@foSMA$G)#K2np zzqb1F`+qT6l{DmJO7qOmlZ6((zaYnFF3cilv1*dMQnC+?*ALl_Qb4BH>rHbgQD=Ic zr41x+wcr??SNi{qPZMFMp zg@Sh`xk=9sx}IY`4`T}f3~+9TMGlPX5KIA7&YllGxpzva> zmyFCLP&R6@ExLGg5cc%fu1Oj+q}g@V;v{Dh_DE~LL$Ktpgi~5#k-N*Uld7(AIh1p@{kxcyUNzv`q=;BLMas>3!=h9Ow)<9$ z)s9~Bz4b|Qjb8rU-!*%#JMtM_o?Z*e$F1q8ExLLv<$rd*yX)OD0Vpi}WUEGKdE~39 zsjWeasRiJd3yr05fo~xP20^La7r+7mMx9d;%-F$&}pp5{>%M@ zTFAhFsTl(E9nvQbg&Zh6GW?wJ{h~P>V0bKa@nA}DC-Ics{}X3K;~Fw?^JAY){9d{O z%*x;!RCYfiH*&ElG5;@4cdm_>T%6T&SLSi__+TNz?U{vmIJNIKse>yjDYFE>-5&TC zvDE0byPCCXIFX*lW%&2&TOnsEbsAj*82CBQHu50F3P=nfG1s8|`aUY-B(bbOi&uc6 zffE4e#e?cFrYNqup9!Trof}kh_g)I`19F>{bhnI%+ z+$VBN_`rAA&RU*9MxFt{4rq`mzy7eqn??If6oAQ%t|iT%Lx!9IW@%fU>?D>cyewNn z#;Gw+FA4dLc~9GP{qUHR8F)7vhM zxgW@>6GH%5Bd+Yr1_w3-&J0=ayUOl?Kipn)Se#RIl||&X4P^B~OD4mWbuqgEyb=aT zrm95;&05_-7xFSjEa#CvxrP^N8=<_9ci_93?A7enO&g31{(1^$z{ubD|cRae+oAj%ezAY@;xH!o_`u0C6(e0HWI zdFt=QAaJsZ>#lFjaq-Jo+tCsyymZm+(oCRDA=~x9wew(Y(dn`C$l~QVmTGEhGMN0! zdWCZ7R@7UC#ZZta(OY|sbRt-k<3S@ogy;l`FHHUUWOi(WuTgTF-?Vx*HA+`OD91;r zIw?%!WXf?!5%9b*inplZs5zq`6iXuK^_#zaIZ_3)f#(rDz8>xOZP-1+d8AJo{qC23 zuBTK0LDF*L#)lW$06FJHbcp{&O&PuKU~BL)Z87hX=+a}jy3qQ#*HI6 z`ynauT@ow6mWD<3$eSj;#z>Yu9FqKW5RyR@%q&y{Xhk&X*bQzXhlP3`Klt5i`SY(o z@Uz-%d`+_~DyX!5g^JounHfZ?V74lc(Ep@;s05Q0htOrRD#x_7j0dCsPzz&o(u&aX z!s(^QGKoCmny3#rHz5b3h}k{Th-{>=I&q4>Mgg8qlcR?*Cxj&A(F0*QW3iX z4LtA^8a*EtyG&+>MjIqi!Hv7~H2ClQbkp z{pHZJ?#6eQ6q?JZCy%W5#x5nGnS%9Sm0QV8lt2bDY$MvgJ;VgbSz z#hb7UTTYok{_B1(sAnVOw2U6wTw}@)aJV!w9; zLt^PWU%kDcM7EmV!QF=p;tt{tJptYA&a6r+F%>N;nR%%v?c{tT0vt3GhmatjR&)rR ziC)*e2yfVE6$tQZPaM#-PDT$P;NjcMjnZd$ypcQ~{(nLGiIjY@EJh7GQoY}n4-)(G*iw3KM?1&d#Rl?6T(U+Od3m#Cu!2^Gy-@Cj4cXoG-2FneJ|b~Y+M3R;?QKdPVb=8;i)qbQE{Pv0&_ zS;baFi+B56<_qV4X7**_&=ZM8W$Z=!1)wx|R+`{Cv5w9@8Sp7GGAk>>%$7k$hHq3P z2K46(!VWv*{ELm8wGLFya#}0(mXpEUrFWd_S=PUA(cS~BWRzruz-&b|5hC#OJ3-msDHH3xM7q42akHPGBDfhC11G zK^!GX+Yc5>cy#2 z`rP#JhiOrX+6%pcA)L)y)JdG>RfbcWr*8Xsp*{-*_ZRerShJPCGpCw7Q;YmGtFhVp z#4R0{i;J62S_j)U+wRjss(Tc1Ja917Y`grED%@NvjZsX7YU6@bEs!B(zu7YpuR$i| z5HU8PRTzbCoJzg=ldf>G8s3^iN;(_`MmxBuCl`S5+crG_o|aJ++ZLnP3jC z$77sZ$%fV2p-^?fARNW^nt#{4x@Yiq0_npiCgwfk`8v~)Yr2;ilIEU zapU@CA?&InuJXo0O()#K$sl|AyHkzU{Dzlp%}2L&{GukuX-{JVwcIOf0nHKC!CJ>3 z_TM;57kKyxt4f;>^H3}G!Qj(Lov)Se(R0VQR>b&5S@BVtE)YHB7N17tzJF{z3%d-4 z1;)vW(l`Rn<~Sc#e0G3Az|WUd0WKmxH#XLB=g zyYET;XzZMXojwFDB)c-I2u$eBjHQaDrNd{zbVg1Pi>B14fu|Y=8cssjz)YumMhXb0 z!Xv{t+CN~p^cp@H3f(n?4a5?Idrerv=hF_j)*emy8N_2>g27pKky&Z793TjOG&e1Z zfT&m`*ouCJ4wbcR{%CI-65+o{m)8#flOzTmu|0~7-gY|$SU&Fj>_y{+&^E^|{jub^ zfDIxOYv`qc+5#{uELxuOzUk5reZiZ=Mymeir>#L9j8gQq#)B#tnZfiQ$`To!Ta3n+ zzWKsEkl~!q*hPe1D=P&AT0=na*fo}57A=^nZX+9U<>+#Yq+jb3#gLOTKexamy-`z; zIXsfveRr#rdFYnvsx5{>C(i)D7Mn{!hb|h5mrkO?LuoFf^wQVdW~In=1Ng;KoFqJ{HP&6!dluhJ;2OFy@|Y_K6$O@`#%-)BJIhFNFli!qxUuDZYb?CtB6W$)5j zP0~?O%s?2u9E3Iqu=AXKd;Wc(FHeW(?e*Wr!S(I(j`sIrQ9RKgh#GFUz~7}$Jv@2p z3w*SYy)S+)An)FOR;!?p8Onp=cVEW_A9iQA`o|Vae#-;U>9?us>DZn$O;#{b{*=%0 z09hY&&pK&G(GY~0(9h~TRdAw$&l-z@^+%2{-u>#e=wQRoneGuDl2=d7dCS#2slc;u zx8mGh&ZZZ*L*4g}7Y}DPMYSynlKzi<^UWylqHGISlG|ku-;ZY-Db0(|uW*Vg5F>8Q zt-@l@`X=Uu%1|Wl?U%OJ?ij*c+QlK<)447$VI?nB6Xy0UM5kwl7Hp<+v6QT*C z8=}V~%WS2M=g$rF_Dc{P6Y2#=o=YPR)@6fM2#dlg5p~X)oR|g<_$X!Uy6Sl`+fPEmYNEUdPph+AD=;bSGm*S7j*gAI&WAnGHJ_ z*mq=^Mf!iq6W%ygJ&&Wu57^FJ@pOTA*VB(j^OARI@N4ug)ZEhJB3JiiTw6@XsOkN^ z)PwWNl5y~@Z{Tg+{q~hqW6WjXjcMRvkNC}R1<5m!AOtstb7#dU6uODZiYg440Z!COyUcbDW_uN9c|8(sXM}dNwlg zbE8w$fAyW7_*t#4yG$XMNN=6Gyc${p~{A*?n#+uLjFk;N1J5BR>HV$J08t;TAM?bWq}dG1R*S`uGm@d zHWLKLNhsD*{mwecGZQe{_kLC3;)dh#c|7SV-GEN+t$*O;K~jrug;aL6Zewa&bLyHI zt`NWydR!i}xIA0!!m509d&kUdBXYU-Ho0Qa$K9ZhXyTbjZL;SVo%b%ax1H)UAZGSP zm^>zLaWYS^0->BH5zkwDToG+1T4v%T3CtHO>?J%U;H=;`>9LUJEj5~RRrqY*c@<;t0 zT2-CL-x-_rUOI^4F5~IO10p^sy~j> z7vM=knJ_BpGAOf_Rc9L>`_J?Huflow+#O#Vs1k~8cP2Pim9erzqA7|*X`pyI1J%yi zEE8G&23{UTj+X}-uzC**UUI%a2)q?KuFbAm{l~Hr_+kI} zZq~GQsOP32pyP2}>gI$dzbp2i@e{|&dHHBUN~(N#czcxKrPuYBOI~zCSXQ2*ARipk zAo+dKui0^rW{~AU$^Eiq;qVEen(AvIGv+X!RvZmr!hyN(883{fJ@wRSW|!1+RF}@3 zsaOA1=6JrkE-~2M-jf<3Rc}^B`kS@;b_xe(j}WW$669T8tR$g-J^*HDhvU`5%*4ZJ zDJ!U|C*ToG{*m^ea5JbGZZ%nhC_kO{)8f{*H!xd`gy83I-t-l3IeeE_3yu^I!Umu# zLaLMa*{!q&%ugqcl0k4#Y`SZ-Y=x^X44u}MUmt;E0xld=+4#(L{^Z5PA30&W(MwnO zB&z};z3x8xfg%oEI6hH^{_R?+F= zi$1%~)yyflVCgR~wrKmU7+O56XbtqEK8)ac;u8jma(&x(^*zR6pBul;WbxSk?cxG_ z$wdD6?4Hu_hbp^vl(mu^0R6$+Wvo*6RZMmi-(BNiP_g3ch$c++Si{k6&~z14@V$JASHd=2{=tQdFco7?B728Qa7v1{57SLQ}&9D^pBhvyeKcbe78=cG$Ah7t&g9P-|W1;4ACW~I#XDxkf_XtxW98H`_>E}odk|})rnSH=> z26>Fc6%KY$00c5gEUgzKH$UhzuOH3ACX2_%LPppoJKsvD{5MVWIld!Q+)DHXd^?om zLMHhkzl1Cw8wNy&STQIdq5VYsRM}K#Vk)x)tw#vi`SR#DHn1T0k zMx)qQkG2IgLKGw1tlVrCf>3&$*bsxsNLFs5FKmd+XwiML3CwYb$@#BLCzw!;yj0H1 z=}&gxch0}~Rb#v8facT-GJiv{!9-wL9u0tHvptSNi)evbotmF=pDQSUFdFBUb*eZs z2=s*oJw+7y{cj=;fIbnZo=cq}UrMTazYFVni|-=0kres?hm4!0z1o15GBTT@qWEc9 z7DBIk9E_8dh+e2*Vad&>!6*CQFIh)5n?+>r@Gk!MAC4?cYa=b6%#6`5%v;EQZ?w<>wuI#*%7mIRjJwgGT zq^DP7GF$gItvH&_^wvj@i!VwZ&F4Q4&c<7u`+eut%#FstYu^qm-NzL%RLa%LW2n%| zP0MQc>A&*9Cm>$3>i_s?`)6g| zLV({8_nG&JRy3I;j|hY}C6`YW4gt`vb>EJ7QpP>CH~;{S%HNCKz*&y%j0?#Yo5QmG zrPS+cyS?r!MaGZQ9>)a|2D-CGqb1mlIbS&oOq~|biaGK^yN^w*-YLf7PZ3Ok#js>_ zpbS*MZWmwZ7N8|Y*3QySzEOwr`&E|ELBQFNpkVyv(;yJu2gOr>_D`rtHd->h6$~99 z1Aq-xh`e8wiB^%d|Gzl<6hY#esEHD2n#*-2a|{%Eoa%cZ%8I3a#Fvib+y$7{LK?e-#)C9>J&aC)FA%i zkcSI$a@xz`uV* zB#M{z44(syj9_V!B{?_s?dt@7$>SxbRkvb!jQlnibAvS0V(F;$ixu3H(v&|EMD?;} zU~XCZq0+QayWsIt?;KC#8M4r60^v7l6*A}Yc=*A?Zo~e9#Aq-gbVe=b$Z*@8L?8y% zaU!*-JUSnd1|Oee<)NQHol4~iZ{E7gr_oQZ*|NnlcZxxO-nxRI&)+<|Ry@4Atn56P z8}HUyoT#}|=Q_QN#pR4DN0rFjZrUx|uF9wp{`IJ9{GmUV3_wskwG+crE2DI;K2Fa) z()b>~avXuJdOp1J)tmKR_PjdO_1vF&UFy^#y+HUfU0(+Dn@odt%FBAdYh!bOV90=I z{o}zvzEy0a_^H+4I(bgDG$G_W58bdqY^NCx_qR|Uc?%4XExClD{e|p(d&{ll_^re`!dg+#TXq1w%*je4^$^5S4RTz+$n$jsOPkr$5^6~ls+n^^U%_v>g zqB5RnvO-rAMg#)2q9cnJ@1N{tp+{Uo25h8yw+$>hVR;#3Xgbe3Q3&uzyt5Faipt&+?zp&%#eB57Vm zHpr9ktPHJ}e*$%UJXOGL{w)lLh)E^$gix!eRPN`~I9vwxjoLYXZ`FH#y?nnT5MJcH z7;6;fb@fxD@G{=t)n)A=fu`VQw;;3a15>c}=J!3fdlJ%j+~QY#^hArN3Sn{N>pO_b zxmjPxTCSx$&Nai7#kZ?C&#ujKz@L=B(=-}41tyhi^H0&Of%f+E&A-;=yzM^++Pho7 zK29ytnEJ`_CVT6jN*7F6f7eql+*qTAPPGXh;4n1arYo8XN!a|tkwwj`#32`!NMaC` zWz65i5*rydTkRT(XjtrJll4b0iDQ!kK+&Z$iY);eurx)AByj>KGNyGRk_1qNnSFHh z0G1hUVKku#z6P2f?s#J~2|Y%1bflZTo!lS?R1lp30BmGi_(F^c6-q}AIlQVxAlnc@ zwJVDi@1PhIzOk_xHJ#<;fS~WYA^KUq1az8=w*BEQHNZ&eSv3e7Bp8^(orXc3!ifQ7 zz!}|6k9hm`bwv}E2l)t?o3;LnrCO|iEJa+fxLAR(Jqt;^ye)k{$zOR4%!+cH`u$D% zD4AStK4oqaOaUfEaoP$5P}>j{+yE_C{ffikv%Dy3GOy9-o_%rL(nfJy1-E70Sz6jiw_6-#E<# zQ0PM=ae;-roNuvZIQR=iuri7#CdKIG&uydOAOdNXPgud>^!mp0a0%l~|JgyK7Y=rZ zmDBy`*M?#qyc<4i;=Js_QiY|Y>+5-U@2f@U-pZ6r**BNX^m@NwW7_oTNU@5Wq2oz; zE0F$V|2KX+;A)U=yG5ouKPTq~4|vP*7Em=y*>55StrRjmpb|616D{$>7zU)52^5q@ z637N`$cLJw&&tH!2Lw7f<-ZG|kYxemEQo!#;3snvi`)HVuaAq9<&X58(g@P#&wz)H zx4|1pI^X6b-|$z>HvWp#m^N%=InxXrE7!)|>mz2L_KVZBuaxpRuctZJ{QvG`aj+6_ zGUZh(`t8e{QH7&-Q=`u?x3eqN-$WF5epz>nIX#-Fu1+1JlTPMEkF}X&j5+?D$06mj z#J`_DcOKQ9P>=8Yys2Ng zm*=0rhqx=pj;n&ZInq}FBjX)y@1MAH&gY)_EeS*c!Xi_Wo}0B+`C>`qBqwOaK6VhK-j1paRYkz}0jR*lW8XbBSW?(D{r(B8v@Y0>XnV z^)|=c-pFb}Oh<#nD{OgEX#uZ@6gXi5F^tMq1-Kf-a_Cwl8tc&EB6)tsD&=IJNOB;0 zNW7yE9^TN)`qoNG=LP-HUAVw`_*fGKAtcV-(TX}}3Zl4qZvF#+u`c=^lOLi(i^gxs zEyE9&=Iy0Zrh!flzoR=^vY8|DR?K$&>`WjE(3W8&v~W|KN~6F8zf;bIhb<8~%=#&& zbjw6#MhXKgc=@%t>0R(RaiN0z=BE}p73KK|m(oxkr3Lo( zAbd?kh@~7Kw?==kH1=1;#9*y&sh!xgv-E< zH=y^{^-r!c`a~+Re6mbXS2K)409d7O2GJ>{(XYh~N@e__aJfOvORjk#r4SCXD#K!Y z{^JH?75eO0sYy;Qu<6z&LO0{x>nx`-?KlTfJAS`Co{#zB3Hsx_c`?1{+f)EKg;Y(M zVd_RYEm|}lb{*;voHTF@OMe3yzHfh@w5&OSJxi0rug({9WOKi~B|#sB@rpPYp#pql z365Tb+A+vkgLQI(FBwM8WH`nxUlh?;BK1A3hUWeWB=7q4^K7DJCPgWVC{m?srBmcT zytbQrvMtP1Cz@u)*fQ)gNPQBfp==vqMs_y)HNBuME;(TK`>`&CzBv*TA>T&j2cQVVSYjuR79y%>GPhne;-IrOQ)J zk{5%ib~eX*MK3B+H~mu<`JYk6+yA}G*GYXM5Ddko$)$4$1`x(>r?`P|t{%dcqY^LYCH-Dfz z|Gs5j6~0cb9_f0rQ|o2?aPrJ^bv3<7cDqe~oa4y&!}A62T|B=!;CcMMvSqkNQ5om*9IUDtGC-A!UI5`$-i<7g zms60GV@NTBz@m7iKmQ{mw6y;IES!?alD;TzDL22Bi%v!@% zKJ@9ge%m))t|5rmXJ^)*iPaJ5=oF&-Y$W4&-(=bE)8}OPG-Y5GR`Lwo+#0h4Zv}z} zl00JseB9G(tA*y?KgaooWWmM7eIno#<0-B2qLZQ*qP5Ad*_1aJjujkk8IQGYku$3P zNq$ydx71^KyEa$%%EVN%wKLnwE?M-L&aqIAW*|5^GK;l{yvp1f+nhEsN#bAZUeka# z4Z0me5CBBXgU^GTNykeIdo?_aF`YGQEcrH6?cl<~kzl{gDv64aoQ}K5QUfYSfL_Vr zj|t<6PXCM+mk>wqw&I5c9mcZ_LMz6{?(Y$C+3RUe(ZG}Rw75~}z|&!G*eVoJttrcK zf;ZMUw9naUy#5H6`J(Cc+%PKCI1Dx@5FGF&Buq7rmM+_z0XgEHlmXNG(MkG@hyOV5 z?H-QkaZa3kER%&CUT6b{Or)koECjeCqeCDo6EWq>8xq7L$}CCFG6WbeqNjOHla}kWc!ZsJGR`rXJ!)*?xURnVs@Dz4y?&F>Wsd z9N2T3Mn>PUNMJ^y2l)nSvSJ>)Pn~+jpN=7MN7FH3IhODU_)YlrLZEcfF<8l3tD4jrz7sd3Qe9vSpJp z5MN--$BibMG++TWt)%5f+#3*XFS))$mp=y-Y(nP2)-YK zx=7jf`P|M7dCZRu1_BV~py8KqQ*sxXtqSd}fLayAsVY@(34((9iV?*Vz2$6ZPvrg@ zI7@N3%2)G2(XG4QuVXrV;>Xitq_Z#CXa7Z+)&J1_RgHN0J&u4Mqb7br-(L`l@rH`q zV?;g(3y&5^Hj70eMwZzGcs(#cm1HTat*xz@$YKxODbM13|A%Dy{4kr2!e{6}!?Ay; z)aBV$b-G~I`^dG{teaidz+Fu3@u|Mn0MRQP6p$oi{Pt;2GGMl<85`mM9NYU`>+QQW z`zFJ(M#(e{;-XlBP(%ouJh~h$zcimJU;9pSjTo1KLsP>Px0JVqqj%dXWf(*mTrV-n zOIGaautL-*i@`I)LeWR}_1!M*j4eN&6M=tZrB**nO>WZ&9j^hbwiaHjo5sKrl*pRJ zJ3uJI4Yvl?7V~_p@VUyGt;?nRAscB1kUalNW*BHZpKaZx*_<5;Z=6QV8(sLYJAVDi z!RIV(k3+<>0iy0BS$DOX#;EQ^{?U+-%`=~)5bY4)xOU0BoX-%;Q}Z;lJ_;_D;b)*d z_F{W$l$vEu9LFOcRgWhZ*$+AY*AK`Q)`*sLHEO7AR|nIku8qv|)d^((;JwUccPqw+ zAaUyJi{(OT%Pa#?%se}uNH<4oJ16to8?4Fx08$m~dJL$%M&mUvrN*kt<+IHj7|p~V zbLv8`e?xSs>IMg_5Azf6BWl>xR~6+nW5=?wLzzFZ#IJ3g0RifJ*WP&?(KZ#9-dpKU zb>@ExPQSnk`zQpq1pH-E++K0qZ@WeW%d7}91ZKDAIU5#mGpu}^T=Te|HW_d|x&5}) z?U8YQ{$jE(jcEU9<>GCi)8l8-@0Zvwu0CxC{Ea4mmH)5m^J(@4b;k;C)#}~ah|=93 zb}G!m@&es)>E8T`kFpRR#$wgbbR4etwp-zzJ%@AeJ)GY6{>vIVy1OoS4m4ZG`CvZr zjF>u0m)-JPRU2RZ<7`G|UKr7@chq3_x)c=*M2j1CG7 zEx4P$XOjZ{mkZF*?f#&=dqlZ$#tM4Jb^we~`L!Hm%OjVC^{n-qLgBcb(mBaxYKX?&&S4+UMCdBsq;3TKPC~|(+_krmSmb2HU@X9 zQ*JJ^mgO6YvF|sZfM$du@2fL@ z>QT9c|33UbM15mmWl@*xjoGo2j%{|-vF(m++qP}nwv7&Nl8!pKamTjv@@Br7S^v)e zz0ay$t5y|*U2eLtXo#*+LBtXsGZH(2eQ_5zeicpt*$v>Aw4xCE9JMJ@l_+9Z#H1)5 z0Fdh}DPKg4@{7|}l)OnJ0?q(%_-$}{q(nKT8vdvp(a|1uUU5l8U6?h7YEIoS3NqW? z&g$sUw^VhEJZ3CJ?Y$KhGls7XEC`RZfmEY4TApl7Xq$5LnTXH*p--e51nyzooL1&)$(~7WrPhOQWJw~KxKMF42APbJ$(nDozUejd zFa2z_Q*p{Crpw)NU8~#Ot|MRvX?6Wr<_x~-KF76WMrT4W4tW^67qUh-ZD3#QWvMhaLY z*tF_xUl{-03jKu9vW>ZB`Rd)mjMmgjmSt@!hn0pqZH;a)N13y<3YKwDq!BJV=qtYSI z_=v(7ARAc94ouE(uK#Jf%sZv!t2Q4e^&cnQoA-5-j@QT^+sOP6jqx0KvF`n^p#D3V zepPO#w|S!X`SbQILgSxK`{R?7(wb?tzfPa7_xfME`@O$RoP4ljYx%vN9_X+(yCs>s z_xycN|JC=GsObw_6ZP|<1;qQ^Pit>>`J!%|>OG!t(ldTMslKi06Fm<-9ag^{)3q_B zO?^JhrzZ++hFn5KXkgabcJ-+Sg$KuK{b;uO!yaMxH&Ffw_;mOAuAN=Kb^ZA9nBH`} ziof~L*KQ+l{Rw)VPqy3orVe`9Z0G-&<#$y8OVE3p>c4ikw_@CKe(aU$IX_v^|KxSP zqU(2mj5L2l*6_aCT<7O+KD}Qd`rGNXlF#QLyt`(s_ATY-le+%X5yWxdX?^!g*n77? zcaP;l&p89<=V|`>s`pVK@8#4XWA|>E{u@!&v;Wh3`Kz?O)4`y?^V7-hKLN)ng{S&2 zFO^_hfUc*_t&*4BC)0<`=Qu?8MSkzo$@|Ltf_B>Hrau=u*X{Os{?XS;tm{hOwQfI) z&hwhS-|=nn)6?EHx0V89_qG2s%*u2=x64ZI)W3(Rt(P?SkFmAz&k6H&!RYpny=?nF zlr%zaKXO_9$7Xd7Sju_HdH~~t>$t@4s3zT(SN>z-I=oyuD{DhPC>?dSKWp5ph%97m zl!~G%$%gIfIegM)dBshn|KZuT^4Dj;yS2d`1*(Ap`_~!U%v&9RPcl@SWI#UMwgCe7;JSTiDD=K|SB~wseq-02MU=P?Qx2 zj=DbPm+!xye`Xf|DQbWeIe<}XaK!VSl?Dx`3ILvfTgknL(!e(U8aca=RWc9~6NM!< zNlaaKpzKoVY=X+u`xh4jjf^9QY|?04=dK2Tr6XI(pL?Bi&*9dSI^QU+sdZd`AKjX$ zc~VX=O+h)x*Ms-##>41)nitwUcYc{@UXC+vQxsUHMGLqwwlQX4xiH-27kXZ@CeWLNP2w zmS!YW_QcfOAxQ~*B}HFBV$(5fY^>mHY*Ep6Mz{pI4L{@3UTv`h7-Gy2&IV& z;y&VBgQ%M7Flqbz0IVxVqZWhxkM8?0>mLhdWR;y>!O?ih?)$}Jf0c2#&+y$BZ|;lo z289>Sv!t=JQds0Xv!zusEJFoB-wjJw^e-Q#dgzS^_KW@MRpP|O#=je(u|OxYa-Guxtlbw9K@`f>k+bn*#r;;z>qO00wjZ zz{I6=qM6E7dYRW=yQJmQ)V(lFP1ZFb@pv~cEe%#8yy{; z!=}#P%a9Kkf%p5t*7SD}DB3`Mjaf`;By!FdF)*L_`VO!?=WdRtM$K$ zj(^)3E^a(f(f9ey*zR+*NbYx)Dxb=wmijmU@^RN;m_*6dSdSwvJ@4wq+^sJ2Xp%4g z<!B}C+ymz z*72Qpg~3wqd%%9oGap2a-|)Ufb>KYfJ2>IfbiTD+yLR97V)^N?a{1OBJO!UXp!I4l z;J=_~>by9XB)duf1pad*ACOZ{9AL+vBKqx(j* z0u7)|sPUK4)qI%)g1}(ASkr;hV^tPNaKh|PrSO`SW^|yX_>Ft>$9n!{x^50blMu&L z=G6`(TrdnFI&EJzrEO9VwJ)V)l{uuNDi*h3S=G4cp;X80(UGIxFM5=~Agvg)F-9@7 zKx#B0Oxa3l6cq?jhmu58)CedIU-VuJmI%WTG}KkuUgv2Y&!Id4q)7bk`^7u}eh?`s zTHG-7w>}7KW=iEtZ%Mw82;(VB(hyqb#Dq*W_As=pxD(fckW99*MF~lGT2IhGz#Iwc zo%fEU_xn+0YU|EGnVCuef^xRLWEM@h#pCb4UpOFHKNZ6?wrjVGA|}ksg-dI;7Ms=T z#|e$OJc}X;dz4O;xQIc%hdSAn=r%0Il4?vqW{!k1zOo6jW$*lUW>|_RSL>o_W2RYg zB1NP-4TX*~+|yEKlalq~L0Q}7sw0W}Q3_(0b+OT3BHSp74DvHHaTodTp%ueN6$YvR zj-)wRiQD@`@CReomYO*p!SD0xjl|nHvEzt~TuH}Vs%UB?c*I(;liW=(4?{qD3I$Q5 zd3=2402&!7v_c$1mOp+HzI+O&rprNIwzWGe_^Z+j`PSDrs$HPpDXt?MLVDOZHO}a} zZu)jIJ4t0gxz14BmC5nq)(kwAScL3MT(KcP>Tr@v#BRD=H+L@jF2h9zXd&m8m=qjq ze(SOsoFZIFET{P)MLD%t!KA92yb2dok-XoEDGgZktWa~UH>tN|98)JVX2s(Y5&J&7 z87PCDRl8sy$Ox>yUzsjc+ zG7y0ON|O#l$>_WZlu9BW(~z^KU<0sANRDJD4^j1)oPl~zcgU#p2BIV`KE_tI9JZJJ zpRK=E>!v4?%P&4|e32gk0LC5@ZQE|*`Ss@JhrfKtVt_B`aP$Pw%jdw&qvmFi|L(Kj6Nxvw`7%tUP}{p>+kaiZ z)o07L;rR7tkFrH*Zn#O;=T%#Ep$EN=i+sM1DjXf7`&m3kU#J$wDuoa*gX2>P^(aM^ zSVS3siywiF!Fh#&Rb`nH(+9_kAaI-UV^QFX0vyDvP$qu{dZ#0!7ylNeE{LJ95mP0t zpbf(uXsM!cn+~FfZB+#$W&(d+E1*uyK#YZ*b|~KbdxU!n3-*JS%M_qd{I^u9$ujY$3iUb`=L47ulZ01JysH8QWjz~ z)Om5IT3Xf3saYhFAJ}H^XEy!32_Gnmj>9rtO;-lOqKGVz2PK;B&CMWGaE-7w=jB-@ z`Bn*?JjCEa^V!NnoU;ur|H_3^sA*zr@(I(0SoI|z(2iEO&zsKber2x8>Zl#N1*#aH zI4%G>G*MD;n_lj(RG}C-AU(+An*nT&2c>-=Vv6F-cmnE70-~boDEWkkVd1g^#+1ro zSNZJy?YL{=L^$DyUZ8`+Qp3+|tyy6-0;> zZOBi%^yPpN>EV+zm=KF@&0$d&XJRObl-3l{1o5?Wr#uYbnKHqLjlW~G@NJji6hDiml9#L9l8eR?VH`?ZQhhSn408F~9$ z`GZroP$x39y$2>DF8$O^Jk9LX~A7|-<_7H^K z2Kp{jjnli?9Bppz3mu$qQXb4P$|=A_?|jo%9#j-S43&9epd^7L&X^K`xTreDJOOZK z*(o5fr-3Ooo$Ot&d;C=_FPs_=L3Bz&gbhCydL(WFOan1A0+4hIL=}sy5{y_u6SW!Eb zy9!E+PeJe3;!v;+kMmUfo`a~T7V|Ub>T`wn{zv|mN%ITuPkTPMdj-9|%c0SgzJshs z-FE-k&+9^DK1cxI%f*7|ZSwt4ZtOhQ=X&w*TiV6*G|UCJJ+#Xv|4mS65Dw=nc3xki zc^3u0@#*^J1Mm^l;jrKA?z64^9)$g|?7itXTvG6fIdeV7?hGh^wTOrUj2T#23>bsZ zg>VE%Dyda9-Qfj)-EqYUj?kn%N05`QhzZJl=jDh5Dq;jK!m1^FiE&_KP+=1TmB6M+ zvoutt(S$8qSr0uuJ2kXVGxn!xSlQx0Mb&oMao@O50CeG@*DxWHTv+9DGXXzIaht{f zWk@txfJC)a5N(9`QA{E;_f4(#&+WabE&i@WqWuWj z5qQ4>8(07kb;e{un9i|6sYZYQ{U=fCGcn>zBWFrW0L`6>C=v=dFEOQxDkP=JAoX65 zMMO!_m!-U=)QDuv8OilQk5f=yAesY`sw9+}5~Ro?>F*su?}-AH)A~n+WoymaRQ40U zN%I+#HsB026&#r~uyU#?nO4eDGw>(C%6hj&>iL&~z_N?CR#&MMTV=j^e`#Pk`(e~M zFSK%8)XwV1)%tG*{=1`jqf!MD_U4ugU$WYjW_lUrLjtyHD>+jXbUEc85OiFXGxRN_ zy9Eu{tirEN0LR35c&Ha8X)07#1>~mMyP-8A zorewEvV}be!IpI`P_u1jz3@5Fe8{mbSMS@KfhmjI`Y3<&)7>fdw(B|9*J-wYMEtqv z_jc|455L{!)|~&P798LPdU|;5>H6%9C*Zvyb?a?+G5YpkYhTCbauovJ^04uOpl<7Z zRFA}8U)uy7z%JFNUwgUPnQ)ZZ|8`aw%olLZ`>BNRC9z}vax+0v*YjL5a&qZ}{OdMj z`Ulru0WvH$=qcatGuf&<4aL@OfBiVJa3z^m{`!6Cqj(Xzrw(?ZRm4Pt`=Mlcw% zEHEF;p+)PI^LOC3;=iRMii)z6np7dNsM54X0A5BkC~Qvlp~Il5p*zPOth%Yigk?oA z6e*(1AOR7w`w;+=3~@CY2)LB}Vq9ql12hBGBWf*|z5{goDo-WEFh|uYabhwR`e0$4 z$Xr|Gl}WUw5@xQ}A3EnL@8Ag)X{ch+Wb~2B`5DL5Od=%Uc%nBNX=dABb{UkZkrP}f ze*ysCivX|%ogulwe~G?98>*(T6rlo;z}AKv7IDkWy#jpN8qir)w71!E-`45O%WG7o zawN>|ZWo$oURnfqb$Don`DxYH-b?eazz-%=$EV39x4qKZtX5Tin#5Q0(_`ldPom=PqiVuvCd8-n08d&ZbdpaHKp=RYaYMAhvOr^uCrLiW z@7}@NC=6|SeJ(ZI{kE|!OO!8Fg*e2!T{l0(Hpgbv*?8D)ES4!xUpwFI9GrXnvWcAW zD$ZO|zMQ7NCInbXrJ;@{oe*MaE%3`=Zcz1Kawh%X6+-u;t_*@fy&g{_L*{=nXkTwV zAxVb?#C_*=d%7~@s{h-fT)K4?#_6+%zh%+Bj(+bs6g~BP9SlG*uEBs-m%;@Iik68> zCaYYQmhh~>5Pi{QBe?VB%kNnKoXg=bty|95AYLEsbl=`~I-d5_ZGszDg^|Sxui$-d)wf9wh{HnMIAwI9v0-wKjLt9Y|o%abIx79(yb7zU1wIE|^_= ziA<*Zck2F;+wX6D3w!ojN!MmeFmx06%I|LV$#D7fjNE(DNM`skDWjEKQKk-W@`FDd z(ZyyGF)S)zNx-3?IVNY@s-4MH2~!LmWehbFyx@Q=vg#;fKy{il031g;?f{jK7(Mpg zT?j)F6>~5k6E;zjmJX2;5}H`?QX@(ch2PTP*s~wR>4%1+n$!g^SW|ke%C^d?LKkJ! z3&M{9x4>kSgf;GFB!jVlG*h->F<|I5R*4FmCPY<}R#PH5Bv4WNcuQ#%U%#8ABqjYt zt_J37re8)iU5tu|vWQ`0(U^@)K})hIhCxzrPY;XU$jQbL6ND-_FPy2eh~c6wSHHHo zwj|jt_Np;Y|wMiC=O^DvkRG3kwSrEV!vE3%S0tEC#rZMqvS%Rq9hYiLjlGR2o;)X2r^7r(y!}X1U2XNt_JmOCM74CIwEX@MI8L= zB-|3-5Im75;@n$qE&eaeM5lZMROW4)nVA8$7b{hqot?jCo2HsSvS)r(FIlh?dhRF6 zF!i!eHKBk5Do%!mhN{1aC1n4n;cTrPWG^bp9w(0%DUJtv4mJ)7a!d|%(Tx-~${rH} zpQmwVf07RzDt_PJmn%pcUgv7Q||BA=3^|r#l}Q0@4PRUeIIh_x~>$6gs&&q z{7+OcD_}_ojQ!6CbmrBm+TM13p2$a&=UaaAU~9Ae$7QGX7Ha0q6Sn zS=#n}Pd#Pp?ms=Y1~~v8%gYKI_nGUA9)}F-y3VJ4gM0l-Ml-d@tJw`2ZLTat_aEi&Qwj#biz}V2lAc@0|U{&R0zsUkPjh;~wGZJDlGEkIaiU1kd z=hd*q_)PG7RfpwUdb94qKOjUERUl0Osa$-zDh$D9p43rA6&zNk2`Hqf!(}fvVZh8t z$vM_=W~UH5h7nlF%_Y%dtK&JA=EuAVu(>kMg=fCX7v)s(>?*O=iqv=d7=h7pDC#0L zx@ybalA zXNWR7Iom{{yG_!dlK}!m+$INOB&VekSlj2qND^g6O_P>IzQ*BNpyM=q4m?)@kW(zQ zx5C*VH-(_0vXgZ}ojBj>fxYWqeEx+l|BSZQrY9`r^xRd8v6tP-hEB&_QLCPR>jHmw zo0HG+M&rVin5F>=G+x#VE24Ms-gytNjfA3n-W^5aQkHDW(kaR0tdh7k-LSrp$KK#Ag@yY4B`K*cXU{WG^ zKQg)hBY&O?s`Ov}q}TO6ti}7?6_YC0uL#^E#uEtm^-xE>UUXlg=Rb+Iug^4{-R6J3 zt*zmaev!(LZR>XHoz92%EBgLNbA?1Mk5oP2l~rzID%G46(JQ@n{SnfTsKbt>d6g#! z5pS9qnOc_a`Wy27cRuaj*L)ZE0xzA}fbC$S?prAPozZ`5j~{CS{^vXX_tp7b=E{U` zBI7bX4}G#+KF60hfGU)Tz)Eo=H3sguX~1gZUNrV8_Ke(j?GplS&OeGqsjwAQqbObR z=D~YXM`=pTwplWYWLhmaypfr#TYJb=TDOy(3Yg2G!fSTlG; zG4*J|?hv1E3A9UYZ2yqyn#l;FLlw^AJ&9E@IIbmOho7IH2Z_rxK}MM@kdfz`)DgI> z!7z720G#iXSR(W=coG&_T;arp^k6J93r#qrT3O4z_FU2lPnv(ss!trqNm(&amBa*z zD{N?|WjSj^U=zlUL(8z#iYlut;X9y`Er}u6#@xndQz5>B!mP(oE)w~Rszr2>{mOzU4@%6i`c3&xM zbyE!s7H-iUa{AH#u9mL13f}M1LhvxH7$`F@j}%{nN%a-xut~JOJ`noAI*R6hZ1D0w zS^zoeNb_ay@Gca_zur5$cWHx>>`16mqJ{JfvlJ<4M%@BGX(qOd=*qB}GPu1v{4QWC z!Hh6@-~iBqMwE-_dW<$)?aov2x-0@bxc$D!56jiUmcnNFWvwl0)u@W~>&PUqbDc@) zEr!xOTD3CvKWLO&LV9l@&6ZS4CbvtP;HVZPkG*PY_c4MqVtkDFCj$PUoe0YT;zuG% z0>T6-%jQLe5Q~elz%#+BNYIjCAS-%IsY#qd5aVW8Q1H=lgCaG-D9Zxi3zmF>M0;0i zknVXFwd>R#*=lRltl4#I%QTB3o%3=N@uCW4jB}bBwk;FMZ!whMBN!WxyL6YYx=$yJ zlK)_oq`28%4eUvL9Ly!&Ur^t&|LdVUJDYq-ychDu5eKLE`=ZXTms?+O{i z?LX{5-R_s}o8fTvHhLK*DW+1efgV52*D%zU5WlnWq~8rUc;zXpnNb#%uM5d~i0wV} zU1zN@$oD@i(YUh6*a`})?96IHM{ zP?Utwg##z^aZylYW#9%v_L%uel~^H!DHKJVfVde^8DG8x%A!yrYT%+c)s0pLX5e^q zG}u4r3iAKlUcV}!Ra%@O3qw{^wbroEQqcYbfob2(*!(35r4}Syg(%x*{h~wIcWb}^Y9_UrY7&8SfH6X-REfI-LYtlnQrvH! zUsGhhleTL5Tc6FxT<2QfSH?r$_Wk{RC*mXxl%N7gYAGqmm|7#(sjDE7QNq75WAoCn zjMgsPVa1II60wE4YGd=E#VK~Ub4zV)Y3HTnQ1ESyN~EGjf@ri3P71*L?(-=vXW*mn zYkX_JvwTuA%8?*=-Io5V_SS~=OzY!@cm4geIX@G+C#5XN`gg*}I2(O;Qe_8z&HjE^ z7IVVR;Lb^OJON)<<7`wuABR|hAw{|Z^p?}v%}mp4CRChrBEW3`Zdw#}4q%RzgaaZE zK>;u13Je9iu#(K`#uPE&v;bDYQ3p`cAuI_C1wpa~!f42qMjgzR6)5Q^m@6g{{pr|KKl%W|POJA2(yh7H-6&uUeBy~n`eN3<>=`q}QWZkp+#b}o0Xv)|pl zEsg4%fwV)(GK+WDRV9@{S@ZD&_EIu#MnjELMlx_>MyfXYLi2~ly1M}v0kDjB#%RZG zM0rW1!)hWSi~cw9$s#*~S>0)1cdISJO zaEtf;(_7(wM&RCf#piCtuJcs$Xh}Un#QrJJ{rvUT{q3PxVc}raTj(J|{d1bBXFpls z(cgc63Qpx|(#UMur_Lv(s*^VnGDFCOi=fT+YpY34O)O92Tm9i_?h8@R!x)hd$)DBm z&m(vKk5Ipd!b58qCf<`(nWhaiEwmsuuxTXlRz{z(bm8P(HqkD<` z%4Ja$1BN5BZN{NtWlWHoDLJa-1G$2Nqdicdl}Kh|)5AdE*J~$Q+3RiOWhh3a6p785 zSW8x#{0&o!1!)|*ts5BshrWJK4;_iD^BTzhoAE)b9ZvuMD2p zRc^ZK5LprUVA%TA(*Z@!Etwu@0$`v7oi!}k{CC1%1n~ddP=e#3#c&}*1RJ9OnJ|>3 zv)oKc-O%NNK#bvrI!fw>99=bAO#yO9H%=9mgkh4=O2;V&t`XGj)_+3OWCtU1VVn`M z%bMY#5@O=pLY%jT;K(rpB?qJ9F*E7*U3A@GP_!k0aS9#@_(b7591>v+$q`7T25!q8 z<$_FQ>&olZxZm5uUA53Nl}n)1)ZC@i)Yd@<9W{|i2qf2nfm$zHSr(0}!XcD03^OR? zA71M&FUYfh>3%&QdAYjSzE46V?=R94uB{OWI9#zI3tWw7&a|XfJwvgv)6)w-?dDh3 zqg<4gePATt(Gf7}Yeyf%mwE=FMQ4?(PUa1JZ3W6KuPkSc*5Fv$X$sd!bY_;B{fd2n zq7Bro1d4%f3J6DV%ojjOS=Vdg72=kSB6_HYGbm=#;YyqdbPhb{i-Z5-L_=wpRxYB|RD*kzaBQ zEG2{q$=u^4Xt@Ev@~UyIm;rh;Yci^tg1Q6z$nj7&(I#+bNXMk|)JfO^gns9l6hL^u z$h2T8b7m#4)3Vrl1FTF7u+?^Q4Q<}N?+jl-IvZ_dkJ4JZZ$k7%B5Jv=(b3s*28?&fo z3^rQ_t8$@ptu5o$N;L17u;h$STD97%#-A=N4O*bJ{)%NZFjq#wg)qAa^RUADTo4xE zUcmlYwi0i~#D#)nJ3dLQ=lzuQb)xHi2TLDwxUUB$*lrgV6yBGea@6h<#Da>Q^aXRf z8tyKNAyL6L7J>d~Oay!?gi!TVXMMy{34tf{}AH%lH< zr=ywKIs^1U3P0C<;k-T0+!#TTsK&3LjZDp|47oOutK#9LIYg649<&(c81AjICY`j6 zA<3xDw3OF^7bK?qve+?7D8?W)E3+$Mm2oE}A5!RDF8oi^DL*_7w!^K>%vH(c<*9wn zK?7aqU@mXEUv+sM*8R>yU%6Nncp5mL9d+zi73cK*EmP*c@xf8W58?2bf`;H~9N)nH z8`6n|la3-}uI$J1U<=dD=EA})M=+v9Fpmyvq5V&-+PWi%h0!g(l(hw$*sz+Iq9H}n z2@^2`X$s=y21kZHsUEMr0b-r&iP?=l&zllr3~SL?Zo!~TdShC64B(kE;yAP;RvPR8 z2Rgizf!Srw9I^X-5-5jeXf~Sz)C~y(z6}{V42Ka3IMTxpZ0fbsmu6U!=vK&SKN?narNE~GGfqq{_!T-?kkNv@ zneh>7A*~bOVzm!YU`SIr25m5U;t)G{;D(q7CbWZDQ~=I+N|nZUMWF^|N6M@OL;Gbk z=IM&@(5IM})q5t!rE$vBD$+7^eoBrB$&xd|Y%&yLOxr>ns}=Etan&lag3(5mB`M8` z$S}e8zOOXDw0Rf4Pz1XI33_#6mdIeJlC%<81Aa|HCUf&sLT{9xgAPRZ`pmLC62kYU zn2ajn`OtwYYGzkX<>+iVEyMh(-sK!5VN_A(jU8+W@$Ti(j2cC`npI z_lkJ4Y}xi!87a-lE>`ULF>b%qcTIYllogh%2BVfl!WvW&1IA~RU{%sfu1i+S*B_GP zy1oAB_(#;O#`}^zm-(jab8x@?Ej%`3`+V;W#4^I%K!&`|(V~-=6_sy%y$l?d2X@8#KyWIASyEB9$ZFWrl(--)x?y8|YD1%-qL>~jCZptQ zgim6%Iy>!_owDn2m8IVM@|8i-b(%M8H7`0v8=hTGq@rS22~8D2j5a+jYh1I@lX(dq z5v)Q#Bx)x zo_g&f%jmzZ;J5y?yw&#)h&9ldy?J%BNAv;On>C~2HT%-6{U)33H;FZurQ#e;=Pn4_ z;PwF*yx6x|29XAfz?PiaDG}?j)GdWD7vPvnwOoK=J_t!Srvv7!LV9@FPBhj{zM_D#^k%IwpPNtIoi# z9v3d`#nF%pub~*JoEaxaHYXnMgR?@B@UJROIj@ydS!a_XEfpnES4-g|yX_2UC~fuh zg!h&jytw)uDz-3+CKeI$?Bj+G2E2fT;zkeoZej*xBvoCS7FO=0DXr9isM`>!-fs}s z)y;v(n8>Zozzjvs2&2|n^IS+tIz+H-Wi}?qfp2P{iNXr5HqMj2i4y+WtNz2RjIj^y zE-lL+VMwhuv8VV$+|l%>Nqd_Vw}Y~hA}a{Z8bKDWD`8kHP)X`250zt*F0mXJaD75u+)&qoij9F4~&kw zhfD2hi1Tq9_i`NgaR8Nzy&@HNR`p;@%8;mR1jIVdxi)^hTlww6`t7;dkL)R(U&O|{ zQMhAZBMAe$Mr|#^)SY0Xs_oxaowX`EOS_L43vY+;9vwz)Ce1E=NZ%eIqs_xl(0h4k-r zdL6%Nmxr-q!J&r{VAiXSKVt9E&E<(Y?~-z7&O^>YQIa`isXTO-MemEz+KeKlCMgpyeZCvr!MMH zsJ7>u&CP71>)!VAba_f4J+5<<*R&0;MyvzGnmw|L^M5aaH8V9iG%+2|FZ`!&&ze8i z+8){oF*ryIzwMcmvsc zI=bG(t@~ZKUxK=hNXn4=9w8pz{;caegSLF{>SFeYp0Cm=_`{92+-?>6cVOjxUi{zh z<3X;82%pck{f|2r^GAQ_HlK%?_;`8`doSPreqSix{MT2#`LI{-z0~KjLi9P$;NSWF z&*emO6bMpbw9k!+2+agzj>wS)LUv%nIrw*J*B>U_#}2-XZFgRbHUpj0Ojj3fT?K90 z^g5JvTYnUtoo}=TVpDOn@0K)-;+2cAd{f^$8JpxtKkMJQ5#iKvorq=foWEZo>^8Bz z4|wid-R+uU>OLC}6dujgSyI~(zaW831QaY3h>c7y*02%6M@yoh8X97;2AeTSIa}vN zPPbI(a^*{4heysfr?i1Uuyt*n90HDQw#`|z=cOzQ+_)Z0)2sBE*Z|R8c`Ah*i>$EB z$js2$@1r2Od$?n;_|s`tq8A;`ym^dO?)Np&c@QE5Ob)E9{Lv3K8CVV(FM1!F~t|(D>(!}t65d)OcID*w~$e=P0p?#F# zLy~`vGpUN?PUUChEOm?5NlG0yrFsZIgtcP%;UZ*3Q&P1;BVkoq(CA^53x)GQO`5;t ztU3p@Zz+R?Iba)q)UvD16&};B4n~lP@Uup$*TmQJw_M^gfZ zeUAnLCmO=cMVx4npt75}IalTF?ee*OX&K5Ad*HzcazY}&P?9ALP${7qU<5f4iY_`+ zdNR_@)Ng=-?kkpklx))Fz1-1eQ-{1?ftWwZW&jvQu)wb|LkuAVZJ{8&L0B@ksj!h; zlD4IrM_=qJmRoy6_xY`^by=Dg4&WN4vZ}L+8`2P|sxWuzjNP6us2TY{;v(OF=V|#c zPT;BYHE!#5-1pI*|83moHU{WM)4qXa3D1OP>&;=_we=)mhrD?kda`n!|inYY+e=Q%gHTN@JA&6qVCS5O{4N-|66r@ z{!h=SOwidzxrM8*v8(T=NfRqhZO!?5zx~$O+Dl)n@9PRD(%Cu}GXYY*kde=STBU-* zZ1Zrd!fqyCz2AAZ{m+M0WYCTIzxDplRHohDnd@!2EzkRTs#bol1%Z!D{1t%BnSS>B z`R~uWr?U{f5A-c>%X@YSE~j(k-j{8tZ$s8w4_hB+bi*nwNKBubE4t2?;dajm8*lGS z0`LJ${=fU50y)oN0;=u&7G`_=AO<+L-XR3MZ-oTMPOXz)9A61~&syy}_n#O(FCJ!2 z?Vo^T3ZQC>$sPcmmfY4 z(PBybUJBWxhhfmvvBI{1b|&ufaeYr^>e#)3plg@QZeDo4PoDn=wm|s}hfQ(HgrQcR za?4@$Zqngdrm zjAjs)I6NDhEEPvMW{$*i^dQTbktTgtRV_Hy&{vFrNE?)KZg+8ZMk=oE#K|Eu3J=?u zG?0q9yq^Ygx#Vy$;~Ji5*2)%gB~VqXjaFpM?Bq%g3pf(B6J@U=Lzv~TMQ?JB!mO|T zwjBPdt6p!3H6I0nHhjCliZG)xIl@1l@?> ziINU)D5=B+-4GD0o+_e)z&?zwgl-cyvfLnREx<9kk8pmymMySe*Hg!E|NDxWb#ev~uVa#iO-mH0lxTZ8Gr7)^Ki~Kk z5w)u(2BiqL)TOHmnuPp7jHVP1vHizv+^=6M-OQ~h#o1M9ZMOYqM)YQO;si!9sk{-# zVk1giH1e~i$AvMl9=e<>%o>SHhcZwFV~1tPys zMceg%#D2b2=CSfP-B-u$?o%mjI-i`mu;=BxhKFJIoM0xeU-s@@pU<{EmD&4VNArI) zz7leEUP|=6Qn}o^`<*|16Yx1>{rR#;xx19^|2jq`;O9N*^pwvm&YdY=TX=BHk$waV69tICCOkK_5p5h1BHqSVNqVw|d4pCRvRCu#(Cnhs2S68*3YC1eIJ(NSSi8{~5 z?0a_Sc3NNg{dfDsgbOs(Y^9LTWzC1Eu$#qjBDuRe1#^UF?w zWGGLOo)ACSpCYzT7zQ={TgJf*FZd&0X$xlIK*6?BBRhgd3t_r6BerJa(kx1ZIONs( zYh8SKiF!Epx?}8s@sd%?kZ#q$4qDCH$uq-jmF%i{qbVS@FaRPi}LxvN}@WQI@0Mg0S znJWbXF$LBl5+7cegcvc$I!RLa7gR!n`o%$7!I)j$gwr04kje9dGizm1!y7 zO7K!w-pC+Muu_SjZ2`Pb7!1++H}@GL&O;^gUo1%>d%rK4()9vYe6f9BR60KOGDf|c ze(awWR(E4(WVMa#NV+syta&j7&_!>A?f{@dL87|JnFncdp*kc>DLe=kaz$N2%w?*$ml}rq37m_v&=Gr|IB$ zpm_M^TXMMkN5B8m)dE4N2)hZL|NUY92axFX8rdhkHQsMG{i5%$@~Fo#a_{Z^ifwMp z)~9~IJ*jDy-Am=?0gaOiPu=+RBL4l)J2toE{mj>QyI$;bW&iV>#AV+@ zx8I(=+H)g%{KqiS+kjlrt;%C7XWyZ^9qod|NB!r&U9bhJ&jVn0-~IjNdunz<`EO3- z_o2_XNvD%d{m=L4G1Hp92X8(1C*;dsYvO#a`&;7WCfRK+IV49Mc+x@k=?V0`ROq^1{+&*0%(*( zRyHXMQbSGcW&irm*YEtc$HdzFBa-Q-qKqmfdRE&HYqbq^doS4k)dHwfTE80e?&?az zz+e>r@a(fRlsWHPy*NJB4B@fbTu#cMY}7)a+q#KL58MkExWP7;&)c=(E-hMH^-3S@ z>oW2d9neEzQ^JOkm0eu*pPA0l0B1@Lo~fy3@zAR`y{MVhpq)PORvSvY2I?-d8<@$O z%zeq)!HaLvAR3HHGbmLc{$>sY!a_pHavkVM(?DK0`9^ApcKwV4F8J`f7NZyNHlL=C zcE*&;*F&G>eD^voxwt8PRK0ZeT%IG1hAJ21)B6s2tr{iNS;m!sQ-mGl*0+s9jz;Q@ zNH4!ZO(SM5wYt`pVq~_w#N(jMER2~ksys2%c97(%U#tJT*cG2u^GX)i`sRSAC=UChM^?r_dWca8~+bV^p?U9rh>7R5J3A+h0* zUZ2iRDyOl<;?vF;8-BN@Qy(?!PfsLA#}BbWvFsSm*2}VE=ThaMuvY;d#EKY?5=>yL zU0uVA)32qpaaBxB8U*Yxl8&S}Pad3@$cJsC>5eRgN{9XoSkYTNgerH!!<1E}q&0Sc zgaHr-6elN`vXVKns&jCvpZp=826M+YSJIe}25^jEhDK<3s*%8wCy5>$oiRc)71D3a zxb8qpo7`Hiau+*xRE+T^!^KlMDt}WywJIg7`&AqmlBGR_PB1v~|Cl=Of4IW7+p8gn z-V&Xt5p5!j-g^n6cVUR$NAIGG-bM7@>*!rDLqrQ^bVHQUg6PM4KJW9KvwqqCz`pm) zweD+u7YS2hl*4Vk!Tp_2U+1xo ztYwhdM^z1O(oR+8R%!?2pVXmzUV-JKO*R`q?$j=Kx?DC7h$vux0EfYEZ;%}M2esgN zwVCZM{$H76(gM%I^8JH0f^UDP!X~4feMTm!h=N>khyqX6`p)4C<0f?GcA#%a=kt7t@n4`W#DcP_?vz8 zOzLKsp=XE8KRDoI>MB@S^I3!M)!WBeM7vmVS^4TC%KV5PCVAdi@CeadJy~cEI37~H z1?;P?{jItma}j@@HXV2ZUb`G%m%N_=KU}q=_p_s(p~3wRGMDFV!?h=Xt%d$js5A_| z1e0Mzejka+>o9*!?TcLt>e9?Hf9Q;Qbjn6De%m%;=t+!z%nT ze50Rk!}Um# z`PTAoysBjnsUMC@)(nwh^s=bqE-X=a(I7qIrEc9wKfkq}r=#(9NY9?6{Kp)%Q`@)v z3i_I-BUa6S;=LFrdZ|Lh6E~i$V{K{c6&)>=yvr(ho|f~hS!!#;Lad)pO3uQJjHp_A zVWj9otAt2{KreLmRkwh(4zqD>bd>h1)1un9Z(fkT;P|Lcqe4?6W zLH_J=6PP+xBVOD5T{qvx9AJ_>USX6!=b&p4GgMeZIE7RBd7QftW~9H*{qO_xraU-; z7k*Ub>H;!urei4rHNG#zqqz%X) zL&|pkT#CnDWpD&d-+jVH z%{iCqJvVFU4Du0H8W*=9b#S-*uI{UsU1c=kNNW+bpdb`*?nV7V@;ck!o53dwTxLRH zPh~dO1dKJZ^xh27umicX3r2NilSTW!%w8GM&dUAFhC$YdtLoZOWj{4yWJ$;`5>rSP zGQJ_FHc0#)%yyZFhzGh?BxJ#*@cL`{Vu$jc({e^bAU0rpX}ONiaXENH2;4#Pj43A_ z9qfpuOv7KprfiB-Xib?9aOGd7GC#g8Ty`|rt=>*{onh=g%vT@SnhK%dG|@G zsK>K@$F>$4A z#etu+3P347S&QPuHuPPzrHxotlm0oEz+y({_8$6DN1_)wVK*WRI)_GCS3FmjXXJih z?ExMWAbJ_DvYXtE`i z5%}+y(Gfb^wwy-3l_u>0wQL@$s_kSv_A9%X`T=H-dteK_>GHL*7E4q!riO(j$@?(x zQ`oSp8{WcFws`Uz{Qmg5yh2?pDisPrya@@H+6jn2ogl%xIiA+k5R7QUb(uO>!K_rW z>aY(Yss2JHCL3R52o#k$#!IRf z7x-vL$L+v20d_8SrQQRiQU>qN$!zJdL!zeZlT|;zwB*l~V99h_nL_98ErH{M-;Sv9 zzWVZX$@#xJpWk>%MR12Vq<{Z+y6-gS5-JW3d}4+KBkS^aki{81w$FqUduU|pJ4+YLW718APeTzNE1UySoNpIt#D{aTCm|W=hg8thNJc(ZLzV5osJc9crxN!lh7xIx%AIW^l^MO(4hrNH9TyreCdbtCnn`P0cOhoV=e?O* zGwGBB(qUPjxgaf0n+D1?(G_WG8r;b*r?8lX)Q|GiSQkvuWv#wY03vDTUT%}BGe;}o zx7;f17U6}&!11KGxuFp}kK^dr@B9gy!PXQ0n40lAptm0b-L&CLs;C=sf@E>*Vstdtn5@JyCelE?mSb*QSuP?T zKIc?e%4ySnI{1nC^kYp{wr;3C&c(8iO;y4St%?1%ZWCr|$Ezjo>U7^z88Xf<*Urib zC8W|=0LrMi)TAt`4u`@KnX$?_!cemAq|ge{dgaIqE#X{T6w}Anu6B7<%VuI90bE6W zg(y9?*&^ekfI@>8#htFjDZdx>zYP6o-0K(PBh&Kcm0w9)o}-+tTW1&}#%Wb96>Vlt zUJ&vTTlZFk7u(T6K!n6h#KX7>jNXE|Lh8=Tn-ko4T6OVZqREhs7ah3C;OsY(uU}db zLdl`BX5_}?_)AqOvdGYJVmCEQyIm_YW_TV{YfcxDPvB_k18Eiok`n+XUZ^<0wJF)c zaNQ&12-D-JA>kt8Inp1lwBd1?@xPunQrjZ=euR%}h>NgGRa4GyzGjmJvuRo#>0~GS zKZX4NSKmy3*-G5CO`DvwBfyi>_sgld;(s^R0#~B?hD{mzj`AOeX3LyR(iA1mzpdS- z6#Na?{pWOi$4=EvZax}!ZL*2-cFum+ID~tGHl-FKJD(jBL-+FxzBXy9iMjY_4HZ`%{;7D zbiXP-lKpHHweOiz5O!2;W1{0dZ*`srTp$Tu)}y6RhV3ZDS4VWXuXkqFI+^+I;Sac)6j*#C+=Uy_6T(dlW27@KmcjCka*0L)UBA=O`qO#mj@ z(sjLJTRVhYGLRt)T`+X1w+Awn!(m9{kI3hA~FW@4y$I8zi@^bQ31ab;-$-^I! z(TYch3i+wsA=XC|B}!gqz~+N?;&D2ysv|@~0*9%UI!GVt!JAalpB=QhjhytChHnf< z?^e}9NJNu!Gqo$yFo@J#!Cq19t%wqUO&k;PP;7>pGX}l>#l8it_eW{ngo|ZDGSkNQ z1~DyyBeE-hhU?nUYnD`XmZ1=iM&SyM=+wxMNzk+(F)Gel%gd?}ir%GlID}H%?<=83 z`h;G(ktwxK7B8*QzT2guptIhbqNP68QnYhbpX1%Mi8`X&jND%^xHGoPH>SO_1+dpy zzk4-56dLEKK3k(ssp#hPHXi4xq*qb4E$@Bqh~sj{tD&qwPAM`&o-WSM%J~g7wCSI& z7I>ZhO~NT~4&l`OX0JPNaVfhKevELeh?R;wxdIfmqiVy0a)*P&)I(`M2oUp;Mwt*9 zB&v;85bf#KLfn{AiLa6bqsVj0?x~-JU7wita3AHYK1biAzu`C>>#WgHz5_ur|pBTj5PcepsT0d1MN*`7x%4gPnbGOfpbLzY9QsxhM z5lxx!ivos!xuTM{{ksetT}~q;lY^dBBTy&a)x9|G@nf#z7}wp*Rn>+QC5&0^SfpAq zuIWpWO=f#}EYL`E3CT!~un5HXtmlIf^Woa>tZCb3IBMsEj{dI`vECXQ z-0!)0uLZy;fy66+g7$<@DxhJ7)%su0PnGr9^ZeJJ-%Kw;`!~Dx3RZ-g9=8BLnw{t zcNId9f^w^M%;KBh!e$@=IZo{6?Q-vxTFA{X*W^dikGiIxU!GekECsAGS4(54&I!O^ z@sqTShpeAGZ~U6=%52V|AK%f(>W(-SA2Da)8S<$(1^GA}3_G@eVBD}IFj7-*Vu@F% zep4*CU6tM5oGqOVbkOn;1}HMk6>n@z5)!d*A$&djcIS$+>Itgm=kIU7EPlQ0bLU$Q zIvj|iUl9qk?`l!*-{ms!#->j7E`1{{r!mmMoWa8sZkQ#C`PUs~348_}M`s2LqkWOW z{E!Vuw$FW)k#eOV{q6}{OU4u(K4TLYmn1r8k}y97`;@2o5*(3{H(cR{$DOWts?sSF znZ$z!`k@w*!|LtuGuyCu`1OSngSie=a z%EN#Wl&h|C9}T4S50n0&WjlOlDU$k15!ld10=ZeZ$Tanb&9@_b7uOzOi1VoFy{V4| z2JsO;inuaU#(%tEWVR%RCv=M8A7&TFz!4cX&oW6F!A-SFd(5TdqKl3FADVWCH}wRx zLXtWwIcY7*h_l~-v$!Dqd0DuxX~VFD!hvK!98{BF#cX$W^k?2B-|W25IuqtjT)U1T zmK#Z+Ek+L6eA3w8yG;@bC??7gw9he$%P4)*kwYuOq@Jcr2i%}G` zi>f=wq=p`TeLrEB`gYEn%BJ&Yq(HKqB1g7~d~_DfP}g{VAt1RjODUQ;CHGeuZ8NZo z4AS+cGWiJxBUqkMX$4}W;#K&b<0BPqZO94HI*Bc|QRmztjh*!g4DejDu00(7#gj84 zX3OsVL7PPZmo~5Jsn(C0aNqvh$AlW<{X&8$5?Voj00pmFnpRrppD;Czr^wMTCD!ZL z80jfRT6}y%hItrL2#?O|5D%tRHEt+5Mmd4*CrY7GaYPP99&*$~Y5axQw!Ko}7pzRB z!6`KuEIVuT~>kvxX6oOe&MjVdyHB^pK`gIk1R?0G&%BKw1 z5GLNscd5`Ck|(Gu8#e_F}XxafbX^Hh_Y7{ijV|`dXOn3RJG&s#oVs z-@0<~X`u@_o1Y%2$gw{6i73Kvr=K+y1}M+DuDK;OFkPc2V88gz240kLLsM0s9fY+y zI_2k2mvM(?WojMzJCH|r)Ey_4kW&%`ZKM-49X2&B< z9n!_$@mC1&bV|%w(#rmnyy^)3ZRxz49iKnBN#zDEGO_C@#L+T&K_B^aasR+_Pa&-I|+@1p* zqxLnpr8Nop{+pUn+Wv`OgzA~LN17qb4xUnUQA@8yznRWCOx6Kn__dQX=3g8%dP1q< z-cNg0#bJ@#1f0tf(TfJn>P(yY+#F0#*VB?ajaB69kk?KmHSN~qs0;eKjEa>62U-Ko z0)Id5Ms0!$LeOXx%=$mR1@o~>$+)t6Vd88mJpqGIKb~id$D5#kl8I0Dqg#=-u>HGS z6isZ!fEA{T)quI(&}(6FY{Vt;z37X@5iG#Q{vT;x^RVAyA*6&kA?lyKmI^ z73CMwa3&YN@r?S%`XH^3`$YSc2QF8c56E0T_ ztxPIBg|&I==c_lu!&SI4b^978ryQ%E0YmEbPQ2yk)+j~?gy^S~9|TS!S~e*hxLD8T z;Lr_VsF8BBJYZ6q^P5=f#b~X)N3dj$cTR4d`o1y((M*G{`#ODyYSOS7o+}hLqRsSC zec}W1dSK@~GcoF3OPUsQOlhD{qbCXxLrsjNu5P_BNFb#2?Oe%DVe%odh%pofh|2v= zzvJMJG>{wJYO0C7uK70YpbzjMCUC_qoc8`=T-HsjwxqzuDy%}yqQR|a!OZTu=J9>+ zeiA7cF+>53?)ge3gqcj@`z*y>5yF_5!4j#|X#Gcg1}g|+yOhto7ucTH?Q}kDo1x#P z=*w@e&X?mjOpVLNG-|b-1Lss=!Wb*6Qjpgo^;qNP z+841ReGXDV>qq6xfoEe+&9aLW}vN zwdXBWA&U3dQyb3Tn!UeVhf3b2SL680H#*y;*s{8(s?oZ9Q*%b-ack_kuZpd0Ut}ke z((xuypF0{J832vGHmd4v3)}zJZr7u@Qg?>z{$0317c{;k(3o9b7`8t&GeVgj?^lju zJ*S;(HkwlW)7jf3*2f{-C-(N{#Oc^+I9Uve5u-2xWqKCgjB6#Y{nuLwMz=$mVVb`5 zv8&EuvHGo!Ab>cFS}w3h&O&$OWQ3y5XtRGpPMJP&!MO~i5iMU40foWU)mt4*JhbG_ zdhKaFXk&0gZzN-r#Fr0p1KiOh5k z?}A?uzMA|HgHyprmYRK~%@6#nP`!{mZ2yjHFuIjnhN(DL(?#5K?MQyTe9H8GR423S zTrVLf&p}vM*WwhOjAV=^jmU$;xFMC0jyP!(Z=IR5f7=Vl$}mGR!)N{c#9fB_O(f$! zA3xeOO1z@5@>fUDLl0~aqao`rQEDG4cRGx! zSC*3jI5oAm%g@@~s_Q04-JNOo2^7{&577XshPtWa6%O-(l~rhYN+j_`{LMI|Y))Z9 z6g%tr)dnD#{9=L{8!p9b8D@?g;yfk-FzC|ktI#I^wVoiCeiS3FN*STYblnor?E}$F zaWZlAT`9Ui(X33HD-$oJS2Mh)RO!6dYF7l_n1xE=gJg605OydT*a>)8Ff=G&NI9w0 zkG!2iE{v10y8ylKK!VEpyj6?s@JnK)s#Mc6I?M-6b}UX11K?!jK3hk(uB0!Yw8=_Gy^;5_@U%=G`hQYtw493`tcw66(L z7Od6Ay(QQSeG&r(?n1fJ-(EB1YSkZgvnga;oMfiwpEgBLOMiV$oi}zgmZ8oyz83-lo zykSkJU2S@RJbb2#6~*RFR@U~}eQH?EIS{2dwL~o=#EoH)t{DNb1qcF2h@;ZYX>ghF zsJH{UQvu0C?o*(gE)6ucvJX;W=&l|I_w$P5gw@OuQK1YdG%_Z+r!j_`V^IceXxtse z-O7o@5{4VCCcaA`$Q~=rCC&M}Vsl}1`4k4T@?9C#zdU2Lo9AfDbyOFSl5RAWe)gsAjrNgN*Ncwwo@mUw!osNP(eXpO> z_dt$G*(;%_`u>Jg!R+@2!tgF79z729x|RB%xB>XqfI0* zAUR8iwVs9=rFP=O?zUsLY=A3>CnNmA{btz&)XNfE1a$(BiMvee1)w$+c@Ir`loJbt zdmDpi=T)aA=kb5e-XHyWxNJ8}s=kO6CsNcvQ>ynp|NmarXJ*)DjS_lELz`!E)*w_h zxz@IRu;+gNld3hClT%te1l;-1a78BYC(#xbeGb}`wN6oOTW5Lro3Pf;xweRa>gp_2 zP4}Qq$)iC;>WsCC(eTKQXJeK#`KR}Xf}K5i1%z6*f7UI0og{AeJ$Ox4C54qB6Qh%! z>n-c=W6$lHE8dUV%(ppxJ6;Zmnhk4Vp+K)hmeBD(Pb@NZnfv}cFh(Y5P==XAW4o%1ASt!FiKMY5#{)iBQ9}0v{m&CtN9eVXjTLe9 zb4CyEsFzn(jX>!hp|s|Ya!_tKe&ic`0Dc@F8u5UCE2N%Ys+%;&JV$Vo=a~SbgZJdr zcBq!#ItGu1w5&BA6v~v8#=}Z%fi;%77DiYQsoY%UW)(0$v2|i zQKKCT1Yo~dC@VAV@GA!%Ottj%D&fbok|UimU$v-%D6uHBKe8&%^Q1I#;xlV4Y9W}x z_H8|Yt~S6|dCpo#^&uJQhL@ zxpm4AJ>uGxWw*Ru-HBiI`ML8rPrx;7-wu_2e}r)XImrBnG6RX7KR|^?=Lo z>13Q%+{Aq_0*#R${%AOi$a=j?{;4o0=BJk__nT)EGe$ka7SByr)ZQn4UKEDU<&-^0 zqrUymxBGu}j2}g~mr3mBU}nDbMUQka4%NCyGc6w2(7tl_-T1Uq+BxX&ao+`USK_`e z7`d`k*~@Nrzk5wabhp3O;qln~^?n9$!^L}T>~ZPzIKI{!xVv`$K=rN1GQa*e4d6sp z^*0m$ zAz{rv4Zr^cp<_nYVv#&bxpA*~cc6V)U3j+^cWhcCL4g1!_>RKhA<5dK6dxos?de2A@6# zp1|kNtClCVndC_HkF-^QtjS^7(Cu zv9dUX-4z!*+t+@aoFH-lS5A$4P#ZS}tL(j-(X)hPRy#e|QWsosT$eMNZ27Pii2!NY zt^T!_Ev8m?sGWa1TEtQ8pFOKL!oE1@1C?W9Jy?c&zE{my!u05}TjptWM-L-~G?TwG zBue#K&}%u;l_$Os{pGr+ccq&W4yk4cQrpJW7(hH{6aZtVWoKiC>OH4-O#+ZeF9F0- zg>tBX^4~oxH6mcQmeq$8?-vhy3mp);N2$Z#&ZvwhhjrPm6NExX2A%D()2{GU`j-6!D) z>HirJ{#W&a^}>g_(P5(5!2YU*v4~!JN4d4w;PbAv-warLi(m8u`>0$3R)Qba?;42$ zcLw9|AEaqb9`MdagxWtPl?3}#lF7;*7l;uAFtSg4KUEO+@*~H0N)TGy9*%MQT|kw) zwG$9@J@MeZ1#AbZ9&I|Dsw_&hcL|-fG&}YTGINRw)dp@r92UI0X8(wlvhC<`dL#>W zp{voWTH74mV8zxsw7|cgeomiJh;FY#Ah?Mx>r4@SLF$>c(_X!9-6LIoWHAFsqKwjUGQ(s1PgVZrmKRQ}m_*^ zFD6zG7G{uJJJ07?8!ql#Q6^HEsgi8mK}V4KteV4q4VO$-M1w>MUXxvyZ*}uj1|eDE zc4X8D4xdpxaxN`S1VGNH&FLfQ&6&qclq)w7fYjuHYA2FVx8@nYRfKwga zyJjqNnz1HskDP7i;%%5)BgBkcUYXWouzS98X?uHgX={vE;$kq>+}{X)ytcH)K23Jm zPMoro;m|_|$N%#v{@@1cDhM|XvND66ip7zK(a#fW7Q#lw#>|89b<$$#K%<$HOf-H8 z-vSJ^$KOkz6^Q>?|4Q3)d1a`f zAo={V(THVQE-*BwjF7)1+ik5->es?~5iN{T5CEDrb!SW75c2--1ioG`Q1}(c1_Vl! zCnuSO>ofS#2~48wz1&*5*>y=9x9@!v$@PpXXuZgllh z7Lt)vpd9rUZE&%`s<|vc?|?AX=9zhg;0z6;c+t|(~XCPLL=AmjH z&K{`fEMV478YyF0V)wf9E4~b?7QM494pvh?HoW0OIli4dISOY5;y+HyIk5dYhZK?M z=Z>8zZxMn!B0C^X%a%5ZYOf+(p|KiN-7%~Vw({Bi4QrBzb8?EbsMp^a9Hg?=Vn$Ec zM`T{kXpY|b1i3R|M`_w8+VGb@LEuFVH#UJ9;_8j;`qD#0I+S$rA9P%EATrfFDSKZ_9t!z{x5JBH9I@<-IMV`KfE|0)AeO?+|-Sh~hI7q2s>Mu|F z?;PxUf0d$ZK9=qQkAoMJrm)Z~Shl#HKn}S)beS>(?|I-a{2T9I zaSA@=y4cf02z9wbj=Z9J?!PE&xv5Z@;bkLX2){=D5p9dQ1J=Y8Bc(7Jg>8Gk3M!-P zJ+Cl@iY_4wA-0TiW6FoinYR=6hr`2c2IK3fL|q<&bzboxc9VyTTzbFTTCmHP(xZm=y4l9GhvtLV4k}G4Ed3=vF@P5&Wc!<INNr0mLx54;Cj>snx3-H$Vob@mdJX;G6%n41vS-q|%+Dd)AB-4bVTLi3$ zK5XRf0D}KDPH#<_->h6|JPuJ^IYX`ra~FZ?1%8`x48fp`P@%iI>HFFQk6`yYzuB({ z_olyp=4~GjXEn_o-45A!E3iaVF!8TyS;yh3nT%Pip_h64h6nv``J-J z`)vtf?UE0L(?O-^qvfl2Ww-R*UfMqXuBX?Ufe-MJHgiqigK(mUIq`Chk9+%nn$54z z*uQ1lpe2#H1e_p<;O<2y*Ymaozm5$eBuXU3pS`?^!VaT>U>q_Rx)QpgE58u$1H+d6 zi}-z)sYi@8eSU ziC?<^gH}T5Nc4!VuxKS`Wvrp$&#ccGCDi%{W7R#P72@7w?wuw<=^$L?XTW1Nk6vM-vkHa&J96SZ9@|u>aaYfoKWaCBGbl&o^L38*`w?n?8GHb$u3do_{F4HunveYIs zE|SW|n9@dzJXiiV?#{S<{0vf$_Sk@JmN=!t&XD3@zT$+f6{AZo5!sX)Ix2(?y5Y`{X~U!ipbF!%Yq}fO}+ap*}vi&wb-ykw+Yx)LdS& z&zhpr;l@1-xLan{?TN}%YN?7vxz^2Xe0Ua|ICx1zrqA`fo@rXXkel@ylLUl zbJB$DG$ri}%%km+CrUlw>$9nUbAN<-cbp3E_dZQud>f-NNf7en65gI_7wh(VfJ_IT zPAvH!cRs!)GU+?ZuIFBNrR~}kpPyR%cC*}^3LshwJiZOGIyRT=ZN7q@>!bWnzKLpz z_4cHqJLdNsmzeu*LR?BEFb&N9jgIAb~CSIbe7kB%h3%4&W;A*}}9v_MJ4Ig0}bF?Znmc)W2qQ>^ZPqy^#_Wy@Eml zjk?aKZW&C6jvr4Uffff3LXtOI2hDN30YU6vU3!js+j~Dl&Kt+Bw7NG6`z|s7#h}Z< z9UHg9y7t6UP4Ro@m)3g>l+hKMaMo}dU}Mxe_tO2u)ZvYWhkLcan2$DnK}it-PTWVW zG-4X34FyI3tg@MwwAgK{$#XC$Q~TFQ6Ux2or4{2Q0qhCYW=N;4EdBYNQMFjEEgyb| zjXO1ZY7sTnNKh(h(iw!1u68on+H$bTYAN3O?5DeuEi}peHrp}1mZ0MenwjrMrwdLv z%*1O)8RT9RBtQc45Vl}Jh}q;CHy(5w_NRQ--~>XHq^0+4TH(F-g@M%iFS>oi-NMeR z*a}zT%xpD5hP9J9uznL)4y6c!6L`7L-WH_xxL95W zmuV)=og~0ieoVE5o0g-?9BW)Pg`bS?=reOuWhiuDrC%<|7r+Xq&a)CZ!kT=gKNaenDNf{~NVK=L0 zCdVii&s0A3j&)pbcW@U3ZrrSTLJsqu%#%sZ3QDX`MU0@=qXV47R>jm$3`OI!iq^9L z?gGNn8IJfx6*gz8yyjfcmE&CNu-90MtX*o1*pP_U zTc3}tF}!fG@A5X-I|v!wE`C>iEPVbYHvGl@l!%^ z^k#Jys-VLc?eX+$i~cAe zz`j0cd#E6|410T6l;M6HM{%vIGB~Nw{4tA+F+f5+B3JA(a#UBOWT>Q+JS4lXRFS zE|;QISN5EMU#^&X)8}22nlxpl2A&4xazkW-%R1}J@w9b0 z0#}yAZWI4%3d}g|lUf&3yK_~>e5xq=gtc72M~jn{>gl;%ftnJe#MUNXQsl1Rrn#$VAe(zeW;Od<^S94h9sDQ#>WbV1 za%$4!e+pv1BbECd-qDz|>*(Zscr%r%DbW+){5UwTI$P%j00?cprl_y~I)=TQn2D3# zihc-<>brUa<|`IzHh#irES7#$n&2bF6s=6=$7W09Ph{)v)%w`@F8mET6nghdc7n(s za{CE0a6^{G<2@0*3NM%US*9BZ`8X;0&{rPl zK!4vKe4l$2h+=p=Q>1^)z&w2xw2iCfw}bYEKLJfZmLu!NNSS{$ubIxTIOyk#hw71g zFygY+wr_0zWU^YH=P#yT?we_oMNv&>dX}1JW4&{jfq&0}?|*negiItJuY)gw1>V^X z%`yZZ76cCpR-;Q@{d>Y9o?8QRi~Y}77#@r)7V{Fm-Tp1On=bhEm(C})@5c6PU|?&6 zY+b;0c;Bt=V%`h1{qo15KA#8tk{rF%!-s2zhnX=%O0Um9LCwI+V1ML@P1|$;%3LBm z==lZ2wvNAEL>D>z@Ng`FKU?x|^NAvoc~=pcDS1{Xc>@r+FISDO%o}8H;B^#=zYHLV?jp%nw&?_5o?S+9;4noxJ}%yL_o; zD>x&PE}!M<7SCR;;j|jyUi-PL$Mb_-TnG;s=X}Y%(}k1O07pe58#7uibvr)2=80|d zBU(TU!2>tIY(XDa=DG7i!0 zs8#Q5=dtL+=J0CcLxv^9Kq=a^2d&-In962^G#m0t9Zm_{sWT-M68n!&iz%rBB_w=U z3VvMs*7@hR|LT2W5w2#?j;emW8TNDHT#@PBBlqM-)Y>B}z*eG$;4h+bdgp83ZTnM~ z4Ls^-O!B&Q|B1tReb9Hd!v1(s|A1`1XJEK)1@~?dN#2bgE4cA6-1{?Jv;SiVy1Zhb z@!V&?&dbWmnxBJaWk<{4GDV~DU8a%pM-g|HpdRuGrs;ijUDpGTeg4_5Uj7tvC|Lww zKAx}?T=P(YJvWGf0rST@>AOd~T}=UTl91f+>`I}=K+PD+HU713*Y-Q@$bR$?!z}nm z7Mbc{B>c_CvG#keQ5!zF< zUl$0CNR|~9g1vT)x@cz!%#$`R;mH-1mU5-UV{PmZ1+FV7xc>b-9fIS|uEohA3IXb{ zSw3%!PKMU9P$o5qR;J2`@nw$Am@4K?)6?jVAWKa|fz==i#ivaQxdyJYg_}KOgI5`c zCOwTyovwq8Fl0f^dsc#khFhn&ZZ+2!h)&lW5;qs)?V6QKl0`d(w;wXascZ>tc;c2= z^bDgkK-Gx?`l_h7;kSx}{4(rT>_TI<8uf2ioFDz#Kc?wI1bHS8MKjxMy?O(FLNlH4 zXykR>z4Ljg)YYH4dw5P-Pp0X33mvx{7zrm2(hO%PRaL#BN-Kje5H|PYa?4p%=sW}d z9*244lacY~F()lGZ5O>#Uts5dZ`wS=BcJ!SF*RJuDkQhQ6WbtKOpcNXP+nqMW*Ge? zTB2MvY={J6M58_$`a7EMdAEFV=Mkl&4M<-f)dk2SXRPpVstII>ebr1HL&Kj3Lqlzi zl0?9s)=8c7ZNXHN@qv?z-oH=^0G_AcP+o5EXv*j=k-_%z6sk*ORjd8N<2QD<*G%~d4N$YL{gsA zH81$^`AL3kl-*Q~eIfXd?(7-@kNm1^SE#P)%!RM}F|Y17izScxg?dltw!TU>2D%>o z8*e@z@tU84e|TA%xgvtH-ZSZdUH?d2azN`MPn6^PE@xHqOTZV(j zAf)=^NPW;vYG3meU3*8snCNtx5M|)Ye}!zNa&pXAGPoOje}BoYctN?LTEiPthBe`iig0IEjZuuKGUS+rUP7K;mhW)AfVzls6n45#_amI> z<|0M__$C~)%fVZpje!K1^!8|)$|*B!PgpPdbWVXn#*AlKy@)z`-jFdY&jAg4qUpR1 zpjr7jH-odZg)QJ};k4O!tSxg^s(5hG$wfK?*nqV$46574i{kWZjf^bGDHSs)SpZpj zuqeOLSOis~L_z_nQh>B~9x5k}CR~bi1+gQYj_?d`v;Nid#-*>?$ctJ%ac-n``f1y3 zkH|bVkh_8Hz+~n7E2wxX4yjLr+WiHBAh4nyD+P^`ostdXX@eV9V_``EAR;~WT}dl`C?;=kJ(6h{{L=Walcla~UxTcG%p6&-T1%WF=L)eVu+e`U8W zYZaTe5?9*;za~@Yt~un6ITEk-*81{VyH>9jn(pD{5A&&zfNj`um&Z*ML%>FU-{pGO zYS$?>nn~c@_=RH7wJrU9kED-d(3ay4OW%V~@K)w=&#{~%xGwnYivE@%c=wLb6}k8@ z5EZmVh}OU05_A{3hUJPP>w6%2_&ZM7zw95pwY&BRMs;{3>}E~{|7(9d!lBQ_xLaMj ztCu*bvwi4Nd|WSntLL(Idng&W*ynqwyAqH2=$2(@4vCej>eMC(Syw}o8&;#+W0;he z>nq^eGPk^`y&Kjq2)vA(yiuQya?0#IB6WAWba}W#?i{@n3Ea0%FSx%e z=|4+s2?`K+x!bDMUz(bN9ea&CpI{4(7rf+&M4F5|1kBIL2*S( z*Dw}5!4iTyg9aPiWpJ0lEdxP=2X_k&!5Q3Ta0u@1?(UG_65Kv+)qC&rb=CQMYS*c= zdw2I*do8MfDu9*Q`nSeXSWjpQZ!;)_mmSWLN`_S-aB+c8=~L1tq_9sR=%BV^ zg{pQ9KPJ>Sf^=Oaf#@icLsV#}*qfti#136_R@>h~yfnR*N6(SMp}_=|Brq6kzgsb8 zN>G4HKUS>nFRV&+G=9*$A>4B!Nl$o)Aqw4c z-~A&#)d+>YIQ1Sgn~76HPZ)tsz z-@KTOkbSTX3rU1?3%x%NV&e1#U)<{bn^Rk@9$-4R+hQz*=1fu#nSIRgSEEV~=7o6p z*hfb-u8HSc6-Ab%^z%1a0 z?jPi?rjCi8uLI?wjV-W#0!614ZjsG$Alv_o^JSCpx}m$I89JZsfm3mwE8F=WfV^r^ zC3505rv<3U^Wtal%#V6yCiv8I11bAek4pv1x1PJ3q|ej$!XJ2$c^8Ovx_&7y;sQfb0v3S?1{Q4mBFe~kAePB@t?D*#@eE#COOqX@H8M03tBlr|?_S$mN}4>Tc&`Fd_S zLD=wDxbWo0a@BiT!BuaDEU?IiAds!T4-%w>1}OWz53XG_Jnf} zPLwNn=ifJd|Cq-JyxfnvqoU@Z%6eQq@Sa;=dA&5j%la21JUTiWZ4iI{oj?nGX_=a8 z0bT&@w~D-|--NWby=FM9v|&XL7g-MKHXiAD?vHzJCFy)<6WVCK8o>g?v3a@OmaDUN zxXsK1_2fg^AD3E+jP7$w3ZHKYPHV$U7zG~4-t<>szlo;H7?m3hxBHDy{T8`!8pl-M zZYr7q0G%3={nAA+&Ue5JD2yNm$g4ox%?E&pf+Kx4w@C2bKS+ls$uH2lm+*^(Yef74 z7G_J~GY!gEebY)~e*eJ4@0eq_F+>&zi)Jsj`q*nsr1SfO$9IhaE3!Is7gd}-_OT|@ ziaACC@gGa|V@^lQKIJWcD?+;2&MCsBfH(+;oKbF`=+4z&qv3y2zJx2Qd4 zfDZMoI4#9RziB>lG-das4u*5Zq4hTcG&;+Fq+A^3I0${{5Ct^IZ0=8VSAlgpe5qm# z3${J6LXWnMN`l#&LvoAiQgNr)9! zH9l1VRH3N5coP}SX{W!<%?npf=BI~il)XyVN`|S%fMI6aT(czBFoTJ1dd;?6 zT$@@+46Zpftv#=5?fzyi9{F^_$$ZOVoX$)emYwUh)^DniX*m*bFp#YauN6Iwg9}nx zLP>zetA5R{7T+coe(?jyVe%<7mTw^1D^%%|9|9YY3mgn3!f|JxHFnO#)QyqK+sdi> zUR@!{Q8%|G^uXf>H@~8)-leya$64b>nGvPKeU$`Ht)d#^95OBf5 zibFxMs-idupwXPUi!}3=wb3Xka2rWXQ|~DBiiUukpZi6->7JRbB95VueiwQtxgI(aJUW-I;e=Un6a7Q- zjuJD`!KXGBgag4;0+Bjl@hMP-9y^XC#rRjp9~{Ek)UZZX2%SZ>3PsYy!TYLOYatpW4vs2!lJfM{ zdSK#6xed%KPG+!UkEgSyYoCz|8TqR5*)%p^E-oop7c!O)>jqfKr4zZ=nMt+BLSetq z;w7kQJ#{*)SOR5Mrf%5mxi5?Eugr$3C`J53$r|W@beTl{&z= z;i0k*Im}GJ5xp%ks=VBD(y>9w&^h-o+ruMj=Nb@)3KZ%dae zU<*$IE$-!Zx(W6_@%BdySfo5UdV(~$6c&ga_K9&f01S$oE zD!D0^qByFAPE7Kx@l&DVTZ5QNITntRsK!*(DL8nwCWuUGRr1rzML`5nzY2ewDSF)K zL~})8=>2@QB$6w^OdYzirTdB}y}Al6P64rtN+LT8m8qgs9W*T+KV1XWg_nGP+-l^tcc8rL{;c})2km4*T96Eq3mQ2SmlCr+Ah^6hk$@BJ1Pgm!nS7BB^Cz@n= zA(DWE&(RMq*C8O>NeK*2MD2YfP8LFXPuR3mZL9J-1~)gLeKDi{(KQKb>?hlUY*)n z%_t$#G*h9aCCZ;@*YOZH5*M=WyMr57+d>F?xj=iGJH=Y}8c3{kdxNa!P|EO>CVaew;L8E9^&^Xl5t;p`|fqkfWX=(BF% zc_Z}umB3G{^AJ+@hiE$g(J>d+;oMV}XNcAEY!$PI- zIC23D3o8Bmy=;3mmWsLw6M&Pe`3e#9wNd|(okt4x7!k`DYp9Ol6bIb&_DX@JJHOO+=$sZD9r)rHIn1dGt95=`$Ai z{kp)sjH07`v-&b>OeH zHgz2rmtg7aiDXEb(oaj6u{ zWz*b;3uY`Ba=SM(QrY3Gx0C+;Q+Mib*->S^`RVxB*7Nyz8Je?FU80$k;o4>4@UPs* zj?iok>bxdcZUW~X5Zp{9?(5#}BZc%wl-qC80(30J#N>MHon665Aam{Jy$K+ckWB4l z_+)AJ*jv0Ki)c5Tuh@=_^(SLCjoPK;>!4Xf?A@h`3yQyfIX8P?J}z- ze)NZ=B-&x)f(GA>_KezEWfM}AeJo9{rE!dn#?vzUs|~MxiW;T~FZ_R-{`U`VX>A+r zr+CTF7uLQHu#nV)mtohoEt{6%wX@g7jddQ(A*c11mt@<4ctx;?+pS&O-_1{ztL_&~ zX)MdmLjsljb_bp>XSb`1gR2Qq#12Urx(YVkSWo~OHeI5gkzynbWB^SdkVrMM8pe14 zAm5B(S1uD4`C^m0>bC!qm(;%J%=)$P_1frl>2lb9p+LaMacLaO@U@`9;IU@sJ&YeS z;_$}vX06)%b)~|4$yi(8>vTTCCDS<^uFa+XvEJI~#y{rN7U_?X*GYvZ8L$0Tba~N_ zmsn-*lihKV%b_=_M3kqpA;RW5%FXRV-Uy4={D0mv6}-N3b|=~}!{0P!{<2js^8DxX z1fS=Q=Z3dU5)E89cUm;izeiuWtt7NmSXuBma$ z%B)N}`s7&WJKJ(F`PBB9ye1MN!b9Nw%1w$;brTB zS)r5^x;ht5>0$sP8lR%xXf#cs<`4d8h^%u4jjfrjfogD#Ru3b_J7!ol3|x>%iBLRej5Hl&>%(+!|x+ZmyeW{V1ooyOQH}Kjiw<_>wXDM z6pQHe7vjr;73MgqW=H9KRzzq=5G&JQK$N6%L`y5sRHjXludRtB0_TP0lpQg`x+04; zE5^ceZBJvdXg@--0)=|gp z{X~iEl6vrG_uad4WN07KFkEd+aYXZvf?e4-Ho8$^SzIfQhcS&nQ!pkNRg9YADlnJo z=vrKdfgUVF%~+{9GP{$=M()f!<<_tw>trXFB*qV;+I11)BU{6EM?>dVbp8=E=%``%Xvrx!jX{NC0SVv%=oN>wC7g zk&*i+il-ur@H%{7^9{K=N1H^@-A~bs{k~d#~5fRUmo1TS^ zv!exXghijekcy7WrU`@OH8+dN%E`4VCzK7h5Xecbix7`MT`ii3zNWJ|!XQyY79ox& z2ex|r#0W?cCruV3|%R~@Dg=WX&KOtV+uCSFDp z&LV(n=%7NNRs2`Dh!4WbaonDTh2dFYRvLek>yTx@Cn6jjzJN5LJg574V9Dv)bZHEr zryB_!sOh+kYLCWQCnuYiL^8BQ@6c6d#~*;sOdx9_@{J&JED}7LjZN=%t-$rE96g{( zo0sY9Cp`rYnsU%jE)1*K^+VrZzAIx6xr3nD~r2hihqErJ4!;a4HyXQ3axocOm=%qaxvkInhul19}ZQV z%hqh1uQW?5=G@gBd-0F9{P*6;IbJW%SST3(bQ)LvAUD*TD<;%c8}@OeZIZn2z95l* z)@J0WM*B}NBQ4!puWDs6era=YpP=N7#W{;Z2@fr7Xc15K!w9MZjp# zKdtxaiWv!2sG(i?VSdOU2KoSsfL?cbTohT8Fzf)BB)HC4rH)^QWI$H5cR@UEcdAGg zVd32Xx|J0@eR$ur#%O3HlqAjdyqB4ImwqfI^f2Y;G9F1Sg4A$WTE_VN*blseq=-Z9 z4uXFpumlSt<3wFrQ_Gbi_58wXin>k~2h6iDW=i&V#SGOlpwZswL3X^f&|;(nt8Kx$ zmG%tt5_wYHQ7O!C)c!hPls6A%SQ3*XwWD#(EFFt1$8X(Vj2e`)v7-u)pU7EYi84~X zhg47oF|nQ2sGY-F|I|SOGX$s!xDM}gwvYdbRx4jrJ_b|m(ZbjQwCs4|vdrP(Ht7IN zg;$b#71sMJza$jF0y3BizNcYNjPHp}vqE?)thwoAfm9X4;^aKEhe&2B)Y8JrdZ6F7 zFz@|&U_@>)O$9!yXzKpSxW;yMD~C+$k&?5?$1`=foC@R-X^6o*hidl!)ev421eBuk zc_AMv^sBDYZ4QJ>XEMgGzI&`e&22oD9Co`9v4j`HPs>isS(8?w8C>Ug9PiF{}Fs`3u&H9eJ7O>CG3NC^Qi@&UoRlbeX(nR3PGhd5LCzH)gHO zERsaUcx&c4Uaz`F)KUVH@^5m5r0+m6xUpkjb|Q~B3v`y8EY)?Y31J}A37Zu>=PjIXiffUWo^|M-es0j37-fIC*;k}#+awO?u z2Fc5}(pPRY5`u+rVjk^sMo}~5+Sx~?OqUftAnOgXGwSoyqym&)*-^S(w&@*R?>G&n zgnJdiL+>0qmw9@==@G8Z08Gpid4dJ8PR6mK6yo;heDjYN4zs1F?puDZNXxJ-P(L@vD*wldRv4EMN zK@y$radvh-r%c=lii*Ree&&l3SGmL1w9_~3_7!u5I@|+2ow$M_wvlkvyY zCL{c^%lq`2H*I}pt59vyML2ewvO7-v>@-*c1sjg!6*a)dx%LZCZ#;cjFiokTylK%n z0+ET)F^&MrhoHe#%o|2u?&rs;JUvRck9QNDJ|XCem-WpOyx888hmc6v>OmPy*06{; zMg})Yl0blEi@j(Zg!jRMUD(TQuN$NCVVt^w%-i^WeZ?;9Dnx2TI(0F;m8+nd1Y`NQ zRoN@fV*veTJa|%rEK$i-SCVEvcULeCb_?xY){Jq@+RtYXFEi-ildTPm5mdofW+-6* zm58s|Dx16Cq&vCPUn;52Z{;UM`uH|g$PExAg15cd5AlFF3t(Dym{(3Z-_-H>_1>t-g`XEp7{ z`xv{%y;Po#zxjopm9I}Itez)nE^X&uTKw9!`ms*l_O{RQ&kbGIYk>;)(-oH6x$c~` zh3D&zN6~FPFE^(=%%ZcrRgWz}i6tGqXv+^$a3K zu2dHHOkqNT(!Q^7-c#qz4W7)XvZ{Bx@xZ*%>z>wAsmMd=PWaV3f%^7agN2u6PhmIR z_YcGkLiQK#<{j79tOokR7duY}M(*xcoAO32kLORreCBr88SMxDf#ziynTMtgUj)G@ z|11SMwx>yx)5#5e`Xrg2ryT82HzkwPuX5$b;q{QD+yBc2u>W4|dR2aVve;fdGk)4= zxAAUb$?@;I6=L}2oCR`Hy+3x^JkOtfoo4P2((gsu?#*BBODpe2liQu1&D&pk^)8W! z{(&-Ia%vg&s3$3#7`I|gK2d`;gBej{zkig-UnFo#%a80oES4i!P>zU#5seKK$OO_6 z(c$3a9%eI!;95DfiFrQ`$EMvJ8xXOatu?$(PWhBYj+VG%<3%#Zb>(xHEL8{2_x)Ln zMU~zqVB-!z4Xa_W43a{jq|g6}4m6$u<-{^`kkAxspnj4+p;*^JU<{Ec(v%N6iyIl! z4z$4ZgQL<7lLAt6F0UV6l*kbgTau-xf6SaRB*J25WVnQh;Jbb z?hFbIqwnSIs8V@@VUuOI)34k!gX!6k5IoP)<%c4tgE*uWl;9lDW}w!W^4yiO;axp@ z+k+G`YK~tz7ruV`wl|nl(AQV2Uc1J;Bq-o?LkQGKP3^sh+{+N+hc|Ovk4BI3Kw5iY z(O@<%TLFQ*3|j>O4F^(1@zBzOvtC}mK6l6^dozJ?E(K!X;3!fVs2@K_zOj>Gk&m!i zLj`{Iu!7`_3&FVTXLd1K60ez~S^-fbgHka}<&)~ner-4J36g4gG~;pWgbZfiWM4SR zpu=efb;i(hf(d#KiwPLbYHa9!l|4=j1OoHL2p%w3=bnwkQhysj+A#})Qu_5eH1d>t zERQ9ifhzo1aWhw1Z{kRaeGmDLCeq}ZbDX}vCu^go+C1)1AVsHFoMWoT0O;c$ZN47<;(KkFnKM&vwtVsXS>dkC^5k(a3E$nTL}0 z|Cd#Q&fux3+HaPPc<(0tJDz(FVpwjBT*sIumRrTBOB@MTPi}?1R)nzrSt)>fa)}6! z|5_1ZG^}1`>e=#r+v>u4X&4c4o4)GGyw$(9TL=1_yxex|h;+Q($&)`mA1V197;iYA z-A%;kBEaRPRX*O0#ps|%x^%quv?%{`9@s0g1a5^4Tr?GdK;JR3L_uCxp7(cl`%(d! zyxCbgK0&)9EjNOf1(j>h>#hbX7L!pAUNvOi=+9s8FD86;k}KVZs6&)Y>0h_9d=7J@ zqY(%ax7-ixj$CvtlYDk=Pz=5Iu4*{>etf@AP$FZB=8;!gxhJml!STyQf8A0R`GO9| zpNoumrLL$Ke6#)Grg8O^pE?&_aQZ3$BA;mFVXXDVizl~FVqJ@o+H+VFHbye zhmt2Q59Z{LAw_jPfT#2O0mOlQEvX9N%24gE#BXKbAgiy)eCGX>L^4Z}X>$Hm07nRy zd+2CTLMR?KS6_GkJszl#v9QhY_o7}&fodSGu6;B=1){{e`r!u zXA@^X)y%RhK)}5Ift4vHm}Ve=9F?&swHTol?jRK*w8WCLgff;u{#EkG@EURxF|>#T3=H|9U&w7!)7@3fylI7+nZKPTqLDOz9@pQ_=EU6_2+L=oR_I0;Ci6Y6a==KMS}DUYVObCknONg*`YLO z7n0(bV7TZzH6`ex&dG0%D0baERsMsI=&^2Ts@ER<)YJ$=i1KR$dng_{L|=Vm)w zJyr>Gb-#r7ws5NBBuFrYBx*BltqP#T!bpk}gBTqve{&$E-1iQkhBCM->Q$^btPfdi z9&udk3emAikEIX_05t_zyof1arrioEEOVD7|GF`_4Lx59Kids+?^-3@#5et|`Te!Y zub}%K@FMdvp*AQ|Qagwq7sXyRVdOa{#T1%VZOi2RQ8s+>C=o)ztHzd=SqNLti>}*8 z^*J6Je7;?4x7#3BsqZou1nTO*7Dx%MQ?HsjejpjUM5Dsw;6fGi{9B!@*ld)3jY>%X zP4*3ep%#T^I;p`bQ75m3$jmGxl)23wxjGy%1!cp5A#_~L|JQT~=3#G&9v#fT&dU4T z$Qw2O?I*Uw+`FuNnkF_k-#=U?6ShAt-DvV`*D9VU;y*FB5g~T_u9$^}*KX90OWs8h zRNXMacN66rwZ!#z0l)#=WAC(`%3{EiF;(y8gT;Le0c`) z0sljM=nl^;5+H*8Zt+K!lzgYr z0nakSh`6qjOzE8}7^4;c3IZ2-D;9GJFw$X8QxwLiP85!+U1kh~1mj{kZIFM1-R!ic zf_i-vV4E%qWFU67=*KJUUx+ffKa0WVZ>L`=lw{HpPe2RbnKY2!4he8TEE^9`UDt_E z!I#g0hD{sHE-D_*EU(96UxpUy90~^a$&4dXM3jlu(R@mgr3T=kMh_y6M~YIYb2gF7 z4j-T7F9#K>7W_n3hsR`rr}fb{`33ijQ0AQ#5;ZrrF{bnA@57(So48r-1EUeoQ`L!E z+j6Yo1d(BmS!0T01+uyt;K(UDH1;NDdHSOtMfDYWz%)nSkL?1vhTLmR|Ju8zreY-veRN6Jco&z z8u{Tt42U7dZ5-NbLF{E@9~2I;F%R3!2LR)}IH;gPD}b4b`Y+sGud1L$ysogCZqcqz zNHmeBLtbiXr*S@<=&?HWE_f+!7>}4(<13Q&2MR_k{NaY+`Nkp%z-0mO&(!tU%I+ZEL6n3t5 z??4>pa4->!XesskRVwrgsmMv5@~AW&H0#R8Ci6X$T_$L(_Q#u+vn=)npvj~NvxYH< z5&4_^CQzwRNV)nb@#{D3`B*WcC55qUvseYVy8S1lNKtk-TOZD-GW^GWl zHoU}UhmhOR#U7R7cSX13&%wQT7!pG5z3Ei`G210}`a1kKjYdLrQK$dI4HQz&F`c^G zywrTC{F9RKUtg}WMs$~khr3T)*XwR$nOF>K+w1K|NIgG%NjiaE8z%!~4L;(*dvuGu z8|R}!rz8;lZZ;)QX_gsE47LIL)q|y1df}f<`e(kdxe*b)e^9LSn2Lu@z=?l znX!%4+M{XGqLZgT-NPYvcf)6Gk5P8555YWMFKKWrE$8V?e{HW0Pb=5jo=1Vgk9#Yx zyR02-0yFoWpx73g?**eYJFvVADj zJAL+XSpcQIY;}J}rqmX=RzLCT^p2Q-%{gLLBKFpHruTu_vxY?y4i zyA!i&e>V+04F89_djT1kUG{-$l9y2$upC5%N6MOy+=(Yi0fR}ggQ)N=;N zqf3xWauN>8T~<_!k;x>u@z6f?4KGT7O#J9)WyTvQ?7P*=k16RXk65sh#5**c=5nW)Y#5Wt09ndrPN^? z5^H|1(4darlQ*z0F$;sG>7yVhx)v5Tuc?Gg8Bo%ViAwG`MNHOa-yPTr-Htk|m9{)~Qt#zZ?b)6#>%_U)6|%vo!?RVl7R%F4 z4Xa87-ZOu>As6N}nv);)Z>2WYn8nDMRQX`VFb9cGN5K8{E6^k$ZXO^umlB0GHk&m#`%LCn#HF7G%ivutfTd9)^YS(TaY&|7ffbv5U&$&FPW_(>`d|x$RZ`gay#&qa% zRrx3fWZHBn_~w|#M&0Kf$NLCIV0Z9_FPZ#1lgIxh=Daa4|htkZSCs0uDU!5-L`lw7nKv3sA`0KAX{$U8!C5G9=%_w(Q0!$+)H+D$cztb`V&|lB5Ta2!1Cj?AR6s~@}foy3gU{c|K4X@e*jje(jb-{aG#|oYfdz=O7 z>$gQ&9s{iHPvIjjW&a{X?gu~Hb=+4o{F^EcSQr?j~DB!VLd_{LU#u|tFuQj!d^XN?y2o}?h_Z89X>0F zzBgJ$6C1peI+>_rBB{J~$dnNbRrM+Bno!0rx0%R$| zJ`jy*$`1y>K_EmJrep8JVyTm{>H2wb+Tl8Xt4>?$2b{7?{GvmH?Syf3G6W`odPk47 zHIM^yxNM5={Z>bhF@fX)+#5&NXJV)1bBu zC?}tj%a1*o@HC@z zrTk{y72{}V%>ZT)>`^O8jfldYVu`DyhD$+bd~CV;P9&FOQcoAT3LP8)Gj6s}LXc7v zn39OvgDTI^`E0$f(T739ONYm{2s@^Hl(p=m^B5A=uOh*#6Tz{XSqIKqnk`OVmLtXy zk`@;_5tHUROBh#j;Zmp+lY@544)jYAnP{nWER>MG`xn26z*q(YgQi8*`JbQjR(noB z>*fqw)UQnqzkj#p!(#rPWnr6{xx{!%rsy*Q{&&nhv9STea3#}~&CM6SuRG4Kt~Lvt zwcgHTy^L;eJC?4^5eU^Hk-n+yPK0xpU!VD0HES8MJ9`c35XUvNS)JNcrau1DdVJlY zz6!zLw%lmkxwdn=&m?}it8m+A+Bl!z2EN`D4t($5cUrGW!DcmB( zB7GKHKWlK+7j*hpFHyALBb;>Fbk+!X=^$_SMamao@qYaDmicO4ty@HV&SZU!ONEG~ zM~a{!_ujP^t456$ZaoKN_wB;v=J=M=j#?Stsm$=x%{PK1vhKtz;?aZfG8y0M$=7K? zw%U!SXDqH5SKpHg_0;EXyQiZ4u9b}||AC{!#i!x37b9}t>2Z-EZ@`rJQwxm-7z?p2!I)FJ%e$jiG3)m^b}P0%eM|rRrbrM zAUQg;$x^AWM4wk@s^t{NMH!bHElHVG#kciSWrEj>l?ul5VCe94kG@}x9YIQCvyg;8 zlE2){lwvIkm?DJ0#qU~+a1LydvP@Cfpq^i?ljNU(eGxarPqHNp`WhYYK@76JfEWD zlkwPVLxZrzQOD`#%NBnXTDGi_eFzzdCjIgs(kqp%Fa}NuN}yOyQaz_^r=?uV(9_aU z;esn(X_cBqLt^<~mqNXAB!XFI9Zlzi=!24^5j;mz2!6mDksM;2?6x8M^nHIp@lDzu z!ce>R=`J(!3M3Pn20{6NkP^!vvzegon90S@utbH)XfmE$q^zbCM8!%zYNTh+$pP(hetRU;umiu6h&pvQ+m02z$Bu{31u&|j zQ0k~+)79lahCewCm~Qw7C*$WWHU8FK=)wzibTrnJY08yCLKhQ+3ly*&#+8etNO7%Li;L28^LQUkrV!qB(SJ+=eM3jO zyJK_zC@L%4E&u+;O9Xblj#ONQ0L+wsqz(toe!M_Z9G$}Z-zLm-4|Q{Ki3){MUX-9J z+~2I6dD)*y?A#&N_R>-IPuX*3`npZGWI^z|3+rAgeP7F#Dg;hSD?Kh|D+v-JFed_b85QgLUelfWVd0Dx|DiwW{H1B`t}-2{!U zW@<&0dB@c`#gs>5GkPe!EcGGshSkU@9koUFlok7O|qd<0Yq;5^DQud$#e{fR3WI~1?8I*w87UH*E! zW*3ENKO-i6(J(_bA`c-hcg1KwQXt}QoODIXDcScBL`2i$_lmd(dg?e1`bC;)3>P~t9X{k@=gDz8<+7j>*2>ok zj+pb8f3dEq%b+o*dLPZH7_YgHwoE*Sf-m*>`5~`aH*3u0YPD9qmR>DHWtI}zNpwYB zzV}V@l5|7rjU!dNvlA zAN!Gc3=XqPFh~(uZbWso)lurC!pTQl^J-+o^Dr?A+DRB&u%CV#9ZMVitGM}syxTt8 zCG&@_d(xfD>46&0o`LRTaH75GM`Yt~%E%nlKnp+g`=FZi6`SBD5Bk1e)SV?`w!IH; zl6<*+dmyFNCXXzBX{oSSVtlZ#+v207%lf0a#d*4D%zeEG`(V$wz=4t>2O8&Ndy2mH z{{}T=D8g$t034geD#{5xN%n9`5~0@f5@qlGoDgzuYqNvqenUKQg9R>}wA3z85H!QO zn;ivi4EgWAsBXIx{ruKt)= z5AIX;Ief{Oqvl}|TH>ZnGkkoI-%rwtCizR6VMJo4XC%<#w)386?YFCgJGkDaGUM;h zEl1Y*<{t+=C#8msHrh7r7FWY`!j20s11^mR#J}*;gOw z&kpZ_*S2Pc)*J)Pc3E z_n`j9Rc|vPOeH=COtqizV<4Xy0IrzEWD3iOS|IMXep6%qI*+AARU1X&V5kgcwacjL zj+()M%(cCS7BxJ|FnkI!_XXAJ?q)x>G-6(~qZJX*eC8yf?R}Cod$bJouk0{A3glRJ zV#@v$4;N9?tylB2wZJb;FyMq;d7JCL`>GbW1ePyOkr*W3ErX0fjERrLiZv-{gBtQ4 zSf95d^kHR&EW|S8x!&RpfG2uR*RLgv%Idm-Qpe33#6{LZ{#$;?D^U#Qe&fT(FX(4c;*65bbFqUd|LDY9p!W7`seq;PRKZ}lfZK5g zxl|`^`E6RgdhIl)tHAZ~U}1IMr%BHF>nXf=2OB4d;#%Ya564ay9@9YbLXEaaP=HJ= zI)zReK>2Vsl&z`#Am=vtYSeHHG7ku&e|L7n@@ZmGPrN&jjz_9gy&Q)mf{=rdUH^Rj zHv5~k$VMdD)ELAGSq<`y+vt~57bNVX%t~(@_ux|G$4PFJbb3S_!1y~CL!zYOxEw&- zoQ7gu+XtzBQwl&dq)wY9fN!F(pkP`@C#VL=AH)zQDH;D|qJ1C?6=qWnQZi;5&fU0D zP&5es=xtrey;vsX2Dp?O*SD4gP=mRHsTgv_GNe^6vqezbBNLV1^ZDE1iD34wyQ5qq zrRXBVceztJzPSs?k)z-E@tT;1%#4CHl>!nYX#O>wv zrTd{!q_gsA*-7O3vys7L`RCSu5#&vl*Z!`rB4_Z(m5(P2A2x1ZZf&g=F76N;L^6A< zqFWygq|IVjy~bB6h3-#99{$UMT=jMr;z`DKu@fLzjL;In*`?5Cd*1jr!oDo#hiAwf)ulhVJnH+{ek`#eZY%kAM8)5OZlr`IzbM-V*p#OL#J)ZjTl$z4Y&Zkx<%Ag@r4x%VE zxg7dXoiVj>c7R(^8FJz*+%m5rby^U%BylVNy%tZAK{7Bnmxi1QHM0F6ASW(fC(?nV zf~UV4w_tkWT_!6pc6L%9Eaiw^%65^7watEuu0o$4orI5%|MFypPN__JfC0co?L^j& z8vSVD5$BZ#p29au?_+3GSWS_nzRpbXj+V^ipjzZcWSR6xdj}JJOIkRlZ@SYH&V%nw zfi&L=ts9a9M~j^^=p;>)!pYpvw(}L@1AfzYXP*~fss2zKh+>qcGP@BLP0(1zh}R%O zV*I=x65+pCNF2=l^~%}+oZ*P3<)%EyuAQXwkxKy;CK|6A@r^Bb`u0JhJKOSSswb_N z@q+H5qPa68SR--sqZA0$#p1tQfI|PqvmP~8%+_Q%t$Dg7fsM0~-+aP~MKy&s{l>w*&}n}#s}uD(pJ-`PihCA`H1#2}btC?( z%oIKC=DRp@Ld?$)b)mb?w$c$g4Wty>=5(P>r$V36dhy*fM9JE{6QiFlZfL(hjkLGz z?lIr=PvR$Jwk_~bmoy~Van1UmdrKQ8)F;*~Y~21HftRZ`6n6j4uVbg|&fDO&6r(Q* z%H>!mSaV%iSSfNNzY%$cw!KUm&s_8yY~01!WbR~oCkyVCBnzC`iQHA6&EmNH=TCl% zr%sc?@uufT)|Tg^jYu87yZ9n4Els6bCt-UfXsF|G-qfEil$hvwDOca4)5p`6v)l-l z=KWM_kGAzBk!w|pxr2u17ZF2;r3xeWnOfHqg74-0_DdBD+u_777Zpr5M(3%?9ib~}6?HW@oxSPTi) znlX<(=k7|neaK^TJXA`X($mKok_HN zB)@%`)~jf|D`d6huW>!zsB`$oTeUO1akpoFLhhC?DC~8fu|Vp6DJ_o2hx2aMf#Mf~ z;J8M1gHqs2SK-Kp8|23Yk+P%AW>;ZJSQ02=x|W(sOz+z-(Rr9>icZeZvh2TnHZDZs z)@o|iQ8mXmu!;L;mzndHg5+1ju~z^0+4WUM#LH#nS5QpT+F@Hi2IJ9uowP#sM9e>$ zl%P&_b^+`XREA$13K`OH*CgoXsg7lNP&xou4NhV7*fWP7Ju#9QX_y^`$|gSw2ggKIyUKH* z`*~nKI!oKgph79rmN_+mbo5}CvjMV}R6;1lR;+^?VJ4+umQHm*#6tL#bZUVV9F|HS zXQhUJhKKgtX4V zmPsb`F-CUA1`_~)g5{yjFbj-RiaX3%>OP31h88A2Jh@6;E{hxVrVFTtSf_*B#m6W? zKVq!A|Nk-djnS1v-L@yTjqcdC)v=v))JX>?wr$(CZFOv(q+?qh+j_b8-S54-f1FXH z&c7P9XYIAt1iL}f_svAtK`Y1y16CH6vUH1-ED8)hBMD%LyPb$2EoHM}rgo z6}AgIs>|NtLQn3h+O^7Pj_Cn9pX~hJXmpTH1|9Eyi07c zvn8k{?JWM2~e`OWiBg+M?>Q?R6%32#Q3q=@zXKpnvXL!Htcoa zxz7%)WGvLfrh!Iyz+ImU3z2l?)$o+&Ojr3~4Ta3bMmEEBO8+kDU9Ysb@c*toW$s#) zeA=mJ(_i<6uAA%N~l3fXD9;VAF#p@P>axnV4fj0_d4 zitqEc5e3|~I&1FFU-r~)BcIO=w>1J^$l>d|g3!|9b>yjNTm91S`?-zdvtL}ByY9F* zGOqb$)4oR((sSJ-aIfm?GjV6S`DE*omE~UWpxfl@b@B%?i}&ux*WHZQqJS>-g;h1z zmH+hoa|eIjegyOtMDFYwTLN&=eO~l^yjj}teGi?U%vihLOO?0zd>uJEsPTFu`ugjr z=4~?fn@17mAxw`0b@#`;Z4Wj;rposaBA0)xL;pGDNVneW)RPNqS76$AY9Z^f``-5* zY5ke%vh%s+mc8Sa2Zj>n(+%F>WkILsIwD*DX-#JlpLie6!|}-K^>3>U0#g@o2`9Ft zwDHvZ^&mfU1h93h>1)p&n+Yp~yDeQK$X4h)#|BaNQ2*$o5mbltxXvi*8ynmD_00FK zS+4jW{LCgxc0;l}2SmP-hg9q3mi5ia{&lLHw9tWRd4uz^FEieC@Z3PE2DZn3B ztgf2XL#H+^9c<99PRxBJfXa3Z(U=_vLWyFRM}1(gwh zvo=Sx(sAOkN74+r`^27o;~y5S+EcTC?#KcTn{Yokr%2TY$;~NGaheKE2NDiF#E(<4 zBR;x=+mpYXj$&)JQc^E-ZKyLt_ssFR{jV4vV z>E-Ffthl`N{C)itg}gL<>cT4~+GlBBmJN#qwK*5%XbW0HGqI#*`5BZ^+;~(G05s=1 zr&b^s1WhKHe&hI(tK}IuOu4Jar~7B9A)ywybO%mtZk#g|EncLghmW>ZN69osR89>z zS;F>;^~^EFr%PE?Snyulhng10;IbcOB|i4K_cW*ZHE{jZ6Wp9%;2FN6r{R!?jeW-` z`wyUmCTfgW5*=hAnFS&P&U(Jg?{I^b)x?u^9?@71=;zG!Fb}#OzkiSBTt!~Kxfz!f zx~YeNLDqHK*&MNYEcg8Jx_$AQa@lR`eiS3j@LQWQ+ zvBZo-uMvW`srsJif7Q4$;#YjPGU1y`}H_QEmJF;o1eX zU!N||H(QyR&brd7OG^$Tz2~bDuC7^DZP0)Kg%TJ-VDYt+JeXeB>A!80)K?THQ-JKW z*GbF(3<|_wemz?dm%E3;;z(iwgCiSS^CLMRm&qkPi%CO*j9KTL z1esi^UQGo4!9U%hCIk2P;J!GUIgk>*m`MhhdJ1jP=P4tN1lb~w76EiVFr%Y4x}D2y zNflMiH*(WG5$j;`!Dg%t4@fsq@P ztXxChLIwKE&p!_*;I>Mm|A*F;{W3wwZ9Vsk0qD0y3>-1YLdij_r5wSL?vkn)k`-tu zX`zr9IAs$opW617?etrQK2Od{5SLB%uH7Z0ieq?s(9>bc8d@d}U-G~V^=OhWLG92( z7&~q3XLFZc-=tt$050*-YCKqgN(>1ndb?d0*fQ7ss3B-nW|53BT$a={Lku@bZg5qV zj7^=4%?7f$9#x0BTu8G`I6*cVf(i-)gU@A?2U;ZBv~4mf$zdvEwkU&?0y+40sH{Oc ziQRfv#@n#VqAFCwV7=3KJ`u_DH#6~3CT(%FOa%?OmhWhwJ0rLl^Eaq+_qFPl$6Z;* z^{z{kX`gG;ZhJeQKMrRfo?H@^2L`_{gK;9#%pc^sg<8L8md!IV8|c6QNK&X#1dK!Pop_xEw*%k!|NIU)EzXeV{XZoG4s%VVyjG%|aeG~1);)D<>N?#dh9V2m zGcx8hlIuF%cOTE34Uy1VldRZSLu;p!~;^D6IoxU+$1Q2gM^qty5pn6@8Hfxu( zZr#LaeKZRdIFuDdnXh87o(b=mAT#r0++r=scdm5LfjknGsxSR%unT}UqJ`qM!i#9 zA5#b#pHF05+4Y*Q5JI;JntHHBp*5eq-z0O5Dc;g}j_65s@Yz=bf^;fDa$=pXCE0gx z5DIv}8M-x`9M_stlzqtM+Y_iG`ZG!}FQVVb{#8oJgr}4^K?Nv{X0XsE%<)^30)N@S z+5JbC$?4{s+ZEd7X#uw>f`xJEo^|qTezNQWzx7NHItqt-J>eshyY!Wu9TdDTqR6==BBt1{)TAPteJ zUw;2C7g};v$*+h8vR$Y{L9&+7AWjBpeGCJC-acQNsxCa7O*Y9Jc${f=FnB)JDTY`} zD`e8N$mQ@n2^&`!@-|vTG{OJUU~7>VXxV_nBc_L*kYoK-=!tnR;oUb|_b+)bXl{=Z zNVlWTT%H*%eBzzxoS}?>*G~G>-av>g=w>J>?WD`$JPFTjnj=z?0##(C#u~i+n(wEK zJ*$K&Obbo@{E$-5=^rQ^9)v2=pTk`jk@zo9%qov_QXEtyZ%LveES#?8?dMn&J&mzg zmYGZpa?){Pif0)xozspN6}}>O7K-tt+{`oNAy|gJI*TwkSw@@`+eSqdPUlun(5pQ| z5~;yg^kTaYGt5dx-xijDW`%%64aCdDi&}t{N&Yt<_f2^QC2)uovi2TeA5(k;!G<=c zu`I=xbe?s)$#)b+jqebFXE7*2o&eENa8_Gn!DCOZNXu5;jg==mjqqNuH7%h&*}$^1 zTt+i4=;1g#sg6}~-Kl!Hp^IQ3gN0EOX@We~#kzl5wWK8-Ri?-6DN5#_ipp}E z`>M(Lskw>OmllB|%g3sM9KVX=_Ix~OzPT%{mD$e*{q2fBEZW^iHMP=HR2!|C9)H|% zziza@X11a&8_;C)d?fAaxq7XaVd4?_XW-01D0Bk2zASHa}YNI`>L*9B1Tn`R~lArVoau+isjcPcq(Hx1Jsv9kOmg zTwd3~J@<~bI&W{zpH9;om8L4MhtMVwrmjP(F#u+_HZ zkBI}<_xmp;|541+`>dk=0*s$P>e(Pu=S~E)u;AMFt%?4 z?BISI({3{tdrKP#bp*)cO#rKGVB4KIU-y0KCC_f|YXX;^%g7dgmDtV@llPvl$JqX5 zjgIez4&&$WtDt`8NAc^IGi>YT)u{c_mX=gD)m-B~6xwyCd9>pc$jUeSZgFPj`aLiM zeV#qC=)i)MMG63}gC2t3w+&`%FgHp3FU1HIlBCREUBsed6{v-4AQqyvA{Y=))Av1n?Q+A^A2xfLV9nKDJ^Gll0;=Cb2R|#wl8>- zxKu_AGu;s?zKmVHES?yZ4+u^8!!9t`@H(J?Tc^|uM z@{rbzT4k+`i690ZOSU2`*$>NjXn=ZJ6G-5!vcOt-?ad6(*Iq!6i#nr10lMhHT@sMbt24c;@>fKQMb(t;iU zw(nM-gzbp2e?ksIwe=>zn}b7+7Z@nP zPN5-?`#FT9H|1*sCy5PVvw~-n1FNu4&C}_C%7x3T8-4yXs5Bx#{fGT9j>>WqJ17}w z=0bWsTP5aDdW0k#fyZSu9#)mI^7sr(qqy+-X3yPxN7n3pUUjW_3y`@IBEyPAgENa` zOrCM$PiO9eS;tyUOmXyVjb=GIA_5n=cd&aHF>-mfT&@r(jIzy6f0v6t`w8z$AF%`< zHf^T~r9^HnY&9ZH9=mI)x(;JE*RLnX9x4R2wdX%|9mH+xvvm0GmE;3v?T-rJF)MoQ@ZWW-cnM#4F4@rd2rdF7a>r)Sx=r*quzcRqUo8(KWzdv!n292I!~ zXZe(|V8nY~bic~#zo~F!$1E-hU56`1Nffqr9)NCdZ+VWu9zpF5)H5&Hs;juMMo~cQ zAJh}y1*+gT_jU?%x0ccKbW${@gV1ejrJrV|ZL?fauJideUvm<K#o~`sZ9lGJKi7Rf zP<9BGdOk}SeD7Y$K&gUu=dp|%*X6e4fKr>6!SSBw=Ffv-VdaO&6M~-4*R2f12Yp^w zhYK2?^Uh}y8y8Z$ZUYpTop9X~Dg^?TwtG`c_1kkMskN+P>ynBWH+X%QH)cBp$~_c7 zcJng~N`QY{{@Bg2#B3Y8+oiV!`Vs6F2D}x85^96#W(9e3d7~jXt5Da@{4(1}fbSX8K(A(}$C!_PmNn{l`w*_;(WZM@8=QCJJq zLnTZ>w^G{4n6mq6hp7aL)w<1T@?f&I5JW&w`P+(qQC(=m1b-kReOp?@M=FWzy4! zFOqQZjBJt-z^e!QQW-~0lDMNo1U1;+vNRz@x*hHrS>D2xPtUOh_ym zi%WDBBoO5Yr_nKl)VQ&V@!GbF458>sth2XhRUp&fS5?Ux0*bR8l04ij)K#0!!()3;UQBf z94asOKiLI=x*6jw6)Yac#Y(Ic9XaGJK z(#vmZrxi7)+VY~Xfqi-OcS!7gawSiQ$?QQMDn&5sWP zgffM%@M*nEylnp4x8&2UFJ}~?7v&nFj%x^_Ki65olD5y&zVBIFJ!cf3*Uf>yg|mjg zYNGDb59PtT5}|irTW~)eln)5Ny3-nH+4;cs?U2ni_c#Lh_C`>fA&_#sB=i_6iDUno zUu*T1C};Eh@}%kW@J*=uEn3m%&h|pE;3%V%Pa)EGXsl z->}f@gd>VWVuz5!``VkFj?l}H;^zgk&cGB#+=R?ew$S}`TXe$U>& zEZn`7IKTgMq@=t{`|!&lo>D%MEo{X>Rh^FRl(ky@pFc+7fpT(!a_)+VS_UtV+hzHA z1P$s?L0Uaos84<>JyNblP_##9X9J6tEjwNk5+XM#Tb(^ID-}x_ZyZe}3jpHy?C^`k zpv;LA4sy5E9?WnoOaL2)pGk-CkPWagc}8G2ZW`ig_97+scO1?$9zX% zT5h(q?^BZ`xW6%T@<1mbr45-%Z7b7$Uf5R=Q#@!0YUA8m|J*Ba*$H^EtM-RTcbkkyVZrJ>NsPy+?hRVJj#b+$Jz z9Ck0@T5lRea4N2>4x%x<4jI5Ax1(pW*OVLN8HRm)X|NsO7sg48^Gmg-?_Ld6ak>cM zeV>+>6i={PxYd+aa)}<`$I!$irsU|4j-6(a2do6Ryl*RUYbVP09QMBpcoTkUn7i_$ zm+l7xdB3%S-x+tdG&w#RFmKJPTb;O|e2to2&%3Ed+FBeM&Ox~>Lb-Z7bM$-CDg6)L z3YwvH|LMB&b6=`*2)LgV-7?xvJy%woh!VZT^{R|(1%(l^VW@x63lzu^{38l*kwZ5- zBwaN4p?$AD=9WH|4a}#&{;Mt0vcK)JIDDhO>H4yx$p1ET`l;4BxH1#%`_gJUR!ije zX|3bg_PQw4{<=uz<`p|BWYjtl`mrBNq}M8N-?7%fv^!JVwfFh4N@kNO0VDJ=7D(i) z%U~;L^5n%r=8^~cB#Fgl}E7I*X5Ksfi;`+2Q6_^LY zsyU_-;>s)1@kZfb{N$qIILgvuPL7LgFqLNqRRXk#%iss_+BuC^0BqI}!clnQ)9|LG z^F(&)7E$=%?l`5E!g(L)NQdbH{%Z3M8qyWz0UT#(TH@?nNki#qqw@yDK)>&v#A|X~ z#l0Z0vqd<0Q-a(z>sF^(t>v?U;FCruvp_tIdLvXIDKY46slXzW>>M}@M06gMJJda8 z%i$0)2GS;wpxFWUb$80CyH2q-*&=@?&Kc`QmpUg72E@x$oGx%w>Pr1U$=24#lQ&`& zA`Tc{wu&lEsHPTWf}CcQD9@ZHN2{aSWP{ZdFu54dKCs~E{#-sT9MRB_P_Idz_fKoY z$7MtvwM0baOsmJm$b*K`dL3Vu^HbOdwg0G=8`I)srLJ=J&gEz`g$G4YD`BeLfgPwl zXMM$Amt+~StNQV$(+NDjbbWIi&~p?GW4wnB3_!`wB4@>fKrQ`4Yq$_tE|R|*qF>fO z>W;JQj?;-S9J646Iw#?PLC_q~wr?00rosWY06i`(7gi-8L`-QBSY!I#gAGHbKQW2w zUSdwJanX4;2$vw9Tubwme-^!4vLtW*(1#5pt8l0HKGcHnbhskKNYsEfWR<{7SxI%e zI9e|ldGf&N(C2lQf#}a}1x}(k!Wm=xI;E#@QG!EASddb~Z3U_d5&W2Pi@I8h=cN?| zu>B~eI{3M!HWwp>o^(sl%SPXk_j@)5qe$ZzM5etUis#;cb1nY+$LmpvZRDaL@_|F% zm~`zdb{Kc-ar3d+q%!+)kUv|al8#PYJzeX{q-P67aGyR_E8ruZyCuu_LdfTJ>$4xK z*5~7GV994cC0fYs^Vn$Od8ab(dA%(vhDa=I)N?BWVv6U>vSEv05WyuiaHo?j08Axl zoBECy?8V-}!}`6R>*U|Rry3ElspUkYN`~03KLOjKO1RQMP>G>fi4+SB`tqub1<-&) z3CWGZ3Y$o+!FZ5Zl2YdHqDVBXrF?tcB2qNy_^CpS-cLruns`jaoKmVeeN>5+1u$&T zB!ViReNwL6Cy(vCf7I(v;sY0L^my{fJZ3IOU_0f;xBRFK6+5HMtqUq68Wo4dbo7V6DVm7c^O9 zE%)27qy%VXpstQ3Y@Q;taWef?M|*e6tvwhcvZY0QnKe^NPQq^92VQ#W2awBd?9(1r zVK3vZ&f9Ms&mU0kJe>@WyWuxN(h0ODIkBggq1 z5mKS~a6BBl9JmPy1wAYd?mSe}(^X+ea9I+eClGOYz@vUfV=jht#Nh{GG15dj4hM@e z7CXp9Xf3vYQL-&KxX1%oWWnz@z06AlIs6Bu5^xvB2JhkR0MFZm82K?Qi{(T=v~HS& z*l9s@k1#+fkTHoQM0iB{GLV%6a1^oq8YPSmYs?dwW@2q+0;z`^AJA zOuHbTU~!TmBiD|jltdi5KDpx5UF2RUeb9Q*z~p^#iL&v*gY2kQt?B#BSZOJxz*7v0 zLngIRotYkRH@)T0Pop8V2sEiXR zd%6y-eKEDS;`t=<^?G9x{A#-&P4~P}9p?O@;OIl%LO_u|-Qs+CMqP z)8l!`Pd}{9ue{^kLpZ3dp{eMEM))QOTt+Ve#Af;B=-|H{@l}8on$sN zBvr9{5Hq&GD`7n z=tdocox}imjkK0J9&xL^N$F1MSYv*u+u2$!?bqksAUSDP(sUy_a26hns@Tc^aHPn} zHq_Oz6nA4ChNFlaVJ6Mv2TAO}`{*Lx8clm=Ry>YmvQrqwWyu|hTk=GQnP2K0hLo^y zXjl{|&{LlBDqKj0P|;Tkk-a2wG+cA}>L%Mc@oOpIa$0DrW<+5l0HCYP-tJ50j9kle{*a5bXO`xI3y6T_XfD85nvz zHWc58`-vme1g#P!6kZ};JWC%N%wb%T#)x_qsc200FP-WP-LoqbMTbC(0a^BFxD~=& zJS9rw8C)_5s|*URFBX7wwL(VUFxUY=91M-<%Qc%^(el)ug?g?RCnp_KeQv)*Ic?%F z(So70a?Hc3LB{S3U}oqrwl0Q1rf4ASFGoy~<~mQ;&INeYt>oY+F_J0~Au=H{fr}RB zz?V7z&!CqV+{?e}X7>ECpwjKge9JS36+Y@dJ-(X$|6eLzUZ1ddD{vA{wp$;{kT11C z^Lmw~>ceZI@=*V~&lX`e?>jl`B-8nsz$?|`S&!H8Y$;QV?4rg=bMj%OKJRrhQ})y5 zcO6N|kw-%HjVyabAde}Beg4&E2d4OfTryYjA}GR>9T(B%LOV}f`_bKfb@Y#6Q3{sU z)II@0n>@Qqk(>-M)~pz9+E|?hZ3fwqnMGsWo<<4>2^Jd!i$9#4*r1byA7>*bNtM;& z_}-Osh|xKgcZ+Uu(TRw^`U+&mXjF8XRBN_u<;0ZN_$Q&&MBwYPPEI+eSqZdd@SCK@ zYM2|PFqx^U^^i?qdPPM8*%59xac`VDR#JGpDbG(hIX2toz6K8b%o%Nt8i^5! z_uz)y$?ApvZ6CY9UIE2mqe)UVIe=!{udPRLsM+)fWZZc*)kS+URdr`I4|+^?%@Cj3 ztIcrftulJg$UwuTx4$}? zF`|?w@42|uB_4!{IAsf|oq;Boh-E?+dX|5uBjgCG$W#C|wEB>-O7+mbL8-(7ci`a> z;k}tIR-$xzA{i8MgbQM^wSsy^iN6%7%9y;0GS&j6NppYJQM-SzK|L}}GU6q-WzH~r zwEe$GgQ)~LPD;!25J!?HV&RtiEILr5S8AH7KzKbamr6bWTv%d^y_}a!3C~TbKr^CV zO}Rw1a)c6YsPhzs!%g<|9r#D8-HyN7;oCGKKgR7|MdP!8Us$&18R&m~JjFWSU2Q&o z5&alJA*RKT5EcWj4hz4||J{Y+Q>?B*>%he*{@0Z|NF_`E6sdpRl-jwQ;E2t5e#UTq zruT9;gwwNYuKzq6?)wsI>#G=3{Y4WS^GmCs+&zOWSsiVf&8H(w&f&rr1ZS96n88hZRnjAemUNI?RI0RQILXREXzrUEfbcDfZa%>6E}Wl!SHd$ znJ-$kgT5sfHknsJYmFXC8pj4u2$$y><|n-4UsKC0GOn<~ zqg8^!9QZLTw6Q8igH(M{NWv;=DbW zEn!E-Q6NtQFE=+e`^(TZfLGO)IBd$OsRWT&n z<@}ZoT!39e3tFie9c4f8;FU4oFG=^>-=6q|qMb&P8J|HyF{UL4_FyN@$p!i+X`g~{ z8I`wEqCCPPuIhFtz~KJfgJ_x0Z;S_(Pv{>Rw_q3h*5%`%`r+C<4vV4xvj)Ab-Z4C@ zEwCU33%s`Ga*RjbkSD{PMa5Dds^meYPuOsjmM1e$n8kpITYR=88rgPUOztOJDXB86 z5~f|Xae}xiXCVeb`;6ed#~F2O>43##MmXFVz?K;1{yUylBc*J`59Tk1iy5+(z5DW8-O;De!{)wL!dd4H-_h%Z^JAEs5l{n&RRMo176&QZAYGt?Nz+nh z)4VD-D-mc;HK)Lr-txj%WWq!-C&8K?b;4=c@`tB_$DbYmS@A~+0-odGYB=m_XY=y4 z>B>zDE)OvKM_O$LRYZHLU}Hew*I@fm&Rm}{t$6JsOLR@Z`tO-w&VSbCOO;WO z&Eqe>Vu^Ki9*NPq3Cc#rGUvCAy!pYK2z1hoCL1Z$k2BN;Ud!iqm$Rc;bIl73fsRp# z8>nC#;#niQ?RdyR2Hi=xy^NZaUZztcdnT@A9Lv##>u)a*Wnp3bHcwf#2r6pqe!R7` zKf43Mnjj&0|yTY zq0d%ac$jmcjvR7yRX~Z==+PXxKWNdA^xF}Elj%j9iqlJBbyX%JCWePK2-DI|%*Kc6 zfA5lu%EreAGd=T($du{L1Hjb@bFV9x{%yRE`{!)KcPCTp_}9@-B*eIm3`4qvm{oEr z;6~xfA+}xT>U{&$*zm?ZXs}cOEj_>Qllb(;een!r3hSl+BSQMrHT=&#ofy1toufr5*Mv{~of!@3WiMcm2O@(noy!I0FW6!jvn!4fJWIHW zOghqHbYOGLP!=i85#M``kSyL#M;|Tb*;do<^oF?gK zkzSRuTVFksTB1P=W+%oRW(WVbNw-?XqQ5|n?3JNfLS}}sYC>Up&TY3@8ZpwmfeJ`r z@G^=MdWshI;W6<*JSbT3w%=7KyY`U@lbYGL;0Z}Nh7dmq`{?PK>+!OAp8LE%hqL+R zqV)lytNm3Vr!C12)4)ACzPA@RF)`uOU`{)mYovQx9UJ7LESU>2JrQ@(CUaqulqD;I zSKAfU9FrtACLDxiF))wn#H1`C&A@TKSy(lhy1G{m>3X^T%VmQ-*#}>of z&$H`a;phx~CNHCk*GZvkZja;L!;nVnQ6SKj0JJ9{oJ$8awM{dB6U%~6~4eN2#g<4hJQ**<;l z)f5{{s%`e7BN}~173o^NTpAqn|7^(r+L^a| zWG=}Hv$iAaMdtM8RS*Am++nLTO2|p~)V^z;dilK-pWGVxyc7AH?Kiy&eYU24lyI5< z*Jl24=wwJNB@@QCw2+KniHY=WxD1UU9u}#0W5W2cw#D~4+m%mt`g$t+2u0A|?KHW= z^_Kwe$RAU@{IN2y74w;k*!y)Jvp^*aWNCKKt?CQ{*xaVq-<&wzrV&Arkg9ns5`PKF z&E$3{){jemZ6`bKZTNsgO|hkQsqG#`v^cr#YA4q`XE%-QU6_Illr zy!@q`t(mCSBF`-I_PU|H*(#<3 zxMG&6QkftwajjycV+7A?IK*vUXC{^iYoZZKb{G$#5cpU~AQhgq+a~RbX;T(b2aAD5 z0wNSV`V|&PD;*}ov`aoOy@rG;HVIy*16O;6o<^L*s#1bgUMNu(Mu|>Biis2v?DiJ| zi&Zik*IpnhwNSBABegQ@WPsvC=`idfY^)GX%jrB@oRMP@7R3>PiW=PsFjR%V?DX^d z$W1RuW9}+x^<3O_y(yEmVV-sMz{Qg%s+bqS;+}fOvI{#1Jq%(e=;xym4Mi^~?InYn zCWrqTS1Nr%)QL{GYaSOG&(q_epnhR|jnis$;6V9jyLy{`IRSlfDhR zZJ~hhT2^eTZ~eE|jA}gzjRu_Bq>?fDfv~HC4bz<0rxC@=9Dc`&t*(?yL5~i#!h7r1 z*+QfG)eY^KXE%J^;ettn#kp8AXBH%i0P1$DHQZFZ0gt_B<^}W`Y|XyOc@@XDU@Z#` zIqP06PR43ZSqo?Y*Cy;=a8T{iT^0K?lt*vUWBI*=w=uc_Njg>&pYRnpXV6(&1 znMi0U<1ZOlgqSJ86o;$z>+u}CU(;bK-c|L^?MZ76uSTJr-LF@@T`?M<8S?WL-DV>5 z+|T**)?aQKj2$7<8@xZ8K^>{@D??Yq$=Rn}2RJ?-+tEVa7M>YsM)!RI6_Huk`$}^< z&-;7&&+Up^+Js$iyN5e#8YMMzg$F-It4K3Q7CBdKucvYojyda5G>=6vA-_uGQG!kiHNlPZTSi1V@L8+<=$N(AP48QUH{MH zODof3{9n(9H*yD~1qzxxm{wqTdNe7T@&E%ck%^tq824ELuNCL9)=Yofu5!I&9N$u% zbGJ+*@PZT!oMIh~bg;(V7JH7G7A|8OV^i^d1MBYGX>Ox~jyNxp`tbQJAP<@?&Bzo4 z)o-R=9g5>IR0SF77m>*+9y-?f09yb}KS*)d8%?Ahz$u%sg##-*)~a~5ZqVgsgSTE z#!7CF6@~8XWq~b&Q7nx_AtY`(p=4Gg< zlPJlfHuK~`ESelg83|#QnGrNAZNn;w6Ij5znqymG7yZ#x5+^AyCI?KB8V3b-EJu^) zl~@buRda=gRu0|N5e=8{ZSUSaJ)Ex+e$QTae<V_Cy{fRL&HrWjCfR+p6067m zM{q>E3fZPqUAuNE)nuVc(4ms=``s!hDhhoY|HbTli>%V2RLr;$y<+BJ#dVEx{H}5V z*Zm>+x15^sWd@u%_Jx8U<_;G#E4wL9p-2Vi8dS2@6pDdit}qiV&2GYn;*=z+A^q7 zeG^NRg&N6*;Kif~u1G8VqY1O433z=d+N*s@6tKMWO#*ZF&syt$H} zAogG!bHQ}8kZQZV-0cNBAI>M1esx3IIaIz9eU$2FU1s0r`Bv$)f1Qp|zNg&Tj(1FT{bBYNBcmJT=3h=y!burFH)6c<79}F95RPLyFHCC;Vna zv@h)KCnrTTFhLfj8pVw0Eu5Fy4NfAaRRvP?kD>BfY2Z<0QI$8jor!k8``abcNsCPCqef zzJ^m{b2s)#|ZL6SrB_E%D&&$KWW#{|VOd$wp#OaUi^iw(p@|>RvX}X!U zfn7`#_jJ!#Z{-c8_3S6k7h|MM3oh1F>$$ z{yvL35kGvfR#Rjafpr_>63$XFQKyDIOG$wY2xdZDv-+<2Pb^E%g$Rn<-wks9NJfo$ z-A)e}+rt@|cEp>NPtF#pwv&XZk2s~y{~Y!ePMkAm zJdgF&2Sv>l(HsrkTvV?$^LQC_Zdy^+e)Z~dU!K@tl1{l8kyETQ=Z0K7+R|-^s=IH- z=8oSyZb7e^(N?WPFZS?hMHTX8Ws2~C9Rnm9tKf=X3_s~eVf%XvDk|tS#VSH|-}`f4hdj4jCoGxtKN3HmgNbx+ zcCFmrZgpk35$1?EZF0ZAYkrQ^ek@*ou0+=Q;Ph4}4t%~4eXjOA1qyvG(%Ax@<|T8V ziV3l7N#LP5oPTF9ge%GK;W- z;or4q4jB-E+>wiuU{_`(DKmP4B-$Y>1W;@vDhh&GthzO_TOUg>879~9WSvfL?fr)f z@I#F|l*SXo*~!(*m-!ZjuqxA|f5Qf^7V2vwX)g1N*NKJOfE?b-j>2a z!=ueJ2!nNP@2EZyKx$@}7_^QS$9h;6kv2^fu9P7mRfbEZw1bvkA;Z$(mPE|Xm$%mh z%O@ZO6O=qtfra+FqVN7+aAK(0xYlx+aejyAeR*1FgL&~esjlo+a`e!la&<~(V98t( zE44;Yz4m_M!Z^#qy@#r7bxD5lqEA$q_9V#5AvX#vdoC9Y1$WzDxFb%Ss^AxBnB`@2 z0#e;Yc1*slc$TTaIKY^N?r^cYRJfG4WkvQlx7+yV@kpcAjYYa%36MCB^U!SY#~U|$gIeTWgJAo_KmUhx85nHG37Bv_2dz; z8Z|oFJaPhr0e3$fiL+}mXvOrhnNmeOXx)m_s5~R#(97AodE=pcOtk0ykj{4T;^}Gs zsy&wI(W8Nz`{iF(;kCzELk^>AqA~92&$q>~zEq)WIgf`6OVjHI*D0zrk}Rjc%kZM5 z(dvb?6$vsMR`T-DH{zU8fgBu4J@NISil1#Ns_JI3yJ8 zq4Ymc%B-1jhjIHWmj~1SaeZI4^BX2yC1%p&Q<0KY{zrk^sr;J;6>W)7J_##9!h(?DDuF#Zyi zkUFYwe{EC=>eEXCQ!3i!Fj$cc+Wrq!-xyt2`0jav#0pj%~GgwbBb9>ov$%PPyh$9O#-2l zGYpT9I{iE~^ftx`GV3&}nO~$dwkca0=WyWCnoP*IiOW{8kJckY7z48B^_!4&#{Hy( z8~+53atmSR`%Jo9OXSGqL`N{-#+YVvf#u6O#&lYejgLUYEv@03bzFDb30aCC!|O+H zI$FGo6$Xysdgt|vA=GIYfJ>s*ynvQC(E6`E?P$EAroD6FVZ z!wHbQS4rd4)z1P}FgR(pvI~~FB%6Gr6zA^IQ&>X^M2kgDQ@bW7SrLXh8mNoKbh3w^ zw8tSgbB6eE|4&4Y2(DX$Ol)Pa!ze8=b4N&ue*etr#E&j(3|EZng^k%X|Ob^O3FjQS)(h=jiu_9ymXLF*c;+&@9{%`wHH5YNmRct8(Jm4yzYDt zzmsP4jMd?690@6NeZedu}m)J<~D^SzjP-(9cky#7xh8$Z9&FxPT@ zdw5>^X&e88QLS#s^k;9!mWBf4whgwJR+I@R8BG&1n&?Hyv z<>*m+zG7iCg9<9q3-NS(+qw*)er&6r9oVqb+5%8;p6}!w?$y?!2`!`$(NRT72eUm%Rc@s&_|S(Q+_ zQ5$6O5)sqC_4RZlMwG+5$q}|8DImIMqq08pf7xWPYb8Twv{RLA!+N&(eol22%0BH%?7&paD?4Nl3d=-?%Y&7ve_1&AwPD^=5a(28 zscKla?6=h#v&a$mwZ9oD?Z|P-<>U2nI%ht4pf+yrz#S3Hg1p4PMvh%neE#Gmd1@9Sp%8ovaAC7M#~tu&39 zL19Ru91U3#+Ek8BmXjrT5~gOSnGQ5}d>$l+Kxf4t!=j%AhdF!DM@P^l1mr48!S6l zJq@={0_>LR!Vt!Ni@r~1eEPQBc(d9T?ZAC+;}h5hXo^`uyB|PsOC6d(10+X@;`x0d zcSIvY6b$(UtmBlL&n4V(zC%`47W-(lX`-@sAcnPLDyO>%F7R>(^{ohQ`0SN)yR=O` z0gY%-qua|RQLyiqeHS_&PxB`f=eQCplY5in5&-LiMOuz-9g~@2ESKz{9e~Y2X&N|+ zslRxFdc*z(f>RQZAW}sK8v`1ht!(!Jms?MFyJ}H-!-<7(0{Gz7G`{At`0*b_4+P>_ z)9T_-xabU|Pz9ss55y$chDWHW znaGzxl|a#cDgPlkW09e6bX``;mMF<8Utg!ULWF+Jl11XBE1{*5a<=nID{KSqV$V8l-sIhru5Mv$0*-@AKnkZ zsI^^&oo?N6Y+bIa+9skxtTelZ=Lot?B~3~bcxpe871>JG=qMZ`{RJre}D5l9t3=QW&adT zDieAJ2E4}N8u_|)KX|-95~9v*$v1C0^o*n$RldbKK7H=5yoU>DWT%vnF;vU=4C;~_ zy)&o`1csQP#Q`}X@s12r)4IDq`{|NI*qR{42vqPW3t@Q>7nOL>z*Jnz2ROYVUaHJ#UriW+nKG{?OZ}nluSxW^%q8%D!_F| z(euuZF!#WR*k%%f*< z%8kz^D`copp8+T(X(y;u(Ch*^TfyW)!JC@-$&df>;-0`T#P!zZo|Qy>AWKgZlageD z>+l5tZ{TLXTwF9{=7S$Vfr?qcOTXHSX($pY5n2g-LUJJrQQs&*2;FWmt`=ceWX3&b zLIMGgZVn*`V9z^ti@RiUV;?>qbHzbVRUHX(2s>1dgd}Ix+E2_()GnMj^H)^_Plt8G%5i3?kL!p_%d9j;DB;H8ez~1}8 zdxD9AS_}<7aF8fW6)D!UEo*XY&lE#_Wj~Tn(V!R@5z%u$*;r>R=jkNC2 zZZKwc0!G1ZSuRB@^~L|7vSSt!)o{OV7*%JiT3;WCelRu!Z`8&j(&D?d0i z;7QYcxPfiS5TM; zowbqoi{8&N!!~wWbvNcB@^6z!RTtNNIgZNr2>zr!cUg6Q2ikdVHvxAuTj`EZLPJl| z0{0;n{0e~F4!74S#~z4n%o*Xg$J(PjuhZnuH)-b1+e2Xd`(s$zJMiP5u>avj&1YQS z%?`Oq5D_zU-|toda=lKMaD_jj>fVQ18#et_d>VetL?k;EC6I$+8?aqBZqd@0AygzV zRUwt=(sO;k4Oqf*sG?zylH<2WvYXgIRHYx4&f6=oW^R!Ps?g7k&pAhu*A)u}wU|Ox z|5)%>l&3A8ug(w0ZB1mgQTQdt9Vv{X9!pCV)|9du2u9FO_lBrsCqvuRfjDB7P?HE2 zlfyHS!-jW$ASLO$9?TUk5bklz+3ulq;8IMM1|jvxj>~F*1m#v&12$}GOsOek=MB{B z8yzDCkdaghkVW#P@XVA(x>v(SW*+vLBG^yulH5h_G-6_l6q6TEwFaoZIgOYb;Z<6p zpK6uol03YC~nrW z^e->*(1`<;$6E>++{3PvXk(xaLHM+kq(}<6XeOM?M6KJkQ;eP%{oug3hA#)RjGZ2Y zIbJ4TsT1k~TtfoO2#e|Y?`HWTrdq~3YKHkfmS<>`=J11~fgpcW%>@;h+vU{p_e9zvkv9}8)*ZO&pnd#kf^o@4501b8$s78R|ygSkQ_YuT8%VuKKy z4-7HSEP1**&8*fq_Vn_*oAH0B`k{@=ofS)&6eHu)tSfDkIls3;(x9+uY?RTUU&_T^ z*wby*Kh;0X3WD!rQt_WIfhX%n0+JC#WvNz;qzwu%lDpqq!zLt`rc@?ivAc4UK_}wt zim8Cxx<2xS1b}mvUPqn>drfyPUBn=}H5A8gzxQGOv;iG-p?mekQXIl)%Iha!6|=z0 zB>w}cVJ@l`UaDwmdT=$X@@ilh4u{-f1M^}`0}N$91+|q`^0-zJB&}*k_Ge7x0$ zZl<#8j7*%j-ws7UP~e7N)K!|TI*j=O>-U7H?(%X(3TcdA7mp`aiaQgElh?hyJy(04 zwÜ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%0Dq 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 z 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 literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/Vencord/themes/system24/assets/monochrome.png b/desktopenvs/hyprlua/Vencord/themes/system24/assets/monochrome.png new file mode 100644 index 0000000000000000000000000000000000000000..50a5ff7c9b109815d80914cf10ee29815e3b9f96 GIT binary patch literal 644077 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

$>C^(o?%95Z!O=a@SW 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%0D3l|0>kTl6iZMTV~kyGR)ru(J_H;|Ek zTTjx}(5wn|f%2EV_mTizC-s^ULN6ql$&GR8neT;0J5K?gi2G4~5&YZf93#_h8J||= z3S686U1dA3K}x>GFx_u)tj-AkRQD(XJknV7{cVwewMN~vL8N%F>~5*0frN<*yylfY zrWQZ>f7?3$Cvp8(2TF=yR;Zt`IA&+Q_R@j<6W$pY@9q6=+6zv8#l{-)t9QGK`C2a$ ze_NCAmTo-2Cx`##KB~JWpkunr&CH#5;2cTR5`3+u^e=vOSxMymRT{BLl8nQ`R)4 zA(=cEG-5xlFr)ttyqd3^sV0ksEDz0>+Wc50_jry~-7Bn)O<}A?8ba$39cA4vP2aP7 zZxcF-Sf%EQNy@Gew?^H1ya$-PUZ?CknSi*pUiG*)=4&PD?|h5;xmm3J;i6h<#)6o* zl#)d7wN@^Tq4eMeh`vmnZh3RRGU9ZqbUa(E9*Bz-7{D^q5w`FYL&Q}Vy()m>l9pQU ziCO!z05Dn0%JA|EaAvR1Kh~U)5sqziB*XjUP9{MLix%r$Huw0wO+3p|HQX1xPV!&7 z>0jab`*Qsy={rQU1X!hN`8<>CSMQDmdv#dkO(1dy$vJpN52|vt2h+Y=Qxmj!0km-x zvSSi5vj`ox7-usOqb7BlZyJhV6*AYx$!{5!VXyZZjjBB^7B7SX*}2o62OL_{4*UHV z@ox(ywrl1Zo+jHSoh&tZBRA6FHK-3B0%bnznt-RJ@C2$;={y;>BHTm+PNg=9M2K+> zKY{Sajk*^8jmF5?%u)!P*QVW-?1<5&A@1)r9QRfgQ_6wUzubD}7Vb8!CRW0@!x**! zT7w-Kw30O(9egsHQgO7f*QQuM?KVH+;iyw@ZJM;c=y~xK!oP-y5wEJ@)Ees_98o`g zo^8N*qu*}`UQOw)OxSWfW=_Z;{zQfj7L^r0kXHbwRgVzZRj`?9TJ@`}EL>RCe09I8 zZ6It^Z=li?rlkq6sel*BU|Qu~0o=rpVR5|{*DhA^pttJR9GB1P3=zK(BIaZ|nB-eEf(L|(`E5lv zmw(fn&eJwnr>nj@Xr3tFugHtB)q!@-k4U*E7gA;rg(`5G7Df4gOUVA$R0#MrHAV-L zk4P985Nm5|Yj}fPUE%5!NgZx?wT%lUg-O{&z-jgC`)nKXa;tD8^25_&WIk$6I5-#v zAs17#QSs=G=lHA;HEfcH%(o-6 zifhkyQyn*g%}?^OvW$ys&sZm<_EkS*4}ouAZ9~Rwkp+e65%K&%Wk2t9rGKh!us7pztk$E?B2$ z3o~se{>2XmPNMGJ>-3&JOAV(|HLN_1r;_#z1^MJ_x@CG56W#Tx_{qz z`J4m%X_e{mm$6vzihgsG6UK*_fTB8tqO&D@+}JzG&*3j1YZbJ3*bNRCASewlJ%E}D3*_LhdqUp`HealX?tEeCe(zz9x1D(Qi%AMWgS>eg zL*J+nOBMN7tHZ~J8Zm;Xw(DyDDT^wW9_tn*q)uM3Sdnr@T-x99^Gdo`BAwUZz61?^ z@uGcS3aYa0Y-Y3>`qIOJ^ot{dkV&ajGNruG5T)SlBbaI(rs4&WF`V(M7L?QEvoAP_ zga2rV(GSEzTIi)6_L{@_0erlrYdF|$!_G&=Ayo$No$fIA0gYz`?0}V0GQKB%7b>oi zp$Bg>GG2Ccfq?K-KI$3fi*bhx)$B)0r!=3f+outN6?w!HnapVRu2;XO9_i{6HOI94 z|L;*X483B_fsURbA}-EdmBtFz^)w*IOhJp$%#aqQF~^FGNgmd18N6X0T)75s6p8rq zK*)hQ7=`7SCb$eS{<$3U-t(6DA~KgN?&89~%G*ke4zojs(W}p#GiE69QnA7W1umMD z8B{QmV1T(iEw2RzQJ>Mjjcn>++K}3s%j(=`TPrfmaEm%y$RH6ALljrEvubSilN#Kr zE<>1tOcqNmCxYnD)F0crdp@0%@^5O63#buHBTHB<)?YDNelb3n{;=ub&A`R)e?*8a zEro{&dk)CrJM+Aqa(_Vb>w)^3xqt#^Uy)Pix2&8PeQMi^(Y)zM+v&E{@ibDMHI%;g zxHBc#KIw(gHNT=hE62dMn z2(Fha;eBC1v0rcOA~U(}y9)H+r`H}y@_?41h^z-f^;J)O>-pSrT`;8-m_b?o3JG3) z3@{E3Xe#@+27tlh%FK$X$PZDh)>Ss>E0A5%x9No{2@@G=(yx?cCK8AZ8#?A{OTvX$ zLy5n|g2#-HFHVGF7lJv05H~Q<(L^B+qRx!l=BOr!w3+DkLx8{U_{QDwSWtroZKtlf^R*Lz|+e@mOw^M=~# z6n7wacnS1;&Au3HHhH6x*c?%uZ(~G=aXfjvO3>pEDdyk<+H};1)tWxL469P>Oh`Pk zzdnRrn znzzOoCkgc@tyBEJv494F=jS&ssWxlXgs$)e&}$Y9ig&B+gQY73XUXEh5`SZ9rEu=~I0xIiuf#Oc42306Pik z8xz?ChOH$nUANzpZ!<%Nt$k4eDHAW*v=;=Y0eF^%J;CN->$l%(y|F|p;i;@WUcW6B zZ^R0|J%bq0et)L)7F1YrXLHL4Wd|#8!!$Ev{c*(3?r+EDn!&!~oOv4zVW{ZY|7GD8 z^!n6#X)(VuH~z8>Iyk`HbOaZ_<#0t>cJ2c!lXsW#4TKj<9*8qlsq#~KZP&y|DUipQq--T10n#u z<0q_4CW;(%ko?lEs$!7O!VJlMIbgp|+ol(-{Z~lCG|po6RbZt>Ai!t!QzrzNPS5?n zbz_DHO@JQ%x*z}fj-1Vd!;Hp4d><>O7K?qZgGtp#hKx}xq9j8V)S(n$tJ&(gYaS?5obICVU~4>RWAbyOt&kv$t~ zYR8b$MDDRGS6MbkekCSS3SXZ-Qaagh61Z#M?w@AIyEsPkjy7YOl@jeal*dP-v%-(C z$Xk1jibi3*hacS*Qd-h^AJT&*?J~o?FbG%Ba-o}x7zdSFE+|x!6G>w)iKI)io165* zY^iSTsHvTZUMteCKBCOWAC|of$&tHs8{n6?IkUNA!$v!@hi0xi)(6xpcAL{R9t*^m zc80KVnX$Ezj@kQiI zW^M?yKTB2ZvE%pF&Z??0CC26EToK82zhU9yhh_`jSiPMhUFJWO@2Mx{_Ibq)?Fh;Z z?jb$)lgL|(soUf48^oKR{0Wdkk9u7a2+rQf3|dBh2>mg9RajiS7m8=w&HuO_bbq?! zlv)4zux2+Dg~N)BhUWAQ3N&SlD5~rHTW`6Zw3zey0hTs!Ecs8d`qy2YLH$a6JO>Kr z#&7g*wJ;?DUYKZK`}@?ur9xP++d@jJ7xLQka0*rExt8W(9Hi*JpYlvE8w5%~9pC#e z^mBZ|si$T)n%tXPvge4~1t{!Cn$p|1*PxhLwZ$d#gYkQ^(#T~<4Akz8drJ(9f=wHo z2#2)78pb0#mVa3~k`^_zXDUcByo!Cy&NFPdeitY+S3@o@XF_6xM_-=H=%*dZboz$E ze@^*!?sqZ3=~ijb+Q{X2NwbbSl(JFJZt$23tIQoLfwh)cEg#+hQGWH@VMTD-b>#bY zUi1yxp~x{R>FILD)9rxM)XVo-hFRL1wHrD!IP9VoOLDPhtrJo*_5JC7T|IVtTi`7> zqlF6c$|k7oWIs-$yw+{y-n&t>GkuwMb#W?Wa%;gGTx*i6&zm&Zcq=&Nawqovmsjm$ z7Vr8Hp+w@vr{nf5m*IEm$cqFy{YlBFz{^L&$I_0cMUNA%sSTc3E3*w;KDG&+`zhrc z1mBYkU+h*IIg-nad_i(vJeUp+webG%gt)=`^xs8(YYeNkq-vzFpUlA`B#vKY`eNKZ zg2=Lc1H#m{qMIUM*^&u{PA&xo)UrDwgSIY2?M*Qa5A|Z3x|#58EG1;L@FvkQ^iKjc z++T_#ndy0xwJ=FU2Oyu9yNU3wjQr|AgzR<%IPQi*KbMiWBQR(oGi>=Pfl$duK9tG( zFtN4kr74#9RNQfd#{mJQ!QyYZ@C9XQ|IfOi4U-}kQ_>-G^?Bib@acs6QI!eB0ZO5t ze#1UCJx4F$5RRLD`Hs1Dh+%Z}ad~wexoP8x7`wAez`HH??a`e{jG>bo4kfQe&L(G zt1GC;YeP{<)DOv~(V4B}l(0I3>Zk>?o&AWfKgSNb_FjjAySiS%gv$@`Scxc5M?yF! z8IWO_eQw~}?|W(8-_@pa-lcK8!95FPvi#RB{l1_bu1CE=f*fwVFi}c(ftc{XUAUjY zNO#@KD!Vk~x3+$X2T@H_F1!BxsDlZU%@j^=jnR8K7&ENB^2t9k%zC}WnQ}o2M!2ig z?ZC~=&3#MFjsIRK_5Hhux;plsKY#RDqWyZ7F5juZtq9@v!tlWj!ED>fAis8TlUo>O2$ICGY5fICT1+FYN zbh96@xyZk2EwA~8LqwpXNfWV_w%vWHM``eKY|n(mJ?KZj)5_PK9<^N}boP2djHsfVzoBo)aiduIVK!uu4_f{;xEF(dv zM=daR(v?_&&>y-bkvr7ev8os$$t-63Kxb>$Zo?-imW6I)Sg0cEoHM8CH+CDsI$XyH zse_vY8`gGk5vrXkPctQSvz!d*t4&ww3B0ez9X5?7g%l!;Se*1(YJZ8a&oguT$AEBq z!98KS_2T00`P@O=8ae*?+-FoG63cS^>Eq3-t*G-P0=X} zKClrlJ0(NHrVV2Tmiw)c<u2?y!jAY-G$bB26vl^)l1~*@j#caIi z?bLSg?Idmd4f~Nak6dR$@+a!rM^z~20ikJBAogH63l))0fDWao)TS^_mLhKQ)YZi=h5|}TjtB{ z9;~gc66mjl@lo1(Z#y0Cz9oX`3gN|z^V{R4lot}uFKQ#u;b#Q%3mIvVP^xdIdBL*P z&NuxU>TF)9d7!CK)Klp`Y9O0i-e2h7wuM3kyYNdRFS_s1-qOPC_;Fz$4UPgVi|nF? zm1@lo?xhg)8EAaKU^~~t!IH2X&UbDd9y3?$x5{uhXjjXT43;KA8+gYY63THmj{aAX z6IcHBc;Lz#EPZrDD{QMuO8ByANSBHYmf4D;_>_Mfg=>b#2K_@SOl&ty=JU}_T1rYJ zB^ONr#z4Kn83c7M?ZgG)*t{x41P8>#oTF^)SMB-Mr?8h1t#_eg|3DcN87Ej7Huta9 z(RdDaLPH{$7$V-VKlPbR&MVV7wn8R05NDkd*uk!BIN)5x3;CJ!3{EhdpFf5V{v6Nb zdv6^?+Qk2a-*Vpwf*c9aeFpV;ueH1&_5OV=kP%zQIH><2YOv~dI+<2N05B* zcK@?_3soAC@c)VcvPhLFXd6b4ugG|Me1r2t2YEv`0VZuoau4g*M<9-xJ!#0OS-y6>OcK_kiP(^x5h?V3iJ0OR7~@|GI;Bk8QqfQ(Wk zB5#eyxtSnjEHRq+5uhHRgXl4&iJnT0Gfgd-QBrMvUY0Gjz`JePZ-b97!$aA}LrBOa#9R}PR?>|>7WfBK z@mJxYebB{-1+8DZl6%UW*I9~SHnvd1?k0?p23;=`jA_Fem~X^nuq*cTJgU!%GrhVI zN>~d~76k)HLq&J+@^Vh0GC3+EDEkx1m6e@Z%b( zGZuab_zkNX9rd$bq);*sZrq`}(DnsGBz(tJA&55TJTa(Q(Z^zi3gu=oEV@O3M#01n zY)DitC@du5^@81pZThB1GEPbBJK%pCP-vx6zuQ*K)vJiKO5Y zh)*@ay9V_{mi~kx2|W4xCBa9dE2?d_5Ja@pBFkr>>U65=A{M}8#-Gc*IKQN8u`wkxry4WvX}Z2?x-;8-x4E$|i;lH59VsbkjyzRdVq(9_ z!0CyBZgc9+9&L~mxrDMYd0ic)!E;$#&E*{q-{(xR)W_yV+^F%JCgXTz*Gd$po)1Q~ zPB{iW}eD=e@P>nMC9W223tY)Vx^4zd`uV+hq zJJ~C+#kWc2G@I|59~>OqzE9RPfnYU;1Uz38lhjX*T;S$Dq0;} z_J#JM%Z-|{)Uzvg#ol~>zwq}_?h-SZC9a@t>OOU<&$;E3PLkZeISBt#`nUYTspLqs zYE_t<1?iZ9%pHbmMWomK^T&V*8yOodCS(kA@5ST?3Ua@%USHVd87TCb2!JFoRth?D z08q1RFP+ATps^$^fjn1TuMSMH!!TVq$2FNJGcAHQ$b+-zQ_881X>S8)7%)XbK#MKQ zrl$)7R!sLWr+jV5Op@_%P=kR;d17(c>HQ01h~Z;T0~TIh^@6!vGhqms8aRT zC%AiJLL1QJh^nNKQ42K8q{Ulyt?L%;oU>o)k zeN-!B6Drn-D#u4Pw1&6Y1A%pO(;bQ@xi-M}c*L4@>Z;l0%fIDzotT)Yf4SN5Hhqi& z?H}ex6pp6`abtw`Gz>*E8vDoSg~ z$RHzM@BKi+TYLZbk{)bqi7|LDLc!>BFjisw9?anOapf~Y+jtnx!Ds}`B{ zt2l}JAM@E|OKZu#6S8H$2GCXEtmt=@mQ;35ylY{{!=6>;vuSRqYxXQU-C31dLEu+rMFi)<-G z2L^@37ZZMe-Uz5p7z=&F`hAis$rSVs#*$o#7JXpp{7pql8e0E@`6P#SJ%V%V-EUgE zyX$^=)bCO7H*)-Bh`Q$0L^{yla)D%sN$dGCUNR1?|1RCK_Ne-Cdo9^<$SS3_{Qdtr zWonKe4{Sl(2w-{bj|%X|C(>ZkXQ1Q7f|m=p`iqN&FbP3H#*v4Ok(cRWM!n8b>PZQ)UdYr9Qra$1T&Bp=TtB`k4!4fC$gb49O$uzMUKtT9>7P)T^K zIlO&$(Os1jbLOlKld1jH$;JG&LzPv~O?6oj;IMQf>s3^qh7KR)9h*YSwf~Y^=#5_D zKQ4QlzkrVHFU<49c9upEK4*N^$D(Zji8vFJih=GXfqaUuja3&v?X#*dZ!i874P^@Sr zODP{;iDiPVzwrLz#+V&4FYk60OYxKW)|9co4C-PqPx(-E-;wwy8I2cCvTXbf*`z38 zY={-%VA(Sc0CpFce;?}6D|RszOlrooUFt^UUUW(khMX1th-d9zketvCaVf_l<((mW z8bbX>f+RCgap1Oh@vQJROsj$Y_7jV=&m(d+W$(6YGiYg3GmyTTen4-NI|ftW>?nl? z3I`=ECSV6O%;4p|9EFl_H=OjJJoB%+7EtJwnoN1XU<^m1a)yZnbW4OEk>4H4$KC7J z-f?FK*Ykz}I*~xs>|C)!Q4O+qv1~3?_K9ppZ`vE^e4?t5jsh^DC@-rJu{hA!$H3Sg z9!V&%v=q&kh<*E6&*f2sU%9bizUZ1)l81lv$C4!Jm6)CyQ`nH1T$MH$6OI%eb-nop z^6jyY^Qt^s5P+lfRfM#r&$h7z770k=Yw-r`J3e1NeK7Z^jycU*hAHY;9FzadWp`UM zXxeRS2R(ba)GeTt>EBJal`waw%Ioco`}r$4>RVbWhYgRTW0B)TNgYVH%ju%QZhyFX zjXp@8q4N4u;g1yk&32E}I6jb_9Rp|>M2WKRA)$G!=H`|?4e7R`n`w%PiCMc#e9jhd z7lR1R<3snHn}O-3k@nlsenN4)U^+zjLezo?lI(a+q_TV6*Q&nY#1p@Q5(mMCPgUwp zduwFyVw?V5X-_E9B&D*LzzVW?0~6Si>gu6yhr%(HQY#A!10ixNF$1b)#^s;U96_6* z1LYzl$#;IMa5CmYyO#sop}ZLC?+NnYp*%l)5CXabtuSAOeI#O5M-hGZ2hfr^z{0&x zi&o3>sjgoLVMJe|#5!9uF_R>JXfIr%Unj(4^blH+pqCk!yy3rEn#8oN^z!|V-0-lh z6$wE`yA|3rKNzYBjDPJ=NkzGEh+2+tlVGiIW$vFO&Jl`;>o*>@l*`o|iZvQ0or}jM z4P7uaY27@n$6dD3AG+0X1B-~5zpB{bo_!{X6!H8H-T%f0nw$Cz6}d-2!Q;?y$4A7| zOEs?7h_8{wtw_5z&Qs3^QvW$QaSbEk_!GV{WMSGv+Y!vRO9&>{HRtw(QbsTIaw0O+ z>}|Yut0OjqjTFQ;`nlw6U(%iZ%Ei$m6#$@iGf>S7#GA#i?u#+fGS~rnKNrd37?;Au z_g~~lK^i!rL|DRwX&>ug+w&I5{y1BhujV3$?L;thC`x+{t29QOHJcPe*Q!}66Cap~ zRVcSJgJeNTtpkBec?aQS^n?A8ED)+Ow?rzy2G?4IYYy)K$aux{t=VNB&$t&QhmEGH zG^$FW`0USY{s3pKekM`$@sZcH5ub0=x_ZYL|DEQs)0%7dX|FT!_!oHfpPkkp z?yGlkNP9257)&mml^C860l{=~4}eArnU;)lYE+@3qnEIf#6$Fcr0?W)g_n#a6dp-q zJvO%pQ7D%5QDN^~`K0(BIkjE>uD3JY9F}H*w3pr|nd&i>Q(2ENlAu_7U(U~^=z}N$ zk~4E^FRK$d*n}yS1S|G+P?#E{TW>zds!rwiX%qMF>(y`2cSdkjGvUdY&ovm`@@gUD z;Di8`*$Rr}{MXfbl9rQ3_LXm|kPODE+J|yVS2K8(D7y$W=T=9pA=Do?U zAAnXuTF=m#M1$2p>x|b4rKeLY-dd+A;l!pjWIhvW#i-Y~rC~X87$Nmx@bN5gZ;xYq zLDW>ocZ9e@zwkieAljh(tF2>}G-+-3d7RlcWb5tA{8)kBo*<|e{jC~vAx91fnK8R|ehNHzy8%na{hi}d&tb{}GLb<w}7HEM46vn)? zQ+OY6>CK=^L${Y8>6im;TSH-9ouY(o?RE|M0=-vLv=BStVaw39v9@$w+oqOehiOSdTb(; zn-SCwF<058J6thY+}&ZH*m=}|?7^^4;?RONSdXmg?6Br5A}2)@6wIhUf&A0Zjvc|D zs3_czCT~-JxTWBgga)@}2Us9PluuGwY(T{B4@&OS!dvEyP_~QxXBVRaVX5nE+cD6{ z(B-Mnq2pMV7A??FtGd7vj8YwZS=h3lpvA3^uSnZ|UH&cX@ju%KfcDEXQH3Y6%_tDm^+brm4tc?MbFzN1Sw$&20op zS!5P3vXii~>^8@x{iF8Q=)yyM_(iOXbn zfljB%MWBH*0}X>L3{6Hy*@R<=v*~k*R-)CWzq5)9Bu4+Mh5P5e@ogcmUIvUPO_0=v zbQw>}{_NCFUP}v(h=^!8)k`B~5xjmSCNNOM`(ee*{UUbC;B>Ll{c_{+dOtyKSMPH* zN|MkAobmHAa@xh5*wofv1bSM13Gfbul$XX`R=mb*03RXLv6yeY1bu+vN@}!HY0pMM z)3g8T7c0qfBY(jON2?N(7!1tH>)%GNUD!FL7@WKwFAf6ztZVF;tdB2&JxZ*?KiP9` zdMY~ylBuUFqhHq~5=x-tI#B}GxgFjBJphuFZzTM7ZXg)YVSN>Y0XDA+J06x%!1X=f0VpCw+&@9QL@5t=83hS2i0}H}$XZ$M4yQIIdSp(H zveNn6;aZ#Bl{DLfrc1DbjZRxWI-aN1HsGg%1J6YowCt@RHpvoArdxb zY!oz7;wy|k<3xI%`;$NVqkj||KHs#Y3i860hVMXM zr}Rqdhfb7)OymUQ)BwY{3Q1|;|h z3J!y$s0+;D__(;DBI=zfS-QQDkPus5UjhmqMr?8sC7n(KcJoFZJglA`(E3`46ll=( zdNEXyaRQC}+&jeJzf37+ZH$jO-bLv6`30XZ3(7-^sbUZ%aqG0N{Zss{o&~GR<6fox z7Vw_*%*(oP%+Xt4_qm)hq8&aM^aQF+9ybUW=pvtrxjG7 z+k84|MUKuH+`%kn?kZ`4>4Ym$VHX=A>`3SRa!azJsYhsmz+)EaF}z1TC|?h&2PGth z)M3+78va-bLWKzq?PyY%{4;bW^BMco+mz$u?oRp5VsD7b&DKmAlM*UzdK(`RT2k4W zu6G$WP_|A;tdx>?USS@2dOjz&KAhCUra*rt%7~g7m6f`5}WeSg{8onV5ui6 z3}~2GF>`$;N|{vul{pq>GgThPqCpa7iZ2QdEaRz3Q7iSVC5vs+rjADo>hm1ne$FaVM#Yq;Ce&vKJRrt_dqKCD&C7Pos zL&hK`*s~!&a#G=Vwc_}5y{CmKvf_>z-B=h$Db_=tB$OxL%aABcqiQ(1UkZpp>|;9w zm6MhZR;TNox0plDj~E!|ULs~=Lr-9>CpJufZCv?HDRhd5C$CUA7(9;O{xOM3E|&pV z?5!qY^FnHYFS_dnNxXTtP@ZeK!xc?ym@OfM0v$3_Ix=Ge@!NhCFFG^6mI1(gt4jYhQqle zi0K`Y$lv3Nk0_TNe6*-|+Ix~{tqH%k)231?N-l&nFDtuuV#ywXW!J86GL!e2d9xvB z|5%}Fb|)t@g;Gnhenl_y1zc9e%gYW9B`qFe$e8dptiaII6#Vy0D-Axs#(5R;a@Zy# z3M(ps7BM>q()8PzRC*>sh^ZCE_4pBSm)sGsLCt}8`xBJlJ=(0M*?8Z8ZtB+I!_<%9 zO{GQMeh!uHmmpNVskG>1;z;V*A7y)S3kV)%Bu{CEM^nEvFG)F!Kdtp~0?fE9O@VDf zkX_UE!Qi7W2XFBAVGeh9DNG2(D_a+u-pxlw=J`j&-0JYdy(p9y!OY|{GyUvqXLj)r z;ZAkPhg_M+FHA^r+-`=0>{iU|PN0Er##cL8#A!Bj$vNxE{xG@Yb>xQ2XTAVfC(3th zPzW(hX3#v)Ztw5HZnlDm8SCu(Hbmk7-)_ccxW4#LnlDODs7wxuba{J0D400lpK)KF zpdfN2big7vz+1B6bv)^5CX;eY^HC-;>8~Q81F3{UTQ4x3BW11-?#+rY@~fJ_It?kj z&qTnfjiqD}MXe3Lpo4%yi%TrqNI=_QR+SnAOn@_ug$+YOpVw%LO+Nyz7C0f6Q}kde zXJFg(>C)dPx^M2w?far|02hR-Za%W5aJHhVOmk$&tV6Q?qe@_YkDeZIgAL-h$c$#5 z5S@UlbNn}64Hohbv_nH#&z$@?IW1;He152nW0k@dAyROY4Zs@KAu&4zLU<=V74H({ z9yZ4A9nj~@ZIgvyq>PK)tbnY&7#3rKpU_1}95CJjF@|MKMnM5VU3xN{%7?H5!{WTC zoWHj#smwt8uMD2{^F-S8?PO>xsPhkA{|K-BcK$>O9S@98GomSn9b;3j=o|oS%X{ohvssVy!S-F9cZIoprZXt$QF50U8&*$!4G7+=bWE{0%#?IA9zs^?@+jawH)Bb1S z^^MW$B<=HMD+{WLo4Ou$v#Z$3KSQA(%U4_az#kA+Ggtw;ofSK^egAdBe?n!+R!DK9 z(Y(ZJ=>2gkmR_sLUIypW{-7&&=^;z4tPQbla?N44AI2BHB@Zwt_)5h7`uf}JnXaJD zkKRFL^ZkV;?69BA{WhD|LG#@5D%D6HYvtr^VXhUbHv_cXy{0_m)yzin|60R!VV~Ai*61yxDu7d(S=R|9;I_BO@#8x8|dB zP76irfwpYC~N70yRj9!X-d^Swdg1khog#AUT7)mZ5=#U8t z)s`@+eKi-fqr~3x!_wsFFf-`w-cd2se?T9LmjQp3M=obD%TP8CNB32BX{shi4a0%3 zu}^=3hR@Dnmh>Q?Ljg-iU_5p+i^vEP^Z}vLhJG%hK3kH)uIbQZ##Jw<#a4aY^&#OS!lIzB6u z`1$C5N4UZjSuHwd^LE`pDM7AOQ`M<*D%ThIkL)oL+OYU@mUYIoY_xos9` zC}*-b&2$Fh31mz7Ki)j`&+C3b%9{o|9$1x}0agP%7=@l5Y3H>BMg^bYQ6ZBe>9$2v zl1`}WQbD|S{{-6A6(^Sf8y*XlN@Xc!kkpFMOk$whQX|Ta{p})IZ>?F zm;wi^=3XotWAPkFx;P5-zHknTSShuU3@+vkP~@s-(df$+y-3N;?Sth;*w^GF*+VAe zj<=~;2MC7c-@z_Son=-GqNq*%L$eR~GxLa(mUbtDWxTEil!vEsYZgo=*J%xpoXdKp zG~^r&yjx1aa2`(>;c12jVV&*KU4IaXK8Bc>*e!i?O*3y&&KK!nv5fv^Ac~OlYP|5O zcUaKXrtNggTG|HwnZK#C79k;*`t77%f*8acP|o8TD=xJbCqUf#V`8q-_D8pDU(mRR zt?N^c%$LYzmDL+55ie$%mgg7MhRp&Nmrw8L)OT==JkvL&X)XXWkTo9jeNxCWys;bO zA!U$sC1nt`^FHr|yy!d9m4vIqth1Y%zDi}to;OFwp}7;R-;2}z^Jy3BCP3)Qq*DKZ z?%3!7J+RhN)N=q;5)PmuDJ*2WOY-P~E@8BdFtMV!(Kd zibO$isQIH>v5XDTxYTJr+;cv2=l9(2;-U`BCR~YaA$%rTd_>v)bxH!n2EEu$Q`*6N z?k+iCMPio80GI_C8Jc0qU~QOLAo~iMEWKtWui(LW4Ivf_mCVqZ?T#Cl;zT`u$7wnL z`A0Oy<^wnRyRvuh@rQyis%l;hElgAh--CXAIR;Gx_^^r?2X}Bw4R#ejnJe4dAeFPT zX=-Uj#

Zbf*x%k?+LnN_J)Z*OuYHpu?ITL&|9Y1Qfa0NI<^HZ0#=W+4EI+^EBqY zUb`o!KazjZ(SD>dljZRs;;phjUD`;Y=5TAQjZO}V~3N6uQ_M0dk(C*g_uU#f?@h~U@;i$%qmM~ZI zO~>Aj49B`47ssn9h-e=j)hH817o@^7&-{y==&^8zyWZL1bvuV3;_GT}* zR|;!?0}A;Gcyj%OKCN9?KRf)`i$5miL+@mqj2t14U8fgZ`u@SS)M`D7bMm67N-Q?D zSBEzLSnMYGw(pN-v|SZ&9NaqDg)-*GI4@PYnRk+jeRdl$35r!9TnBOK(uD-QWpZFv zupMh5_Sy{>E5&CAA z#JrWyM-E1}iAsDh`-Z7OVKS3>N}XeDtA*O8Hm zOiavjOlKR}`;GdJWk1Sgt`>l{W$#K_e;|2=5XmZ=Pha;et|0j(;lFriI-sa1O-znU zKL_Q0c+5ritU&j??dfx8d1HTe&@S$JX(Y`5+N4+N=Ef27Se--|d3RIUU+=@;A}hx4 z_MKirIqp1G2-~PxGx1hmcxx9<=I({+FZ<8b6W}{IDiQ;sE2cqKW_S16Eg?Pu^|8*M zG$=wiJSD2RDB8N#FfhYXe2>&x9M7&Yfe98l^{HXzj+L@$t6O7@;2pj015_~j%(`tJ ztu<#S`B=4Sus%Qa($?Dhu>j|T-BlV;mo>f4d^EpDbyMAIk)$_bOvK-(B+T)hI<4@l zbNZp&4HAUK!HK}Dsq3mk#-x)*>f=XuPm^mebUr8JByC~73k@xq5o3dQ@|M>op6*@+ z7o3+$=iqO8z85%pJv2(z*`Hob0}c<1j>!gvd>#pSfa)Z&{_`(5C;T6%C+sQ#5tds+ zIW-{g2)S}1wv5p=B1eZ4YW=1hy#N_L7`_zvc%{d~NIBhQ@O#dqXSl#598sqZd$1m=gU?c*j3?#Hsh11uYG}g2wv+v!eQi&6|p;-Q~I$ z%Kg8R(}{+y*r06&MCk&>HmCa4Y=2c2cKtydI6$Dil~cKEV3(dq04lcNl?ZGnP&rfh zV&Mxa>mwpQ01zD;tBQ<_$|np@Wlbk8A4^#(*QUjj5gKDR=GwWIPT)tmDEb&2y$&`+LSVpDv9*)5S|X*uQtovWZJ_t+ZnBbE z4mte-eD&*Bz{gvbw?px{BbmAUI5XB0ecK|;15i0UKj0>fyl+&SBFPgH7)Py^`E6+I z_)Cn;s|r3I$3=nN#o^wc`_M3H%)VUCs>PqIx7!xE*VnKi@`qE?gJQJWO|e})wVn1$ zW!B7~T9?nRiH|N_LV_rgvkIDi{zP{62J6DS)aKCs&(fjmUq><}6GWfhXYSif4E_Ag zqn!8LWGfz`aiiNW;rGuF!g$Pv#+rfHrFzwLus{iNNa(Mr{nc}_#_B00jS%A9WBG(n zlp;wzlX+u_%YOvcZ{T@F4d7mc z0!bVo&k^-QfuoFyIVVL<e+X%fl0U84P<05Z<#SoDxz8W@UeFl z+n6xfz7sgwb-iHw`dwL5U-R&3LMuDg3NG#4Nd1Td5x2D-o3W-&|mA7Vwb*e^K=c{>&fhEt#EKKq%%Xt(AT8 zJcS;9`-Yw*mR>uOj!Td_20!G~D(QzZ;`6Xb_~nP9jvr`UBNwg@j#$a~)YuVkp|-y1 zSwq5f*yW#9l(F~hR~k%{!F~glw+Y2 z>miLT%5=3~+RGtfi zqR2Q2X2I-zG|QQ++E-^cDAsWeGp*Z-Ln;%zN_d-Av7(v1SyfT7^`N-wUZeVL^FcAA zbk>jcgDp-^hWO-qP|z}l-fLA?AN1JTkGlz~ubX{H`1ts4>ny-JAvN7q$192wz=pKZ z%*24?T5_$&E70(XTZh2?V#>{i&~|G%4qrF}=w6~>Oo(&zIxre30d~qP3wHW$1ELnl z2THvbqfN>X6%xD-szoEtpR{HO^qu@9j(K_(6_r)8qk`>Iuyd0Q@}bGgtI;@l8J2J- z;_`D)J2aCyRjib_&P!Ivq1BIN;uBTP)vWWHRi~Hw?-P&X6#O!0XeVtGNtu1{7u?;> zO_fPlNurOtlf&^Nla-@W$2!^pJ^v#XOOx|Zv-aw{L85D$ys*NvawqcL!Ckt4<-CkP&ic$Ja}?%>$goXC4cy;zZWnd!$-dsxZi zMOI{g967}yqi040)xkg(q8$zod8k$%5edD7k`A+Oyf#f=hOKi zeDxIta|-DRBI^A_w9QEY9b(G@NGfb7QW==e14S=>?Y#ltw@}`H**9VFZR$bB6RykP-8p@k1RQ186(j| zXCAB{ZPT2vavcC|>PVuFswjdqDJ0b!2i$n=sotC~b>8t%DZNYD%$smcbkZQdLG0fW zS-jLFg@T0OKjlFS9Q6ITAOP!&ufs#F3S2y*`s1JB`r@KW>~W;@c!3+WZhdo)00^ss zUI%7u&j)Z`MnbKO-RC=v%$U2hzLt}!owL@=H1g#Kap;T7(O(Oh9v7YJ`3dNG zn+XY^giVw;$BIMvG;k>SEjXJGiEg20eiL2TMIUy|(ok&v~K2GRYCE+|rM4qdK;)YGz%B!egND271H41%I z!yPGMVF9whcQF;d zd9zcA_nRlR7u|lYi+8$oNE8pFL2`HOIKqtCvFb%_IkfJ4%^MEAuYOG~7oDeXvPlKEzErkj@wc|4hjnKrH{ZA%L~B%2?e zqHJwebuD)6y8eqzr+)e1CM;ygLL7%ri2ouhiOMq$LBjZ@o-gz*ngG0Lg=mj1@{OgN_v|>y?Agsm%$n1*6w1uiIOH z`7tNQ&?HApjHvC++JMWxNYOsE=rphq>gFGKDbU4X9~!cdcm{cTa<)x>MyMD;XPm>p z=N~zP+o4`W(mDF_A)@%^F5Hk~W@p`9=9O{RNT(GMstMxQ9@=hI~MWLmwh)T>; zoC_T-Cdk}!13*};t9{^1wNFse(00JDXe#hnLL|4}KBb*2)Qmp+?xoY?dU>Gb` z2wj#CP-JF`-*4)qh{MmtVI#>Wd-pc2=*6AsQ7`FQu41P`Oy-`n$c(y<8dBS~7W&5= zv4%#*=d_!%JoSip+a@2G-TKPqq#H^0C{qfc$%3x{;_mGiK}IGUF)#InBS+C|{ME;k zIgxDBP$7MecP%d$!jofuiWnLs(b(f1#9hGIE?QI)+IZxKKB;-~W>KZ}=;_%ZNdnqW zl*@2(1u~pYYT--qnmzT$tX-G0d+iRZ5`&3lkK>F5?;TpjY0mQ_JHrkyIzS~$xP^uf z3&4b}82lP>8skSTD`V}Jx1fA4K5LZ-j@o;g_@QZMYmW{%3FYUks4CZPt5m_6(T&U3 zf0*&>QCw6v^yBWNVFOCRy3IAx@}V(z&~% z!2W_>vhab-q}20k&!fe`Bph@I5t45F5Zylt62=`wuqGa={ij$SE* zRi14y{mY_{ba0T>)=B1jd-#F~Fv#@BlN+NXms>n_HV?SlhPXbfpMSnX3%)5n>JZd3 zm3UCk_o4Y`q0CCC=k6^Yne(Vo;?*3l;jDJ>jWF%0i8M2uD7OZf#KSJOmJ$kl2Q?{e zMHDw(i@|)dQs4HkY-glAf6?9GLBqm{Dd|m#mVGzPb!;&m2zBi6`+DPbxiB_oA=zN( z*!$r9fY2`dZhQF*VORcI%2NyLkNFN$E9fVqYuAyrNK#xCh2K*bQgvvsdRpcjDYnZp z7qV`QEAbaAu~7Z{)V%q&?$8?dVJiGts>%*Qv|b038cw_=NjAm#gbJQDEgF1czco5)L9$M=uER1adnWh_s#r4T!7RWvPI+%Gk`VXQ*aHjcd;8cBW6i#aL1 z#5v}MjLVUe8qMO>GDUEbrjErlGFK~_#Vp3}2z3PlL!9a5U^&`AOpjk~%e*sMGMa`z zk!WcMEsm+*q>QSS429fy$sUo$&}9)l(f20vo%p4Ez)exc&g#beapq4~#Ynp(`8phR zGIE1SE7Jp{x*b`I5%9UKln07LPt_mmW^a*rlORK_mfyr-jL)W!R zWUg&!<$a|`8F*gNJpIcKBw@d6Hk}Ii3dWR%Zo7bUq)1hGW6HQWL0!}Zg)j$vT-ue$ zKW&e?A5N3vyQ{0?{v1Q2v(!9a`#-SU!kpQ1SA@}&u7x*kq#m-^Z$V;D#?1L$-|;=u z+COAFgKk>a*Vt=1WPAS~iKk)Wq^beS+C|smO3df`_3m5H(sS>%#?8l*kQ0~6GBRVc zoZ$MBF>A%|y$B5$$rwA)?-b45`j|L|^TQ4^o!)(5BX}&qe}$>2s~|oRpo=Kyf#%8jPk)xtd(5JcXOeU>F}q%o3cM9LAzEF17Cb-5;VN2Ro3|CIML9WP4{lR> zq5X#g+#N`+v(kWz_iRh8Gw}}R2Zm0Ke1GoDR6<~5Pv(0*gCo8Jk4N?d{rfyO#^2+K z`ybwuGKlunasLw8z5ObNXuH^yg8Iy*>BS;;yK0iXNDX?!u#QDaW> z-%+D;>k)vZ5C*SZj_tQ2iq~JU;mhuf6i>QRS0{NQKes_P21!i^lxPD6G-MQ+_Gw$+gQDm^ZXxjYU`?ioA$8h{##Y=ozo*2;-)vXCe$7vC11A%Z`6-YI@*2UC-)z z@ASNY{-_$%w>FkAF}U|=V)de5*%^%e!jE=(_9bY2w%d7ND9E9&DS&uNHnD8kO7Dv( zSUD>_$!>qF7I?Ab?N{jJ{KKN{&D*iw{xWMXdOD;xbCU6JMU$-%Lm>VTP2vP1m1w`3 zkZ0!M{GrzzesAKL!~4GF=nVk92rm+wQZ@dcKR}V0ipv$3dGkh*EnkM=fCWVt33LU3 zPkg-|&N1NSgCsQVH-U zK3&jN8$RTv*C>>WsYN@wrm@b(w{pfH{|z5dL{TH;iUMDLR%MnF2#nR3-B5~)b9L*+ zdxAlvwq`V>c1-C>xrpPAgAnjss4oya(M;cE&i;wMAdRQq|8IB9@Z`8}?`;*nsUvy3 zp#=M4Z4;otn7TA0ZUJ<(=+X0j%R)VKn3A0Z3; zw{68#oH~@)3>Z)X47!$ek!dRpNvqba_G!V3BDa?o@xB7N3o&U|&|vf@`hJd#cXOeh z*WZmIZs|CG8q*jzBaX~*^n~7FB~$o+vR3W09+!QcBYgP&abn&mn0g7f&|F^oj7wUr zWJ^SqfaeoI!2~dcktM-dw$TH5&E`#L%4do}U0k>d-&gD-hu-m&TEnR-AS(Jd^fzy% zYn1{uXtKhQZ5U&Ao!mcpOo_3OqB1HHL#um04yOJ_x6y3p7>@+WKE<$5`$32*qj;q)gX!g2=? zluc>-kOso-6@*t_<0LQquwttz^kuaUK&}N9fIBxdQt_8i&*;U6eF%OpPcP^mtgNFe zdCs=rvoqYXJqg26?}G+BztLHjRg@28jdpD zR?7~%dk=e2K@qj;M|l!>$}9P_ZQ)>X-|X*>FzXxGrnQw+hGD+i?^wOX8fv#nQQ5|Y zqy>Gd1D#C>W)hC5TgngqfSKz)r73=85X?1g@4_5RXLR_OVWDWKhLjtnN+C=;mccE5 z%w%o+e%E3@;aK*y!?)gpKRRWH#zzQ@v8|{XYdlyB3$1$I7kuE@g8+BM`>sZc%e|lM zg`-_Gb80wSAYZ@;K1o6Rwq@y?c=_Z*0|FVEp(Kq&C89Z|pXg61XRsE_vc7F_`W{^> zicI>RQ6gqL-?qIfk=eWry#k{%dkn zw3d++{@bpfa}M0kiABO7!ir9k_5y@UJ9tLuV>`XSZh=;xnwrA@igLP~l{G9(bIB+v z;pCB0%~!&Kq3ekdK4xJd;&~=T5E7@va+Q}m5Ip_^iJXZ)f$wqNcBLF#JnkU;L^;_y zLgJLZ^&3^tn+v_;~?0V?S5r2^>X^DH>#ctEHWqVXPR5a;TSeQV|>+o*7(jNg> zd@DoxKWSTUZz7|dVQs>~F>2r*BF2t#*D)?f-rl^S<1}u^vxgwuqMK4x8(4e(hYGm? z((&)yODbQjfn2NZCIC98(OYhKcUU8ccXCpuc>Zf=IN_4Q-o5sdR>y-Jv}Q_XKfU=XN)Dza_s_0`6u)%@Lc`~3Ug2%Qb&`Z>h+fB2|w&C}+Bqq)%KP&kjCkyqRfI_Jfm``It1$KSW?>Q5pdb}_qurk~AFlF*2=*Ss*D#Fl&-FAUpID;S>VgC-;P$_9>)1r*0oN9&#i{CR}E-+*f zznoANpQ<1-27W!(WytV+#Ft36+*j4oaa}>bG`@bI=j10INs&3N^DL@ZK(M z{b&8|u0~wPb29n6m@MMPVwgO>m>hpf8WnmIZjnv^!JXhoCXEqUCd0cLrLc1tq5#># zdMReszDjfqdYDm}QdAo@OPpch+k)_01bp4uv&$cLwu4&36Dl%=+!vy~j@m&aIrzrf zcf&PSTv?S=OeiY!G)w?HUVE(oHriQZ2*$X{#?T>+{D#yf@!#s0$yjp##lH#|@nu=Op25g`HuUqYHMvAAx(AFxmuLK=BKN1S!aPIL^nC~47 zWG`h{98p)8Sw$Ki9G=Z3)R^7JlWX3Nz!Ssy^xC6GzP#l9W?n4ot)N7`=)Aj=s7c4| zdwrs(_WSVhZpw=J(&Pt$6eu9#?zw?rArSlkdPCTkL99Y#&3lq=RNZR8Sl;bVD;`^> z{o2hH&W%-O$`}g*-6UZI1$m8a7#!_&)iHt9QsZ&s2K#Oj^8dvtRD&~V52XM9?lAn&=CW0(KdkbmfBRD4*rs*>4YM5qF^#$NLj`ISk=R#2{2 z=c++Z(^x05o_{d;K^Z_zg8PC$Z`Mq@Sv~2`g!<3JwyDw?*^-%}lAQhd0%Kzl_f-9t zCn0DwaQ(((+UHxeH6<>kKgk%GBo)Y?r44s;!4H&q5X8KAQI`n><=II-=K3-n{qI z&p&_U;H0a{laK}5o};l0xS5J;(ycl7Pn4z8>k!nyXaL^__|&NQl=dvPF9?pF!x60pCqQSf=JS9~ z(I5}Hl<2|_^^>+j=q=yXlcXvLMD7_G7+MRKxoI+ET1Jo)UmY!TGb30PZkZM(&QV=p z%$H(iVk~%&YJmO-2nxDMwTi+~zqZ1~A!mz}<8eL$=7~N%YZboW zu%jqGH#N5stJ(D*?#k7Ymz}3OVSPcmuZpBnZ8!$Nm8{5P^VY6#d8PO~99D@y1T@t} z>MeA7QcHN;I93+^XSJ)p=V{h#Es^rXKjATHpS*0V)Z^;rNz@yXnUwcsi`Qw&NqLN> zY)hxV>es@_!oR(B{@zqE`sHBof$E9ur0b4N$Z2_R@9Bx{scy#t^9kRLysfw|$e~f} zK=J$EQ(SUqhein-1<9sXq%SxA)DOyUM#TR+91YJ#z~T3=Pm_6jgi^&dLpoISISJZw3|5kWssLw>y)M+%jH97P*lnkU-on%;@@IVd#tYbn%hs6JEz&;6( znF~;423{+?2=|;sC}gCY|NVRT5xJc@;56AF>oxZINn8U9tIqDY)HibMiKBy3kh8;mXq=)x~4In z$;|{P?pz&ilY&x!Pp1Wh-FvI>I!(3ybdQpfM>zRtZhgH0Z!;b780FU+kuR_V{mMK7 z^q5A<^r+R|ILe!nte~snIHOROpmq{bdV<1s0yN?7Xx%P~hQ_2!%SEx*?SU8s#KEmq zfF+Ya+@&!vtm3iC`x>cIeFx2Zw_26T$Hw+S;@6!YB?K50bN+hh+sR7In*a7*_fO^I zhGYHLz7`Bb4EzELOQ(Ib%@)aT{`UyB7Ej;w{dI4O@Hd3wHb>*1N2`dXdp2okix7T!G{n1UE{G57I^<2aqSZaYx&7W9tkq0Q3%Yx15HrtQYt21+E3)DIMAao^3fv#Ogf%k7OtrOX*+A z-)5g;PgI0C{D-KQe$Qg1#UzP#U?l#F{uwrM3G-rv?4SHK^61d!x<@oJEH6 za;9*pX3ndmeQALglubL?Rbb6IvH5@|^y>~ycmk3iA3ehJ<%H@#-Vt4PyX%a2a<-Gd zj+Lrs<0|CIZf_$8YIXTZJtM9^;-1l^zNAx8siE6xV%LwckCD#3bK7=zZhS)U=8%-) zfNbqhp{RnbFlGU_LFR<)SWt?8c*3Hgq@*M-t01dqcXh%f&ccK*D;^e{1}UkhKKedt z?tHZU$K0!Pw{8u5PMe}~7gEP0GjZR&F>;rmUJB;%$}tPY^Cu!u667_xnbtjB$3l|` zRkhgQ`*baA$!X&2K|b%5zT3m^?P5`60n6N`r7M~Ic{+nQave4kTdqrK^q6{xf1s?WVBbkh(<6PsJm5yAoySyk#6eP+xF%AI^< zKB#xNzS$P{K1gb>zJHnXKhR**x#wpN|KoH^{)#NON%7>q!*CFCV{V7zb$8RN+f&oE z&|grI7xJwOnXsG!amA~CArx$RB}K6>z05aMNu>d_nuLUDEd{a=-}|>yRVR@qC#)$} zTiIlug!9l^gQ{Bn%4LoAS^T92{==XAOMBP|i$|UUg1^O4ZykYV_b4QuGQ&alf_jPR zVv((9Iv}Rkp5#G9?q_lqtd@fLK^`ascfGs)H5(d1D|n6kf=pWG8yZ6EMdbb>Q%2Eh z_W8YBpeeG}w|zlzLS|!+`bK(g{%~k-V4knFqONZVlj=BKQ?{xKLZZ9{9Jx$9!^{6i zW10;qH!q&WY^qQb7VU;nry^I1B~kK5Y--AiI7_Y%0B zo+}d{58EgGg}JP)+CqcM7D8-H&e5Ohz;@7}4M!^1CfQdh(i1lXc(KTp`2~L}R2j(G zF_|i}!vw@`!;P|FTgf>&eotHyRFW_bODc>^NO+G6(^s`2f$NTey9@4k+!Ti2ozUe^ znW=fP;Q&$jRhnygxA39w41S{mAVEGy%=#GuKsn%yFdk8e?w|wpedx6FNcEu?=7&I- zh(;eBlNu0QK%=h9^H1=C0}eX5;fFi;1HQ+?`|E+%S6oTnuvZkcFPLf=iAuZ};D32j z0b_BO3^*sgXNc0gs;}l)HTj_L$TdHH8A0yqbA_% zpdM!_)w-*RH8b(K6Pe;Z@JY>Jxu||L`gV?3Q}*;qAnqNUzAYv7DxCj$Z?|>1Xs_F8 z@(ALtySctgdN!&%o;<)g5P(8os(9hW9Y87qL&O`lg2nW^Sg|$82+^%yyRk}dbLn^hCKCWEpYw|*Z zEvBT6>uGbIoY^rSa)Sdw$FDn#X;;6PJG~lcdiH|{1g^^IWnTF0utD;RhWqOMbj{BM zc00eXC$%qNs{!e|e4eQtBr30e`PYIPO`C|lBpaz?!L#0%PZ7gzCUW2hr5U~GN9V54 zDuu^2i4s|Y=v-nviz9@&w+CsEXMasguKoZoPDOPi5h6a2$aRBKz&Tx$(_*B50%Ub^ zVC&hRia$NEXg8p{=YFn&3TajOi&=m7ZR}^T7DvDd2rOiq8OU8g4L-BuT8PwrYN3|v zzU=7s8eak1K+aaYpR1@JSA{!yPg)I6`pXAJl`(ZrFLJVOf+<*V9R{VEAtiIiH@*26 zQO8+hxxkw`i<-RMQO5blRjE3QpA+Jg`KmY&G}NLB85tFR#YT}eVxzlB7FN_0RV;xk zwW)fA7$w!csOYb70`9FW^v-+ED6)fsQ;LUAa^puP5#;15Ner4NC=&2R^mzjE`V&v; zOe$boP{SswX;)xWaU(od_FZxsSr1-g$>xBlySL<~k5Tva1dx^0`Q$3=fG|H1Dx$=u zsrx>dfQ?(_pV0KrD_j0o`cMx0M@deR_9lVrVVsjPm0vv6&8RSudRLrf&Sh7}+f<$7cOG@P48U?V0I^{TXaX z%3|f}6TJQZh5<`y@d|I_PKsNOOzQY!@>|2Gj8$)pq_y0BlxQPEx>RZWFOh!*yXIAI zf;S9zXQXKi_&{23^f#M2X8jF#=H}%}r_NVxIVn!r{!sWUjCGI8c%~ zf@iA3wYSV~6Eu?My)}-bCtl!lA_^DHi9rtG71g_*f8)Is;W2#X{e$*ddVBfF&jEIX zx$XVeQH(Mkid}OWNQ;YXk|1Srqo;Wuqx5!5wtqQBu6)5pg+;p*-5l6X0?fL}V(%C- zlky|5sp?6q>52!{Tw&)?_coOr>sj5#r-zxagm@W&(4NVRSx#S(!YC1d9ew<|TO&%5 z-a9Jq>aImkPK+@w7V?GyJ-hD-{-{x|Z`XlNoSn`4@pc(F!Q?Ot-hvSGn9SDHR-vbJ z5fb0W(z#NS%>!~$d@zVQQCcirr~e$$LcUn@*x+&CC_Z#}s0kJA z>acPT3(^(9hsl-zXlRfZY#%)}IFvLC8EmOp64lNrn`4y2QB0Raiigr_%bO5^{=EC(u z0iRdPAI^|pXrW*Gcca4qG!nzue}U}3;MT~J=wF6lj1bHr-uXZ$z0KPZl;=ut*!QZr zeip;MNiAqn!D_=+DG^_dxEO>dDlh8s&pg~Hw&5(#&p^qBP-G5D<;l@EQMr7KNiSyV z<)$$i*oxbZH={z`pCJe56TZCeMY|0?g8Lug9A?nRjUTyJxSn3IoPw3)s#$~tQd_+* zW2}@voc41xZJKxq8%oDA#*D};Dh%Vgrp|5N6>x`)0w2M#tyc{h1@Fyp|2$q#OVYDS zT!P)9Kl7KyHZrE$ElMG#p1%(BYJ9*PTILgBZ<2>lkik5DTyjg_#lC8z<$(_KmvS>( zlTRr1Zt((RJQirg*C6xlE!W>CCCS{YJ#H4!m>7VPYvRZczp{I_cN)XMRC(v5gs)kb*X&3lgnISCk7XIAxRAz@$0+#2T2iZ zR|b*bjh`>GLp-+X&Wc^Yu;~Wx-;C0_R~vz!#aOh|2RE6K!Vi;!XMx5E}^bKS~_7JF$nCqBIxcmQ5|@JPPOvK z`$Zh;Y{Z>N;A=dP26171I;|8DgVey=+#$iSoXy64Lk!sxhF1HD>WbbhpxP8gCJ^`4 zHk6TMQdkUA2D+7@0q8@TM-%5PpZHLyQW6!@shH`fW3TpVqN#2!nY*}O(HjsRf{tnJ zx2UBHS}j09r@ZXBXJ7+UUlSrnGRlJS{(WWve7N(b-~TCG`NUcZX&w|fA9gy^_pJgK z7e2&Z)TQA}TpdM%fEaQym@XUAyWblS3n|5$fhw!DgyP~P{M5Qtr{`F#?p}?BTMR#! zvud3hD=^foIm=*B@@2m{ied~%Xx8$NZ(oVN0&9^AE_-@q>=>qCr{qn!bweM*6OUx>1HV$&{x|W(Z z=uMKR`}GdVym~Rj=GZt)Fn{d!?xj~+cV)4fH+btx(3$uecN~Wes{$fEHk{K*<(CxT zyc+Sn)#GwCs!x~}SoL6HZ758P9dMM-JHj_pJ3LFpf zK5kH*J7@Y)fmZ#J)x5&$x-&5IW}@lc&2=q(tAhVCYchvb%>uM&au%2nThzi!?6eec%mPNTwO5TL|s7R z6-cI<+~{I;Qks!xU3G~*r@grzl|PPj^90qqI5d`XF3rOCeqhwgI*4DbgS*ka_HN#q z7rzcdW6LYZsTbgQ2t3)d>T7%8nbTK!|33N%`jGg%YymO7xR`UPO_cHjLskRqjr~rN z(=c_Bh`OO6eEiD2szo$%{nh5In?>?~+BWDBOU+Rx|zGa57|X zM^utijCdKiZ9aV+iSs<-%o#oPDsCZQR#bTNq zwqt}P3nb(PVSZp_MPNC{Q3Qv-eY^2x(EU9NBjYQobID%5XOX9?S1RbcO*43|3owzc zI7%m)32WJ;-cf5o?o1~62v(E^8AM*h%}xAeVE~H`Lo|D>jZE6&%Fh~8c>yn@#zsL~ z8xTfl)_&&Buw~*_)r|DvJ)K)UTtV0s1VDc9gU9zBkOS!hT&&4jjYZeTt;dSOZ>ry+ zBy(X`^Z4j6?sU&=7h_to(n9fna39|4vW0th{2c|zC3U|^vNWwNU{JM+>Do^4u4YEm6Zq!xu031DmwVZ2x@s|jD0G6)@Hmv z0_m5@<@kR;nDi1pcO^?Np(vY#WK|<*@q0=N2EZap=-1xf zXFtpnA|LRYaYPmOi8Qm+u#WuO;q3?RST@_A{wF(oh!dUL_Ys)~*eev6b^Ft#brpRU zP7SDcIR!mH(^jOan7K+9wDtQbD&H3xS8act^at?O)@Zv*VYbVYucw?xfK&D%aM1RAo6nOK-bUi^#vx!Vo7rPFjz!8z>%x`3le!V6u!h8#+m< z$x2Ut1D(+DR=t&)wmjrFBpMzO?Bfci9}Ov`*45Hcsr^sxn9T+~jvu|K9{g>6kDlSh z?p2uWuGCmcav0TSM$ zsk^-u4uP&jctgJFo=!9!%}=35U)gWoNR3kyI?A@j>Dt>gpI&Dg*%BPKLgu>Pa z;yi~W5uy+i0`t^D9wqde?=Kt!Fxzp{nOHIOvs9utbC!3|nUm2#^o)$S0iIXqOgBgw zj}6WJ+6cO2;ioRV!qwltp-{tehE01rE*ykhuIPyaHN6*tT4@Vhh#q7lrODh`VX%c$ zn!>~1y^Avuo}S+}%~(4HSsa`c-t&uxNHNG}V!&jn#&K`Tikvn||BuFsCDu@jiLpU!CfX3E6z=vvnN+U_%^7j z#j*!v0%#Q@YYAaA=J|0Y8dxTNpU5caAH)rB{ksmG&zF8$a}fZp)+~j3WKCQlGrSz!0@i$F$8D3W z?rY^S=cZ?O&9gVLru4$AP3Zsi0KCWv@)N%XLw1XFYgg~|pZ4sBAs|M6v`-W3-`#Xf*MJH{Dgqx*OduMwOfx>^P`?<9YNKm zMv~|nZ{-1$2YjEVU8>1YST3|Q{c#gk9MDZePd_sui{Ge_gba|0l5X;O{VuNLp}k{? z(=0s>9#rakopMQ!5fPiSiW_htN<>;aLt1!i#DD29vBphOF8!46v@dN>*{;sZ&=+bX zBZFp&tRyCDyEx?O{V59uLk^6N#@k(;Ja(K^($eP?o9A)gH->4CcPN7$?F4EeLryX_YK@HYkY1&iUYG8a>l}9b*y;w^In(A1{ZswN zJixCJ;3&0b)G8<+a<8&#OlU#4)HxystS>EvKrnQmAdVJMZlR(-e1gk!Ma;G({hm&w zXX#`JI@KiL0$C8|!&FJZUv3nH0yX{*xU#m?cP0E|CT4LkeR92-;@s`x73H;_!br=z z0(yI63Og+b>dn>X&pM_s0w$E?2>Rj9)Jak2nFdP{sWQVd)%T&W+eF&x%JS{D169zZ z>MqOD3Dh7bd%EiAd~v_so#*$pi1{Li_b76e7K%(X}#0 zoAu_c7qO?KKemQ{@vf3`vS3gayNCco)<*QY-?Z@@`}XV-{s)urUA_O0uCI)Wa_`<2 zknWOZKopP^=^Q$wm6Yz5Msfz}29ZtyrBk}QOQeSG9=aJ|-tmd^obzAny+7SwW@gPV zc3k_~*Vd%9Na2aL2n=$?%JE3N#gf)(XEDmFC@R<9Xd@dWB+)$ap%Ea91y)mXcT?}t zC>XOOm4azmGhy=v;Xfl&*CuRN{Z50eX-iEhDUwdat==Ap%%(Nsu$SK(KGiS`tf2XY zbbu|9Dl|rXqXk4@ zej2f;i`TBDf{Tn?$D)moD{ps@8ScUu7#Eio&*M-fc)uKPk*wDi7>-Mw^S|Fr)gGAq)G_&8FJ8?L2al_)bHl(~jU7^SROwK|CV$3VtFWBU46EIUOwUoLsAPgef8jT@XS_{$16B??HrO&sjp;H7_r9^~;H-P#RNRO#!st})D^iYLw%0^i>Lm9*--zR`gPAx?4mow{hmPmnVGR? zC2W*$gp`-f86?TIg4ybUT=#+2Xrwos=7QRyeqnq8H_>(OLC8|L#Ub0O|0p(OZv1l- zp5q~sp&M2Z(+j%K2Wa>~JODN~epia}04tmj{qhmW7f7#7R9&5Ve(ok@)yS3QHTyBcNlX5#`C5~3M!0mWrF-hN&f25H z$ukLRz6om$whi4;!|PgbLEu=mu8S7K0?$dS&iU$l&#jear|*RXiSCpsqeSw^nga;! zima9sG(I+G{zEY>-%U`AtzVNz4OOH1$1B>J+WkgDIc62)#_YVh?6z85Q9oKt{n0D$ zHwP1Q79lSLo~6FOQKMM-At#j7tC{WkyEf-Db|@+X+rVuRi?~`!-dTE{OQsnVwL10N zq4|{@VPFDuc_IGm0B^#uKDX(oo8z~LNs)({xYnQA_%liKq8T|Ztfptaohad+H|;3Y zO08(btj}{mAm|N*C+cWUNI;+FXXVe*-3?+GTON=*jI{h3y1$iX^*yux|Lt8~m{&^; zc1p}cM4I0e^;-Q;zsg8Pzb)fKM|czvo_feSQ%{JbNXK>^3r-u%AfNg958h!tP7 z++^masf|bNHI8(T`Kh0w{5!%8Z#`ZKgO2N%lDDz8K@u3MJ3cT>X|2-w@u$3L2EB`E zRmV1MHjC$Ov8{9UlIw)_!kZD&49-Wkm4KZ1myul4bEO|=F`=}D%3EtJYRy1?6yiAE z)t&7p`)LNF4S5!TtgD|D56%6RMPbOEAVRJR%})`4SlHb;DB zKD09E0D$ftSR$0i^d28RHy*sch>y*38+EdTk-*Em0Z83Ui+pq_wh2s8Yl3Ui1- z0?!^7-AVk#x1Q`s%|`8qSn}}CN-W9ZKK>iD|5xa8D)XOe)f;4Jeco8iL%aW8j}p@+ zOzv9I-f?B`tK?MeNh?Nw>4FOyPDk+gsA>LcZISxWH9`+>Utd|P`1Lv8@t)LRZg7f_ zxNg@^*-y%4VVk;!bw&Xh2R~QYk-y)Tj~I-;cIVK-CwPt1;)QA{L}sj&2aU%Nk49F& zqiqA1Z$QXdoSnuA%U#H{_Z0JFx7G|G7ZuVX4CV=X&KQ@odmjW=(IRST-YlRfClv%Ol}-A_CecZ8NbD`-FyOp5SG=SJX>hJ zCvdqrWoD5sa=k`G*)ulFs%_?DLZFq@qfl&7mTpUvCG2~bmH9Baor}yBoJ*@__1)r# zLdoLU?c9FaX!fRKRP|H+To4V!q!BZw|^E;%(tIQT=RFpdvB z0#sSUX2t3eJNeQiY(>k%{MyN%Ntak?-&XDYr2m-u7~0>MT`oDy|G|nwR69T@!&+8V z=WxtadMkbeyY#tlo?@WEN@A0gxGN}T2cfQCteqrthLI}&t?ALZ#kWFOX;RxJvjpwgi&VQRlON4RA3iP|dp!eYZ?NC> z|2zH!YUo@op6dv|tem~ajHK<)K2~szJ`ii8YQA~wWR?`E-}p`9*>5|tRT854c>Sv7 zY&%kai=+JaY+&qKcru@f_C%#A;f5k1WQUT`FZKHH6TfarMz|dOOd#on4?^wZ^FZT{ zmxxyxto8lvl7~LaCE$~v-tHYvym>|UaO~yd;=9+`sN=xe9vYpajnyn)?e{H)z-tm+ z9av~+)eCNHUHgJx4YA2g=NwS6Bi~r&*OxK4DF;KZ5oMTAvW+lJ6WAxj`04fsU`Awz z7z_@@cOfWL6Yq4}jtCssF*3W#nzNi;Hak+y>d%|Ker#FahOZIzw{d4m`XK79nql72 z`1Sh1H!MZ+z!X7R2Yo4X7i2pD(u6QA{mC{(!elu#1HsJ-GJQeKUWQi>F%)P?bc(L z`hTWcBtP^5C~!qZ^H%H!|1&QF(bwzZ-himbT1BWx(GfiHptncndphvw*3x(OMV^49 z15~?zJ6hEIieJmlP8d4&h681H|11g8@cQkKN zS{QSOKH9xN{>IreN^0LLiI(-!wjBqM6n|6dp3ms9_!PWq~?$mP|_Mqu-A>IVxw=biWE)xU=$ ztboSls&y6PjmN=_cy+I5KOd~xsp;llVX(O~fX^c#YhG)X<=u+F>`*#T+?E&K$jDVX znh^T(_T}O=sK5HU3UGQK^(DjSnKs4IBeiE=9W`tb?&oMZHa?zmz7exu-f;}n!R?tpI%4`o+<*RECJK5w)LQ21`FhvsfP4giZOt~3+3-wsTS zLq%O?;JB(n6<|Cd@Vv3W_-dt$qB%=HRvCr&I`f`@PprPu=vO7|B(mZ9<*_^b=Mfk) zc6`tMN_1v#5wHH|^>MFj>+<88&cjZ$&YCXUwAYyEb+!d_Pd+S5qGBfWrJ(0UB9puB=B4dY2hJK)a)REy60KS zv3C723f&M6}DB^osIa2?W!V~hY)C4 zU%?idB1!m`Dk@F?YCyp}TNOc6OSIlhIt;B$!3@J%&DKpDj?R<;<+p~;*sP+$HHXO2k# z>vKRRH!pP%Ik9U0rhwH*ydXbQs_Vvpc@q~*D0NP||Mpkjk2Y#wDz~1$$hy86`1mls4jpzUC_{|L@J_tjo@tv-^Rm@Y>k7KKu(zX7x*g zVE(r&KBzEs>j*;9E~n~mM0`_-MQnBUd5pL$6&MWy2?F(;bIZCM>28aTuZ1h${_=cEO#@qm`K=gKV{?ieQrtI_ zXqZd_jJm%V9@|+qH*R#`*FpR3n$hl1!zpg5vb*d;MXw{WSGaGi9Qr!Rvd9H)`imhE zfe&IN>CT(&fjl>?=jQ_aelvUXc%PV#uj?a5A$JEml_g^vD1(U05$Ln@19C^gZLl)V z?kZ;Jl_m%(w_KqZvm0}LObT2Ep0o0;r78yp`W~G%VWpn)3|&XjbLBMtB%-kodCM$k z{toSD!6uzB!yw_k*%;XMR!|N>=eCx0_!{oR^5tpob6!?-!S`>z6k`Q6w9*{ zFmgN{&^pEb#4e1g9>JH8O|_YsYlo7oxN*r-7tMCl|C={2OD~KZiK}S9yzV6vD~&Tf zW8tvf1XI#>4z_{*OGzZ;_3AI_>BFD)e82W}cZ9q#7+wnmm!3=+ZcK(YBWF@t+14z2 znH~eVh*SMW$Ha*M_tl?fzO_tv`Hxyxc<7@bXVdlMTfW)hK~F96JsHoJ8J$~0g+q!1 z9y?<~rOLzC+Mq(#w=BV(Z||hc{_xIK5oU!~z5 zB}B~qit2J0H+~2?ES$Plu4v!|Ur?2Ty@k&XcwP$!Drxn5ID)-JLFW?^JoqG!W+}0b zU1s=VA!NYe&<|!F=!5a*Qb7jr@K23a3B#B4jIrhfGUmkD2ZW4`2 zKlg+GHuF5$Nk_wPjY;l%@H|z&hRyVTli2z^dje54>VBN*6st_Dg8#T|xZeBZR9Skx zLkpXG@8v0+)d&_f6!dPx7sahZglJMDMM7a^fv9M5fr5Z^&=no%bQ?tC4Z7kQq2xUS z`h2<7hvC-E;y9f_Hm)~(PDk4Db8CJqn1QyrD}NBlrHn88fbWO=vu{V65$$hz@vkfN@Y;0{geY47ofX^EPaBpw|!q5m7_yGTKXJ5LrCpjSKRe;^Cqvo zaLv$b9`VJ96TD(%|G*mQd}hzBl+|o+TK+lL^azq7QjX-HNE(4X^vm8Ys>wJ)Jji8> zN;qfl%pk;-)x7QeK#1ORgojfA-&_%)8y$>WaFXnuHLYcOftY zBV_ZpD}wN+Kl=Elp$QbQEFlgE$473k1UI66Zp`+p<*)BHy$;swNU9+c9}vy-7R#N_ zIrwO1XxhF;>dGl-i-~teKKzp4a0F~>na(yc_2%h-RLTS`rg;ABm{PyWtDkywmPr6= zk48S2V!2AzXjYo~-SYTJdhDG>>AN5XyRi=<-f$%WN;!wVa--7z{3^~383g0%>B@kT zd9kmFV@XH&P)ujme~U(&#WE|{f5x0qBAD%AUEm&8EO<2jk9XmutXfV$bQeUke0lTK zQ`U#LOoGteRq-IS8!4;T-*OBBhx#lNW_X=UFc2S(Hz>Pqj1`+l45C=f0q!t~312~~ z%x>n!K_TfMn=lauI&ULb%vbuk@4Y&Ao0v}L2wU*4F}6tTJ3$O%{|PPR9MzX>vX&y; zxOy+qkt2O9{3`Xj+j>IaPl=GANiXE3iRnpLQmTBP{Ne~uwhj)~opG=J>I8H6@_L~K zo#gs>C3aj4hQrx@|7Lb^NgM)O`lAMpPv}y`-WkGv5ZB8$Q6v~)3yerPck9*! z`Aj+xEzR2dfsLtqp0HEETJ_2U@+_j*YSh?bzSu;2Fe}`&HI>UiA9MogA4FJsC{5>i zc?a6MJs(w&WX|juBQo1b;KVZ=hJ@E#50*Z3lK>2qg}Few%1|Ueu6A*dAIge1Ih4nq zyUYG15R=>H=|~-&j{Rf#nE83&;68peFS*tiWREX#&DmZD8Km}eAW04yIW>(nrBj7C z&-1UIX2a-^vnxH%1NORw0Cqr2Ft9lQ?BBRb;Gyq;S?8BW{p`A`%z(e=S8j-P0r1I@E;MCu||PHTZ0`C`0houD}GPkz13D=z{s0mgApPKW8j>#Z@=j* z(@{XM0l#0gDu=Ko)cX+?T6~bX{dE8_^#!7WTqk49%Flf4Ls^1H7T=QVtFn%srSjTG*sZv=-@ic z+XQXI@m-rJa(=^!@6|t^(|s%dzi0#Twh@JBB+*9}k@C$Vg|`T<9FV=Y%)kP-Sdjv! zjAFxa9UAs<1HnB(s5cvdOyGb;G18~~Ata~7+yvR=e*~K?!w?q6lh7sh`-o^z*>5W= zyL&-o59sy2eLpFT*vaqS--^JAVC4Il@R#}l+Gbj$W|4GqWL77S{hTWzd?Do~{o9`Wxt5Lb|7uajS?D=7uKB>eGAqpE zS%vu&`TlYZ{#lxByZ<8jYi^+0E`}UNs%r8gPu-iz)$c@@%MaiKu2*770B$XfFq}0X zMA{G~{CKsN=h0N^|Ni_(8IRxIOpOp1%TE5W^2)kjX#IcPZCqH{Kn8US?RaXX{@8>rHPU+vcT{D zVbnqp2(#$g2qM_3Ll>J1YkzP+xe7Ktx9=`6UKY5e#WU@W#IE8fBKg`EEe*`hsKuvR z_M$2Ac=|=i9J#!$1tZl3EQ{+=1|l5>mdE>8%Ses=Qgq&v37p_m))!9A<-!e$p%%aG z2Y35WUDHpkHOBUA!QUVU>yGYlsL*Qq)U9>5w}y_Q<61FJ%x&4XjxXIOruRmR+o(%$ zW=(!gychzmeC~x;Ki%kyma?(2v6rwj&8uH7?@YVyZS5rju$6&?G!tdXAvlxw@@!uL zYWaQ{8@KdYc(3du#zkeQIIdjVAQ~XgK4wz|d-*lyw|(E&hFE{6Wy#rcVk#@F6e%N2nnAm;uYeK@zXzzX6o)bWA_*(n>lKN0Mk7n--@Sbu| z!O&;k_Xpbc`)LoOcUW%L?MFLGGz;?%*~Sw?(-?Aj4PIUC#uuv+V?@RynZT}c6m-O9 zP5)SH=XHF}V~ULR)ofBuu!UAJ8;lQ&!J4>@1AfF}#2>mrKIlu#SM0c;&3kH!53*qFadNr>7@(QhN(g zb4EAQzV;hpZ7_Yov@=m~&%srx=h8eRWf$jD-SWAKX;ywqhxzpXZ| zhxDg@%eoyM1+hkbVmMdN+oVjLIx9e|&dssFEO5pP;~}B#MDNh=roRg;_cK=Dz4Tv? z72weTG1qTQR@5DTz0gM5O^FPj#Tx5TVP619G-)+7rBU$7-eN(lvnKlyjk8TVM0@Db zg4xU5X!@Xa_5`&|6|Gi9{p}iK^t@;2vi#`qs5t$0&D!QD(#e9bCWN`iG;A zcY3a7W#pI;Bb5L5?7Q=1k6&l2z!T(^9q=%xr=|p2%X1D+Pnn9Ub0-QX4}_My4r6~X z#rlaLe4?bMNR|9_61yH0j2MtGYgk`b_beN9SG07jLPoN=ff!#Q_&z``_-WFhQ_YFku$U$S7?^!5OS2qmh`SP*g$ zo_&Xr;eEU3xnJX>Q0bBj#vtkregB{W;}1JXGYCCx*_p!ZB$1P}qg>r~#(35!dF@tv zrB?{%X$o`Ka~_xkpxoW8y%X7;lm$h%R^dqn#+D4Sta?RYG)mk8Z~2=7=mbrwaX$!SHPvU z<0}i`CwDgn{`L5G>%_h-OgUJ)UU^(c`a2@F{AP3S6)RmbU60ni(!6%)}( z{NI5!-2&#)@_1iZkEHWg*bEpc;2|xlN8;bI4$}K?wIG6TE0ycG?nhb~G|><*f1c4) zXWuJrUVJj@`W@rMNt8Pa+7j~&Y_SUTEHl33Y7jr>$G!v3a!Ic;ZuaRUv#pYYUl;bi z6axwaGH4vsAv&W#6w+gk&NJM^+~kf@iQD3rp7o2V>6$@=ja45rPUrd|(5ON^&Ggqb zM{S3YRV6f5mUNU*W#k5@l=sfB-+fMuOg8K8d?r^v4xWxY&Rr}*P7ySJ>SDT-qE@)) zD+L=;|DwbG`dzqtMSDbIiIz#CHPyB7dH60H-A9b11~Q#>S8YB)xtNC%UDG30nn2NJsMa^0psFoWCqk3#>2Y>DDA*5t!SxT%rf&86UT#Xt+(|VAE~JQtPK@$- zX-&-`bJETxumlhHZOM~4t|(fOfjwR-?oE*b^r@%B$PTSKqfCIj+%n((HG@KH@5X!i zaBVDU#xoSLf(rWAN6&lGG=9^eWRnR- zCc{AuVN#Z{MeANA zU`c=Wj`wMan4B_XE@+p{1>rp21yEFKV24oFhTh;Z1ju%a57ZDmD?^IL_;42Z-J+~z zGV=Z+L0RhOet@0`z6{y}$!!b!MC5#qxXeg0QirV3ESy^AuZ!r`w7L=;9=2;g_5S+X zWb6Ig*c1Wh=Sgh30X|2K=!lSTukzulzP%S8bb?}~m}?m>_23bVkkigBo)JYFg}Xnnmg&M=NI6v7svmz2hG@$Sdo1nhroDiD8uN&gfEIr>n=ReMw`t^nplWH8!0ToCRO-y;WLwp$!YWPVlATV;Jyp58|Mpn^>*P zL{l#D9;v6Xv9eDxgGR7{-i+~<-EfutspS3X>8*_qCz^mJ&Kb8_A< z!!KcDZf|~D6*1z;;pYgsU{EUE^n%}$((FZ$fqEH0t8U?!=9ALGcO}PWQCE>a0PL1(0h85o5&&0%DfDYj_@dZRx;kGTX)%u z@SXiyR@5Qy&-AQ8vZpeV6FmBUCQtwtT`PHVQeV?Q&fe5NBDeIZsh&V)1F6~OVri{~ zz8IQ?qJ6)?!NJ{y`ichu>tEkCKE8VO3epa4uTFl?Kp8F6T0WUM`>5l6205e?DQhIOoPg*7K~FE1~ea`;|B_WEjP;F!iW^TH#hWuhT+`|QDpjb%!Q11saIu@uq% z^N%gfFlr^5d({TsD)F1&t-x+!D!v8!j&_H+kM;P#B@69`YPMm+orK~~Ip9;TfrMLL zcH&?%+)hD1G-I_1W1Kp@C*=>qYN>Gwga3->sz9S-wU7@K2lbnBkHHMT`WayKzHNI9 z(1_T2y>@K$7OB@GhPwgn<6aG`>ygf#sJ#t0xkSFsBexje1v<&Au?~{psLkdfFFs+& zlJ%7P?Vc;&SSPPf*y4g=7J&Y0ZlHOHl_2>T8MOEBCqD8&5Q8!d58DQzBp($q6m8uj%x))j3y$ZvY z8c9xZHY?j}J#JJ%sp}!Tr!;=qA_vs-xaTdLxeXPb>@3g&N?`(P-CBw= z?Vi1&&8Tsin`{S?Fs;_Gt@PrIR}#}1w%(YU7b7h8o)(xh)E@cG5smmINgVy#JrA~L zkldG+1^A8~Kgnk4*4WJODms7G4-rOf37WZC!FrziyKi}(!)vQV2{XUMSj!Qp_n-$p z2f{wfzhJv#(U|xU`60yMuwueq9D>y;KJ~FRc-?$LnK$CYRL=7|K|Glf06yYe^_AAwPrhmns^TMuNO^~Mq3uQ8` z+a2!p;8rl}qw#o1A#y!q2`v#$BrOPlT#mVV`kubEhZqE_byc>>7GlBp%DUo#VxgL( zOKvKi20FLU4V|+qG!1IJIZ`Tz{LjDE5W%1=CN0=Qv$-1=y}msr7;G4!nSPbSlHe4h zyujHD$o8UH$XpMScH55hi(!uYabo_oWdbX2*;-nMTiQ-q!$w>OGe^Sragfm`A7@|? z$Drks@y#St+K;emjpv1RF~${_f_R1K&XD(kvf2cMry|eerm=gIJ=!pfz;yo{gFB*iXqX@iT%FD?)=(ji+ zvjekNQ^0*X3;SiqLAu>{spK1No<3Lv&q;59T{n}eK zxSg1ZID$n(Gg$R9Y^R{(4Jmp4t1Pc6ug839a`K;8#s&_UE6gDK2k>G!Hx`SGM$i}4jQT@jl2J(sv(*u&LQdShHu=vfERRjHqT>Lw^|Kw$MSn=~RwN`7sZy zu42dZerm94t6xoT`uaP$s5f!h`@& z6EXZM)ao^~?s#o`Ik*(mh7-oAbT{t*%dVE0A>>fZmX=0l)y3hxrk8%X&RJfHkx z%mcHq!Q@7JW++_XE`ZVg@Iy_RG*%kFc-OVr`!{*BZr^Xzg=x^EtjIF&bNz58ZIV(5 zxHr8T)+C60s}faGG3vmK8$LqFfkbv|(H$}}paT303W2`8UXqJMlMW0PF&o-DzEAsp z4L+t%y!}wM;Cm}vR(+QZpfT!^#x?JehDR-t8aJx_wf?Y1U?+`(=J`Sm!Kb0iOpgbK z65@d1{-1={$1#pRqO>5+I*V*YCQ~OrimV2`jA7hSSeEOxWR(nZEBU8IAa>x^`*ODK zE}w1Vkk&TWql!auzZo4Rz|wu%KTp=tI+*HZ?tA;;BzBdG^SX~q5%cpOtcrJn^3?Cg zoA8}s$M7f{;6wCM`NP)nNdf<|^9G{a_zxLy?BqWJg8N~hITVc zADI>gtx4CuCO(jmrloj9Rs}tW0HUb+BN{NMMjN->&det@#L_38dc4p|NYyLpCr%h) zrWj;O0)Z!Oxb8w>|TJ8LMw%GJX`|MliGsty&qTJ{^O9iQ-r|7yyI}53=w4GApYsswf1GT z(^v#NYgnupXj?pRy17n0`{YJbu+&yN2udWNE16tGPg8`^aK|t^jW5QHnzr_njOw)o z2SIVl6@}Of2HYZBO5e9ci%A?~>RNkWJ9|7mD_qydf1w&=ywCSs9?U&<+0HWkatNW9 z^4&w>>cZTNreVngUqY@XWJ?!6(BCzZQv-^x*O4y>@xO=)r-zKSmdcmoKV^JCQx&^4 zM?d69fb`;i{qn`i@psvN$yOs^_*Ug*He-E&L7)}D8jsY zbH9Vt{Kfp{OKL*!3wA9eHBfKJV|4J=`XPkml(eLnDSc5jZA&Vv8F0t!7iVJLW$_~X z(oI^El<<_;VQRUGI!qhnwaO)WlKSy`S18VlNIBqQk^q%rsfBLtpxFSZgz?iPW0e{r z@l~8&bNBkP{+7^3^|K-xPVb{npR9dNXyajEK;+hiI0HA5}as(#C{uH6Qh{>s;uc| zT}<_{7hAV^JXXWJxN$dcC#PZ_zby>E2@+{T;gJYb{Ai_p?i%3h5@rmWh>*GLdDL*W zH$aRfSCDN>3w2EZ$!kx38@`PYVQ9=3x%RYsMA8*&>REP^>3bk)AVGcQ(qM8Sl{F1$ zl;wLDWnLv+%ZlAMBh=<;rp>xQkN!AKNX~;i(1gQa{<39h;Z(cPsT&=l#hHZ19H0{s z(B?9-Vhe@LH(?p_YQas>EJp;gJXmQLR_$f~vALoFYrsFtA!IX($hS|%0xXMv;gZ#a zVO4BN)Cp5P)aq|O$9|X=yE4m<|BN&7E|KT^tGzHk3p&MN$rx5D!4G&YiPW2gy7IO6 zCo&>xIJ!&9c&8;@5y?>3F3>4=Sa@cr`QWVwub5_O`SUp?iL}IM|K=wsEx{POw;0w) zo39??7-Eutm`Az}*XYH>Tc}=7-z~6@ztqbT=(qRe<%E*w{irRzn&s{UzB-F_h&ye+ zc$87@zS9CXEtlUgg*Go$$#GDJt(UGt2pYd&K^M&ts)JM(1g~jOLWhi3_ZY*%GR-c! zk8yk!v&5T9!~PL4x>+Ku)t?$vQ#5JSw-m8mTP&Vo{EGMx99Cl8+^y$wz81p*->fO* zBlGD5p>pr0u#>k!7D$vuntGC{#RRmpIq8iH2EG}&LO8GT99no0sAchz#(Iq`5Te zmpZSRpSB3A3E+NO0t1dgZBq{K+uiy|Q`L+8PSv@7Ux66-_O@>bp-UCU*+_Fpxj$;jqdnT#D zd-&G>LyK*;!P`o+;#Z+eDsE5*m9jTb2q*1tIpce$)T5G)t7|A~-9E1HA&dWK=j7gE zWKbPVc;KT}`wbo+U&NSy_|4VS)jC*+(NLJ?Ww#t1S+=Alu1}~f8@wN{ncwsGA@fJ3 zm1JQ*N{+YAh+X{KGxp@IhsRYooV1o0`Lq8d3JZ%Vsch5RckkjS4`}(9+=#bFQa6+? zONTkz7x&y_|4|4|N0??jM6f=lz2(5sGRr8qSsr!Ks~w3yy+EBE8Bvkc9EWnnI7VnU z&pIsRQ`M1`VP6&fvS1xv-dmGA=)T?`$EHcEH&Qh&cf{JJ#ZB{}i{hf2Yz{Or23kxZPqx_q?NaCsy%R@werdhr^nA5|IXe97$Nh6lu=2xcn$JLX(Nd^RcHZ9ncYBCOZ1%lW}LO*_Spy zF3Uw&JooucR7(Am>%{y#?`f0}+1Tkr;i# zKWZp`a@2?6Rsp()z5K5Q%q8w?$F9$(R}&(BFKapfo)^H`9sh}y;AcVF54_BvRBe(j zGgZ{8hs$2iY7uMIUh4sBK?-g~lq=wO{;P`4NVp>n3o%H$(Vw@x}YN`dR(flo)voVgKDGi)-9^wsbQ>)3W)vMX6 zn=+TD${qaH$d<}%l2CaXffl4;L;c{08BTG|tzq`A%JWbY$hRl&+)p#=Ir^(vd+nyq zR8dAX@ZVsEnDkWUkY{ASD!0ODUN#Ka(zDGV4ck?ket%7;^@xxXeV+SO%W5WX8LMuA zvP@Q*pjHp6ICCE9*Sizi3zouER;jl)sRGPNT31p+XP7@Q=L|lOD;u3U8A8=TgTD+1 zaPm467G}e>7HYCRu_GV&KdgJQe;BY?SIS__CmK`c6J(m{p*7`H!iO|E$i3%n+gF`s zdJ6wuU&Wo%CyG7niFg}t}T@SX})==UDKg{gA)BkthpYNk; z09?lQcAmmt0PgSx6jH>}X6nh!BHkVTT0R}3HViPCWBS>v`&J*(u6UaA2Ieu6$%SMV z(iZ@xIomddKn5E=9dZ3%aLkejZ#B2?wIRfy- zLEh9t?<_UnUpJ*3m8p zIGPHl=htT(tIE0@tgzdd8g>bJ-zPKYPMR)EnOjLvU9|@Rmb{s=JbkF}cp_Xch8)~> z*B9$sAD$kyY;ctVH9{+^h5oX7>J@9F5}@`Z-t%`b^teeA?~%a!NLhNPk#|0r7a(R@ zUh<;;5x9&x_&bqiXo+-*#Ou@9uAFb&?L>)klCS4W{mCSwTgN8K&eR-Wn&;lwpYS3g zLh0i??j;o1^9aadM&$BmQzfL`BAg&A#2qGJ;n1y2M6pH515w5q2@DbSKbkN_5bb>% zS7SzPf1kmp<$AQ&sRgMWhfTnGj?NeD#_GN5Q$gSr=Gd%;7(}vga5;$O?|cR&8aJrD z{&kmqM3Kvz9l2=gtzbnV;SYBv_GW1ioonn=3vPhsu$V07m)Hxk^QAvrG zR=BwsKiPC}A96}mOMZ2|D#WJSl;0cIQ$Xq{);FFJW%5eAupBKU3oDzr$KDZQRF>_D z5WJjS7O$+MO#_nB!thC{uabA|C;oQRgcje48L_4*mY!JOAMk<)Z78s! z_z|)GU(fE--P8g6?}Ef=EUd*D#om-I=O_Z(1J%pE`koWwH>T}fVjLeR?5YzvJKN7wT`hS^*=g)1^ zLuwvx2i!wedGWNrnI3aMg{ad*n9#i*9>$~Vd6!Hf2Htcil7}VZ()(bgs^9d3so&zT->_ zuJ8m&4d#fLxH^MNoIq> z%^5kLH$(;i{KQ{F3+CTz0yui(r(vs8`1b2mJV@1y&pJUY=)G0RZzF6BS;|1W1nUP2e!UcsPHlycc1@mS%FE+z)-235jHk0;mi~HyGQeZT8q*O_` zg>2wBa>TPx<(!VUOt6Iviy~|&W?y1V(9bOKOei5joQ_*-u7W+9^yUPx>ny zTlJBZbpiosVIsgnq=VUtW75uM1OvW%@BjRWx@t*9skmlKnqi;3{$1}EW)?Q-37KTm zDZ$edBZ5$T+Hl;|k{!BsusySZk2T~|R_FcgdFGWsmLmBFe)hN(YDRl0WiN^u?Hby! zdK62z!&m9dK@%Jq~wVH5&I|sxql+1e-2^aKqJS{V3oQl z>7eXi>RYK>EmxD$Ca>_R=o;f(HeXljwjq0<=Ivqj5l26~e$O7QVLH1KU)$9a^#dKl zq{w9Y>yqpIkImr{cz;6j6(_C4eAOj^P%|ag)O&F zof9b(EJP|;XNKQMjkz5CLxnKT`Y9$>5wB+K3r)wN;%w7gUDPl`Awq3K{V!LOEHdz) z`xluxq&2yV-UnE6lD|ys;Xhx}xM2HOBBX%Ps94&Qk^aw8Et4}2&Jq~84y&OV_`}RO zwz~J|es>i+s-ikMZZxQGif;7FpsJjVFh5iphM&lKx2Orchpq~lf@IRWkCJ!8?_K%7 zo`;IxDNe!L3!YSp>D2k8_Oi4>3TSleU8BStzHY1u7Hsww;}`h`-}VbiU}RSywt55p1fp3;UF^mk zIumFoIk1Q_Yf2U5EkqCKL?Z0^Bzo zJt^H-Qg}d{6H6-Papz-SiY_%qG!?j1o71&KuNGoJ{bQ(V<@X~J?##$xnJ;c%;2iy5 z?pg`+-0gqatw(=E9-N*1$EKMCM*goW^3Pi(9!&WEXB7T?%(f)?E06ehdHlOdCJ>C) z|2q3WZ{0IY{&uYYef~ql5)mYSd!j7BeXT9LC#=vpjJPveuZETLc)sGu;yZSqZe)df zZ)8OueZMpPFB0R=i9Pt_oFaUllI}+1T(N`%a-XE?fRrZ@n(7}RIUPAUIa#n{_U(r! zg;lNCJRDO!IZe5Jbsp?7WXP3z>PMAttzsloccKb3tS`?B?x&r02}$rH*bw2=Z(}kl zKLiYN(Hl~*n4qulxP?@kqvO>hmX@|RepZRdtAjeGL^ylXWo5*yk3(wDulm7{NNYS? zi=Vb+4jFSE&~uU>0GD{k}U!W3`w(VRiwv{A+xnnJW?tfikC9FRe zDCljT5T&M;*8X)|qX%%ISS62wN|1`=q~V$(CW{k)QIS!q#{PMZuLag_pri8uGtJ76GFEAXIDf*fiPNq5ny#yk zk#~*Sf_P45cSg)A9BnruHJ3NB;5GGqjX*~S-3SqUqc-vs)6A@D;KeeFd)Hdztw~Rx zm&s))qU`1&bMngc8J-Jv3-U+K({PN7Op&1-^JBsPNtp0vj)MNI7CCItYC=W^S;-^EbeQDGN_91joKG&wxNAvd!p>f;3e2T58$zD-wYPW z*8i){fAX4iAlqh241BRfMI`lDpqJ?Xxr5a%;c8h?-<*TC6O+I6aZ?~uGEbP%;iB|T$Stx zxQcz>mmWNn_$7v@Lc=aM z<>4Uc9ZStDdkcwne72K#*f~6ZysDpsF&kwt=s$LIQUM{wHSS$2NB&pEJu!>QL+ig> zkiV#7J4mjmsAvg#cXhBDe@e=2j{e7#wRL%(>bBkR8ub7aNP$Cx@K14A@|sH*CQF)0 z3DB8n9nCF`rzc82*m7}f0}+xf!`Ife-g4+YeQh-+H)NF+@6hQQ>BCv5{DtJOj-nNE z(K7Jk`Hz`ZJ3(TVcX>#Bu7ayzch85(4@~`Ozf?&UB=9>SZUR`(Dn>;BXMLO&zX3}d zG;P|ZFqX`Gi}-#*?KmluVh%7xmVc!$@O1w}T%_wqm%f;UcOLW(a<~ut9kGkrr&8ge zRQQcQ0AAuL{+Q<2r136hsD(zZCqg9o%qOd08bnJj53?Q?akjb-vSr-QronQ!ZWz|E z%*@^nXJaX~A9n=9q?o%ob))|U)$dicNbHRurl&EjyJ|7x$^a;>q=uILVC#IK{9Qs} z6BYQIH;F`dx*#^;dBj2UNcy|E*>lR{m+ezCMVAwx zY}7`M!5H7RZQJb8sYTPZ+D)n$#p>?M)${%W&kBmcMUmJIMC9@3aM#^FANvO;eH8{T zRm6m6>z24drUd-BiwU%h2P%N79vXu0QQ^g};JITL_uw;X;377S5?RVe@{Yi17Yv+2{?O~CF9E{ZKB@A9=Gb{8iJ`xTQN*0 zDabh@C0hR)Qo%75Uh)H)=K5~K3bfBaV-;5T<098=<5YeGBuH9Pbx2XmS{#Kz!?GUW$A3^X-aJ8iM&df#9^5kP9R{z>iKxCx<>m^7@=0$hrkDSz;xNRE&Gp!?8^fy_7H?UX; zFi}>gy;!O}Lp~FnM9f)%z65^6d_1(U+E;C5AtBf}2U$NXfv%j?x{x`byAL}05>#Gm zLgaMF(Ave`lo}j=)-#`N?Bt@k!jl<25b#zwAomdetWVvD`l&zs#p44dM(u3+hS22I zMk_kcnI5)(H(<>V$g8jQ6=Ple2%YxZYR&c$Lyffq+Id`3JNR#6g{{+WW&THyg4pLo zprz@`;g_qX+=miIU$f`1$5FX9q&2Q=XGnGIZLVs3EQcR8PWu|j%Z#=Q0w)kKday|5 zHE06=^uh7kcdL+vIJH1dS}8YjJ_QH6A3P(gP_6Z#BNA^VA&&~G#BQqqf3fK zB)pWb#T;VSE%)AFoN2ce#yZlA?WyAQN^=wh6DiFe}I+!o#BemMINfXsbMQ zKv&lf!yn;et@ST}{9H?=o0JSFD}Rx?FBN-`TN{d~kLDxDH4j{T8d~A7&hKfWH56lp zHm@Ni#iqNOi+RomWzS(FZY{-{7gOk=xVD&))M?qI!A{f9^wn3U(rr^Dz?UgoEUz0K z7;BgGR^I80L2s z^g;(4b&(#~1ChZ!`yRBHupN$WNJYt3+=Ek}4(X$vy%lxByv}_NCg4u>a{h=7Sx5f; z&^3#Egf>rbEWExnIymsTJ7rK{3r1HUgg=I3l<-`_y9%61;xmb^(D@*+4b3IjYigL( ze;922vRHg4M%Q(laWJHt?U(C`<^sDF1EHU_jtT`H_{d`3t)ZEnES~iRZ;Z>jG_`x_ zb;6JL+~yuhxQ-y<=@Z%aul6@2$j$aVW_NP+CZ*(yj>MLZ#nz6d*hb+Q0 zr5n)vP7&WI8BV;HsGjux#!_<>T%3tTMt)kBp7kl|MFl0JZ*rah~wxE3Cd`;LvN_-*E!) z^Gxf6^I2pPo(2L^>YR5M)#&)00YaDAWuB)2#DRWpZ9I6XA-~A2OwCW|p2gV@0;}6s zMHMP2)I8P*6v&R}ig|9gIwUv-?u&!nBUi~wb#7Qw9IUBm1sa@1i~YPw)GP#9)#4W6 z7s8`v(G=P1RKu+4kw*tjnj##kSmFWR&li4DEwI#H8Wtf{7K!Bg@ z_6$BVd|7I#$&xhXM>I}C1tRYGqqKFKDU&lAfdmcV{W;dFdGDM3P4k!3oWou^Y6HuI z@;_AinvpJ?c(TV~uE!D`NH7lxA-1#$p7;hgl|ozCx`8*L5`yf2c;^GvO1-7}R=|Zt zL$=-`J^DNqnAjp_zU$71_RdyOlL!MWq1SN2q@n$x-fuK6P#9~Kktrh=JE&#Ou{*Iu zJO7vAbiyRUvD|L@$N6MnPCxFi^h~S9Q&x+Gh3DwS+cLb};mC?uJaKQL;siwum)UsjJWa>pgt$*#`k!r(Un87G(?wxwMfP2=VT=e>8=6_YOqZ(| z5ftQ738`5@>@bVWuofdyMH&6s$d4j=ai?wj=3S-DLj5XExX(yTFqsSH=v+{d_Jx1VmF)a!t2htZW5?#6l?1x z{D`KtGu7oy!QwTv@rcZI*LG_Le&-G9w+jphoZ<(j9Pc(b9nI>Y83Q3B0j^AaFPp=k`_N$$`gkdMUr#sHq>}_~K1jQ?Vig z2Vu9*%IR~45474ZjoyG;+yRK4s~^J&myX)kZ>~+p?_rc_`i$%WJN&HoXYn=d>sub* z@jGBG+x0sFV9xcMHf^(!oxs7U%l&gc@5dvr-$6Fg{UDqlgVJ82VK)=0U_stMc6t7Y zslnWzx6A(!26H!)gBz)-Z(?12xWY_ckvUXd8*A^WKbcMRAE>HisCYugjLSE0Z?LU=XDttlkJfxUM{Hx^PxMN(#J zp#D%|7#G0J`AzN1^T_$7x+pFSx#u;7b5mjt_)Ll{E6?-H` z-cE!q)>hg4G{zEYNmuHknB-EeKkY84{@GfA`|?egh$n`j9?~C^00y9Lb3L1fDLL*MVMm zfq=!Exdf6o;n5dRUm~+`K_9QVsg=8J+ghi$)Z*B)77-O}q4k`ed4NjjlWKZY_?Mu1 zr?}8A^KQ9zrLoLjBQ-J4&O4H`!U-1= zE}Iy@LBy5*gW#D1sD-d=J@R~))i2rLaer}4W@KwN!-GQ)V; zTR-aPu>qxy5U$ff@b3)<2LIzGE(26J4D@V&9jX((nfoTb3(~0vTGHi`uw%6}n00ZO z5d6edW8SO3cC{3&^GdJ1i5i9y@^2|YtS@evkB{_LU1k=sXDVj1B63dY^LRX9+X?gM zlo$}5J;M?q#8fdrh{p^bE%s(SzP189KxZGwT1;`dC|((C%^QW7@#8Cws0|n*M7tYY z(lvxsG@01b)Bo1^_R3^w-biXcTzLmnqBR(-W%C*|5RF8_@A$$ppr_lHgLNPSTHBx; zngtW8WpeV#{DHRBwdpShAv-St>{#O$WSFbX3yS z{D#=55Ub8%sI%WW{RbjKQ#(f6bzF3Tp|Wz}{u))rgT(vn)t{bB^Tb&HLcEky4}N<8w)&x4eR&7q`9 z+gvQiTV8Ir^>=r5oNUmEy;0B*d`79?9R3k7f*t7*BK@&eAJx47Q%r{({iE(I7sxJk znWhl=oK5zVeX-fIPHs8&NaG#2Z##5Ucl(jrh|WllGK8b0Ku;>BV-&^*_}*c+{9)N` z+e!*_*aaC&TUx+S2k=x;u@fOk6%md`OheCXpX84A((H0ia?qk;?GBjqt02kgQNZcY z_84(VbZ-7=&F)bYcCP_i4Wz?idnO*wES^QmYn0$77G;HbRJ+L=mH=P3>}oP^uFsat zZ0qK)gjC<0wg;eH{DMDpW52qeqW1NB+P{++HKVBf&7Rid6_fko*~Ukvt~ zwVvsf*Um%1#23979GlB1@talE$}%q4HD>ep%~xMoQ2&vERJFfuiD+tOW)w#jM|np* zpNQ&3#wcsWAT6L{Arh5)_TIFGJwpehjvzPYX-+9oewWq>ogz(l$`2t?#<=6GHca^Z z0=*U`4MJj!K!{0Hi8^QX_2y45G&JErZDAB*EjY>;Kg#I`JBwA*eC9y7TTpze*+>*t zsc4x5yTf4J-4z#H=SM7!IgeUKxc?7PXV>rQ(t4?8M{R8?uX%z-p2oDB3OhC*rRYF_ z#6O^~8W}}tir5;bedgeNxl^+7xuvN; z*sduMDy%>)fEv0y^x_mnb#`* zX?xTXDVXAjl_?#vWyq9gut>CgS)9}yTjC! zFgI?VgsQepbyfgjH(L|F;z?22#YUv9Kf9vtgtGm%gewXtPfC+l1d}m0WNd!0)E<#G zR{YiH{WARi^o2o37m+))>t(pfZs~hQ#XHObU zn`)W#*-dSNB-s0Z5!%(5Jg}dv7=@}ln{H1(6!0UUpU8+#r!)A}a5irGCCel~emMj6 z(;2te{coBAo{+0MTpLk2&4%oG!4vnk#50PnP8iA1hS9oYXoV89QOrE|j}*0Fo5e=V zyl-m|i#BePn+Fa`O7XF=w{?D%RX@YA&!#1qjpc`bxtV^$9>MF05-^>gc~RBgVgcc{ zBPxysMQb*i>_rbzGKlga{8_b7t)OD~#`$@(x36+XuMD*xS@i2%5g*;mZ&24RwU-#} zBcF4`O2~N^R(mGFnt3a*%@1;NsZiev$jx+qlShZ{&z%;}?T`srmnoqRyo8W()jRJ& z-0mOo@=&lr;q223Tz)Ce2}b>>U|y$}NS}ll4`*@G-v<=6icKpZXDm(9RXnrRWldhp z5c?>16}Pa^j_;OegW!jcRb%jQRUhUw2o#&2Hf?Yd^DxBAAEim{Ubo;TSxxot9X-@s z4p`OfPGE_N6WCaIxM?jtkoCbgk68p-<^*B$$F8xs1d6URFww=pBzxhPoIX zmg?(UHJul|!+j9{6t3ySK6FW(+eZ!Oq>kq>L=5s2)W>n{+A<4)8Omyz&!CQ@zy!SUd>$1c4*Z_NLdjPO1|?t zk7}P-Kl6JMWuU_684z}P?9v(`uiwQT)2fwJ-tqjd=}RTv8hdUA$8M+Rf8!37FdX>k zX~BK$x)+U5qDj+SL{ERGX2tr1XGa?j49bBVbOkZG0LJ`-M5E`LJ-N||={VcOJQ#Ve zgJYf8#pT|f^J;dG;WT(;uh=$;FPKD{f5i{nNo_@}bha?e{u-c%iBw=&NsD&MZMqCR`dNr|QvxD+)P zdn*CI(oWW19Z4c?(9=I5f$5*B)}LlBkEk-J^HGCqMF&=3A}77Y67#l7*bV4itWVjZ~d=`qRejz)p{)$VjZi+mp_*q8;Tjx1aE#a=Cpf z9oP4Gmf3h|`BbFLI@ryArdS_vog{!=)swRH&P$5^enmRwMv5uKIY8uqNH9>v4WU{F z{N!tPJI=epvj$cbqdLR#_NUi^zU1e7okklGVmpH%Q%dDv|16wqW_uMR8mCjwutNgvn%0i&o8%>*s`Bloq2~D*=>XmZYfy3r& zpy?#QRw%;7CSAEKUiWNY(FR8m;_T!Lw1MCN0JQejt_|s3lSK2eGaz295aStMf-;l; zD>?TWm0pf@7U^IKsq-kWe;jeP7;k;7WrMw8Dmm4<0~$zUAQ*$FpvR|(&fCS&FtErs zX;V}4(9~dEZA+C8V2(b`eaf0|?^&fnp$yie8nYLU`=~IKsZZaeI&i7O(=V*rEHf*+ zVUba=(H^+`hV->YzYt@cISnFIwEgp3s3FEk^!(eQ5+FK{v_qfY9P9qJ#?Lpir-JHc zWN3-V{T@-(;-NRu(UodeR+QZ$)HYL)z!5c^`N@28&r3y20G`h?oJ@7-W>lcU$CXeJ z87oSb(hrcla&DRUwu4YBI+MWEW$~1HKf8(P&BmX^*T11}xNz0ChBxSP;~sB)h&@Hb zsHs+sqJf&CB?uPB#@db5af2aqwek^dgHxf^5)&y>8G#a}+4VorbhfnMOZq^f%y7fFM+&Gw|8@y>2dLQJ5nGM%%7>K$Wu<#%*GpP(xi$kXO z)^{;Dc_(}GuEyhql)4=9(nOQ8E>Z)njhGag=HXvx5sua0K81}cV0_rRTmbNM24($n z<(58ykRxBAGX;6bREy@Th+8madyKsge)R3o!jWd{=E`kpc4keXmgv2F-tMosNu!~q z>W%P+vo5syFp+wn$hETDt^H_dL~?a^@8W1pVI9@YO&w)-9FDfxOuW-THpXHTv}08h zmB7SLo?|0zi}CB2-L0{2s%Eu*$f@U7&d=NLDFeANvwTvUJ#V)f1CJICdH)f?Jk%14 zsps3vE6VOP1lpaYBXz(e-5F#7yiseo+`y*3Qu$ z=5LizA2r5;Ei*3ED;i{nqCCP1aC1qoN%8VSFem-x$|gQM$BcGqk0(63Iz3 zUMSDuK18FSS*T1~MD3(!2*wFY%tS<#dYK{mqf&JdrSjQm%_qqw-RgttF^N46b8j&; zjTJvtN5h^I>f9|@J{!RK-nc6jlj|?y*hQzMdJ0~3>@Lcm__k3lt{*xPNm{R|y+#+rIQw*+WfZEwL<)25;7G@ZBS=@JEJg4p0)4pmp1x;}p z@54$8qv3wo8P_8zk^%8lfr)D(!!g$tMhHv(4K(zu!B z+sor#18a}_z{t+7)@w{n<9(;#T7*+@ay4z)-qKpYq;SZ>IG_N^ z7-)2Y{(heCH$MvQt40Ioal=w=I&kqjU66}c5sS`2G^~NjwIv*pl)IyPJMr<4;;Q&O zw^VjwcvnEY6Xr5h>Ex+aZe&DW5vIk9*JQM&6jglAt56@lacVfv(G`W$ZrJoZ5{eXGwI; znYIJHX@d3WcX@b6ubk*roFBt(!EQx8mv2_3j$UkCs|X7yLj>7u4H z0&YHHSeY$+!6Q*ED)edNsTP=K*lsKf$(Q#uJ}Shh-99qfdDzGZ5ppxn3_pjTaIt!o zBY9T$q(LT3LG0Ea*^B*eXdir=0%mPNQC{C{S^Yn1jS@((D?|8;Z(=9JqAGKQ8lJrl zi@x2kqHHJH7Q5d};@Av5$nE!67s1B=H*L9fmJ})SO5UF6qo!IX~g@2*T>{srnjWoCGRw)pl8VC3-gSU= z2spNw&&@SgEHuCS5*|fb-ru@cT`0Q6cl?6=!JD2}*>rvY0-Ro3JB0>*iNacP?mq(7 zdgx&a8ED4|q;{eSWtizPi~s&icFblxsgRKf<+wRJMJGgcgf; zG7)g4*9cdYfzX1#{?0WD8zI!Zp}Uyqt!H9At7JSP2|C173zMxLjq(zHVF^R(YOWlI;~o$1ur;V3NS?$c0#m`f(K*kNh>U5t1D}p<=d5#I1tPf<-t(*bFWQ2 zZc?1GLen1=XZX5G>`_J=HRSQ zX)lOfz4$e2AmZ+^JHb%n-q!r;cTd{Qn7p%m^pxU(+e2*&35{XlaF{me02_uiyz4aC zYur-1KNMl-*w?>g|1V4xY94W38kVA{uGy@iC>m94qcXs&Fq=b-9s2e7_Vw~kZC`-n z$Dpb2uRks3XA-Ry9Hmec2=MFI&}Y8113P!(K15CtPn`bxy8Th=gWAi)J?CCi3GpWK z_uI`>nkRbd3G^wqBa?OUPLcj3+xo1vflOedvK9os)sd8#o$dcY;s^56Pf(iTf&x31 z2)ameVvpGWY8`45Q!i1HH8jlO@!V#+u_GDpV>iJ3|oki!6)Q9Y}-a4OtoE7kW zmaE){5N0J!_Y!qTObl>uvP;|*ffwSMK#G%3N~3YQ9EJl2Q}I)u9Fp3+qr67Z7q=xr zO7Gm?)P55&8a1KQbbrn$@hf}PD={akH=1Lpl;-K~8v(STnAQ&(_6FfzaMiesLfEDV zruu%Y{E0{r63YQcpJm&|=mk@nmG=2lTYlCao{9`<_r6YUoE$7vWxhr>qz$<~~1EX!tT-u1aaJ+@bi?PqKX}`gb zUbV38yEM(8SkYFG=p4(y0R*U(l;)koLu2Dun+@UQr!95D6yf>a2LbkZnQqZr)xBpg z7Q4V0C)@7V&N^LllyHCG=^(2J1PNZm`f?IgfVzLgn-q4K3QR|Hf_%M<&qB8w{;9O{ zO9bHmDJ)W@MVksWRuJGJ_NY2ICq%4)qQz8>A?aJT;Bny36pJ_udO;F!XG!p z_57W_h{}ooA+`d=^zVb>rNzlT2q@6~@ptB9H%1yIyem2(RtEq@9=hrH@Ha3rXYi*W z0=K&)DItDcahP8B(g;a*)|gCHq+NTuOCk()QW9cJs2>%I`X#@l$n?BN_e2CSl}Lr4 zIExxPzqJuHY-vyf*HHg@kj#gTW$(zP4NK&D|D8PFqc#FAVWDz zU!Zs{PLHt@8%W+Nd10$ddnJad5mf2VlNduhMr-@w776z-$23#UpHoSYN7Iqx(Nk#$Y z@rbI+aH}nS<8IboPui^^Bs@uujIcJR+!%zTSn}qz0WN_q)@mu>-oSsTjt*Bk7*tQ$ zxP+(6*Ig2#d_32noE#0>K!hCz!Xzz9Pk5^SZXy)u0IrI`9Uz!ehzrjinvY#x-zSc2xKXk0(?v3!q#!K1nIp6b&n0jh~WPn(R)HK08|w@{*w2(bJY=^ppl8YkCL*no)ZOQRkwFBIR%i zS9Q1_tpxCEtM^O8MRO|Ol(xAydkE-9VSrJ$1Hr=`<q;!p_Xb{I(_hZAcgc&|> z-67)%0Z2G|tz`&kG-Zd~P0oW}FV!O~uK>T4OB*g1X4^{c`0j}9=P*J%HU!tg6s2(Y z$@9tdsq3m@f(87U`ZvBu%u-8&ay-ct4pOMwLw9OoWFHMih4|X%a%+-eii}Z>ya>z4 zY`rK<_)|?7{=)+$0zED-Ig_ka_WjG37w||4TPm^yQOLLr9S>l_vTe;A2UF3ahE{Mc zP(uRef@+O2?QxX-Hv_39m>~?Zc!}oYj+LGszF!?8g3n?2&AO+gF1qWfhI}AN1==zt;YIFZWbN(F|9W6f&zR!~2T%-ehK1l=Mlm$Bo8xb6SB;uZYN*|+o2hXoStYBIQ0xm3#%kXm z0*!rr;%7XtqWx(k=^rXu34{AfzEn_gsWTrRR{8V8^0BjUGHGjc{@&ayq^8B_4nkj5 zJ#{;$3Y!;dm z#2eXd=b+{~=Ll?lP|vBuBK%gV_=iDTqYd?+MP}7ec|;<>O(gE?L1QLWqC29Uy}4Iz z)r}W;q*I;?=Oc3ZhJ1g|1-LgzgYRMhw$d3uyGaFNSFDBr&!=bU;z&niDqS920k93s zy{eK!su&O1-j#RDq7N}kSPv4uW@+=ql45iuZC-se8K&()_ z^YpTM`MJI5<&ycc8f1=j7y>Z7hl@yBy`elJR_ezxq727Fet5N>%Zci2CWd{o5mA?# zVhqZ7!KwUDbl`q3_y^KsyLD~$Sg(Ru$znBY68lkc@Um$AP{ytx=OQ4ftIJ_ZWqAjp z?>V2rdoEDGMIvMN=1bm7*$_fmLDOzrmT1j^`?^Rd8GS)P&#hKJ1r%Ty{G&Q9ndjf#rFlJIvIrquG%Y4zfbCe{fs<#xt}p&zXAs?wP}h!JwENcMr((M%+$Eq^4WnZ$~L;y!AQd1 zn26b!M`ga#q)QBc+?US&!p9&(5Q0b-pnNWQx*Ai zymNa<*iw=!Ka-EjdDf*@xudrA>xm1Q3M(lpZyqzfek+n}{fTXm>g$*lV@jzlT-LEk zjFl77e9C)#cv6|HPzYk!5T6#p8P{GS4ERjsmVewomgtXdJ9+fKQ}o8qD<@+eli__S zX(s)ejGUY%$s>iy?kciM%&+=Isc<4s-In4+?|~*C=T>l8vxzQ^bty3$x&hbL0&g2r zU0trl+oT8L2URg)ea9w)b!8ZFSn&P5&zAz4XR(~LTF=T&qP7^l0%v8626_|!j`VecYU}HK z4b^Dk;h~V5$iV?ExOMf!YkB%nNe^wrpBs3gL|v)9GR#Q}(>+=KNj3!y5YJiZSWI6I z+kFq2JQXlrA)b=;eB9h_z@#qgzVB-PY{aG$>`3`2Xhl!;IEkt6ZSth-{lrkU5QJ&e z5P;gH3l;|V?>Am-2H&J<9V$?KyyM2~x*3|3v5Fbw$bCevBHL7OGz@;e0rSp0Am%}d z=jf#VE>v5VaZBApcgr57D0s>KNYp7{#r)yLK!dWYWtg3d^N>8?s%&GY#4f%QEC4kp z?DTpcbtpu5_dEB?`TCuQ0=d8Am3aRRhfy15AYd1-UF%@nj?L-?YzMsD+&Xc}%;i7B z#SG8h^)0!3qzn_>zuedXZ?N@HfdU|V9Zj2c`P(^r^co@136@LS&r8v{Odrwl8nDPTmeVCRh> znh`4v3Hw@1b4+x_8&NFvQ8}E24MXw`P3fC0XPJSjav%FuuXmzag~AjA`730+8K|2# zy-De@bDhXvGqTa*8A#u^QnRNL7Z>c*kA^I%`#<}ZAa_zF5}b|3a@w6+G_n!Xow%CE&01%PkV>}Zh(>ugp zyk{CF=X<{KFv|n*+}E+P{OFAz7%o5z$81uf_(kzMkyl_X{h+{nALn9wY-&d$Oz5gj z=P2s{1gn?m{`t`yQn?3Gf57ZX?S%3mx*Pi; z%i5%_Ar6GPnO<-NoOZ==#Qyo`X9VUrRM9{xA2O%kLiO2p9N%B@agt-euX)zoy`?@Y zzg+CPxLk&e1c$pM@vx}=UJ3{8C*AI}dNw_1n~T)1{Q7=QsYu~A%GRt+;k6YAeWE?G zSjYsCpX2%$*Z$8kRZ1LFOMrYYD>xDseb4jA1?HI49Pd+2yfJ;mq{XJ8*fsH% zi1OkzD_Tlp9AvCmz7;@~&Vwh+@pIDiN&PMTzhn{o9&;m? z#WyKBEs%1fdj2(dW6M|jM&8ttV-2@ak4K6kt)u5YKoUEbg#YZiNq*e0CpUJ|{7NHOv1FG(^hm|Y9wVkwXSbOh} z+%^E%+YFQ~e;r+?@=TsLUq#F%D?% zAslyA`o#ywX0+LpPF|v}4(JQ>p%AaF4#-$_XV7ze(^VqnW+Dln%h$XXYuxfXA`-33 z>4!+%e&E0`UNl5yrq}IOKYA-^`v8XZXggqdur^T7krnK#hq4rKPkEqk;p^^j)v{1I zPzbsMfwOZ(Fxq-)AGZQC!&N6c0UySIFSR*wQUx?SFn0R7-eBTnJtD8oxS#edUBPG{ zAGGnS)(IE4ORD{jMHyU9yDr)Ms!tV-RBxzz8H8?4g7NnspIc~7zK}8;vDe?b z{%+%?G!UxzfInnJ^IJr55yt%Zkh{2TJcel!jDU}G9&D~29<}Z4vRk%AF{T`R*g<=> z^oBTAlm!d_x8GIxz32C?;$le$TVV}EEgp?M9;a1+l*)*^Jz%Dts#NY7RyfY9J`BJQ zGR)Dd&23e0lCQbXsLQ!ZmAS9OYv_a0RB5pxLP3=r>aU5-ul zS)^i1ZLkuuS5SpP%J~&2RP{?k;)JCoH92E4P?7UFabp>$H>IKkQ_XXU#pC1NG-0&T z=0sckv|c|d2eM0>h(hU+?KV2el}{ZJ!+>3%!%kPH@+yCo1r(!j($n;K0F!4F`|47< z`~*5L4`1556gzlS?`Yrt{!A<&GV9OYJ#XZCpE@q%GOJS;UUM8&apA6mS)VS-l8@SQ zEwgSUS7cI06yH`@?lvtJz`NZVr)TpR*x$GiH9q$t>5w&x(4>bmMl5G z?!o~#XZcG-zUb_k{?}agTOEK?Sms3qPUeP)uP2odjCDUIbi+WP4idQV*l;&B;%DI zBC#V**v6-Kz+8|<^hIjn*=?E#iy`#n!?^!MdVD&Go1^-=D1qS>n!S&&Klv%2{-TCI zJ4z5u?UPRXsR&n$6f!DjStJg7CO`%Tl3)SEH@ z9BVrjt{pXD*4)&z=I%^jP0Tdsf4@@MzD9@^*U|V@=MT{riL+t9+x|x3XjS@0`)W}Qb?VrUCHiZ^gD0O`ogLjZ+>S2|zdH{V( z{MZ8K7u;x$pZwqZ!SFFI)h<4rWhZd^V?rOSHQ&w<;4aagL*UzNFnjsR^sp314zJSb z^VE;N5)#h1lfIUg_rvGs@`+mU8Kdi^Vt(k*`uc>_>=1FLfa|e~R|3m#mDI$-_8u+< zW@M-R*!`OQ@sDZI5)v)*F0wE&$Cc#EtNMN%s;~(V%%bR!VY&pwrqJjT;K|_e^>X$~ zHW!!xEYPRF)6DP4MV(0{z5w)#DmQ7tG9%kDOQLl(>^ZelET!Av%VPVy2 zBtpv;M~xX&OcnH}ahm)#@eK-6C$)&b3}cKc8EB#W>1m8HQhrqwz7rnmoVDoQ_uV1-ZUlw z5$Fs==?J$3hvIRFo7MT=!PX;o#fioWnf3!>SFHcf5zoALE&EVu0}{_0xzOj0QIW>& z5&je~{?;{$c=?EF_?oWg2a`&_PkAv7pAd>;Dd#cJA_~i&Tb+~hYxF(YCw^Ai1)lsi z(RY_`3Y|Qu?)UcpA75`76=#=p4dbrCY24j{Yk(jL5Zv9}-5nYUn&3`wZ3yme!Gb$9 z!QCC+zGvoJGxyB1zFz&~TKr-4Ip?agYgg6YJ%ufaG;xVwjl|3YDUFE55>1Rd<_xXk zX!B_P;_~4ket5{_fn9_jt|bxPRY7q$(0Dn1%I!jo9XAz_LY1S`WUYE-^3AAR6ZZ@O~rLmDrZJ)+3pX|_o#}29>pvNdeTbB1p4lu zaStDRS+eL4 z6+}ljv&|RhuD@BqN%Myd8lhv5FGrS#K4Fzt1S@({icsSfTYunWAw)+AiKGI;C3A4R z!T4?UvQv3AlSMP$7BNievw69ZR{|r9)Tv_+DO9)#U&0k|RP9ZJnFxkW$B} z;~XXM_VTEhG8iXh2QlZgRJqfl$1tFX!JJG0?l5!;stoY&t=s#&!<(+8QWu{O z>*jph#f=dc3Y|EUoq7>BHKVuqWRAqQ9>}80r19D2TfGPMD;UPKfvE9s3o7j18{`S**c)54_ew_mn|3<1*l}Io*!tada2*S?{R`1JZU{xl&U^c8Rk+w5C`5GU* z{W}S4vm6{jdtIqU3c{cE$U?>($-e5A#7Z~5N6mbTmRTXxxSLbF6%;Yr?|Mcnf`m3k zuXBP6+dJU^@0Ry%GmT(~Ka*4-t|8yRLDRRp1`uJ&A9Vr0u#D%C) zK2ir^2b)Oe17+S5hnR=uQN`kR#bw3f{wR6O(^7`Bwb{Dz*;MAC_)%z65=DAO-XpfL z7OxM$$lu~f$WB46IhC4)lb4g?K9)Go3my#p%1_UXx}cB~{q3jtV#5tmFSs_AT({_okvkWX?C3fo!-YcKDQXYLnr^K$DH)kU?N@>mbshr1Hn9 z?C)0eNqDM&H8 zUkeN0B?~#Ln*b-)UlG1xh!TX?(axEu3%lOFzN>T;^a}JlNUhmw!jYkeLy9z7UdZWn zw9H{fWM~ZMYY#Vspo`_JK+WwwubtjMs7^<@IlY0g4rELOBZba0cLsf)gT?&s`+3b{ z&NF7tL{hfO?lMFDyi-@>ZKZiTOzzLw#T+{akw*;-VlKTr>W$t7To{V=xhtq&hCwKS z^_sK(pUM*rW2jrnp4sNvjeiZ)kO+^H1!As0ugjyk7whSO&*BT}|1wzohpr~1((&(4c6Jy0+ox%DpiTB%+$a5tJ#qCf>NfFtZOFD27R>7Jb+>;Q)@hS}~U-^?Ud36PF$iTsS~M zK{!^NbiP%&KI7C$BHoik5FeaoIdsjUw0f}rlkJ7KK3C&0XRWy>Y1~IQ!g5^_x@apJ zxc9{3DoF$*oixpA=*5-NT88wy07!FJf)?4kJzNkPAy^;o^(Z! zbgoUT6J{xjXvk@?ItZx=aN7T%4&lrMAe@^(vCtcs3JT-jG>h+*7&&YwGsux*Azs{&#l)88-Y z9Gu8q?DLF63mkaWyeNoi&$+GHt_Q-UuC@)IHgN+`4LfmYZ(}YQ4O&eE1I#7~lFo4V zgxhum0N{ou!{;zt_6<~zE_`#yoaL(5{ZG}i>~yc^bRkZ4-Hv+dv2mY&21Db=vKDcf>TXbO}jcGhtUD zWMe0V_65rZNt`E$Mjb~XSO(`wy`Z#0Agpzn+RDxfiUr+)68p7UaUoJRUnY3gwqpcSkR`JvvTEVi!Pv{if#SH^PC3hwV%j zfyNeHpRy%YkqL2ysUYis@6z!e#%Lda^zi9~ca5gL(09&I-P4~8sNTI|DOTBPukM$g ze3gVKt{RMO=3c+9HJ>KVEm9jS({TZ5n-u*Hd2}yUU-SXb$+ypU4PXI#sjq0U1Ee>Q z+-;+tIDUOe{Jf@Q?uEqBLAE`FQ&(f$k?)?q%IA6Ie$Lic@p9QyWsUlNLUCg-r$5w| zwZ`9Tg-iJEVtR6HzU(dzkb`TvHh(lUNxA;VXM(EW_J8$)+>+F!xG%_;%&<7t&Cb7I zK-)2^$%C#)9q7wY|U$IH1toKcQLzi z!Nop#X@aZe|Qqzz8h9=eykSTVh2D7Mzr4}wq5o-Ifv)Vo)bB9 zo~FI%7Ypm@j8S(A56ogi?iQ3<~=`gwNjXhPxf=IT+a1A%y4saM;t4EOip?} zZ&~9AL02k7km%95Pih~=%!Mu)!4qQjxsVwH5_oVscA?`XcID4GYWi zL`lMbq48P?dT2y~%+JJ+#a!U92R@iG!0CJT05g=#X+O+`BXHJ;YB^%UqRjx&k?qoN zTV!?;y1<-d3JLLTYvcoTrJhG45c#U%`G4qZ3Rz#QWFyGo@ku&|e&=)abvWYKM6Q(? z*EGY{M`dG1At<>0Pj$z?7|}z2G^zT?5p}gxD`GW;a5>mjwk2GesNLWwH+@O5Tmo$e zcmry>8eo}IBfAk1{tmvX8dO!4z9^4u%v>}v3Ao-6Ucj4?jhz^F39y~!7O(rUv zI;%2{Re@3|-hxvoDh&krKEyc}SZtgOb1ESbQZ}hzYz*p=LTYAKJnMiieRU;ioPh(0 zY1}7eVW341{MhmKCGJ;dy*|Yppr)jj)WP9 zm0Z0Bh6xRhZ=sqNU2FRm-CiN@Kl= zSW{TYlGsmtg~meNsXy8vJ!#O>NH&<{5mdW35tu8o1b?Y-{3Mr5;dl zpipK&o@$w!EQQ8RJa9r#{+oLU38@%gJ#Hbw8!iFHBebwjWBtdJSE1n4dA1S2%ICQB z+@sSNK*Yw^K!7NDYVk`&Gv!#Rzn%Jj5!#0$dKtfsXQW(@@RO3%yo7_;9v%4d7_j%* zP#FVAwU>xw6()nma)W_6F*-LSYDb~U$v%{g;ZH{T-{WrF9iC@K2OVBW)S3}Y;&p;x zM+Nu`Zp0h5q}_i)i_i8>5f5~tYf0ngo~>AF;>+LCQ8^8 zAyHTE7d4rgMb&>5YJadHnqRROA z_S^$j(|Xa!smrTwoG0`0UaRPySf9e<%(|!VYe?WhF(ZEJW0b$Z8M!P2r@u z!=yR8UWbjn^vd}WDTpzsv^2l!aIzD}b#o7ZaM2y~Ba0hj6F8n0Vp;}#=||9;*0Q`C zb-s060%zz8>Y*X-dt+`fyE6LC?^2jy#y(3JK(ydh2G9w)2(9>;$uQAvxY5ha!NNR2 zawu$)YR9U4xW}`+l$AR6#V7xkR{F=~TWZ;2)M(Xe(_6^saW$GBAi{R-Y!J_4qD}>{;+(Nq;y93uU`-lT|x;dz7dTa$SQma6%!!( z#27$BOW$*%k(j<4zF|tSL@J%M7>{2S9s%T!pqd!^P+LrVQ_zFd$2#$e6aBB=h-i{| zO>QEYgzv9vco}1Jvufk!Vq${mKwI6b2aWdI8C^)tb3&L(keOj=X{p35;r739;=&8A zb02=w7qc5cw6bI%bSjlY0FtTWj!*mB#oBpV07#{<{uVT{6>w7;;%IRFKKAg6or4u8 z<=!d4?Ip0F@-{F(6YOA{-6}Vy6*zq0o_*SWJM=qw=r0>2*uN?JS?-;UBJp)ch?)L30PIjY+r_^;0Vw znL3R(&;2{yqzJQIj4s8>ZM?BH{O25`b{+J}a|1Zrx2VTu`za9Or)AL}Ef`ejxqTbW zsO!|an*#07K67H50+-m=hYIKOrypGQv3`$psF>Y|j|Exmp`lI7mlljb=Bcx_Av&qn z;5d7_9xhDdy&T%wZ?Lyte*-P3yUyI2R~bQxKITFgWuoMtC)2|@gliMRfI9JAr+)C* z%nT`qN-QT{p8s|o{U_~M0<_S4RNZvRV9StM*mQ5(Y>0ePPoybMUac!T_u<(uXn7WF zxBeu1lpGz~E^kI~EtPw9IaR^|DDzh@?UXz(R+I1yL}1pzc;Ad(`bxOmgSl0ugBds; zDU0q9CU&p*Bm9nX%;rNizeVe5gaxq@E74C8R0U^=I8|-38JZ(kuzjYirbtP4I%o1IDP-A1w6g<@N`+y$pO!$T@uw<4xtCQ z?)M_9$MOTAo3s+Z;c1RhZw$agwvWleN;4`6Ny!nhc49xx#1gVFypo~ES#KfMU}zsD z&`Yb!#oeXwdJ%1n)fYZgRfWz^A<^PSpyCtvDZ>FIOVN2ZWebBl+_8^KZDP@>Sulur zSf`<8xG$u=AakeT<6VL42c%ub8?EyYnOo(8f7KY0K_Ei;)+4qwcClk3-E$(F^rVJ%jO@@e)0TtfukEF&M@36DpJMo* zTr%W&wykvPqiY!(q`9Jr`u@B?O~HJUpfb)-BFR|Gl0k!zKa@f_~4aMGN1`1R6! zij5IQdKV^~v0FfNIw?pP^IH(cosyW#YY~)GGJCJLX57cyDbXoa*3!>dY=sy^4)BZ_ z$hmUi3n$?#*>I4gzitJ#hM&9!LQA#emuAS*3GP8$(kxLRPRXAT?$sE8I=&YNIYkAA z=wn=4Hx{PD-iA1QQ#2qo&v^$6ZIsmrx|E|d;eC%EH1sP`fvSEl?i&?A-qUz>{BK92 z%Waii|Mpz_$1j~dVu&`0Ji=9Ph=lSe3z7rHJom6>9Jg^3u%rSsTu@XZ(WTb!ozKz9 z(Eb#|S}SXrcqLlh%h>nzrbKuill_4{9I^{v zFpXfPfy*`)CYKdM7kA=eeLgZ8YSPP9pk)5%gYpT)uf-BSpw1K8IXA+_>*Aq@56fni z)&SDof?#H$7yWG(Mk^Xy7lbD{?d0G?$@ZBHRc_TD9kjka6;N5`1$$bGTD*Mg;kFBa zNP`rA$&U8E+Fd#s1UUA8*EERw%W)h1@5tg1om(MPPJQcLd|l0QJX;%kCfKFt+Sk~u zxYxhOiN=4+gu(w2=FaIeq8BvE1JQk45C(0mdFJlz#i3CHT28U-I{;1ozCRn4}<(jES?&qD4C z)bD=Rq%RQb*u2FtZ=dFfiD*~e0H!-02ohcBQR(x*6BD9Mqxe&IUgKXQ^I3(dx0*u@ zv^H}T7_}^mR{$OzK3J4)ht6eHQBgV0%SC&mMR@u1Oeq<$82q6n_TSazzn**$)zu;O zc)!`KVw-{ynQ63C80vA@Ga!stV!(!g{!n5(uM@}{1%F|O=A z!>^jrC#y;deCuz|>c{2U1QmVEr>!2=MkSn3Uc1T0Vnol$;$6*7Ef+6C77RL8A6+l2~<*6m3py*N?QsOYSb8-sxAu|J0Gb~%xhii3T zmY1K>=;=O!)vWi$B8^>ir_b*B#FeXef)XyVfzEHK<7{WPM4-XUb0T(7K`z=$2Skb8 z>+zr@lWd_{|A^%)JiIw=cTN!{PavUm97)78TKxN(yJ6u#E{A3jUc1ZH1JkMaT#un4 z%`oJ8$9QxB5l_L-sD2YLe_I}#7;|lo?Al!O!N&+=s&{cf8CbR^gh_$)sox6SHv)Ob zFly6E&;yTpc7aIIzoFDIW-5k%1pPuB-pr#c?kkY`nEd^zU`h#7y%LioBEyXGrXW!k zISW=YbxRDdn7`WOohBBC%GD0@+n<(UAL`W^OkdZ=?6TXC9T+^k>7Xn9u*puC+@ zSN8K^jO#>;+Nw0(zA|PU5b#91rx$D&80hP*wOaYs`Nrz!fHC|f`OGZeq>=IM7J21y1vP;z$=>bw9fCxXktCQVV5%DUHI%GoO@~Q zH41JKPlpqsfCCx~i1F`h6pFUGv?aF3Nru2(p!|^vJ1t+DTTO$aHBji=V73xB(enx% zD!>SgL#WYU6#?l&G^i9cWPu`tp7ogyQ8K%qbP>0O`#CD8CDi}=svS4n13UcXPTZA< zBNi!k5UEm$&;i8PWYT*!y{Q6m$oR{!MevH_d0_yz0h$BXZuQkS>ST;ZXA7B+t(T}djpy}NxjgCE z(E0PZ1pNt>!?I4(*>U=+(_%+76$bC~(PIA9)AkK$4FP%XkIYYd{nQB4Rix^ zG*vOR!Na?nx8x81VD&rfM`NE z-)82>Yd31>Vo2--8#T4MN7S;j%8{`;S2?;sKF{RFrCpOUvQ`vc;^-pv`-<{530t!x z>H34Of?bH9TIZp?o!IZ|UgI@Dg%VMw;Fb3!r<;}NCF&*i@PWUi_P;v$|FM|LXJ&|R z#}-sJ8CGbK%Bs3C<$aOPKX#FR$s%d2VIOZiVq?5sQHRC(MU-9$6ikb7{0c1?$;*S0 z!&qS^GgTPGlIQGF7M4Cfu(F4X^d!Z7T8uf*=>z)R3Sii;L|l%O7gRTXK4v$wBv4Bi z1%~CPAwU4NLn?xL1fswr1@<(N%*e!qXi@HI6y5|A6H}JK!uex;*7~RDy<-SpM04D? zqtFvh9T5KWTTH$+4@aM%1Y#=q4UUd#?N?Yi!iDiTzOcFnIg|6$lG3RJ!rN@vRRWQM zfb$`ny6FpL$%6a8sPZSTRj=)@9<*ZCug?#+roMl$dNd8Zi`G&lp~vP=uBqgkEpY3S zxe^atcahb}Sq5AKZL#mGlp?!~d}pCexr8H?2J z*neZP?w>AaMj%>)XV-BXwT}8n*FYe{KkZ}LgGuZ(@z+CX4e+Hvx^}`Z9vOP;KBQyT z1sj9{v6udn(WLXR5tyw)$dZqGu!j7)?dQY=5h0$9Y*JMh>Hg1jRW1P+pM0+km$DAh zb{PkL=P&I!D86$ir3OlCj%^w`1;R7g4EVO`m&ty@$1KMb@SicMw-ZHcv!P=fcc+W; zffd1{j)Xtn{GY7K=&&1qogtsNhONOT6_Zejz7tvy?nYI?gqWb zQh#N{HqLf9~3cegvylsTz9C&j7v8*Uq63zbxkOb zs6BI(16_wQS$=|PARpY|Anh}QQUac?Ne-)P-kyK1QdbZ_65gfO9)%YEMh zOV$F;ZaZ1pSj>ZqkYSii`mH!pC?03itXQH32@2Q;`_l+<Ep_LQXQ|gZEIyM5%emzeLc%GiFnIE8{UOsI)Ph_PF*zZnciCkrGIDQ}$LcE$d z7MO&Ql(8MB*Lt2uneDIq>A%G~be*osQOtqE)J6t`QR_3JQdufcR~`EO_=101 z?mNTeXqbNeyBj1OTR!8tF0tOn-PcvR_?|59dI}wb4y5?@MuR`D^Qk3y!ZYyUa_v>T zm0oB5m8bOaS?QWvbr+(xtifcJeXW@5z2K9l#>GWfJ9PZFNr_5nI_Vr|I*VAApqQrM z@1zH%eZ`Zay)uA|MgLkpQ?{%~ZCVzv;n&n$y;wm_=;ADII=b(*qMId~6pw}@WT7)( zvVqF*A}=K}I@8VWtgkO;bEPpfzkOs6+F%P1V#u_CH}g8|2oKAYap?O3GFWipfBSM9 z1_+C%ydi~9AjI|fASB+i!#fO2TJ#&`_+ZRBu0b&n(>OraVj?oVLXt>EMl>Sv;R`p) z<(Y70@lXBe&OyP=zeeY1o&B1I6-jb~j_#Apoj+>Z)r3KDP`-weN#0+GiR*VFaV{=G zQ>98q^askMnyNexg$HW>>Q#ztaF}j&et(@voj7C9#~o6vxZWLN&UhNQBQM{&Z<3{9 z)b#EhTqt(49!u3L^{+r{+9z`~ikGN27AoD1Uc>e3y7|W;o=ZKw*BzJU)|CeO>g-%D`II{K^7?=zOW51!_Hb{~PO}WNVK$iGF zzgC^kULpN~knMmSG7<^BrBvs?n4%@(TnZEPpivt^S8twf5a;!()s;&rwpG%e0`uY@ zD=n!^tAoCtQKv`wt7kjjK}oZ@Ntp-7KnJJ2lll0SnrX$j8#;~244wP@&kmE4m-3DI_B5FP^*xFb0*|JsVxG25zy{a|jqYosnSY?LR8#g|jo=NTy>m6Jb9%6@|+@`|ADX2ecskzO$e z=Nd&ZCxTzpmN|_whBPY~NQ{WX@Pt0yC+?>A>6Y%OZ?~0Vw&F`HdR#NDUv4RIR6A{u z-;&(V)V&*rKJA%KEQ+w!;s0v?(R9x4?N`%iX7Z~g)ySf=felE#xaNSb5;LRvyG=5I zbUIbM)8juE|6k8wtSyPoP;|&1^n>8FU*&>zUuS+1{!*O?_PDu8;1QA^o@z0Pzk8=U zT&%S%RR8AOfM|GVXN;ul7eNzK)E^#-AeT}w1x7I%=D{co+)a+sb? z7j`Ew2{vDBKFq=HqZKn%stjkujj<6&1{_b`6u6F$Y1LMe^Y!^B4w+5_PW%jWcyd}8 z9m$TWU?a_C5Yh-8m}Kog{2^zu6nXi6Z*z4zD&qk1b``#8VUu`IcsfPY8a1(dfcv^S zL&xWJ_{ua;+vZKTTw{Dzacu?CT(+`KMeSeySPM6?%!S(-9=T)Bvg!lFnUmN&@a_i< zgT^fIb-@y(>W*U3O^wmt0~mAtsV7Ktob+|CdZ@LUzkGZus+s%1cItO@Ca0XN7P%b5 z`C_|g^10ew;TlA@X!^h|?sP=ee*Nm>rgNhCdvG%=#^Oc`2d(Zkee!WgM{3Yb@8T;X zmS(|pRJPoDub4(jGr{hj<6uh~&-y#f#>#HjNp`6~O(h#$K~47VnV8Ivez|Df4U&G& zd3z*(4~1~zQ+@)FKRKIlX-!hRdn+<>GHgc!{0^>z>8|S81Pi9e7&TADNwwfA9j8!r z;uMHvSB;vyg-IH)UCvNcbQek1NLeg1z%5oE#ZtIQ8tc-A3EI?_-3A&Bx;u@9R3d0_ z>fL)nfyJ=3iYv*aIfCxv6o6yd2`zXMB9yBFYO>FsZfSz<)BTxZBlS&}1$lfV1;`!0F2CCvqllv5u(xlxF|Dm~Yw8xvTT`vCAm~N#c0THv8GJ z{119(JfmOdSz!v3aim%uu4iB|wm84XzRpwglQg#rPp1rXx0fb~E;il|}y&yxE0>fJ8)rHvwM;$&!g2_;UH*+h}k>u`mj;BcQb zbm3Wd#Ly~$-$*0T*S4ygk5fyWeu0Gnd|5Y{9F(FMnr7qTpW0BRPMAzixUf{VtggCA zzsNk@1{S&=b>;J^^;wmhKg`wg>(*_%r+Bsp?@fY75|SqFAme1Fv5nGc#TW{EA>DmA zug+jl0v>=r?oZ1Gd8qd7dTD8C_g{7|RiuI*ZThPpMBkoWnazWc=S=%jzAo0aAS*L7 zMg{Ka9DBq`NadK%v3?K5esx}zt4{ z@$4mNO5W`dF;&QLO5+J)9au?H;ETsrkd9+56BAE$OV)R#LUDbXC@o`Rf3~k3 zzt@oLtvj)ehD&wBS~{MH(ToLV^>lgwO%Z%1puMd{{myz_IUOF$7;-s~ztm{Pek$mp z&^huj-D~A3-DrWeZL%M#AP)?wcKQf}j^}CKoZNE*_Z}p3R=1-)NRDy1$zC@>FwV2+M!$K#*mJv0(Y*VwkQ%u=h8#ix#7X=IwsZ{I>J^qu3O90;zVL3Y z2Gj9xngMX14f_CTU9aM?MBdENsB9nfFg`>9?)~~Y7T4}Y7hc6fSo#C?riK)Mb@m4e z>)R1TJqOaft^kI>6lVo7Y!b@Ki47k2P77TCK8K(4aqnE{==9wJc$T%&o!8JQdh4_qnxFuxTz6 zcDNYiw1=ZrM5pMX=&SSo_s|-=4Fz7O3sTEGg<}Ire*>pT;E!SJsDHgi^i-iYXvA2hqrP4)yhOf+ z1;X|k84AI1$_`@yM76ImM!9AZ)|QYq-oJ&$ z-Mt1oF#wSO$6*RY%DlzVpHXx_BlS}w4Hj@{-7ZPN+xhMEBn3Lcar2>kuE&n-5()&F zQ4Xa>lo@6OjYf0hy4i`hz8NNbm+sfc81}e*Hi0d_jpMC+-6#QFCAM+$s>BOu>JJ>= z7%~tmPwOxE_pIoSEQ_=-kl&EE4-E!zx6}P!7Q=QBo!yqapbJTf)r+Op zw{dgQ%J0k_Zjq3w8{uO%h`$xg8RkaH=@CC|kK)&&Ez3SE)9HEM7f&88z_$wAN-mMu zF6b5o`qa0kIZOVGY+}ai>;V5caB?s}&-6wUJO4j6E#zK8{I6Y8W_)EJOs~QbIMZi*Xf{rBU3i9%2T6j{3>o zp7pQfVQV6l9TA`j$&=jI2KYU9<$swO|0e70f;jtT2v!DcoBOFP$UvnD!9yk!f0}AQ zX>DK!tr-*K-~U17=zt_oeVPFXbi3NjQ`7cd4j-(fR7-5W=SE%BPYk5}{E=%I7m~#| zqqJVd979c9S1?3e&B=e4binZCMAVnF*syo`TV3y>@(LVdskKS_xQ|7nM}x$D({{y7(GZ)e%2h2NGm0 zhFbL4{_N}-KmICns`%3U8`UT!Ui|UTjM1On!Wr%<^IGHOkrHUv>L4+ZHq94-_JH;r z^_rUgh%WzM%XMg(IffI<^)Q)Ux;YPg%Z+XozWG+f#n~@-vwoML?-GCGSpJ1ZoXrv; z-jng=ZpX5Zd>+m9m5ZDCX($e*&x~{g6A=YMSenb{`^$z~$&Z*6t}%QZMxW`LZ8x7o z-gB0LJ?(P&ajBypmj~|c`t%db*G8)lFMOUEa>|_Y2BOhPAm=jUeVX~%*BG`|BuFMX zzns(lcvv9;m1Y+B1S+_Sa zoMklu<)%FNowfHt{hE=Jgul}HP@~=(hDyb=^!s3+A-0h08F;dds=Dj?z+oFG4q*6} z7d6Y`t@}K)s@;Gd-L%Z)hwuz@f3JwR#D1T2gePVeQ%7B_gP9cR!WD_L#jMRX-7{KG zkLvjUQZW+3DA!JZ1ff30A1UdTGD#CWUJnB~m#&Z`XKe6J>qf31k{TEqL#)a?iSZWu z{pHMTsq&U!qOY=Z{v3@o(JE{0e(|D%c(S_TE@$uv;LE&^qD9K~rAqShzHRxL7RmV2g2v79c$iHb(iDPjA!&%f*ypSCH>==N< zYbgPF%MUPqR zz}xZmEAVQlsO=vwD$!7}F#0a>Glbg5@XS#w8OEomXI|{eu^0MS;(@2JRoouJd=;-G zS76!`i4d|Zj`4Z|w>iI1+e$r$Z58;QgBN6I!I_5LMV{?Rz`tW==h^(bUdXxaj~a%M zQz}Jt{ZLAYyrlFyS)rxGh`3_&3#@(R^8+cq2CsEmA$FrIP;G~A!E3B%^)DtIW~7oa z6VeWYW@&VRpB#{1fjIaz3$_FA?)`jGD&vS-BoimY1J62wno`($>uai{EmgW_8xhEh zQQr8aNkx5L%_~o9=aYXx^2RYsW2>%CeMIa+6vvKE7=^M7F1A%L{+drzQ${WLhMHpC zMmIYAOr0_P~HI<3nDrxpwstMwvO?Q6kzG-6sBOb{<=wYE-G? z4d2PldCzl|=<^!B?8Ww01TgOK=YmSn-Yy6OxhQ!*RHpm<&cHDBH}lB$6VjVTSEJEc zuh_&qUPrYyZ54$vD+kf%y6Kf_a?{!x(hzM>S>ioY~oy>jmhk{ZyP6lH*2@YpmuryAP_UWi1qO7vM#)F*~&51lj!w%6*?jpt) z9}o5x>r8kKD{QgQ!t#y;ko>)+F%9Rr{vzGem~n+}P~U5PgdV5Qm0QLB0AJ zZ3BBVC#dB%l%403r26Oi@z)Tz}u?`E)9RKmUpkk)|6Nc&D(mpT&{w*~WNhoTkAo5Vg zE9Q+HXmh0GVm>hi9!v+OCe)^$MF>v05LOUIEGgQI8M(HP=eWqQ#n__H`;d0XRn z`LH(NV(fklqDL(VKSVbkb8-FN(OAlz`TEE3*EzApb|N_f(XS7Vj)R@$vsG_4WHpq z*Xsp>sMi~*+s~%%t*K3;hn6*uW_^qw-tRe1{=Da~+qe4mJuYY{Ii(bnnl2q!Cu~eu z3o@=%P#%yW;M729`huh$ZfeH3OphVeCWmh#=1`?%F)7HVBaZ~7ZFKTE8j5y)-O5)2 zngtY~L^^S5|9>3`ESYyMPeM>u5iELl0S$jp^tdkD5`Offp2wHJMGf(ZLG3&5b9ss{ z0VKI7$2{bT-I-D9*u%;Ojj3X9bYG+O8`zO-xmQJMyZZeRTylvVIm8o^g z29j}zI0XKSFjA($>31H9y3b0cMGk!KxpR8;>|&p9(OpGX3`EQ9V_SVjnI`wVt6;Lr zMuozoBsM&Nna5xbHuLPp!jErRjDM2@?wY|WX-zf1<0lj^Z6V^3OEuo-A-G|<$FU3$`+BYwVM*beJ#Q#A!Y{rFBK<%S8$T@}a?Vf7%l^`-A ztx`f&e({6*I!+@}65JBuUQ@8I~0sHEbuIyb)Gs;onfhc z16LCG-%4a@c;(c(^hx>X>+5^@4sCPXaDY|b=zf?v%nTwKpQKn~#Wa54GWW0&{2Vh8 zS!_|;UI?b;5hu~TMtYk95j*-f=K?gG=vvc1l{o4>?ugGpu;yCKvPD<`R2!;oBHZ6VLA2TlyCMS(Dz1_@+naK%d- z(AzX?`UWxALs_SQ$;>Y2+nH>G9bNZ=)vbOo6FG^I2RI#R94dWfcHRe?k=s8m2@4eD zwtlZ9(8+8{p-ou90YN^_%K1znP95A}B-F|&tO_Yx1|UYG;_%c`YcP^+jOno~H?A*q z#cMB0UNLPYL7m5iM=Q!qYj_}uvH1D^A>+@o^D7%qEfas<_=f#;&S?AgAqYFv z%qi9Vp_HLRTdRok9^k}?p$g}WC631QdEUva5QTX?fGE)0gY(dbo7|VanXE>v2@16t z>D&tW?N2~9_Fs1|ti162N~?1-E7F|#nR6oZ>JD94;0mhVc^nA>qGt<$&u9U?nHJgO zQ{$jCof)r(3L5f7Ep(t9!S$oyEW1Bu$#=nvzKV(7hE&CY^WPjR4agY2XuPx-QkHTl z!J~sJ4gz5lYq`{N)vz`x6h9AO`zu5dJgP&QS`cnEQr74C2lcaoQrk!m3L5wcsp((c z;t3M9(4bXiB8fr`7mS(NCGE8lOyY7Hk+3Oj;}09Dm+?$)PKkaDfDyO(viJio^36U= z1T~#0LI2((g_T9o(=H+uFs^eqpfl~=$7c9Uo|kMYCpmo%O5+!BUZ+F_*fTHmyM~vk&!UHNIR;GKap=i)#w z{=i5yPx+zHu;}Y#r^Dg*;YdoFXvh0nG2`PE_eZuDY+77P2E9~98{LL(a(3)E3Z&$D zYh4RIlc zox}__)~orKHnfe0ThCiGzF$A}Ub%X+_kR{ZcCWv?C-VIT65mM%#XM2)uR)P=$$B^! z6kN(@)mqject>xdb_W6!J(g;KY$}aeZDK;^SATAgER(b;H{K6l>y*_fFdTIWGExJB z&h(U`miF)qOF2+7e-FTDC1`8=WtrnmY`zmdjb7wdaP#1nM7NJ*ZY5oxqBE1`qv|pj zxLnrgS!jfAoM-xRKsxMFUR#Eu1JNBm`$_q0(9?M4Lr@IVSHc2L*v_QdRkjW&(!%&o=^-1{@_cg#%+>KD0>O6>EO5S z1yjPGhQi_Iu;Mb3`*~4KYvxfOb7IgM=%^7vDe@)+4w`6WWD8Fj^jHHe05` zh=8L-dD3#SNc>|79T^_370vC-nV3X-$53>8j^1&lSgapjgcd9aQc1?ObuEkRBq$KU zM{$;`t4regD1>w6P-J7Idt>Sg7bd4#4u zctSc{Z3_iu<9)8>KD*V_?_bAT3GSOBoGkr>Vh6aijlq8 zU_-0n5ovFQcOX9NAgizuLdS*R-Q7HcnwXi1ItgWvJJF8Kuyx4$KDseuTx)1@Ypw>^FWF&^hFoW%39sHj`L{mxL3D+5n8oQ;w2G&`)! z+Azdo(Rk)W3+EXsca~jRDN0A^l>D_|hy$0K`wi8ev;v9|W@bKiHOqSV7YPbuPKzcq zrSo&|fRCcc4eq+{nFvI5=3A}b!{wTpdAV5Sd06j_X>_i9MFQwqo3m9Ul(zy<@Xm>BNIjN>mW~iy@k3G-^N+ID#D( z>+$icMgI)~p|Zxd6`IQr(xgE8-)+1S<@)dwQiU_Yog24_lS*2w}TDp1| zo+)@jmrip(7}M_$tOEx*h6tO%UuNYR?q7z)KIl6EOzHsTL@-VMeVlhC>!#ipBH8OK z@-=?M7&63iDp>o=akROs-HlROWHOU>viwt~Elzp-NqYf-XckL<9j2(BsK>0fJ$kVL z^VB!QW42VSjf;35C$k5NB{RF^?Wv*o5E+d;1{A=g6KXI^zln*R*{H`p%R4pueXE0@ zE(@V=O6bB{Uu9#C!}0;ZAuY02wpC*{FVL^TtO?G>Imvb=Xc!HLCACC10xI zWa#aj0bgBrTgH>N`g!1_Iggw1!n%K@X|m5xj(l?M)j*UBd*k}K=>DN1%FD5NWn+x< zb3fl!xLjbI=Eru-WXE39rtuGo_RFB-Nzd)AyE}7xN8VGvTOBo>Ia|Y5`qh^ys#z^W zD_U3Qy^cydx!J|edk4L@;pKjmy?^j3I6Qs31WpH}H6Jpc^`E!qwTBzr^iN^}L(fF& zE;(3VPteIf7sq~NdoDHT!2as{gaOo-ss2TI%$I5Y|M>dKpg6Z}+XQ!acL^RmSnv>n zdvJFRH15#21-IZ5++7=Y3+@h~@!-(B-g}>O&$;)$zMcn9H5XZb-HAfaQH&)YJuFx+F`vaDKb~GJS8blToRn*#Uk5 z)evGyDVnWqF1p*i&`jE_rmh40;PoIlxa(BdNtlU*A590z=&tx3&)p~pxE6W&a$C@o z5*2w#zYgk*J!PpaD!LP#tsCWPn?`SN==;4Q`m)E;o0PEj*_@WIx>QC2WhuDch;@)a z(6~v{SR)3AonHan`piTJVEfTuCH)h2Rdc>a)QdF|>^te^zAAwfn&tE%an*ZLgpl|8 ziJpYtRQkqvKKwuTB^(#ai{lFvg|ou{ndXwye7Ei?CS~Ghq#E>6iM7>ky53ys&yE_! zF=^ua^xnUB{C5Am?KW&=)71v)f!4~(7dH|w$V4FijM?PjL5CsisxIp9Kfg1KGs*Tb zDGJQmBBYlclaMhXKq8A4Ix;A&$C*lmJ7Rb7^GzVquc|iTqmcfXpMKu`(fSb%HK7w2nXG}M%D+6ye| z>76}|M487SSdmT1Q;bDU9V#nWH6Q?0RCqY#HS&eKvh@{+`L)R249XUaL^JhceO>o0)2v9IG;wSfN~}~B{Ylm zhd7d(LKxHY+b*(FeR{|jRXK2~C zHl|!u!^{hp0LyzW6zIhcR!c}te9P>4rqgKyz|3Nk_`iTm6-!135t7=ei!LP@FxB-B zP?$Kmh`S}c^t+k62&D}$>mi;Cp%)7tKtKK%%`&(QaVA1CnY#@w{rSrHdzHZW0ciNO z3Us874Fy^_XRtA)M&QEZ2V1C{wH$`H?^_Mc1pLTxKm}9$z0n{ibv=A@BpKHS?4z~V zSp8R^|I<@ApC2538-@7mS68^ET<+-}m+x4pL%FiMRt{D;4jQdk(_5Nv%#kB2kW{GS zzKQ4L4H>JMd5AcGtJVi@(NX370TT%AWxborp$EklQ1d|(+dH@bFDcoz%}A#{FIPL= zKr|6Fg}M;`imJ%o9lMb^bv0lG<4Vt1ObTXTGY_idWW^_*teHA*!pK2|h6RMU+xe)P zLNPWqJ9-1%mE9}8X4foyq3?E}@9>CQ7VhglYc3PKEx<6!XJk-uju2r{QPDbeXEDM0 z%0Pvl`qvo|5?lLvD=|J> zQS1Cn{EOVwO)XD)KmEZgv@{FXF8xW~DXb^Yx0iz7*LQWg)H^v9@a|Q6v&1skkYXm5 z{lZ`u#*+QD-u$ucNjTX`7x$~qH9cTsEE4xnbYn?i>xSmPs)74_)B2IlpqJdBei+pt zbH!AJoNZjmJ$*Upyt1js8gfeM1{Xzd@gk6Q4H)6^}N1V|3(NUWD}Tq@oR81k4qC# zvV-DtsJrv*%0Sn)_a)(Itv0IY`X8#4>UPrh%#C1XXJe|r3F7`*S(#CfU_L$oKWN&LL8L~eh z9iYne29b0IzE59Sf-PL#5i13vz7R?AHWyzztK_z>BIX9s)DebZNDTdd@! z1xNEydqlp-hs456$NAUR%a8%F85CqDJ{qu}p9^F(JAh(k0G&f_N6>;%y|Rz5s>?(x zr>1N0?#?XlBU7V9>AGqta1zV4$-lJztp+Iod`zHe(w$DOTVsCW1?@NjCOOAeSNvrw zIj<2*7DrAUP{wa%c$}ouk|LrTk~T~B#5F}ZmZWUIjZuI7oP=e+Ir+N|{)GSbmwtoW zA$$0WKr4$;EjPqWYK2 zn)cRGf2e-v7NYkmJNQl6nfp)Oe24U=aHB~I<9vB#2iplYP;3Y(dT@IT4bH5XCzBrG z?T89+Z=If7nl|KBrJSFLTM(RMivjq_@&{!98zxOYa-!in>z`xzc*%Y@Cn^rq76yLe ziTqT-cya23v9|354gGN95JrT_X-{45LOvI2yXfdUTrQaTv{T?c2j=cpfzBbVPbs{QzVVl;=y%tVkF^ zvXC+oWmtx?h4VqNO`TY)aCGl{hCfj9{kV8oRzEN;2ti-y5|gNK;wa^%eY-}^U?wj1g48urzujgVx^4u9Ap=(lyWoHDlNE0_1Z9?Pmq+N z0sHLiT!@CKXm-zlUrbC4$c2&;RWMr-PTTXjd}wc&i3p8`V)t|MMld^{aBy)M5)fwL z9>qye|I>9*L1!iT=_&aIVvy64zLOC6$jUaP+n$kxpFL=%ca#UeUz`3BW54B|gBsTC z!4~if^~BRoc(}VtUHvHLW@l`)m#*6EJN{~->KOjdo}&jT5g^ZP#MJX6S<#|M`M}H*16iUHe5~;)^q%QdW5k+p~qaXb;CIhTNDxsnkQcEH) za}0bng2WyNvo*u)%HmPQ=ngf^#v;>^z7LBL_au0Vks+7CPsOiRj znI~0VPcM6(ix+f7T1B|GZOU_w`{r@aw829sENhwH;37O2w`)uWyvK?8B7c43FKWWJ zq`%H|)+|K2a@%tLcR}^{y@x(%vY4XHmG8>#bM@g$a1~Q=DRKw}TU(h(RHH%pG}u!k z6XJZj7G@SS+$^{c@DIadW4J@kQNF?)TsiCKg;@QFH|xEh;MmFbKw_7*BD7p$e8(%uk0Tq<#r2EM+O0W>FIItd4!$3AU#mHK45gf#cyWD3u)EL!MQBF*( z6<3#XsD5^`vSC=*z&>hfb~}4}X&D&=bqz_T=}6_VuMOw-XkSb9lM+9x-VVKTT=!_& zS*I^8ETK$T3}v1B5GF5+cC;A<9_94X_&&3aA1V2lDu6=gyy=``gch{9jK2A{=$r?Z@CgbLm767nNZR^YDTK0QW-W*N9|I zZ9~#8;JH+**`QoR!F0tGdxW}Boi0Tlu(891(FIlWG_4=YW$afwgH^TEWKx^j)D<#M zJj_VhxIXAM#QWwhlFkOtun4wtvSj=RC+F?Ws+*;yr6HdmY_P2dio}K{ z5w|W}->bFuZvC^txbW8LDao>Op%ar;jb_S~C*kWSvrjK`N%O6>B=ht0Rum1m|2=AO z_UW@UQtj*7T5T7Zyomn5Qs9dr7A8@i|Y{{B6v6!02)8kNZ&h^pu(Azl>%JD~|QFOQmkzzk$VZ z*m9*`y6H`kfsDhE`wzl)eR6W%eDU`o%4?w>hg?Sl@M0s^soiIpi3icKD4W5e1WiwH z29dYt@>d~zC|9oUBtU=5KWgEJerVv0JE)L}(jIL8+eX>~!1qB2w)E#u>C{ckbeklueKyH`cFZL}MCu68D5DtZB+$T7;&bA`4K)!GQeJM=(6-akk{?5s zBI2|D+ijSZ#zyJA&U!Dx4{anfdYx!_ZOKjprkyfw5y|~hXp~adn0zf(oZtyO2mJfO zPkQ_pdz%o3N6YC8#lD!k^$;C;W*pJKxSaXQw3*5c+kQ*Rvzncr;uQpz!AB=>GL&B4 z!F!uan!MRY*!%-fSm^J|lpfOh(`_-5%XTBX#l!6LN}%#9%9)=P^7lF!_ksNu_l-io zkQmv(TuKSc5(`?P%IZuscw!wL8VdkiPiN!c5(M-U$O23J%$OW0f(zBFwj)Axu@W?S ze!10c7Gdba5wj~978!jf`kJ9TP(7cX6S@W#zSmx}vz8b$o;Vzd$4wTul_dYrH_~<# zPi_FNhz~04(Go`3 z9etmhuEL{LIXDOmbffqAI4oMDOGz89Z>woE5c#VH`=+B)6`?|x_TOOmSEtFvl;-0? zzSil$N`OmQd);b#wvrn4M_nT@|7Qf|hC)h}P0jMDlK{ENhR;!rYBY&{;5MynzUva_ z9>HGUsk5Z286XQ7L(0E>&09XRu)%&%Z_k&R_PT2#3Q1s^%9%1{?DzLp^oVFkG84V? z>ucX+!T2wZe%h!v@NfH#o0o)c;YOCB9OARBm ze{=9=;T`n&LY;uHZ@oXFszCt(%5WhSd`XZL`Im!&5 z1q?z5YW+dusR*bzc)?>spre&m5|<|ob$&OhBjUhX!tuW8L`7+}bpobK_WlCuQa(}| zF7kx%K=RehEhjVadGIt3eqcBnRaX6CB4K?S=VY0kxx#(MbeEzFhfjwlPB!AmSdKb{qB|ou=BiD4FEx9 zlN`}#p&#cXLcRx;E!X+tHLrw@l9JG^*BWM+lu=hclvzGBQ`?dT587yBd)zi$JUlw= zS}$y+xQ|?z!030fKc<+g{7X16_X~j9nmekT(IMJc>BB6a4o<}#maWhlqkC_{mN&u? z{BkqmzSA&9^?Uzz8YVIllM}Zvcf*T#xvbk{e;PqYY8qFKrqq3> zM>_Pi$@nGKLaK#VWkYsk+R(U(6_2nbWKBzfrFVL~D_;TlTVmrPf+&6JHtI>G-4hnz zb}6^K@et+t%Ziro7H6+0WPTo*a2$-XIljoxmmjy@^Rjy>A#fAxPE!*mZ!Fdp@~AFR z9QW%lkLCY-!6>g~SyP0yMft-uLUzi$8b~nag4C0{2KHB1*DCKD;QB_#q?z8a0~b$B zpBOr}Lrk$<0dCX;arMGvtYXM@Wj&k<9vueMBxrEKNTI6 zGCx*RB%(lKhS;01ZKCsGjL7$*N+Q-jdboEg5vLy+CE_oyE%XbQ3{rv_cTE>yUI*GZ z7>`?o>AyF&r2P^$o`OR7W+j){VQJ;-Rty|g%t$z4b|m(pK6-&G867v0p$DVgjAlqM zwLrE3QE~LjI-8Xv_qMAUEy1CS&>5Nr4lZt+BgMbh>-3kmA^NsBOM1(Ncr+AaiCtH|)acDL$ke%qOTdS0baRtwxIdb;V;f z;)*SN@uwgUG&@vlq)|Ovxw~}fL*IeSvH6P9bhoh|VC8dj*m4RLD0uTmKR$N0SYLG& zM$5wBW;be-VqPJ0lfI9XH39d_rKtuuY0 z;EwFBgP1LLxx!a$8O^%3FJw`X-|eJqn~W9>uH*8{MN|kaA)mfvtnCss@AdEmzidfD zYQPTVzF!wOqqBQX<`|=g1>yMH^|ZBvs8d)BODXVTGHNV0Ska)t8-m|GX5Zs}tIb9} zN$|aNN4cT=g~rh`p7<}|`P$OyDd*({R%@`GG zmxM+h38hd9i%RNU+wXhS$yi|sA4Z@fK^?o-XOK@zr$b7d0+=*5WCs5zXykVP;hTGx z4={V`@LNKj6Z3eif;w<&M<-cfQ2G<7S!bpokV2Zr_04uvDbn?q9(sPIMoraL3_>LZ zkJyL&>nB-4Bgyi{oz0j5|1MOeujO#!U{ajde^uvUU)1`s97J~E2d3FnQf)pfYb&Gk zE$wN(exWi@Llw&UL@I(hU}+E?AOu@SB7PmaA1?bG4wMX+p{ZG2LkcrlYVnM6Vg$>} zhfy4|W8fsB`KZze38DJbneknGp+`VgS2U^zO~L$H9rEuHS3|e=Mvl z!W&somU$`!Q~KdPxoptZ7ouS=9OTA^@E(cNqP)gxU0hR&1uQP|*7?wNGfDiI@Kj%)Y8+j+mY4O>*tRm_I3 z0`zz~aTKky7)~tPP);nQ{Wv(d!L4bbg|1n>9Q0U~=GK@V?lx~amSJCdd6(=iJ=0O$NHb~_{bQVv2(|G3ox`Z zOn4fhWBWl0YOS%#P?zt`XLMl^UNT<5Gi>5yPSd8-$nFBfkTbH&mAtBHN3M8Xm=IS9 z&ywQAKS~~AiZl3Q0JJ#S7vp%|#D@h}D^>^wgCQH}WL%L^QI$l>YHFqf2nbF!Mn#Mnf@ipSMmg^d{q-1NuL=e`ZZW5>|7SS&>7{h zGz*&e)QEr|Lrt{}+CnBQKZ43VS@v2eAx2n$62#SVn;Nfuh9fR?H3lWAOJ#@~E#XE@ zG^M@SP>_|i zZC@BA1eLvnun&kXX}yd^jbvwMHy{A8(^UKbIS<~i83CY?sze&^KPb=XU+kxt4ySSF z6(-Z7A%0n4fHYdTV6m-HIccxAT%3>50_hfzcRYF$!fKNxw|I0_8eK?NSTFw}d;k4t zlD%Wx@o8OOFm;zBn%y146W5pMKonSK-(E=de`f!Q;yM>Fw=W}O0Zg+!psc*kYB^FO zGtFTAf%Q~NE`=2&L7<^cu?8DEnj(A-UBNdQiy;LvK5{0nwZcm$Cgya-)z|k6>7xcz zz?Jkdiw>TH!FW}Hp`jnEh`;+xCp*@w$uf&Ey^ipJjE-`<3~vL$qDKgd|zXu^9f zYJQ0Sba(m}nJK{3(h{d+c2SL>qu#H<*Pk?i2NN9iO!i>~Y(OO4hdr(CVdC6k`XL`( z!RZ($x-|CSfMAw&tlE~se^y~PuW>Vo}Nx#sU zgT%6_9ldz=0$(*;3y{yVy3M()ZQN|TBQ%A8C2Zv#E&N_5&Yl-KZ-o6At}-H@ete=B z8+}-JGuiCqIz31d{?SFrUHPXg8ZvsCW;+m7^iCb5f^v-T(5P+ z3l!cZhuVO%Nekp3-!2P;3lbFUqIMbHA8!`NwW{ zq#f;lGCZJHrJou%QU+^rcNz~LLoP5I9$wWXp7{X5E_{T&C9)n{2F_swIg|845Z~;v zxfj1O)J#TYa~f`adS+t{Cr>MLs^V^YAo5Au`|Y9;-s9o%r-roapa=gJG2w%qjR^3P|FJt55XJ-^|cE=_5$ z`kjMQLZ9`{*!e=*7{=~6{;PO~{+Ed8ubiU9-*;N~#2`h&%~gk&UU@cU_gJF*{Dfs? zpp#1)GK?tCTP$4{TYn#KVT!QHAnZlsIv$F+5L$^NLKHY`6okBC9AS#)d%PUo=WBNW za+E*K(FbT4-^{Nyr0#CiT5a`k2+#IesxD2mqzc`=k7(@|D+o>sLgLLi@{qs}mdm5L z>Yc9hoX{ChgC#tcY~ycUDt@D6&*0?&kK>Gupt_Z2$DVUSdJ!5guG2Qdt>0ZVwOrkU z1d3VFZqNKgm|_Id(0*@zW-H=S%(|4fFY2P!Z@liyt0pYuFEb zE8f|Wzwi3yG_;H#!Q*PYT(Vkm{{wFVLM!U?$e89m%4zmwr)dL|$$?s6=}&qma(O7S znqoH2=5ZT(cv+9in9KByV@PbQDXtdhNs>55Hpe@1UuC8pgO8(*WolsRhX?T;_~c$) zI5Z9La@tZo{&kbX;6Adt|G67NqLssiCJJfv#_@wpwcy-|LU&oQC*zLy#QEJ(7(6bM zePJV#MM!Ep00*TL#gvxf3x|N*=bHBfd zA{7^N4;u_a7s1{fTm(-SLCj!(A&`O}D`sHJNdOB)7AqrH93Zyr9ktf3T75XEv^W=Eb>wUHV=t_VkG@geHa7E6v% zzLoqI(RASt=iIS7J{o-Q)KKuY(m3J2skpzcS$rCAlSM4s+ic?_&Ly$bq0qHw;g&Ur z(hLTv0KGlJ2&s@UgKeEK^1M}d>YX+bJ-L#C|VOC(U8Q3tD4w}Y+*+J zXy22tGPG`Y0(G>_nKAo;>-^iVEvU!cUw%G7JxN>_UZy5`Yh1GRJ-} zsgO9o@N3{b_806}`-81l5df+M!3{yBG<5%oTID{oK{Vu``mW~eZnWAj!ritqdHiR~ zHltSl@Yj7%&69&5;Yfv0s#p+ZcarM}>Mzkt3QhX%pG_J@v;N=#iM7ygoFdi_ldpms z$AFVex*&JMm$mn2mVN!#2gV2V;56ZcH|iX{If-sy`DKoaqY3W#>=hpek?+lh%?pAR z_WYYSok>kP9##F%?N$B#>SI1$Vng2VoCfs039%lFe?+BwYSLF+d2f>eTlpboaaRR- zRZ=>dM|oKI^_53&mHm!|zsNTk$8~5|A7qEJIQ+1wq-XA*zk?n}rIES?T(AluJt}VX z=Jg77xGC~~Rs8Djv3GFszQf^1&o4let!64Ep^ zITM1&KTUm-)wE!!yJF}`0ux|3uFy^8IZ^<$54hEFv9d-PHqQJj2&a zT`c)RoPSq6e{%-TOc&K#mB+^05~+;oz;I0R4|o)Dvg3i4(6ItRTwZGtyqlYwm4gGY zdo0e1=bdQ0B_b6;6l#>8Lo;d_4J`=K}7b*$5|pVc6}9+L*F1=057~6i0uR;W>6Hz+vrMuVp zx~%)|x}h(*>6E$s;i=f+iHDVEY9n@yLRRScE%v$oOX9iF*W$(?_6n~Zc0CuxtNZJV z-61jAlE!3Ir0SNc>Hv25SH6yPRmjqqf0TQLQ`8AHY&i2U70x(#r z!{6qGObK!!9Nl>J;V`4yMCYy*F|t@c;<}<`D{0kvf_Xzq?_6TuwtIlyQfCnZ)wKIo zP58k%ihk5=aZ*EsJso*RJNWPHt$*I_;J}ujs9FehZ?|t3smp7AvNFBr;pJM}!zGi` z(W9e~q$9xnM(qR4Z~aN0aqy7`G)w#8i#~8MGnVKn>YY$E5u5#6*QRtUTa*F|EpqjF zgd7g^cIZ@osV1Scf-L44Bn;Qb#nX5{vxXyW`i-c3Q6sOo3I4&8eyODk<;IO|8eL5r zolMLaZjC}0q`^_%GE!z;gTlMeSm2{8{feut0)o+N2 ziCMcj^Ak#)mT7CZYL*j5M#+VWVI)zmdrH8qZ>Fn04^NGJ)C6jU%Y2Ru>nUE&Wqzki z3b#!uTibiErd6XW#E>3bt#n#DxX^LLFK~D_Wu!ApLTTD}wYftoW)NOhh%mwZ_Rwc8 zl2PYXZS85Li6UVUy}M@~_k4)_kpB7%R5x@EN@RXu@Z9gctD#PJA5quyjl@@S89fzX zJU-)V!=@B%>i>E?hVu-`j#*!LUE2Si`{*nDoPmEH7SX!lAn!(M@PYxcRf%IUF`}i| z-5H8+j3mRmDcfWd@UNryGyTQ>%-nU^9J*vw3EO^o@J(x%Z-ZZxSg>GnK+4wE5wN?y z$}t$HHs<&>;PnwwF7gs=ho{h#@16IvK(@j|SxQIW-NHc7d^=XIU8B~evZCNH`}H#eQ}4L+mbTr+Gv*H;RNlbOcf$NfY52$;R+ zAzr3Hq)U8xpc}wa$qz5(y72eOmq=*MG-w*(%o{`#K)bzbCy-jZkmS#oc++CL=l}<+ zQd)+apiG9*jtc(}>T#UBcrn&~*7y5HXzR9h>u#vlO9MSa_jwxHnAo0hnk`|$-7tL! zrtWt|rexQNeR|z2@VE=c7kK#-#ns>nSJu?jdwkKugIA$jk6a1%=&RXHno|T80(Hn; zkBS48hXdXn=2ztrLlnjGV@|Lv{i8`^se+mWXzF6q%%~hjh#vTpNo)f~gVK^z@Uj2* z>4av&po%WC!5A9LxA(n0y9A>C2F!ycEG@&FdPz}2u_C0l?+~$K2C){=o1&v`s;bx< z8k?z&ke@R$NoQ78hIj1kaXTPSv&I%b^7UY^k7z*#XGv*Fq7Gsfd`r^;0 z#|OK=erD5bd?|@q=|S1F8LB0Eik*zFp=UkdrTu(Fc_E`peUuqVDdMEr9JO*F4dvpS zpW1#mUc3^VS168-)p0__teV2&Wj(BIk0Q@yly8l{uXMBZ%re+YV-1w?Q!ba!i%nKL zoYiKykC=AEhNfwHvQK7yM_Zl#m0d!({4?cll4AaJmMCxP@__P*kb&LrXy@!b!^@$* zwt3NAzKx*YX3o6m>)g_UJ^KuTW107MpxMdOy|e#*cN2Mgg_R?F-yh?VLD>D&XX29$ z!(}B8TrIkR%!=1Ymf;%?XFG`Sno?f|kb(h(D5xkQQGwi3!l;tKlx^_0uAn+>T5MjPkX;hZinV~#)f22m zgyJlO7gLP%$TTUNxf0m^M^SP3@IrMBh(Xg?R1DYCy^e$>!hE76RS&(EwPOUm^ z>%iDp&4xz)zH>)eVFDRv=eII3B(XuydVmhZG7}miu#~JfX_@<(l(#pFdb0Pbb$_hA zQ0~wU=MGnz44GnzA;1Dy19NoU66$Sqc97bRa{$wm+l^XeckH?pD!;u^zbzY47E0v3 zP}muEa$W~$AUcz7UT>SUP(PK_zB99rE1OIe8jmchgA;q55c6V%WBBPyDfT*VAQegw z$EFu+!Qw#rYW~c6{B`jfH;Y@8nbWp+HZ)H6va=TJ4#GX)V$kQ(@jPoF6~>IG@Js>O zlsw5!$J}9sGNBPKZZDEMs<@@?h_C!K) zeLM)&)84o+B3mDnNY_8ZMZ4wf6BV(QHa%UudO@i=Sm2^@EL(tG9D8S zsg27k0!>YJMGG>itG=-cdOVml?czytdKX%63!%{>w69}m%w5E=RD;0R9Q`T!?U&1K zl}Lm1zZRNJ+$B+A@;JwW$yev$HD)f7zja4C@t{E5>2gxG&O&v+ejQj$^l74T2-(7P zqrr*jI~?n~GAF%Qj+{UW`*K-Sl%H{N&(nW{#8+jWT4S%yCQCX<e)N7C3x&h`A$d)20eH#r~h) z5fPqnja~)qVl=|O+DVA$do=vwDhZ81;G+x= zUsK=VO(X|#!3@&seE)Qv@h}S$s7^_2Xoy8LEWeG*WKZB1@2~oOrf71th&e?;{5d5- z_`3Z3pRGDcLx;4pv$Oq#NkHtdVr$mWb{YiriNM=i&Y-vO;@xl}43fq}E2rt!8i-~6YKXT{`#SY(rvW8sn-g$eB`r)5s-U*zER>Lb zCe1@4MYkgh(EKnMTlsM$UP6HU*~0)B3jzrzK?S_W4XE_t4ug3sysnS1OY76o<~bGp zhqnAZ>O6b+$y7FPPWAmRsr?)r_((`e|;Hd&ih zn;An}9;!Uk7VJ?t0xO@(TW$u47gjd3p}fPLHkjqZ{^#)lGCkkVv(k2WWW=VE0!ea!ITqg8$F};U26E6=1gp_nPV0c(H&?_RJ`6heryE z_Sa^QyPMF`@+zQl+M0LO$M;1^Z_?T@1j%IRh$O$+Vx5ZP>MTo66T56BPPt1q9#WAY z7c>>4WW@OIGX;~L?T*D(aW>hNN$ejXD}Q0E<910%Ok`nD#+yeVN15fWhZ=vjU0R$* zNXVW*8Lm=!&QCiv;^JCrF* zz#$cy!Wvpi#EZkIkP(1Q3q)S*7QXj!0DSq<@~mNxBkX{vzKpkO)W7ArtSyQWLi;vE zLf^{48d@6Gr+srgx9Yo6O4;5mdX>@AVq9HBhER*TL!Hiy2X&qzIG^HmGGld`IK(xY zn-`6tgpYxgmw9*3TEsd=kV^X{G0TGF41M?DJT4oz?@Wxx)!i7IaTfYM;YRG!V0dz; z>QleBb~0Y#{+EFPvGm|$xlZFb=qr$cPpMpNqWuG3nov{JorPjGX@@WE+bvr38Lbug zU|pe9fu!!6VvpzMdH3r9WKRLwJL=FpUlOKS6;W=o_8iWS3|boR4E#k;oP-{Fd;IY? z7__B%#uoehTM&7N=s#W3+uqkLEqva~ux>hPoG9Zy%N&y#TmPX%%(XC~?r*$ZBDM@? z_Xqn{)(#T;#8u zt^~g&2tD{Lp~}#brD9up(#JeB^6_qWcR4dx30%9b-JYIYlsx%``9plE7pkN64x}e#|I}biB#zat-cX?Uo!rhIALyR!8mt;g+ZK@_ zGet3`lGVW9rVc~QEQ6jThg5Q?rNgw(Aw*Ii^isXLE9C_w#K))QblKx9ENQK^ACpnH zUxrgi)^1%UQq>E{-|zSMMjh7V>0 zJ>6e_q4(2Z!?nSbt~ZjNcS1;-9M?lD8^uelJ&6Qw%%WdM1&1^J_@aK=3|3RXQ3P9-S0c84Np-GzEEi;@S(}>i>Y($hIRGj!hZf8lK3_*zpybn^Dnn z<0_WO7s}bS_f1|UwWekZxU^h2_H!mB!s#HuM)Ntq8Q7q)67kX7~~?gIkY|q%IG|A z8D2O9H^PucT5JYARBLPg-uN1k>i3P9!QyM?OsIJr1TRj<78&J|wrT39aHd<~wdedb zMcG5-;i=n5r#u`++HyNq_x2QWmu#7Gehk&Dq2~ywM%Fgh)UHInZwWXpa#vk})PGYs z+aARBg7fqB1pg?hEnB^-CM@81l2)QP?}&J+%ABU9u+t7=q||q)M1vFSm6wYO(rodx zi3=UPLiKjkefUG^9NK9A(c_N&`C+$k*NU`GsTJq$#n;^3^TgmDd6Hf3vw&{ReQl0O zdZP^15Q$+af5La{Le7tYe-|G+ADvn{hR0bx`pGe)N^Xx0OR?gFI;r(EMR5?K<9e|& ztZniA;@?{L?}#g#FUJO>ff7`JzZD6Anm=yoKpn`@G{MxNf&bBfg-cbLl~I#KrU-Ss{6uYfU;ZwrN4}s12ohDl9+W zL|yB=ZteNAQ)|{VkH#0!FslNfmCFY#Wp)@Bwx@b;nKDhEK0g32Y2mDyLb0e59t9}2 zw8#%{Z1=EYu5-EGGIIOBu%^g*AKl_`Bmss_bFk15px)eCZ+CJ#z!`86Hg%Ovlq~gL z>jW$Yu@?&Sm&|$hW{)z7g-@db{`oDzbIqz9kvEQUr9HfmouFd-*9 z!Z{g#cw{Vum2`OYBCn7WQxesMvw;a!kqx1QBs4M?iJcc1L`L|&gJg^YMRL(tO#?ax zUOEL(TO`rz_(=KN)nmQ7y##A#y>n8-(fqBQdXwvJ+_&i$X}fvG)}IM@p>!TdE4*?f z-MD|z7lGk;<-UK|mAmU+tJ~tZJYrt>>~H4}cV6{5as-FRzpW;2$%#rQmQw6aG()Y? z*LP*(;nL9QyzHR=v;X}o>E``1jNPX;)&sihPi{898ptr$pI_cK8Cjh-F)fj+j+w%dVjR_pbahp$SPWli8eGP-}- zD@KCvJ@cm5lM8vs%$QSZd0M^pb#$n0;nUC_F(De6H+<_;b`PHPA@60!8oR&@D7Q> zpE!|qYeX42usL(+?G+Ncv+*s++=HW0Fm-u#y9z{H4z=;9&-oXRYfek2!^7iP3$GsJ zp~{!qL$7EK9lvRw@8ix*B_#>-!8~*kz&7QZONr;-q}DJGUF2lmJ4Ix^{_15C+oRG0>j6eHui+f3eLeXliUu?y)-IW7X|xGW3I` zu&u-CR%Y!zcYJ!!{xC1Wx;j~v{R^5PPy!gx1+P53uky7oNdAO1#GncQ03<~Hl9<@p zn@m0`D8%5C618A@nHX)cUm#@AdY;`48Ko#df0itwtWQ&d>^|H&NMSVLL#7g2hnGd$ zd)(d8nf`Zgd;|qqv!fucY0j|OY^O_|1tjvDPhu5cyI}NvBxs^u5`1o1vj&4$=1@cZ zd+CD^6!@pRJOwirx?xAEca~E(1I3DWfn)5Uuv{N`bD43>AWE7#F)h;^4+?Z))faL& z$mH4fPD^&at|R}ej?2*i#;;t=2i_#_Q@Lh2kOl5xKMVt6(B zF&{P+_>JyTOs8;6SsTJo)}&EuYRaiY;jDs8D*EI@?s65S(%4DTZgXOkhGQ~Q@Qzuq zs`YVW;C_Y~d9iT@Kh9{@J}ycCnxu>XO;XNpPWb2Q^uNtJX>(d%U04AEn)VWL3m9{v z#X7D&K)TEc&pdXB3-|Y_Nn&VlP-!iWE}mYNR2tDaI`6yhj|$?ZM;7Yq>YYZ3OH6nE z{G47>T)Iz$X zJ|O87>CSuA?I2N2O*%3lMGQ5E7-e_PD-Xo+8bkPY)RxHoO8x)Sj|J8i{|uEDYucMz zSaV}y^kk6K2s#n zW34BaTxe!y20m<#{$R;IgF$ps$;U#;q+1dM<<-Olsh>?PG2{uqU&K*`7r_3HF!$v< zGz7ZbpZzR@Uj#i}C*5Oj;*RS<-cnMvReiF*&V2*atdt%7_*?(z_aD>4SeuTQxaJza z)2|^x;w}2@(V2eli^qlWf2@76qG0?omK{jLlFy2Z@c#XKopc-$l5(yp7nlxFjvNkS zb0IFjH34G{<@X9)h{lmc$RnRBP?siawb7LCS)+o0#WG90q+}VeqJ|`R3c&|g+l9y6 zDxzL6C_s%KC-c5^ZnQ{##NvFU-W(eGet#bqsqi;C3qH%U(*aS6>Cr`$tT;g*32hgn zIdX!#U%n+A5pIZeKt>j;l`USDEvm=n)vlhwAwD$@a>0ePnD(A>%vYnI=nUqd`Fm9bHz zp^D>xoY30^_K*T+<5La?255jg2B>7}riHoU?Py(4QxisoelrE+Bi1o-dOoYdT!=RI z+V|X;0ngCz;QvR|TZc9MM}6EN-H3Eb2uPQ7h?F8Jf`D`*NcT1n>HeY84GJjT-7)Fz z!59cgH`~}?&%E#Zd7fRnu3g)I+rHm(&gY!>dA*%>ud$u4{unWXE>`_e_aUtOE?Ml~ zfne*CcZX6rqnuOk3p3X?$ErB&w~$>lqS^t}XL&dk9^(a`%I< z&f}QYJ!A%KVpP@5jb*XseGJ=LGbb%6CpR~qGjN|=C&yc$b0y0FOPn_v`t$kMc^r{Q z_4X8jnoi{MGlmPYdfSFJugR4?;y#Xo+)Zok)nm%@9eaM-=R)+V7AbWlG@~jajfV$E zv|~Yv$-?hjVnrFbVZ@}Q@tc>ogO_~V3PjF8q+q7(^;`0q@<dt8U`swcC{i$w#`+dsoP6FS0zBq!P5h3mSRkl}I#j`jZEQQ%Z&BWy6W#Am}k z=zNIbe7RFwFzRt^xWh@8XgqWo3*{oQ#vg`8f=zR*fJeO3c@eUyh0ePqIv3qbf{Nip zHF<-Y-PXY5L+2F@IM3u#mv2?%c8cg9)2#&jq=bLvirw?g%cU)D|G2QDNy}5L1xeeJ zo=EbPsdtyikIK%%QlIOEl+*Xl+Rj~s1O_9}_JJade=av6ITUh z*CThmIBQ&pqm#;?d)SijOoW$n7D+Oy`gU-Hzhs4F##I~OiyM7@>L$h$Mfd$de6)>h z{I6rIodt>#3n7m~hFIliW@I>UQvSK#$p^KgLpd$}>~C!Yws2Z0WpWK&hDuDYcezcS zs<299R@Z+D&XSN8kXA?RXmpAgCb>!l(PA0My2d4_9>#TrSw zFF#I?7{cob#kU71Ka7|NFD&YQ7?zKLnqI*=Oh~a!;`1>q5(f}EM2NmR7&}L5VfyzO zfD|$i5J%^RRHIBwp%Y54^B%rbdw==t%#~6{F<3%R0mJH$MmI2-|3tcDI6a^|UVxX; zA&x@NEdLko@94N;OSet;)lZGNugYs&BZZeqhM@Rzv*BXok;uUq58|Rc-k%0KuS{Xv z*1FkW1}|DlN}CBW_dz7uF_fwv9`e|s%Xtk|Mqzh1C9-6A>lfzs>5DIqC^J|lC@Ac< z)QPW`&$k4bl;!%xuoMN4um8O!*X1Pr^HuUA+egGs7>L7D7)ZxgAdN?*bS*TQr>Mv3 z+Xxe#7vXTNI*Pd&3f#WcS~Pb9t62Q@+8e(TwdlYK+Bk#5R{ocbW3qKl88!j}lYeg! z?OR_`A#e9(<*|spxHeoI4J}kwF8z0njW4^MZ&sCY512>UMXVL!)-`2fk~+?t)6g0_ zt)b~pPTT&MFl_gP-5SUVrm^O6vG}LxVa3(^jr5TtPMR_n6c~P&{D|W__*!;WLUL30 zb%Y8dweQk|urSs*h5B;bqCAzF;6Z4QH8Ig6kI!`UGAq(XL9KC-FYNT%8(WE^kZse; z(ix?-^`8#%)}qd88ynx6p1FPapbcc@*e+J3Z@upIV$3pInMUS@@Q{`bWKEmAq`v$c z?u8?gLgY_TWqLEB-P)Pu@)2Ir*2FfGnH(fEqi%OfYk8@-fppTa`{7Cw8j6H_1CuvM zKFhKa9x|z89n-cL`wy?T-a~IqS`eZn`g;+*SoZcycNQVUbFaa27^As~#AD733O&oo zK?dP}I)if}jH%5D;vwS5nqx~V3`pLhEYFcYu7kkC^=oY2hGO8NZ$CoF7fQJ*_&LhP zv*XakFItZ%W!(d0j{}yCbxmi#A~TYsN7Ca&St!gjL+%Y)FUDXZLh3W$T%U)Ee@o;v zSl9T^nCgnLFpJsZ3truGeB3Y`2(wLp$m81JF(=@~2;cO4WTvQ+Fj0ubXWQqkuV22_ zk6Ftg3^bPq?q~6fipB^Cx_`>0zCVwnUzsn`wm5QrZksmmKoX$gI2LK#JD#Wm!DR5A zt!ZHrcQEFO4Z|tQTpWh1#C3n*H|Mzg=Ez4uEr!7W-cOFDu`g6de zB_U;^O+!h9+>hjSSe%@fvhzgM10QdWf~7^Nv>(_l25J+W;OxrZFUWtdU#{kfNHsMl z*gOxflw1A+Sgh-N>)ual;|t*HZzoZEGs8q|3!Y>KHv7;iTXf=gxE&5c+MJArEPQxq zUhuHeIQmqCLDIxpw0{fJUo>OEDKqTsv3KG`fxsb}d+`q{q0y1pZ6a3VmuM|&FtNoE z*2vD{Zw8O+xhS2;{We!`-)A9(e=tw9V1IHmB|e^NVmWIHL4ika#_m0lgRzD|N|7Mz z;Kh%zTE}(G$ILNfdqb5qAi9+&8fQU@UfzP-zbK?%g|o`o$UJF%LZ`<+P5wNJWMsNX zfcnwQo@z^hFxUh9MtJ_lL z!$*8(W^J3kya63aQ)RszX9;n1F#}I|B@hi6@7d?wr5EK-(p7~9@e|#L%}&~D8?D$5I%kJc}b6rLc<7$7NF!%LaN zE&C8*RM+?8gZt0eAH&gQkeO;OAkJE$g3sfXyjoZ9a_L8U1uS&iypKzOjExXhS>Jlw z%OGkQM?XKp^Yfkz7>8$9((o{$_|v|j=pnUuLuH`sSlYT6d0~D18`GohuWV>CP36AX zJK*+LNq5d}7Y7XOUjrVtY`YgJ8a4;s%GTT$u(3f~3v&KCAMG=2Q|KwSRZexvw_!cl zXC(iN+(Yo6*V4adS5|WU13~Todj}>iog4y*(5FUuO`g=o$@wZ{j^KfujO6_`haMSZ zMUUa^+}+O^e8=m8SW8oDdugyz;q86}af}cN*(VG9-p5WwLLU&J> z{_0(mw@WglWS<_gmH(`WdHRa+jXbSA_}$i@pGIOpgc#P|ftyd1sx25fZMK44M>KAV zyRe6J)i~biH@H?(VBy?DtdM{^|v4s<$EVwJNI=Pf2`Yp_YBP;M+H4qbTKC( zfp;^_!iusxRF?ejm%e+?*bx?SvVj!aHHQGtt-F3y4E)il=!WN@>Slg4nf_#x$^SOA zh`Hz}h8PN>4YQm6|35XvB8tcRR8oQqCN?`aN1YTsGdnA^n~X$R85_cU+NsI$ab6$s zS>Q;@D=0jqj4J%;UOV>1Ze|dui0QR3#Yj?!J6A0~Yn=sp)uSC#h`y|msWouZ%FL|N z4MtC_O+yw(Zj1-PCwARAX+>T&((w;onXE`Nd7E^5)cUjzsnENg{(T8Vc*apgdClm2 zdyT!=Sl3>ztgOV9jTjcUwl2rxK701e#NB3-*EcSlbC8f8Zz5F@jO05!sr9v zUu-|bwKU6 z+Dz~^FpUMZ%}9u)*Id$A5dRLn5KA4B)^-oe7fEiSe#9=6^!h>?c+X@7xbghEYDw{w zQQg}Rw^S#q|7MGbu^4B?LDl>5hX(t3Cg;BVJkeF2^ZI40_^hDeCu^C&-B*>lkpO~j zt}p8A!7%Ui{FgfJvOj>aralO9U{82R06VL%_f$fL{aX|b1avn*^w($R9}~F0$=R4o zH1ECLpFwIj&)(G(`pvAp^rGFDE=*wT$>k(7+|SLw;A$@ae?X2|`!3c%nd&eH1p(1c z$_$VrbM%hs$5;Y`29JmI<6(qj2Sc2I@TLMb1^Bpj;;4R%ljT9(O*W_n^S{0pW`emm z%{?Iu9suQ7v&+y}LH(x@3OfYXrF)`7Q`XpB#+i8WpuO*5VyTIV(D7GN4{hoOFaVs|OBh z@kB6UHI`O46H9g`8tiTz#sNanH^WVcrO(c1{j<#JYpLpL=VnW=)k}Ttwi`rSO`mf@ zL0keyyJmNg{QXmTnF;03|^$*_zwBcCO?5&rNq2@AE(6} z0L}G3Zj$XeZL&r&r7K?Zb=FR~rQDsAS|^X~>J7Zo7`dFJq>?FiTA)$9++(P1h7MHi z9S%Et?dR1r9EQ9+;g>E@hC3x+|LCSlv`0J&~d6;s#Y)Z|^MKC~B&Ot@8o z~@9D{8#5%mCCWI{o zlX{oblH&GGu_5Hn2|mo**?U4%W9s%Q`2gfbCG}mulX1ziZm(?(ei~3%qa@hVb!8~f z1_e^5Sp2@!d@x?>9E z-FBLcy!4RcXLfTJVfE1a?wT&uwtz486BDAFvkF$u_R%cocVneRLOX#*4c-rTRT^7R zCSTOLPOrWA;cR+XqN%S(he+3Zo!g&J$3yRu%tMSckfA_>A31jNsfU+Ag3T1RlCaI0mvNS1b&pi zZh9@+dBMoyTn1fsvrs>|{kPf}zNrort#l1o{zyu$6f0H0GN+#vJ@qb(a>0q=vw}#c zAV0r@S}ddas=49d!N?FW+=e`5~SfcGt)b5B&c{eLa;sKWT%y z1VqpMwWuv=i04@|54Hy6`Q1Y!XPygBtFc9#`AA1=$Ffjn+}uzCJFmFiH`+(E<+7Iz zy@%ZsS-vFuIWtIyc0W>e8}knDdLY>&K{>>sYP<*ixxkw^!Un2hpOsr#GU0H>JJ9&!#y8< zB_rv}ANdHwX7)ntrmsYOgF*1D`gcd?{vDrwkGaSp6=M@qCksRdxt;OjMKfj6f^Rn7 zS$F5vwVMXd43%S4q6fvfybK@LWZ)Bxg@H?Ti31z^2J$OPG!r8ugrj2r(~mv_t*GQJ zJmXg37%CZlEKuccr}%SqM51_q#!+edrZ=h%3P;TDBMx3#7l(E#E<`6j;JYfy*gnW2sP%qm$PZbMzBLX5f2mrmdv)Qw zJ*k4m_Z3J;?K`M8{m5{4I-)s(ko4O4Y2|L+=(CC9VCJ<1sDxe~&l#p4+V{vj9!81q z_U-x%WW0}lx|bXE`J<=3*?MZ0;@I6R)pESY?=q z1r_`=By*`+8rczqXnAL^&FP8F6p-q;NPO>x?5DewixWSuh;N@^p%Jp zK#%AwprwEehX!=&!4vjH&mvVRK1UKa$4H>(q#pR z0YYDPoibG_E(RuV`7LibZ?0vegzG!*hl?GK4T4I1QDDTLGw9?`jM4o=o2yF9b4L@# zg#>GGJ)z(^adA>7O;6h?Z|?fuD#Mahh`8pZTUbrc`ai0?E!u&S;lJ9;YSX)k$*2LC zn&!Dnt~kJRiu@3{T8GPVXgvf{$%&W&RkID{b)35G)s75Rz7LH7^vL~qcSmsu*`v() zTyu6Sy4G-ycRo%F&jVBs?C<;pP34>Y!aHfS_@;{_og7_@Z^<}afyZ5huhQj+UF;Hh z-Tl-MqAKaQk6-V*4SV1O`ib)%YPNU^5`|++k(fW8(m#%$Ld#6yKKH1f;9otWst5M) za%f9PUv*c3@+Sq1{hI=}DZ&`=?fPW?18_7|UHcEueLT>y8M27L4U>`QCfKC%fQ2Vf z*^|bnAwIP!Vci=3EKuoA{zgYIx@unyf&uTKo0T4u=iM78US0T(e)fktILpt3Eq3`> z+gA-L#Vd_1dJdJdoDRwGUU;h=H0^2LOy5}mBK(gN^P@0~V0JsJLnf@0>@F`!`@AnQfU`zg(E;ppR<^(ck> zl~1)zRSdvRIOfZq@J_zxYb5M)ukhLK$u)%aQ{8P*N(<##;36n_X)BE3$4Od(>rrR= z?rywfqnLh!yAGEbwF@dP?#Va~Q(9vx8NkeN;8{ez>Zz3iAeZK>IGK zj@uXw7HBRvfUNyPq0-GK-W^d3J6nW7Ug^qtskn+#SNS zG+?h^YgvLKsOQdmFQu>gvbRr?zNrwVmE|T)|7SD=#r<3E97kE+R>FyV|H(;tf8byo zD$eiGy1r5gQeAu(7YxLvWbO%UHv4_SF(c}LJpFr7xGU|I94CiIdiG?I{>GP-VCi!7Yb*-IFcwhdvK#BQ9B2UZP#E~DqL-l~J`Z4IyN zY^vQ&E|8sFZ9USxl_vDvop`a8VfladetgM9!xpks4cav4*;MR({r+)?^T~hh@L(ef z)Iipq_(vQ=Wz~mC#Xo>k=TCNDqz*dOxlF&p;Jh z&E_pf&-9*#pNQZkRizF^_`ws?v%lL;6SbTK zs1iVKbaibe|3q`GyE21kh8I>E;|Wd_Dg>Tw*-k4bf#B3G>;~#2H=cU>f#L}PPgh5 zoJh!AI`62U1$O??8DRretpW0Z1naRao&_;T<2c<{l&7o0LxC8S^7yE&qi8{jwaTq@ zfFFldqL~cj^I_1M*-C=xO4xzX4eV<&*~z`9g;^irk8oxowR&Tv0vnz#lpmWc& zE-jOjZN$>~*{Rjvwwrd8GG1LKZzbyLPWJ;AwI2qR#@i23SQG)$Qk7XLc$Hk`9(v8m z1Y^LSy_e(Gs^f9kE=&th8FAr;iC^=c3wAsbID%f7 z&eHJoqXXe$>|xGYa8Ua@=rwA*Hopcppxb@lOGcz`JM86CmFv~GkNspacdRv6?E#bp zqZo&&F3~!y`{KcJ9HDk$s`@>LkoMtx1**-K^=oH%*Ie~Lo=k1ewdwtxd8beh zeG1x18b#nmW(zNyUvGEb=s(E|em@wo0><9zfmm^xx!rnd5)BCZ+LlJ||WgQ~vtdQtZ)8 zG2p`&zOMx#CsOM6-m;b=Fx^tY>8Q#hA@Q2=p-}XlBEto;lO(l}8dC>qyH?TN;i!X; zzgcsKbk#<_lzK1_OBUD<%|wH~W(z2D=jt=k2RGXKrStS?j0mV!NGV;uYfrja9?_ z8T2K)ruz-ynj*cf854cqg$Po!Q)+Esqub*h8+D%_bjVO-xgKT55zfpk#@k@RsPn|U zy2k&`lxWD(VrQmaZ<{0m_E=;}oJ@{2wZp>j=X9E7HT@Y=8>#_iRmDD2uU197tPmZE zGkauxB~U$(|EX}q1WY~DR$M!VLJJvdh}|5aQNC>R1a|)cW4rf|Bk+e>kzL%o`SABr zsejZn^WMcCtXTK$S>KVS=lKXM=K9G0a+>T<7M;uw4zd3`XFGtxSy+GPdsK75 z^>dVVr`O(fP>|f~sqFAE(N`_aSJ>-q*-OtE1@u!nS%!|OYwl3Ukix7da#}V4fj?qX zgb=TXW5UkxI;|#FWiK9B$gQu6J=dua(v+fpj@5|3_Q*ouY!4L9Zny)t{qG5v05sh` zdR)Pq{6kI9=EyLPJI%(Pj1D=g`v{d@PvxzeLSOI2C1<`_BiT+jI1lYP!@_cM3y1c@ zdv7~5Uc}njxV*QNz!W1w&{|=S*J3g%tnN4ncJuzsOH?LHys;*Pux0)JL34xpM>Mjv z{vDmv`2Ee$mWC8V)J6abozF0nYpP%((#itu2#X5}FHpXew=m0J{^qbs$H0?ZvjtX} zL#-a3pgvLGAHRCy(P>Ml5cn+UuK5&p(!E64aS_;gDdvGZKXj*}D4Fb`nX43z8S9be z)ZV>ci}c14z(wC2k&-&z~7La2?I1^t^ue0YcGO~ zqM57@LH9&g-7}!YIhaQLa&SgK=IX zsPtK)UP%%msHQI5&MifHVO%LFq-PD>H(EuK9Z>`28J$ugdw0Ck4Jx0~$(5iV3c(34 zeS(v-x zJqO5)g=WM_8NvY46&fn!vrR4AKb{=9j?}XQctv*M^Y{EctdfXlbJt88vTyo(2Go7= z)iEm5hb;xIHy)_>cH^5)OZul3f&bOy@f>B**=+ydP+SI#_n*F>f^7I6kKdUluS=MmL$@QtrWI7)&`|AM?PYQDEmnEkP zgYR`&t~Oj`pphP(LO|oP5+A364yVPTR>htFOBnS5lxK7C{{&NdFI%y?;yQWwH*VXt zn>?>J$lt&2S{g(At?M4Nbo71DotSkehDG!XSZ!v@Zf5&PG%!G&OMGx!Uds5<g+ z&iw_1Pw}vJTV0MYaK9q_LfV|D~ozV}SwRC;C;yT0ahum7{PR)%FDRj&VrTrWvg#JJj z3HY+O_}XA?J#dj;#)6VUZbf-q_L?Wx_eKs2!5+9dUaPg=)1zfLJ*Gk_jbsJW?M~#x z1Vgh)#2teQ9TLGzC2`53!CfT|un8yroWYcpA;z&R04XH^(gJd7hTx z347yxLm5`#Zl0|V-;L)-J~)(+f0!lxkr}(%C!qc*h6YjhiYl9rOUYBLhuRBs7586I zZ9vb#dc+^Kc$L9r^DWuK%z67cr22DG$j}FK^LB$i-$O@q(VmwqP4&?c<;`;wLxcZB zMFd3rwuX2tCXRD_eL9a$KeC-a&)}Ej&vBs)AYBNv_Mzpwcq^lAvH#n^Y~?8YWb7rw zN0>FinJSK!6zBC&>&RB|3mVki#&aToY%`ea?-%mM;eNX~xiqeEEc zOS1PPFsoNNqeAi80o10qDk%~Ramlf+dJ#!Dcf#hQ!_l`ixQ!vXy*fH zTahz{rDuSB+BsQEHE{UpZvsp~S0HZUFZreWf-EI?md*($NjOfQ7oCP-`Qs`Vx({{b zN_I_luNM{a2G2ftfocFIT6)ulSFI`ej{3uN&VK)SsfPnD28LPxs8B^f?wT5Q+ zmze$ot)XvY;+WShTQ@a1u05d&^j0bibDAgs!;|#!!3UDiU}qLX0_*^6RdjvBjJ=>I zSQ1=(`MQ8#1q$uQm@CT6&T^p_m6ZIo@TgNnrz?sQUW) zOM*(+E7fl{e;nxSzr?i7fv3fnwnTf(Hm3eqKM>6LXz(?Jd#d0yfGv)&^4^F_(5*`X z?_I8bn}20rG2d<0)pvBhWm8_dl}@gAYc4Fv6uJ2kagouJsK9eg7*p;a_Tji=rr2w^~edNtJSJUgz&RDdNaQ3zt@tu#TU}%)td{<{M zabI)(oMyTGJ&55l+9c5GGHx%i$dkyR1x9eRn>4_;^`_oif*zxR#O0xu06#={-GkLEBAB5`F{#d>S z0pT<(XMaQsiUaIPq@}LBcT#>%@tB~=TV~o&7c%Szb2RRo9BT`~byPLVI-N@+8#{>O zUmJ%UL5_HqPq;k!e*vT>7Jdw$&mUX73Piwo?%UUwmvWqerwvSl0SP0-45+REzg;WD z1T^td=H!LN>NbLcaBoBH(oV=$Rh+C?1-kYpi>;w2s7`)3+Bkt|2v^^gcNd zNqtOLp6@XDln}YGZ>NxcBWG0%*wa7#rQ8R&No3zz+IE8zR<4VSSMt}Ni8`3RI?_jg z6DxYDtq8Fe4K>?82;B|xR5r&B>uaY~wB$@wPRF&NuP%TRoZ~K{IXmlLip|rYnCw%~UK^r(8-K{CwZ+QSVeY5-)*byAFSd zX-lO#W}E7h=sv&>a79*zJP5yKw%KokxE&ywPJ2&}8ci!drBIW^_-urkliuk3sX;BhIOp7(l5w=;FkEh7^{NTn)!JdEF* z70#8V!=+iI#2!9&8dLL~c(Pw{Fi%>_%+AS_n&=7S z5DFDKFTD7|;)S|y5OWQ}1x<~+yzr$jbnn-(K&7#eH%zX4Kd9SE^LG&k7v0Ad4D00o zJ&7jzDpIiFnkv?L{jAf(w-qO-cN$%e{^PDAC^RsBxM%O=FRrL{Fh#~^ztK;SDO1Hf zq|8?yCsF(1jMmt0^oYPz)>DG?cHa_>Oe@dtqL#6cW_Rqaet<+9>tshEWu}G@kEF_< z=E!r9Ay<>W+fRft|C0N8zmO^IsS54a>6i4O_h?O7S-dB6em9qPlw{u- zsD}^sIVLC)oj2f?B(y(f2`gS3|6oi--pQU4^2o4F-ry;*efa{#wT1c*F^gL#vElbZ zzsK@J0T-Un6f7GWT&bU+Q&gsJrk~a#Qno(}$Jith6#dxJ zT<6DB7VEacO8+apF(qK`FnqGiT%0?qvp>x@R0 z9wP5uc90|7lD1sKwRR)E?A?p+v&>*i?^51$1YJ^ol_bYGx^WXZK`)`sy+j=`n?`)a zIs(@gM&FtOA8j0+4u9DA^dupFsG)}WMX7u8>4s%|Po)XKet5m7H{~QV;U~AiGzcz# zRC;&Vo`Yb*;Vll~XP|vP(SGllzApH8c^~o4se?^gc)cjt2#y$dxjCU*`st&3`m;_F zzkGz6i^9h7l!n{o2lrFQVkPe8%Y0PRz)8jlY^l{`LLMM)({gfa&hISzgIjk@J2+D@ zz9-MW+^mb_ba6T`FN$TJO^kcE7WJ;s7EYw8E*;KXxxa@d_yC7EZ~tmJo$9<-kLS^BorR; zI;pvf<3R_N=aj;$`A^yIpHJ3O4)&u&at17pM+%$YL-dlw@C`c_uXiMt9QK&!&(7hr zh5izZaQ3ggqYO*@=SCw@OY9yi)o11w65%4x?H*YLAGi>zMyO$+dAcrtha8VKHx$f{ zs`@VOJ@OZF(wc07VwmYYskTj5yTaW98Nn~-KoZx%?jXNH2zLc|lOwK#wSwa`$gLM^ zyE)uF<+e3&rU=x8X-ho5y#@wASJ6mySx3{*X5mD zuviH~+LU4J82`USzWGZZrPLQ(MHSBTsV^DpOc{rsv@weRB7ej?8{`y(OG;`vee`PZ ztE%Zo`A%iNBg)Vsm8wA>cciF{3J2^Zd3f{9)CxZN|-dd~qja-{(l2+2wGVIs{1wYkHD!>oiq5ZCD<**Cn zBDNo^NZE$Pa10OV*SxrcwGVC=+gY4JNq%#PTA*`)k zCP81tTg&a6KfG$!erj62ZTv3bvu5yzbXtNuc}EI0Q0Sin`tLs@oZq#b$zPH zGJa6}tgnq*Sk(-1Ww6{?N}=Wxl^FS83hd)d){37TU;---g7NIqxU#Iu6uY1;h_m zPxhQ1dnM;3Oj#K~o)vN>ZXa*#BKaozgq~%sM$Bd*(7EU9kx5y;*_L5bf3bTQR``)% z|5H{zFt({&q+&Whq4Mji{H#>;X3Qh#}YH3!mM!mnvY#m{&9}meDJ+?S0qsYCP zryMHjE)nC1K9BC1myYMAuZ0&v%zx~0AcfEs>j-wuG%8gdNVGv?-s-LFa57s=!=yZ! zUd#Y3W`Fq0Astmw@RYPE4f^ui=%&PkyyK<}2a+>ZGgXnWVK#GG50o`m+UNSiMpB6R zjc$?QgEF_xvS2;>IAfK8z_2#fHN59m*W?gCxc>QOO~J75lu}Gt0s0v`x-V}&`Mh!O zY2pUvoAKk-wVUy04Ff0F0&o^k%p)(*Go#|d6~NOPEm=c&21tTl`OFP{Ywg)jPQQI^ z-kcTiiODFvCO!P_8CVe(1cZA$5ad9Mu!DRR9{e6)%%{feM`;AiC_>pGey2S*qB(Kl4 zPtO(c4Q`J=CYrffdzUTlgQJBrv*yKFMH?YYcK9=eVAi~t17Gqnh2ga!^DCJVcR<6)df)&Y$&?0u85N5?Vz}UJPQ8R5NXeBdf335>c=3TR?2Zj00rCPT3H4T8#r=7n{J0`5{ASHhYy~M~;$xI8Nw);-qn32a47sEm z?Kj=z5VhI&-pJ?s67;KQl;Ce*WLx$`AvQFtt7-jhIHWdcx8%40Fe}LJ26*DEvDy8R zqQ5tUc6dJw^=a(yNqQEofbNXT^bZwH`(Af6^hkDzy4h29w)`)*Pv>@(>afQ~N09+0 zkdkt?%d?vF-*CYTxa=NqotVoZ-e8z-AQqo}449r}RR?HMqkY;n8U&WwiEcOy=&}4@ zmYbzxEg||6@2r$z$AHLzhxq1e)a23gl3w(;L&e^a5w=g5|2QwBXO%=B)yckz<6)JK z2|1YziL<4nldbrrO+t!9`g5_r3qHdOpy%)*Q1W2kH+8L~R`Y$Fcwy@dyVHFp#jD4e zR%-v!?5W(&Z>k+4TsLzyiR{6m-^z)i@>Dwmg5Q=?EV(*zr4hcY2k7*SJoRovEVnYFlh=2v+k#bNgS50RBB|8K1l*J>g3bZ(o zuKnhRaHf$}?ChxRTMW;Y*ISa?WmeDCY|T;4SC#a1h!5VK59f1b3Dny1w;M|aZDV2x ziJt`UUAW}&)isbjvGdx!weeLbIuCUfq@XVLlC}6fF%e@)K`bSE#OLCqFDnpo%X`XH z55rxv*}4u9``(BsS0jnqE@RGs`UrX`y=m=S)q!eE)Pv8KJ;%?=CjK71P|G=g!>cSP zbhytZ5XLN$<&b~*R^g`7G*T-R8Jl(gP!T=GcfLBTIT)mnfD*}y7W$dNg+6gJHFS>e z^5KKcG30QGPdSXYwe~Z58Emj%>WjheIiH!P8@FUg2U6gy%Jj@LLFv+G*w`fBQ=s^a9b{)RY40%9&X79{H@ zOD_V7gB7Rkl1$+j_IW6k3;qSyyxnVr$3bjOz6o ztNvkWUv3J|;Q~PBoWpph9Su6m>g&{!QOag2SmL_Ot>78|rG6*z*Mi zJS0Ud?7$Yl4sT+>!oRmU>5=DZu?Dh{kCTSxGldw(L(Gc95S#=9qC#hvk>pZb66w2{ z2|2@)Qdb;%Jz-&NCN-wvptTmR<=IcH1!N*AWEunnUI2&_r4FyC1kyQa!`ddYQl!$%qOQ{Bvq4iI6m8@zT@Z&Qh>ed+urVlt ziQT#rUl6($soTL)emuaL53^AzCNo%B#!=+R6g8(x?-<)`jpv-*K@}5guBBHLAIl;nfbKsn{kCo4udQJK z(QE}a8C>^O@Ym%hjB?@hb9^>Dc>~jW?I%~_b;X20aD9c90d7g82T%n^uT$?%Ow_8HfVJ6Fx(K8FrK_@d}(1o zvwrIQX5;%ZGF(MeKl2kBX1VPUKY5uZXN!>~J0yo*$71Q%l+!NB=f@j3jS6elAo{hR zjHvHX2qc>ps>AMSKJaVQ=U^$1E{;IUXDf}f?pjvY?hxc$hj>KF@g}skm7^l_Uj%(j z%!hZAI1tVu-4GCdUlafj#b0%y9&E=IJR~8%d#;JIyy!G8N)Vyy_$gN7Q?_x$*#2km zarnBE(dYi69W`;MaYk|$bJcT?K{>Xa0nJc|o=mY2qq~Rd`bL+Fr<>8`Z*HyRPvC9i z#k1vOv5uST;QfZu@G64l79#Jz29l)l+I9ADT-FaBT5nn&YpAr(3F&P*L;3cREo$)o z)T`byhR4=5#UYexKYN&)zmvhXOf2rgMDX-wbUM87MKUE=o%LDcIn~gy8jtwPb`tdy zzxy&3Z8u@}YJM45{292v!~H%WE+3=!U8dVTUFwrgW{ko~Yl)yxC;eQq!)A#WjYv-@ zrw69JZEDFAOz}=v%{Y(=C*D~^tU1hIWgjG_i*r`EgDF@-~a#;i*p$7jan zG;`JM*pFL8b5qRh0ZX!e6mE9?>MmBJU+9E$?rYe>3yAa4t7(g%(USn z{@>seWMZeC1?59e%`|Hu{~ZX=G<7aAz!E zq57o1)4s2mx6aKiuqaDjJD+E_GuS6b_xR#_^PAzo0sgstzh8bj)(f?>ge^mHag$Q+ zMbeHT(mQzl=fpzN2Uj1Nx6*0lskL6j;RN$NFY{kde}ilCfqL13@<)TY-@)Hwuj!VQ z^_g=Wsi_2(zG4Ugz{l5RL|k!mGwzhXJ@X{Mz z;hw1Ovgfu6@ffn*zb;KOy(sf{F)YX}XNDR*&)`fH4l|2f04V$j^*gaEf8Rx11Dswc zO;2KnPH02V4M}@s>=!)vHbTAGm>aB3_2+Ge*50=d#vnD;iGrnGX8(uG_Ayts{%H0N z%a+KQvZrJFD!^^^DSpOMtq8X*P)bV_9xTea#^x;w{NpA{to2EY?kRKNnQR$|)kL!4BCfT^3m+ws2qHLUi{OtT!kh+lFp zdzCC^-h3P`slE0$CPU!s7#|`$Hs;3fjjb}X3Q|fC9iY%@k~Hi^tM9tZWh2E_X0JW% zB}5_YN`EHKH{VM5nn5Wl=6>4>f;v|4!j>yr%^0hnyfd$rujwH3a&rLrUU~u7RG9~l z0RAZfpIxbDT?+pCS%=iO(Khg2I)I4XLj9>iZ!Vant|U$s>aGUSPRmx%U+KYqXgsk3 zU@qK)n8Gb%YlV-!AEeUB00(Ysu41GW8{=;lwZ#s1bK2D@@m>fsr%62FpzCV)SA0NG z8kOEpqx1G5$X>;*-1ccz8|9iYd1@QH+|p?6)&c(_B$%CnyrRoc!pG|bLh=6an?^S$ zH(x;eb=6w?n~(M~GaX0><&V>}u2nBkP%V9z?46S4|68$lB}JE4)NaMXLu(QdLZt$3 zAN)-(Fd!=Zs`5UVRoA6h{XA`2-WzwVJfBzDF-6>j#S7@a79k_S2Pk^;|A(r#j%)J$ zzkn5`8>CA`y1PN8RFITzCf(9Cq?@Tomw=Si=XzWbJ$)DbD0yeGN@9eSzWwjghUgW}i%Q zG3!k`q3^CklS^!dEAh)KAer!0xcAm6bN+;FJg}Xpz`H9>P_oL$?dx*R1Qa1kR z?3TxE$M+aj&64xT{W5QXw!qo|yBK&PlcS#*atDh{7y9{S7a9S1fSmwWGFVt4GHcQw z4(B@=Q(0K7X5z{hmLGD$b!K|=|A$17_qMjVG=s8ol!;0|8#-MLq1#n@_;-eG-D@rt z=mMz$6ueRVe8j+k(%DBwH0$HoQM9x)S^TsmcaAvkgLVLaX-gS?o6li?eiTl9Js*YESrdYKmM1ph!7iZBdfz$srQ7>gB0d$&1EpXV>D2WFAC0Z3EeE8Ke*3~y&iCc%msLmk(242=*lSNU zGI*{?LJ}YDLJ)${G-%5H*}rQoxd1#wtJ7oPAGR`EbiJ#dSIWaI-U8X5zClv!b#c~ zWTj@6wDGC{d-Xsl=GfoVFBo+2+h5C6juO=+N(uu_shgJ;F&|}Ar&ZI}$$Lt%gLuCt z562uCMW*Ej<4nlj5m9$ElAH@MpwDD}Kks^kO+_hquD!}fFbzO>U@T9Lc#aDDxRk|&KD))HRN9xl>JDpL+d+TrNEL{`oihU~_PkCMmU>2A zSPH*Le%fSI5h<1VoR;z8{9dxJ%BLm#>^f+t-(}DSS<}bF?%TdHR9hWrj@-rj6GTWz zSek4zAa4@=7|JHt7uLG7!>&|FK8Ihvcwi3JJ|jzGppvHvhI6{qKH+zwFweu~%EE5# zBQVhB{~<+E|4Pv@Ova|^kBbAruWw&oeJ>VpS<*Oo_WA{CG5ur7+g)0n*>`nec^qRc z9RCR2ic-0U-l{B(&r^UdP4QWXU1JQ}t$|mX)U!CqgP&uqzFwzd6WdMtwjK=iZDmDFEQg?*gz2fd>fw_=L!!sJ7zAFP6V- zIhAhOX5pyhGAf`mCYM|ZXz<-!n}+^uooW`e5E7lIH|yB9CI znCP4_waKIsPfng6*|Hb2`5K|Wd+N9uOdEbEtg)PUEDE|5_IaYvn2;Xd20RW9dO$ec zkV&wS8J^>%BL1CIBxF~-)TGoeRQZ^sKS>H(W5n|j+S+eB4wlxmxSf5Zk$AM0U`%Zl z$YH&Ic3&)il%^ByHHnD_qeZbNuYqFp`3)~1LvWLp!Z5_2FalpNId8z{}J*S zBb*@62Of7R$!(eeEbtDQEpAxmnzuJgZKu*Bo{*Mj`%{*C@3Ko?;>LZ_?nLTS1B_6SejFqLJJ^+19?qj{f4yGC1&a4td_}D4~w_ zn)X1o%1olmq^vl)yR}vk@VDwIxdoOit#X0+g)K6^( z3uOlaUzzzo2YdECBEb6pAS2Oxe~Go4UiY@+Qq>Zti2-Hj<;H@RZ)|!mG2rUFdr(w9 z-I5;kr^Q6?)$S4lkW6|VkV-Pq^yk9LZbP^H! z?nBkReCL-=n%Eq*ldEzktz}xBiTbzsIJ2Ei6qr#5whZ1s#VE z?*}yWbhXFQ_}&~Xy*A-xBJ+VQN;J+$U2L`U>>BO{nFYRRQYJP;SzBBVK(gK-QNl#k zgBAC~dA5eV$`Ih}=XgO-`Krw0qwyXZccd@zW6Plu#2~24aP`5rSDw!I-je@3;Bm$E zdI|W8NSlOs=WXa+gCS~v;<&PUHNJ>rOL+;#V zJf=S5C;7|98yb6J%MhkJoGOKP2bGfV)PQ@r7TpE{GY4FvV&eJ5JBk>Umf^d5#FnIm znOyaHn{Ra-4;TL%|7$IRZBA}(eP)tX*J_G8HVUro7w+&XYRw@9_vAS19;_XQ0(!p|Ia1VaJv^=Lxc6 zJ-%j6k@M%Il*rB#o%e*}3}WPVq&Z&+2h|7vy$AFR;=a7~oopErPZD}P%iEW%DO=WC z;Csc#6*g{R@ue)xV~%qJKgy7`vAxCcsOf5q&mMD?9b56oqaVv+RsL(Ew_?sha@BLy z;={uc@VP7_cD9+5Jyg8j;^vaKpNmk5Q3M;$C>q5980QEaZnW(wB zG-ufBZPdJ)luE&|kItRLxOK}-@wW16^8Mfo(NZI8;44sJe1&ov& zc4e#9!hNdR>agnM7vgc73SYZb^+e^EMY(6Q&7}jki4CtJrP6h5VjcymhSx1TZo`~h ziUD7w7E&uO#`^2O-*Hmr*rdyP(hJ{o>C*Y!-u6>!GU|~L-Lwa5;OvjB$oJNCqxzjs zKxXH)1D&Da9KZLXZ}Syr_q?_2c6CNDgNZiQX#>EDc{nafVqzlqvAhbd+rLSM`A=AV zUwHqXLsOo|g@?;rd11AtDv=3^dOiIH)@Do@8u=MMFQ(XRm;bHN!*Y`)9*YYqCIZHr zB&ye3Qn^c5EnY#MypqVG+6mtRZ0_xAy^1iDje7QQ@>NN4lhZfr$y35dxP3QyeOAc1 z4mXSZU+&M@nHo2W{?lhv2?X4PW=Nl1AG2UM)d}QXPR#Mn!m&@Kl;u!;e_24q&CEXk z=H16T(tuRzcH~fUF#=^wu5tGXio^J%1y~CSQ*3vu?Y1S_a-#j0rL3ftP(De2q5Y~^{Ki@bc!2e%0qy&oL81D1jiJQuAF?@v;_vCJ z**?h``K7C~=dU~~x1pHA^h!*F9_*bu0_?3zJW@`uV(6#d6nf~ge~ySd)9mqQOEwi~ zbWPW(qL)uSY+`lmRZ?$v=dU`_{VM*9En{cW556t>;_HB$vks*fRoVlK=}ejl&aE?V za{xEH2Iu1oI?{BUC^5tKI4VnX^}DU3^p%CZ>Q?*(3yp=+rKIk!HyE3k>#*wkYRXI> z_4|D+b-AegZtWUOcjiv4@vV~SOvyIQpC>t4Sydf41_>Ut);&ZJe-=QN#<6mHg=+Wl2gM!fVY)C#CC(-N z1^%q~*>=*3JRM;tkg|cn;8$j6;FI^gL7#tGOt-~FE@xxY0qqhBKVq~}R+OG)K zjy3=-7}8DDAd!+nY~-YZVmU90$R}@Mh;|g=*{*as4p$$^&N7(B6N!g8Uur0|B|~qq z5O>I;()cBz(?2X5w+5GUnJE7|0^4WP!A<+*vS+6hvS)p6o8spk55lguJ91ZxlulZZ z)!x{RW{63-cKO-~Uyr}R*_3P29etI;n{42--ubPg^6_G=%@u6E)|#XBim% zWqG73n1NJ`^MxgtwKTVqhK8EEPz0_aPXilFR5o&;Gu7ZIDuYzz$fO8RQSQUE_MzWx^{RsvCc+o~ZqkjGoj*K#)w*GtUSoiPoD{_@U)i#2}Ptk?N9z3aT zl?JzSZe~eosl0u0R6NJbOu8I3RqY}q(PuFyQk1<$Lps|{}1G3ND5&fpp53gETN;U}0A@c^3ic}@hd#WI?yTm4-b@$nX8TQ+*Lm|jv>IvorH~V5u`=3T z+m2<*;zyzft!3Z5kN%8jeQth-fW{cygNY6T^HjhxP-O0(j z4h(K;B`Dz!TFw>cEEhIP?iFX?*#(*Z-9c@4E9Wp}&25hxcn{c?WY?%r;ywKt`G!Bf z@^S6@-TeGl3WR@$JSKwJK9ktrzr``{z9PHEWc_5owQq&pWVg`GI@9cW>BnTY^a_yX zP>NZ}`VEwkx;a?m)ghN*g>>X^awub>iW-6bQfjf}JrRZl%GgTME`0L@JDL^SKsw4^ zjdE$1b~+QgbtLJXFhPiweCD#rluF|Ap0`1EE7;QQIo&QgDJq8rfxy5O`_u4}>i0rs zEg-o#vV(G&g#1GIbHRMymK?d1sX(c5b46N?4W>*$@nHc2*mA8N!JY}CaIC^jfOYvk z-JE?Xa{r-S_mUNez_^X>CEsm*L*$CUB9< z)s8@ki=*K!n6^T8>3jx|T5?^E0LyXy3T)_=R~6~?wod7SiEgZ+1`;_JZwIIkUa1ep=ewd#)$;t4? z6D6(i`yIdPw~yb)=eBl++@MitW~OY*3HsB=bO}T3`Fou@)%?qF)m?-HBiYTb3FpDv z1KDNGs4hhB;U5HL-u}|MoLbIp|Dc|sqY^1?&Sh@!tEw&#qC<@*!1VUuq%fq*+~@?q zBA_vvXW(h-y=_fxCZM{L`EtF9Or-X}ZKChr^*TfVk(*z^hI4--nY(XAZZ{^PmT*_@ z_mCyn(sZB+m$zz7IMA4H$hu}i->e<9At$!igB0$A8(Te3b{_cktQ$fBPaH3FlGbG1 zYw~llz(Xs&uf%7$^Re3M_gtymEol#Z0N@c8(^^Dur!Px0WnI)|^X1M1-sOZHkILf; z(|W_zk{su?uSe*PCe40yNKQQYYNvRz$4u}g?8fnCJU#WPhLn$dfHtbLlq%AKXlcCEl}%AO{ypgLkD-<_XPcesuOSg?*2WFven{5SheFV~>!1U6SM-CkBnYFp2^Vld3^8(!qB-yVEDb2V@|rNuXQSIAs? z%?J6kK_>Pb1j~KcK{-Ow1y(>T=iHAfx(Dn$gC1q+U%1Yp`v23$AEj1EERU&$d_`KM ztXg=s`Ewv14CtMv4G$t1O;FadS#t<47M`pw5kz54F)(bH=6^?|gi#cH+;R{VM-E}( zbU}mIaZ%z4W24v<4 z_p?dUdZ?eq$Hxh}9vW^7r^7+li+Bpv0=&GR^l=U@LO!w5a71-5wM{~&!vv*&iM9S} zkouNnyy3l9N^2am+2^S(&s&r`2ck2HJ)wlaJPmTAx!9;Anr&TmDV{HF)l z_x0>V^BenqO-ZywbLy(MivMDi;g%3UBLi{m>N$eHN|t*rxb$V~7fPgGa_53nBEPd_ z)*h*UsHLDH$H}y0Be}!+-Tuv($pkDmEfuiZ*vc=_oly5kPeeX`Wa8-bU0QxHYT599 zjk*5mvUbynOZz!6EtDq2h>k#wM=O)=5V8-py>^@xjUXp%vYcph+d8Vu2poysvKlzf z-pYI~9^{Q0lVHIdV0baBP0ldhoEDa`N z@893w85#jM%@XfOIdbB*XbjW`D&F2x4}OA=^*w6*mHfe|lz4{I4cEJuzPE?W*%`=Q z*_R>MxzAl`M9LpJqAfst{96Qj9{aSWd>S*Jt9o)$A2qM_lsb)4Y9P|S@QsqWYwmDf z<*A=Nnc(4xonQ51w%etJxtx_Z1D2_)G??JO^RLDSffykG?6NG5nu*;^BfY0K2-=x( z{Q4IhIX0iV#&Tp_L5->g zuKNV?ElfaCx`GeI4xIXMsi>Q|>WzlW1M+cTZHAc-NVaam!1+MU?{Ew>okVop;h7zD z7RYgHx&W91#Mk80q&WI?{<>{eILLxkxAuW26=yrn1h+P$=s`8_=)8|SR$o2=a5;pbDN z66Kq=5-^{%Cza)(r^G|QW(=bt!tj*Op&KqNscU@swv6z zZFGrz)v9HkrWj?@;@kn<-G}({-0mIMAkdonu9G`d&Lw;Y+&kj^OHKqP1*4pcd~3Qu z{_z#rM|!~6XPxNq!C!FDek(Ia^5Vmd%&5W$`j>n6!S?&1rxf{q65)20<-jPnJ9ZOx zMQFLlOvif9%J@*lC@>=kujBCu%N0AbSx8t(6nijn*FAz)EY!#FF6$vGZ}rYk;`>Cu z3@{N{_u6Hkqxoo)8Iq#RzIvfx8jb9*SFr_a4))$6`VTjEP7d%R3cSups`seV9BTvd zfmaW5*z?PuXYN*fa|CjKjmaa$;yV*=Z*)K@ zC#$%rJa1;c>I4u2&t?vY-(Y`_(djs^g5kLYQeUFWuoOD&aNHw2gDQTG-je`>P@n&0 zK$hxAf{>NyYdODn_;&&B*_TxvH|*#u8Bd{FPhZ%IBC6LZmr|4;68vzf?JP;&bg#V< z7)0E8Sx6Jm;0RC%d4aHVlFPW6X(60y@tmy5YAdulFKoW-Swk}2UR(4{7;QiyEt<2k z@orUl3DI4G#S6%B@@gh5L(~Xz%PxfJScb;mB8aT3bJ*UqN#Tumpk8IBdVfyWeJ91s z=U|G<)eExL#rrHTjs_8tZ>r0PBA4K`xePBa=Bir+q3!P>k9r15H-9qUj}y=#M63DW zwTN|w`SJk~MEl-DapBGv)z&4H=TIHMtmt-h@!I`gphCn^d}nkZ%>omZ0Rn90(9xt}JZz z$v5V0LALqrg9Q*LD}j_X$DwWR9{JbW-{9WcCbq;||Tj zWDr2d4G3p2X7=dv9!nxotUBZ7o}pab4N&C-L}ybppG%XB_P$$yt%=ap2SVD5mmk~( z9Brr5?d<2hM;zP8D*L7%I&ndl;%ib>J|L+JpXfa#+IOz<5+!llrU}@5^~cUOVLn{x z*W(5m3Crt|_?jpSqTQa?33DK~_PN5<(X)lcqn*BnbZ^oIx9D@a;QDB}JzrDB?e#!~ zDwgF1ztGdp2l9>bj;7`Rnd2(5V<$#(NMJ@H3Z6+bP&SdgKe?Y6Kq+m%-T`yRjtMUq zMfbC>mA&RU!QS$D3xpp~|lwh#qt8t1@ed8Kk&cWqBwbX7-w?R>W=!yd}x`a{Ws@S5?iO-4UyvyC_e`?-;oFo zLh4f+BJ-MM3zCi=`m9bbai@hUJu5-F3i-c3v$C1N54S&lP=Kogs2?>p*1ug)737$r?@Vbl_<@fl~f--y!F~9EY;odY>^;GUss&a zYkw+v7U$L64|!d)nHBcQISmsoO%nq7uAF^3|#P$m3$uKpxkQ z$iBCubP!?zk*}BIzb0c+$64svIK@PNt=6Pkt^DmAU-Q@~8{C#yty=rgdPi8Nl_7;J znh|`UhPf1Brx|3evq`sMc1Ulxr~O~-}2p<=V*Q zz3_y%Me;em%_dKlnKH-Mm_+RC*yCa=O47?s!l+${ADBkwvazr5T6@|y{-ZP4m zr`Dp>j&71)pS8W5cVHRUO>seJhCaZ8t{$t4k}Ha42s-98meNScFF`#mPyE_9n&jKw z7Qd+JTjN_Jw6G21&r%}Jy%~48nh#e4TZMcb|7fcqZ87y|f6XK;Z`G3`B4l(B1CAE_ z5TEmddeytTMZnqPS2d48>%q94cUjxeeu(Dw7k{5Xtk^;03Zoza*IOSXRwe@8S^gO5 zzvfVi8K+L$>U3L)x}~mu!^h;?>zb-5hJUyovE6k;-RbcX^9KJDiC6|sGjVctBUf!0 zRbOgF6ML=r20dVlW^atFfzRZFU>CQ?y@B3%U>mABlE1B&0aW)w7_yb!F}GK)DVR_p z(EG_gmKl8Qpuk%mxB8xFU0Sl<7=_tgrmu zCq=C+?pce^R`lyCpoI~;idT?V^9pe?t}T~f&%9m1st1?#q63zK*7Uu=Y5ybrg@P9! z*0T?tn*61hJ8l^`-o1YER2&g?!mZ<$dM8eo`Zy!JVKp-3$p8je-LF3xvre817bc<> zr~+K7MHn@&A@R#ImAQXRJ+GEgv>Knw@FG z`e*Ey=h(WGt6SIg2r*s}2~B#ow5a7?NYIm}JJlW9Q6CT}zixHk?5ihQbR&{wEnHOu zE;nPr*4$Ba|1Sx-85z#8Rm|$65UH9**F}NBNEObWzxcXBx2Z^&Z`Yl??d2v#AOx9vbM>6<0Wv;T(wEb*7i^Dg=+Q^?KDSei!`wePYYSL zjP~0~qsP<}Qt$Kd#R#!)4}vxE0mE*8|lQryRJhG?7-iDSsOb z{h!|vBblqW8VHl7kBtpd+A(iId!iztoMeQLt}!qfXj`awmn;9BCBw z((^{>{dx^3Vh;32bG(mOV(lwKr#m0NLR&W&LF4phYadF6DW>ezSwf1^AR@G`(bP^>KImEmaGFP8m^Zw3lMWyv;#VY2?CYK`{`41>RG7vm@nh11PeYuGZ1 zi`TMP5cN__w=-Q1Taqi@+T?G)a~7OD7mdfsgW&Rb?;i$s@m4?L-@iKloC*ACLS9$A znPjw4e;iKBpXI6E_v1@xXqZsC5E{QSA#Aw#)%H``b?=a~UNU`fO z7ZDe~qGvE+9?`4PY)$mFON!5PDa!TZT@b6$Jxt|bfF{wv%4jp_RdP|d)iu&j%7*uW z&BuBXP@P|VaIhk?%G)I=sl`MRVw=An!_!N7;3IKp^+TQ^SF+x-otsCQ$Ug+sG%rN)5)mz3_se=6A{**!=DK?Qb z7aKZ8^O<`PZK&ftR-hiTr)RdG}4mDij(JE z9)AnE@KUNhgQP`5KWoqD3FJb@(7FHfu!RYdede7jpjHD0HQUGrnq!Y=NwJ`+bN^I$ zvWY7s3EUm`H(OA}IQVY*u4fXs!M+6DGJvd`==kuS#4{x$udq8sM5;-7pyof-(-U~) zyB>LRfc1KDcpt`@{LbpX_zL`I*=Erk?}u+QH<`(~H7+~HaBP8%MO0oA876=8->U2n zLHAe#^%<_DM2m!2KBMB#T|o?;jHKqZpOK7>H5F#GaH}H}Vp&J1KnS z8T9%?v{~Itr9Gzl^~roHT4SMS#Kehy@EmVw``s_@a4VrP)$LwF0nvq|9F%if-+`}U z%WINI?JZ4f#2IfaUZD5O{jMql&<%o# zCaxX$@N5xg*Ct9Amp4IRAfs2#jiUkB)LR-;tdY@z^tJ zdF_WW*2XK_mZWbh*op1%H#4Tl&i(Z)$=FNBjEkU;sCch`4J1g)CmFgGpk#GcX%rd? z+78w=CV+A~Js_M$u!pKuFf8LQ=9l!d|Cij37i@-pnE4Za{4p&f?f!ldJItQEN!AsKp~hPF*l#8Z&XYxnkKYwQ;C;aFXyv`yWQU~1?qn_ zf*@so$LY+A8Sjf16So(g3U0co=CihnuW4hIcG*8un%5VleOWBn`1V3^*Y<3)n2U<@ zyl84=DFI!8&$Ti`@85gB$@wBF!ElbNYe@#$fhM?QMW zPVf9S=Z5nsmdh1nU$1nrW;H=7Ho}=RFNm6;xoeg{%X`g`h(VaKupDBUKtKg%s!#@8 zs7>U{*}EqWT)kKkTH0XxLOm|^5Jdk;WAGaOaX@)yTtzvFOH!l3a`neTO$pqjt`NR~ zqM>FOzJW6HKFm0ZdLrqTqH&rsn%HprMkt{5+m?CB&#W-|7mL}iLHYSG?ra5H+To}~ z@dJ(g-l*_4hPr+LcDm0hjS!p?u4^^{f$9j9I%rGA?@Eq~ZRyb-btA^SV`#HJdWj+k z3xm+_u3Ao$WIt)NKcdl)$AzmG2N#=1pvvPnMcopiNfO|zRo=OjCJMMZ?KIb6_*nd@ z5Zo7`;JqJ7tMGIGv#ZK74%*+y1>RkMb86x-#%AO#>-LO5825Ew-)8c7&%be(XK`VE zzIJsjIrhE)=)cXsn>R+;w89ry*&#_a6SEF8?iVq#(D3t8O?Y>6#8IhP8=sTlhrF!d zbU%He!|dq7N30V=!+`zkQvN+z>H79tf>h*?bodhwB%=r<@Mupp#yrMz7pN;%f35A0 zh?HEHh3g8);`Ut^Z}hkoJJ^>GEFJAEmUl8Xnah=z6A=`ix(s*lz^Vn2`Qt~*c%5yO zV`qJUmHJq%lF|O1n0%jjVt~S%h3N#qbSRVGx;S&*p>6QDoAaFpsLz$#56Z!erHNH{ zh}rOx8A&2wcx1#uRzLJRtBMwFY;W(|e>$rx{4{r0#VjYWuPzQ(u(MV%zK3W3XlAY; z@bKlGN5p2`sVOb-+7@~w)IeyD8j!QsO@2`OwkM!}|MCSL3F~`+K*F|X?#)R?uy&y>Tqx&He9b>x^7qnfhQej$ z#Ty>!k^6&N-S)4dv^XOk?#2r1F~jHoy=dRr1|2Oo*G`82zzcgqi< z+b)Gdw_(D~j4zzcYl}(MOnXnhM;{>Dnc)8(H;f?qP+9$-)7`^3+sW7O2c?cV#5XhA zLO_>eyZjV*Vu*pkriE^?a}nC)1LgJ;kl(?q_wWDp7TXco?V!H&$q>gM&5F1HNph5T z=<19m(&%OjZADVkvQrgKC@ys3WAiExD`vI7a{Pn%kblv_rW-=M!YB1&qL$|foc3lLsWm@O zF7qG{{9L~+QonOh^=45~$m_AHkI)7?hPd+&?Tg2x{m_2TcBa%%zEZkwemoOBO1bHA zEWJCImtK^U=TSQ+tdQ+b^ptjc_Sw4M6%}V~50@8-a$wo?Sw`Viu94!>Gpr^sGEgJNPXX0WtdZLI5)I!GU84ArG^Rp6}_}Zx1(fRqb$+T7w@o*$}%cUEKXR@2>ND>%Y?x9vnfh$E6P~<98AU;@XGbOP0szMeF-9aw!4CuTBXuxhl~- zbV^_^oSlz6x~Tr~UhA(2BzaygPU~mJ&@IuNk?#hRV!xk#^06WZ17MvXA7Bh-`rBYt zjYyz{56Sm=`b;GR5vECP3L)aCBOT`C&>(DP9XZQ)W=<1mEzYoxlivV}JS#|=E}j}Q zncTbQOBr?*5}_PitTm?`f9>5p$c-FH?vnLirL1CTW1Sb3S>Y#D`8O~{eejiaf_O}M zov4k9D{;c5AbynsUU>{c3w6uCMjt zmfq?bR*lVqW+XyvmSlOY@CfA69oMjE{Z8JQwURq){p;0;6V&D^@gS#Tg4vUB;sBVFR07c!&PoJXO>_K`Z2f~xFiL)Ms7VlPj>#ezpa@xd|T)d-IxDD zVIB1LMo8-|j5Z`GdXPo~YJa%pzGPK+bn=<;#E|GvUm|5zh8WGZE7FGiSoGt}s6^;P z99E)*Ju7b1hc^fJ;b$hbqE2=B%{^M(V6+*e*s0SR(5K^efBl7TT-V^PXJ1wx?By<9hRJWcy9hdUg8> zILl(pR(GQGiHkFxAc>*#&%yXa28C{(>drV!`e;E%<&)U{vd!Z<@fPyX&muaFPY-=~ z2!dQ+^}cwuoO$wK+bZbv`-yAQlSnpTwuC<|Q#@0{7{(LIG4B&Gn|!Urn`AYm?T+ix zOqO=+{_P#>Pe(|6Ad7OnBZ1&vUB%7@v8v|ytI;kP$;y;ddi05Htxy_YcUab#VC87c zSt2A`ePt{UGW(J>v&{e2W%k4?Yc71)!BZ%2##DxI?t1Vd^>ShJm~LL>aLH*@#_tb5 z1j{GZY2Ie-DV574n4r2^V&`oR8%*fHm_I~*M?*v|ufetZfCn^Zts+$X2b~~jm%W!; z?rdzg5|$+Zp=G^bg`Ln|Ur*$!U9Ws~s?Ln|NA19(1Xkl@Iy=c0#(x8}xROAFX5LX` zQ@W8OZsV=R1~yfk-@Tc?>&7~G!gX^JP^Inb1N%Qc^7`z;KoLo)l}^VR!M2E**xEWw zQePJJw4A$Cu@}AM)KqgY56Ok_+`sDVh&_=Kz?YOg;dFfDU{ogcZftow*{B*rU5gEVDK?xgQG7wbbB@t@^_FB6br!*;0)1;TeFk3cnwYY}xyt zHM{ck`(gN^qKrC@SFFh@fq}TjCMMsLVXChDgl84A-=}?h5nl%!^(aTou)3?b0E4?= zso;kk2~`T2=D3W^G>5a=MZ6BX#sm%w+aK3ISybWXGP1DX~!m$?I1ucbcS4&|bD5)McP^T?+TEmWzd$7XkkE zU#k4U=g9?9R9BWOs$E{R{RUYRxBmkLB5K*%|2dS~gwz#ag zVe7T8$PZAcd1`Xec)@=!L*lpwq!cT5vgz>07#f{OE2nWrF+nooByW(Q?UCydF1?T|<`#NF{Xsj(B30LE^jx4FDCr+7!4~MPbG0 z>T)xQ)Wh;YUX)on;->Wu)M~iW>hGPrM^(`t{=_Fy6_hE|Mt)t;)i8XdD?YpbXiA#QAg;6 zRs|>_u|m_16!i7;ufew$Q?)5uS2kC)ButLop?A1Hp#scmoF|(x!{1Bgorr?uyFTa| zG_lC|&SR<>jPP+5-G9vN39HeXzMS`Q230^(lN!>!T!q+kWfC+Aa%6bW8ax%aB*#zd zGw7ks<;-0Vw{6hfCcqL6|68Ly`(vJmmd3ZEqiyt+Wh$?x&8XF(f?sWr#)fNmPqt@n z(HHNdi7RD0Xv>{UCZ)#Gr^%fvbv-L4DiCJb2A3Bo%>S2slU4o2e6`Td+sk^}u}yYk zttNz+>~*x>su?u*?Q9UZNUeUJvK-eYdFR4S6mDN;k_2Ceh7Gc2zmo@n6xs@Iv%lDC zoLvf7jns?-Ap13&0wIIax}*M*(#DN7SK!X9Hw?;d3;Z9hJI;OJrjCJQ%Z7~sni7iQ zix^+)B(f;c{_sL3ceuhRQjcZ!JUE2ORQ0k#yYM1&4mxQXJ@)_&r%jvD4xd9#$z6c- zq72$T$vDnCOX7I^>oy#cSxmLnWc$y=ba%=9M7=QthRYH(X)2R_P}MeWDiaVz!cZlx zfZ*)g6pY04Hcyft@aq7?TuOp|Ge8`d=M#)PfgViI$pCy&D7Kcy7Ao~ zDRcsW6dF7qY^{5|lYg!8K-(BeyV{kN348bYG3V2ci+myck#LG~+jggZ))cR$u+J~c z)?Ow|UsdFn;m7Ct(U;$&rHS=*IQazzN~*KNHAk~Uwe9qJ9O_Cpidimv#@=@M>WWs0 z03E=0UB!d?hZapF`8UQ9g=6Sf%839!(>~HqOG`4}(%jHjuxOqHdX!-+aQk;ko_XB9 zjq_g*5=|0r_H59Qh&(o7;tQ9U?g5`qQVgDXcz3-799ubVs>Rb>qD}QL7~}HqU$fp{ zt>higtAWa0{wJ*9^}f~#b3$~mEP%#z?vxerPQGb-c8{2gslQ#$9gtfOd1HE?i$_om zxdWMoe~hgQ3^E{l1HpiHnWHo9;C9=N8Ib|4+2^K9epO=%wj>g~{dpp&Yn+NFg1Me`RnHX^Sc-~@ zz{^L&&E#!YHoo2H3TcYiu#SIVUk3J~3$at-RF$=#70C@w3z<%;qzquXcTr0dy<;?E zy#^5IM$M#uzI5@P9-foYn5I1D7mVcS|nN~bjRE8l(Zaog=}c!7uUiB zY~qiSLnw=J0aIo4#V^|tpIPs80@=z(x>dO#haz-1M^uhmM;PA{X99~h0VxI|%6p2( zWTvL$tMpJQ`Hm|_rQCc`kTTYl0J2+!m9R1IBQxv4HSn#rP%C{38?(JWgV=MSr#_fS z1ZTBSj&C&p2zQ|&q>oZlHZ+L@818&bTOt1rzL}l$q zV)@v8Gdg8aa0VME7|}MiE|3#g-R(C(4eFl6^v|hL$>Pw9eR=jF>Sw7(TH>HE3H8HN zcmLb2*N6ITwdtdP%+|`~N%JO}8Z8m)vga;#?|+^A3Ik=V`*^jiIIcioE%UF-t>zZt z1^`87_(>lrRq4uMx0}`}(AAAZB_Sgw?1iF3yV4UI!o*uIm|tm=?u+;3`1B?xf{85S z#~@7JPgw9R$;P%qM_kvvH}>>*fPcyR|KpB!^T--I&+Xdpt!S^YBaZ`D-Th7X{h0y> zEniqFuHx{9px>-q&e9Vh3fE?+WNd?AS?O}Kp_4M0(3gH7GP9N|AUtQK0R{rtlpv z8rEVAtT7+LnW6qLp~hMoxzs&zn8@aNP}zieRwn=;Iom2?BC8H2#rPmii-wfMTL{^USP*-j??Ad52ah0Td|5i z{s?8ei$?Dw`hklh=NwleDOx;)7Jw&DFMr;$MBbJmF1J}>-@-c6^28pUE1rM$7>wv; z!n#AM-t;~{{t5bdu@lEx6@Z#Oa2)oxG#W7?voOr<<*QYV?BL))Fp*o*(8GE6`hc%N zCr4NbSmKO?yxI@6A5A1lG6Bo%O%Ufg%2RAf48Z0WBirT?usm)l_0g4~4uDZDOjx?V z(6#vD!9O~Da6ziAu%w+ppi1!IyCE+TSscTxP7s`tKIy%YRe7m6Mjvjnz!ZvGz+B{` zDI(S@t-F!bnH}ck3iP)^GqQr8mkMddECsK*Ur#T>g*7T3*Aje9bbS=)6@n@=u~UU!U1|I-sI^>+vbK5knK?0`$HVVp_pvX^+w6kuBLs;$0~*d7 z{I~EIfZAm)a7Y?9^9!#UC3ln{Mi!w^2lEk|V%Qv8EVM;AQwC!Ua(Q5KJV|mlr|l$l zRAG8Cb2sX+WYTsx<4yspHjKI7;S+C~gWIE0hK9BVbm7MF(VE#rWi-z!j(NwJjU`ev z_hFAP$SfcdChoRTZ225esC?!M*;#>VO3d6v{b6OHh>eqYRCOlIkY1AXh#9O~!;~ua zu~*jv?@7GC4}^IJf*akIDA@vERK4x)S&*{U)P7FBc(DAf&i(J@Z0Yh^oYPB$|2O#; z#OYnCw>GJ7GiS*!@U8jXoMcITh?y4-Kuk0eLE3JQX{Zv|R&=sC-3=;xSSg8Yxxs_IyF%tMMp>iZ0?-FslE>lS(@l>ySMI8xBHd8bLsClFZbfAd zZSH?1lwYp4&dWS_ck=24%-9^<3R0>vaZ`9%pSI=s!FWq}@LM-b?YJYmgg_$xcg~_0 z{fID{gW}#KiwkBX5$Sf<^Mmb6@3gPXBK34J(B;+1mL-EQsM{D+{l}gC`nR$jp=K!D z`F&>ncBbIFq4pG+bj6hPhc}d*MJY@MAVC=Wq%;M^OeN-R&(``v{72F7IRh#Wf6uBc z8;)fqns>Q=s|fD|kB904I<76f{M6a8{8rKZVmA(E1+s}=RRzhoiLIxxY^5S59FKw{ zD85IP1`|pI$&6spTkTNSOL(jCB_kH6+6=m{BF}TXJuu`J{n#xnZ6OJ|+toZo%Uc%= z3QvuO`69edDIy`^VMb3hg=^o6IZM!u(w>kj)ySt4f)&o9oNo1VR_-B<0Q$;`Bk$F< z^DYBnBx(n&kZ5{84|Bx7lmx(Fug5a}q4bye)A><3Iph}4oWz*4crj{hUbe^i(!W!x z@|#%P;wY2!J^E1rq4!?8w%TXog1JV_x)%Q6q9U5F6Xo5{Z!DuGX{r&=)A>lV zNnIYb`y!!FN2(uuz6dXziv-&oB#h4eGKw_I#{xwu#6Slj#2z!SIYp3AE@*g#-dRJt zE>g3b@gMiI3OYSrqb|GBDAT}-=ss2O7Z)!lu^({k1uR^Av-@2hD9=#0Y!qO$qfe$k_6wl z{ja|K|GG0hApwfMQxzhdiG2;3ng@Dp61)gj)sc2!YZ8Z zdNEMZUh+F8@L`hSWW&kUCTw4pyZ3@59vvLu$%Wl<=;Ysf;zPMl8`~&0h<68 zK!IbC6;6y$p?3{Fft^Z2IDJx-($h)wijj5UL6SDCd&m@?y6a`CZc8C#1FLcCI@RJ* z6(^Ad7q&;>=B8oP!T)4VVE3Y&P$8Nf3D_YUVh(;N2)SJGK_8&4_{d|b13rVdTRZhc zeF|&^SpOnGZLBtFTPq!QDtmdSJ2-*VT5>QwCHM9lPD@YF?AGkS@1{4Oz^mp=Os;f& z{fRjSWJ(iP6^_969uA8#!O6O~cPT~hng)t=O}&IoJk)Xw!y+<(QHajMxWy_m-{@(N z2tw_dXUb@#j&{kZl4u>?(H5enXm6M8x(wPX(>j!ItIWPI>mAEGH%ypAKKB2y8@1hP zK%$I~xlp~+nSqUzi$8Hu?o$uKmh!)v_D}cWyZg=f(1wac!)wc@J*y${a}4w=(-vD6 zipQa(5i{owgXUBe&o2`}w#Gmdy?I6EBdRpjm$I_g=?YFhR55h{OoDdHHB5UWo#O1s zZPV~Ud2ykLfF!~JYZ1I}TpCAcPaUM6j&QntK-QiZ8d@+WmB%$^!E!?8Y{Ih`p+Osp zUK%;)pL>$mels~}#SD}Y3`=pciP%74ag0oxn4$B69bHMqgW%meo%Fes4WxWeuZVvU z)jvHB9*vMNT$?o*%ZHDRKDvvQ*4!QW;x$+|yXia0(wgom-6?iTcz&t25lDB6H9Wg* zL=-vQlK|4J+6xe}y%&5yjg?k+0o0xx9}|Edw}j%Z%q|XuO&Ur~TIM&Eo~)!4XhW0p zf-~9iGt!3!fS8pkab-011voNM+Jk$Sw4^aKibtQakZ02pt?|%CH42I&&%v5T0@emZ ztEx>6wCevw0`r8PkVo|}*gBkTT_RV!m5U1t)jNFI+xW^F;9J z;1Wn#f%Fwova{xe^-K=X`c}yPyU^3U)=#3&?b}roH(e9Ad2zt%R<5jyQ-p{h(RcFt zaYjc~8q;~mxW~}Gsa;^&cX^A|+OO;^lAi$O;2MJaJsFb;WQ5AsEOFxv!`scrU?EL# z`y5z!BIZZs=5>0bN!y)>ELzlTuK? ziILUN{d1xKEuTph#=8t}WU6T3H1?>fv`5cqPCt90iKN#6#1@-0Xri}1S*g-Fl%Ijf zkXu)+!bX2Q3W187$MvY$bG59Eh{&_T5@T-XmtFIbnX3U}xw6u#l1qo}OklW~^j-P; z8J?fOp97FaI?AM?9(Fj4y?RYu;SqI9mXdTFjsLv8{-O0kAKsje1hLJXyel6Q?t@jm z_xFJePZ%g+Gn$!7*D4kmWdX+9xut3IhsTYH^tl!6M{}GjqmiNgwqT{E`#j z?O~J%acVwUSq&b9#z#ev&-#`bol=BOa9CKATv7aJV>AKoeU@udt^k; zRxDlVi#{fN{-Q0C=Wg|hFx#m_8+K6xG2XY5`=ezD9-ET>XL)I587uX?1hbVrPIms* z@$!Z^W8j^7fyXVWeUlvl6E3@{IYvkh!1><(E35Nt?<;a!p^CZEqokzjnr_U?kMBF+ zEN9K+@5X*WcYMhy*f19~z$@-TIl)7w+5?V6^FjaelK=cz&QsoU#|dNHAjYI2PwYRq z9yoH>V2gW>KifFs|5St}Rj^n!o9Ey8Aa0RUzjP7?!|+*Fi+Pnk_v@ltvzb}R1`mL` ztYYNEf7eX)NDuDMg#2mT{^Re*nu?-fe~l2E5u_*2u$3aV8MR*4X-uppVl`3(Hi= zM5YzM7+NeWEXw@0qYFbIfdK=GQH?j5 z#yLqlSG3-)V$Sy)7exD{ju9(8;Hl8G4EgcVke&a>io!L4%IfOsPD<_g@^W$!9VnuA z+hMSNG6Sy-kNwrz-OIg-(jkbNnMCW;!KF7&5+ls|EVOP$1W76=h>XTpjV_ber)QgzQoyJH=cPp5Xq+S*oix#TEK_AoaEGAa4+=AYb^zuyhA zE1wCUn*>@S_xJkg^S5H_{F>))FlBu|T_o$s7Ei`gLQtsoSz1wd?L_&`OUSUCAsytB zF&g~67^7w%1+Db#wQwcyoSu%0d^ zarw}qDQqP82OlqXs|M5mbw>Zs`IJ+YL76YbiF%psTf^ewz`bWEo<%XN0b zWyQViN!xl9HlE7P#7t3S@Zj5HL}=B1&CkTd6uk9IP@-Y6n_zWyH97NO>_@FW*kpj{ zGQr6oG5@mwVRhhRAF;-3U^2^!t=MPmIPD6D=5{wyua%FeEbKF}&uWV$(kp1tw*;9H!tAF6#N+Lh~R8e=|} zxE1j5E$g5uMe#vT-4(IoPb}=e!gQDa4+4(VdBKN?Ivj?S^H9Kn?^TXlQ@q>n7^JVS zkDDMr#ZK-7+u`utM)|9G4a;6NOxm4F?PDPljLAwz);2a$@hBoS)tVtMJ2t@IHsDfw za2bE>QgYceGkRx4Sb8Y3@M&{%W%4*%?Wk|;oXd>VWph45dYM1odr2g2EO{`z%e&%I zLT;sluPrp?NY385(Zh7s)-?+BE0OD>jBK8_uT?BGR?~PxJ~M^X7f(?Ch*O_lDt4 zYg-#ErAl(?og-cfaTiVjmCh{81ZO+-k_c{IAX~EmN~&~VXKz=zrdG*v4wWCl{^=aE zo+WCc>QIs9o^|Eyr?3wZ1jrOW-b=^43~I5i)`$;76y|nHwxtm$hndBt@^`hcT$BNy zT1A&#MK3ac4yK>T8@(0B1BjS;qT&glIT$on@oFEng12Vf4e~M{@P!nnlAGR zfAZx$Czy}=L?B&AZKex^e+(V*H#TzSb?o`AW#Iaa4aNpgqG1>-1te~qFaZ*vAULF1 zsniPcQA*n>)4g;)y%W7XF{U9tKq4c6{MS}zYk<-&`K!Op}y@(-;s2IZInUzu@ps` zvm2Vdi;Kd43-ta;x5}CR(xi+y2agz#?g-K4LEETdbY3kj5oZW6j^m^c-Y`Xtw2DSt ziTKqU@TkHXxN%=@Cy|7V;TXDf^1(4cvoapJzj<7BDHTSGHT%OhyihJe=l+N5(@tMt zqJ-$ZAHltw$^7K}6d_MlWX7$)=}Hh<7xsdt&~nRqQ1Z^3g=%MT<;ZeK;q#Qt(8U~H z_oW_Up0__y;Psur(|INPa(fHbR3W{Y9x1M{I6z&vHynlDzMF42Sp8u##1L7b(y?v!jI(p)ABJW0Hr0|=owE&j?NnfUeE2Xy|*47 zu(R`9wSxo?3UBTL?yr%}|$H$no0)0MCq$$8^;vFXMR@tozTD?SN#b5E*lK{lhdomrDVp)?IIi#v24rNg zohP{1s4n|Kxoma;sIa$ydzZ8)xFfOoP=uR726++e3y#Wo#^<H0x7jiC%! zesxiE9ukiKUA@BTdenjAQjG8<(v+J9ufCnXH1n zIgx+n?MY8PMWi7(d5^oaqE8nxk#aq3-o{$C90u(;sf?=f`ub$B9-7NAswX(@z3OvgO}?6wbb`NVX2U#&bsw$-*w828xOr3bF)igSGQ*-cJ@+>y4c<34FaEV z2}V?>?n_}x-@`t&wxD{FwOr1?%eeNNIpq`?o994@-p7q!JA;)(Ot?m|AAIa_lc72V zV=LLpt(%!;XC&MO$ZvHtBn_IV>xR7vn39}nV_HpczBN<4V)(Ut6FJB^q6J-kpyC^f zrIx$?0b+A$QB)I+d)Z-oGEbq>f0?g|ZX}dUkP9Z2eoLLzsICV@6vo+eZ#MkT20A{#s0tE2N|rC{zyT5F0yYXd|RPE$7dFTzd)Xp#QB z?`}UkuD&Q|q#R3~eu9^HoN~I@>I*_pgB+sBYM-tcp>qA+6wrba{QvdF6_i{6(FuD zMgw!^a>jLHV`DoBTp8g#zhpxOP^tKq00*5Xb-b_v5f}XLT19=51y~%J${oA46~wE| zUp0aEDmvjr=*Y91n<27;;54h`qh28grP3yib=ANte1o9p-;tl|skEM+soL*5r*~VR z56F>e1ao<1aNspZw!7kpk;tHc!vh_=m6+@xH-7R?irGZ8Q!Ol?7X+3}B~baScL6+^ z@m6SN;FWg!Cm?H08UhfD;x8!p?LrQ!(&MO7Tgv$T~>E$SAiwqf)8a6jlR|jh^d4p-W0`rCjzl8i- z?s;$wt8LApF2LQFw_xaRt3jX3gu~ssRlRKcJ&wF;PIS(bwA%!v#GS(79hUWK8@2<4 z%QY@GSz8Z1ZY<*VR^WXCIkH$CUG4&;^dz<9#+RouLm>Md332S$ZuHzecB_|U7@1q?1Oca)k&6_=|Cf0YdngL>~q+}J7mOp(qn5u{YL8iDhS(ZNzorU%E!FCgt zX$d4z7#vxSqkoByp1J?V6&ClLZz(9f)Y$gjgmW+M{n1cll={bh+%|gnb=RFRD;=ou z^l{v2zK)FW(;BCXmUx0-d+)?BPTtW;Mle^0F&pt4Jh5o^v5E6F?N2FYmv4=8cpFBS z)L5TI_d{4E=WG=QZRJ91;aBG>^2CAKn}N*Y0b`|~uYW5$-)l?6V7wgJ`yWqeUVf>c z)^N%1b$DI&JwLqgAgv!(qK!}FmLJ2}E7e=VDMw6FH^B(vUanBVAQcH!6ftCZhng$G zq4{5I16`Bd0VsS;Pu)oOm9bGs?7aC~q!T^d<=Nodjd#(=gG!wJS&>gP7D9I85kh|B z$QKGpx%<^4F22UL0moxTS;ZjCcJ0eIpAHlxK7RJ zQ}5QnkZy5Rni>~gTxGi$Rbcd}nBTTrM@0=Yalj_>S5}fa7&lLg+)Qt|?qbTxc#+I# zW@b{O>5#MYA4i?02;koh#5`uh@FL<3rhI#R^YmgspZebTBl1{ZI2x-ER%dBpAdm^LLzRBp`KtR( z^t^zvI%T(9;4t5<0^5HM?FLgWeAlBRLYdguQTH~shs=bQupP#LL+W;O; ziza{OuxIXG#D_(SY$c-B5EUFL*X0;0NO@5lGnI9J$H`fDzJCFR-$YLqEV*i8RK7jmX)Km(7b1CRG`a-zyn~%-@NLBZ7*CS48i+!e*0IL28=>v^fThWxMR5qmy4>G+6#!jbx zgb7!u;roN;?^;jx(fSTxpJ#AqkD|_*Vi`Y+Aac1#)OQ&Uyh?-N?ecB;;T>7UCK{D7 z(h{7O71M@JoKoS4c`bSh&@g#gJ!=Bj-oX8Ti3XfM?#vQjJ&P}s11um;zfQ7K&>2%= z8B-D)Ft(Z-3&uvnXn#{wJlbL1)^EmSWl=Z_Q7|!c%H4xaqt(R=69LN(p7fuZgESQO zz>o@ZVa&ibBF8R7&+5p?hcF?qSAHX@j-CcW{up9hUYV-~SeGwdfekN&b1V)*r(mKu zqPB3l5{5`-`(Y&|OzH!X#bVN}vN}aaoxy?Fgg~`9SY5Y6oXYhdIf8PIzadNQ4Kf0J zb8~Y)#94ZtkB^_9HhpgP#}7c)M&i?xf6K?X;J~0n*XM~H2^qNMD6|<{sjSvVe#z$J_}LYV%6lSs|jn664O^bDS;}hQQi4*PA<6yvQ54n z(tsPGhPGN{KM@2po5(fexV2Z+ONa^MPUtAMs+^lz_!89v0*v##P(wh0cis%^zs6 zh$~z(a~`xe5-KVXwl=pK`VYbcZkRZVdwM7m65iQ<143P&1NQ*SmgdH{N_7g4RcxID zSv?$>DJDz=qtNHRt>F;mpd zxH8M^V|!_u6X4b1mt`kqKZ~{%Kyt7Nx9(0EzZ@{uOAMcnLpyz+2#Ya4s~i6p*Xbdm zcDG?sVsyWeZX^$ZA4>}rITK5O5d)5S(?V{ULI%`Jg)elK}&zhe`#ou7c-l~vnX#Lf;ajKAV|;ZyX;uI(daM|=p23-zUD9YK>c zL3q|Z%fg?OoP+3AUEy&6HM_wEKLWe8!XlaQ4ixpJKBb}YC9^2`TzK(|LzOcNtd6gf zX5~T)&-f{eA`wPXEe7HX7d9ybv^3OWVG)S>bj%!mUVi6nP8}>0qQ!?AR$*r^=_eXl zG9-_P!dSEbm4_8{lIKU6>DjVKyn_Hhdiz)5Gljyp$?s$o&@T?KxQ`hzN#DGAv#$pw zcj!!gd#{LkI@+%FpOgdA%qSr^y+91tTX+wv=HSiPfQDA7Frc3R)ceYV+NVP^D|bsz3>UssEB8bvXxwC zgi2X*Up^GE3`tsGSbA#)0gz@o6Oqggf$5!$Cf)HLDoJoLBA|bFOf0UM?ZV zvj&Wfozl8(O-+LbX^17V(9Al*mFV=(qq>m*0Ue71tpulW2kv*yuL?#+lpg&8B_79? z9^Yd?wd1S~D6wx>m_pI{WU|JW*tAOKY=-AR!~F=7WII~fcxNjZuCwx8{>%Pot)dbm zy5Rasc;~JeV)Vg`lQ23#DqxaA$DiLoA`MdD(-)2)8!;t07d0)ol`~FcBT|lFEaf0> zjCAFR_QjCa&xwYp6_}rwVCa22{mMXstV02yW_xsr{kO-nI?y%`@ee{bs zi{gu~C%bCmPYd|3|3RPmPe~@&{tTtY*u1FniU*O2>k zoT4nF&v*jZZo=~9g};POK!P(`sn<8*#Ym&Z zYKUcCCrN(IIIMxGuVEmzG%CWe&W$YITfFu{durp;?SEfK}Y8g%Tzy5ZzxWWwQCnms`hUMv_MwumirP}z_#!VTu)nO|_CV_pq3yK5K81pYE#HAr6=i^sLJ$0w4s(D^XF>#@ad*VYKS-~mv z1_DQ!e^o?`1fQaOj)=VZA{{^ONdz1+=6=7ZOiUg*x1Bgr2}AqlHTPwt1BhyLrjE22 zvkp)FNvrrhc*XZ}u=t8t*P$DC4j;IomFPmtsH!51@eg_ZU!U#bvaF;TDaQJJZBwi*D4QJvc{N1TGUx_WzN&e{oMV9%BLB#_j@wXzw&=+VtE!eC1kH4#H& zVZlV9mq?a`fr63G2DYR8DT0A(7hhzq%8G?v5g(4_I|s_` zp?KRx7Lvu3*K=z0WV1O9{^^EoHfsTmk(hi?eR6zIy?BfZinQW*W_Y=%jJjMu9Rqu5 zis(@QhUW$72WTbr+Jta^%pXR}&Z^}47t|s`6k$9DIB?b zv}>!z3JOsjo$tazZ7NpOJ zB!+S84F+_JbF}(b>c48@U&#)R;U=vm=+M{va8n=%DTM=OBRkuH(;vA!cf4V_Ejof2 zlllF3)>zF&Jw1l6?v_OgQR48<2nh*_g!*tO%kfj3i7$0jUOjfs${h4N6C4b+=Wr1G zZ2CNd+%eorL2s>=1aO;HMVWC5xB5;9w|5$*Ueozv!SKKhcWkqk0OkF zj4VzzeMuH}^uju#<28LMLDM>7n2BC*a=uRgY0|*K*qfrDWm3y|s38b$X1CyGL)7pWC6)10 zj=#DYIG{q%9}aonh5W66;z$t?>U1u5n1Jo_$gs5Asya31kokn)>wCoC{`=E3#4bNC zPM_mTLcM`2Nw4P!`DC97>8i0m73zz6+~*8=Bmh#XR`ZCpm~F^V3WhQ0mBBeevlqRM zWJ{CTM+jJ3qUch&V=*75nh z^(gjh7_(!)=%|QeUd(2FjdNK_z%Q%8GmQF?$rMW7e{UEX{GuFa#339Sd8eAhkPhhI zX`$O|8$9!%%~PSyP~48lG#U<&=%KPm+yTVRz&K-yOqzl z$X%l>D7OM%NwNy(7fn!JazZ0Q)6w_EPCdz7-L7Xm52=eB9N_eS6}K0C!sBZZpd(K( zJN?`c?H=xIGELd;&rx!H2HqD+0qGZv;VW(9B#z?5#oVdFWdDA@Sp&wcF}7=$Co<0W zsgmBn6IF?Y6HPP0$;&r28qp7Vo*MPO zTFutK2wUq7q1yBn3A|gZhoH7?D&;#3{Bi0?$hf)BSY!4_-0F6O&oaJ;d&ep+yPPLG z?5Lo?6loBL+TkPT-0o&_eUBS`d_kBtm??oo8APLzg)v1Tyh;m1+AZ%zJ8>^9DjGC6 zF@753sNh{#T>N4ehM1t4qIBcXF@1d6-v>2i`rhHpq{K?W#CC@FV!=eZ5G)Y^+LI1RGE)h^~!`>eVV`%vgbD zPh>_$VGlzv0R5%N0BIigXZ{C-DN~tGi40{Y(G0Rru;|&D#SPX=X|UkaK;@@tn@N}m z0DVz8vKCz^nA{fj_i5iQI@0kTBI2%VM!1L2lg|`(%~d$JL)um=ir>vAk_Qh~y>+&E zGv1lck}j;)@?KA(^=eEDu0wSX8l1Lj9Wil^yaS*QBb}oly`lCfp{XWe$}T}sj(vB( zYAtBtm;7VpiPNGWcAo(?)+#QH?N(KtvXiVKk^U4&WG^6C>ZNh!fHneaS%eKR1b}Bu zXx@&cw5~xs4ho9JLSeH`b)UJ=$ZJKm>@T-Wx}Ix&Btnfh(h(h?ncHYaD%{7T=aD0n zqu7DQv8+yqc(Ag=+dY%HlDGTisR{$(x}W{_3?_R%igtcKr2Z65V_An@E|fkW?{_fH zeE3`^-lKS>Z>Sr>zRpsETtTUA68LXYl@j7*CewnCTa48a!i=+&`+jIPY|x3foSvTX zx7*zN<^BLSiSh50?qY@d*FQx4HeN8y$AOc}{sAEL(_1hSO>KEv^t7cZRiL+farAI$no?fyKx~tIytJJ;K6#qeIT*oP z{%5s$bd<~tQ@~DpJlEflgOOA#C077kmMFruIPj&A6BCl#u;Dyn*WcC5Cup|x-7tFW zleg8g@7g-;MkXOfmYFN^MOX%L<5-fV5ARa;lekM@8ZO4A zb!Btl_*8vIOoXrh@qDCHpw^i}HXc~k9vtov&Buu2w3w1;tN5Df5HytTtfZaG<8_lk zU{Nw0o@4sj+|A~#dLB?#hGUqt=<8(~wSD355{lVyib5tVymd-hW{2=9yuvDaL%=XU z%N9fulB_YVKx{88EIipV^bPn5fI|2IaEB59n5lca%Cdgb@pzFc(q_7}RXw$Qu5(H= z*>UfT5t7l2T9?TB(BkfG=3L~u?)^ToMt1L_NDAD(l(^_rE7N28Oy;YPmC@5Maz~wW z^*&yFt=&srD~EJ&7GLFm$i_Pdm9wYFG8;TvkpJD;vZB2-Q9QygDg^LH_5BW;f{}m? zgCRqUqKBUtlxJpU(6XlhQ5$tN$1V@fLg56peg>4Vq_Hn;h){&AXx#$lsY`MKrbQ~K zJieLPFy=`|a3C(80VVdyKy_t7*vOIG7s{OW4%hbtRmUx@d6BFq8jOsXGgD7nJjY4dT;{pbli zu8g(dBQ2d>0wyO`k9KC^jk0%=ESYo6b^$>0@`ImE-inwc4PG7ImKPhP>|}QI}seC)83)%ke-KPZdmWnke`f=N0Zg z{kx}~BSmg&Eh(iA%gLhADd2X4i=TIC{mJ}j21e?R;-^~gI!NnCxzXQE)w;8hx-xB89ZYib|BdAaE2B#* zD!$r3r~(KH4FPym{ufeiXU=t9=fZAhhnM?zA|kxSbmrB5{@!BPvqi%}2M2_v$6!;P zUN>HG%*aZ*MHAIh=iP3*%a*S5@QI`0$LcL9A2|}?EV2flGhc$PfUi`%Sc_D~m{ zRoDlE%?lr^A>h})h-YQpQeT{F_y>NZTz9O();}o5(|o@*;m{JuOQN)Cjs96OGUF4iu?$YYEG?=4`7 z+h+%>ht~@$f)mzKK5?u)aZka+&2}rb{H|i z)H&1i#Ft37JC#W&TP__#e*Mr@l=0vf%ch3^As<*4wcl!oajhkHg{K69h%v?2m!cJE zW3Tq+sz!n3bj)PqMNOY-DJfn(ioKUjYIzlJRb@Xx&lIX2T1KASJU zoO)vB8a4J3|G?(rE2_v}vF7TxcDDJg2|V3cVVgZh@mpgw4_J7atuA1=oM<~ru~cfV zDlO03cYG^iyKiZ3r6o9)^znIf3W^#}Wxur8_7E@_4n+W>HU93k=XqOOBL>#Pi4HID zF}xt$mvQT~4kMg;Jf6|oif$}2V*o5LQ3)tE+ie-e6Kf`Tu8#e3k(%f0er`*@o2zXj z{qlF~2k_`TZ`m-uC^M(FMn-=(Yq+I(F@Mg9Bop_*eVy*7o~0iP^|}4fJ--^REOGft z^yPvstv@oHA*S=8=kDZ0Ib~TpDaHKz;IZIKtTRs}bMctT=t}B#(`rMBC+~}!A;qYn zzaTBetKlNlizH)zIPM!EJl$|sK4>HKH_c0d_V z5rm5tf}>Qqd+W2VSehD51Nxv?T-iWkVX-%p22w6BMJDyQ?IQ`mSHNVlTBWWR)VW*A zymKnh?eeTeM}*(XY=c%1rm<`4dH@#!tjb$C! z%|(}=#edt!*AOX3Bv`{vHIlP6$1C*H1)hr(igxcs=`_)lB| zq@7*blfn;15$gSP=IcFPwmqlo-rWJRy|$70$EcC}`BLFIQ+!My{pFTAx{@lYRN;-= zpb6N*3(>4Iv9%=8(`Yc%lavv~Mn8G<^DEN0PC9O(Fx=+Tih-;pqY*L~%ub>S4$=3| zAuEFG!Lyp>gL_Rc?ZJe48rspZTPA-v@r?b9z!N{+H$e5QglN zAXj(av6JBDz9kYrU@>u1Dvi|Ve=N64ODuG6M%rCrrxNJ#korn*+ z-QG|&;gHByt+d37@F=m#Qg+42q2)$M0467U)HFm&h&XcSU?5SfOAT~nR!M(+@@Gi- zsPAHg(=2~dEGN+aLHlm3&%k;T(o#PXWc2*u$;d%SeiVw42Zi{@vljf`hOhD27iTkQ zo?Cv6W`!2Ei0Z=WyqcVy9rg5dzEiTv4S1yX=(RHDLA9AmVCC$>)Xo>dS~B?krr$<^ zzP30J8c2TUj3NH#h~(}mVX3ID7a${_5X|dP{{4)4bFCNAk1PvkbtN`dU7Kzl7?O9} zf07@3InkPM+qqWG)>SC;<4IHztOv}<~Q8Q_v!T|Dyn58Ql z8!Ls0IYuMqx`6C-kX1A(JYxHPLKL_TR5>BM^=uk7fvt_e(B2Z`b3-fo?mF`t#TjBs#M5J3=NqX_g6IO&Mhc+jSu* z9={uePu@Zs)JAfd;eNVi7#6G?RWJsZq=}Vjh>7rd2toI!h=#kB?(X+^N4h6EQFY_p zwxv>5H%a+K$~Mt?(Jf|DBFCpL`TsmmC zh2i*IbU(WXDx0pt7dFt^U9AvjCP%)_G>m=wOdAn&hA(l2U~u1ML%gAh`+~b;If#=P zGds^QQaWVA=jq)Ldv@k^oBr9w*D>`XDcM2L9i1cBgVJ?M=_Bjhs8K8{XLe{|4-DWv zd=$>jOd`H(8{L5WE$-?Ws@tmClclSK4ys|Wa(RLy&C>~JJzJodn$42$&scKcxVy-3 z67jP8`dyrWSJ*{8!~SPj>uX<^H+ka@0c-`lbd_5|23&3^Akc>$;>b6zo$tb&Q9oSR z@u?k+c!OB$MBo`krJ~S0?+^vJN9|;N20TyieE3Cgdk(i4f#vZhVU?+oCX${!J02gO zSCa}PsK>qtr-N>A<*gTexnD2RQgZ-}9B_;R*061fBTfI$W%7Hq>gz#{rlGlud zRaJQDkK+)JE>nSQZu@0tl{`@r8)lp6gcvDle^C__I(O0pzVEwuM_<7>Hm?q+&s-*q z<)#=XlD{LRZ(lyDIoSmdoqf92cx0r4L^8@!U*_MHf3Sl%3vK_26Pja<_TU$$2z}pb zM5V+&t`*Z*G^K8BZyl^xEoJK~jAv$!YcA%DNP>zSGo9ho4@6fc+J$`Y6-!ci97k08 zIs5VT=ABw)5*k_FJsnRPgF^?L8xddmv&TZ;V~1NJ?Gs(m9JlAFy+QFL52l;<8%dk- z2C4V&2@E)9JJf$QQ+@q-)=Gh_7*D93Z^SJ0oJDeX_D;LlT7d?=ZGZP5|A*N;b~P70 zBjT()`{b;AJn;Y=b#9zWATxdU2H6RM|!?7cfnZT5n1C{IA7?pfzI@oLCsg;=99 zb<~N;X|n1Wx6}#VZ)Z{*_v3A^W4VAL^$)f(GA%?bZMcLH{AjDq(Yz(n z>~lY0DT6;d}8_7Qs2Wz0HEK9q6%EDbqu-|d;{@p z4(d1zvK8Od;m71;n;MAAKcMytR@ZfftH^Et{e~5k=L?sC&;_4Af#oIC{;X6J%(f-R zp&43?f8zGV{JZS0ikW6(%+Zay=%?s*TpdAWmc|z}fQ-*$8oi#r`Sl4?@i>#@p>vnZ?1-08^O5Pe7r4ht+{CrF z^VVTFH4^>+vYz@$x-N@QdTp)o3#MQdAN#5w9`)&L>@*om+bhJ8&V`_2ZE12uGV-2m5b-X$Dju-kB z3K+@69C~_i{$z0&j4sao8q=B|ts?9K>FtwMl%RDOr-_WY2T6BJdNlt7cY6@e_Z%Jq zO;w6;sb@UXMV}FGFnnN_p#hP#Kl5mI(KXsk%bcoK^WsGuO{D^Ua9oWxFXj-}KVJ@? zC4RBj=(ga!?g6L+dFMW*;+iMOo12TBf<%gni@9ue=rO6d$zx(-h|@$A^={{nerr4_ ztisR1w~IQqcT={nQ+{2ts!B$ctlYz=p=Vc0wt_t}D#yf@NA!Y(FD> z`_W3k0It}?>qw~A8~Jv5{&ycGEQdR#3x9GQoY{rfI4097m)=lQQK zy-;<;DDw{)JLO@8yRrmG^JU20}cabeTe_uArNc&!P#Q-Wl@tS z%3Jf>9%2b!al{9&CIvI4F5I&ufBgn1j^@pFpA#l8ohMrWM}If0CJIB!r}~v2aB?c_xvR=K7GvHOaJ>-~z7;-J zUpIoib*e!tTuk*nM~p;w+#u>yH%2=Xmg5$d)GkSB_FOrsTMj2w)-I&(#whYLA4i@~ zu134OJ=yt?CVqa!$|W39Mg~55ZfmHL=2+&mNv$6qks*ixCOnZ{gKvrnr#x(AL`R<; zQRL$cnOq3Xrxfx{4AW_Us_D-@rrCVv;e)Z1fx2!)u5DEu>1ynz9Bcd?Nc5TmKlyGLT^YXp^!EI+I_?O1hZsRC0+B#i2DsYx||wf#tHxwd++pVuX_{ zvb98HF5^8vc#|FZ#_G209C7&%#ikC71qc($5I8e%p2V#+phP8S zy0gX2aBxs-)kZw&=XLpJ(_^Y7{CX@S>0(ryf~w>6wk@DN-#igT*)!TL0wvO{hKOL` z%xz%5CMpxD*NDiVRgdp{N3E~yar&)63&t`=@qcqly(he~SD*h}g zC@vgT(pu1h*>4Rc*hbvqx7%$!kCEt>|L3sVZx7yh@x-ot&Cbztqp^N5CZUw@{{b99 zqmTi0_-+BmVfajQW6s}`Q(XGWJgAS+)kG?DCBm#P*+z6 zpWln#y?aBgRwLl^OBcQ*a|lon<&o7tyUPiS*@9?;2?p{m7zo1e554{Ii)pP+2eqgJ zi3Ia^7a=J#9r5WY5Sc=y)}p$+9QEZ@NR5hz$1d`UwW87KfJ2mRO^gHdI_QiBWcBDF z^Xzsa-OfrHvG$2cxbh2SHj>D+1s`G1H4n+?qX$|3yA5NTD-X}Q7ct_l*Oj?2WAN0Q z|H3(u?^k~n^%q38>0xmDyK3&$nDbd_Xc@ztARMhesFhu%V;jHd6wRV@3lXxe*DR!K zMs$lvPDnt|XvBNVS0UD9MseO&Z2WRLMvNbY^z3w0Y%jptRo|j?Zv|8iz|a^(v|9s9 z?{t(#`H`FykL=V8_!@l(>ifW1(Ey7(1sabLYPVjjqX+B;1R6E)HUyBKG61{xmSbDN zR&2{J!Y}y+*u1k)hD|$niurtO5#g77F}A(K`Pfichz&(W*jThnOz#mv z{O&4}AwD%5CXW?HyBRtP4h`b9V&0>NyTXNFy-L)_jG)hgfZK$C#{#`tYrYEsg*M*|w{ z%H%=fBeP6Rl;OL@oeBR0(fyDU7XFDEu3P+3v+$1yG@xMBLaf-?T9MWgZM$vVI+(>? z>I?_+K3~`@{38Nx6t7u`Pd7Kat4`~a8)4-y6;_L4sm@h^l^;e3{|Ij}R;|oKQ;uW@%Xb^3%;G5#6ICJlQ2k(ZOVVI*roeHQI!(FF82*1|{ix>}Q zsI^FUx{+R6hq#j6Nb&ANoOZVu6BfW-Uxc80A5@+SG*<0E!@i&3tXvIWYl85o$m(LLRvE06yGiSnL3E!_U48t%C!!QiPFbu;m40F7o4hHe{ zisdNYvq$O?NC6n|`=wzYYg9C}8V&qDAL3$SF>=HRs8wqD43+SScnZ?>u38PV#R7xD zAoUL988BqgPksX)vi?VijLlI|P-#WJRE|cApvcqX^-0|XS?}}veX<^8A}BW63P)oj zydJW}CMqS?kBN^*Wlc4FV*PMgI=xPmZx;3O!z1!IvVxLmjGg&3CMk2r8v3EXY3sUp z`t>;DKwg0#59B?8OMW{7gQkjb{y8lCW0)hzaV7rKi;jqt?;+7&=hW8JASNabUcVP# zE&l=I$B#yCzjV}<6{2M4W=uS7G*mVR7R>(`Yu0YXmd%Bzsc3-F5QW&BO!S*P7WP^f z+%=8p-Rmrvb!pJ*v@rPsFp7@QC^|@^=vZO1p;vl;od1WfFz2N=aMqvi#M$@VjC1b4 zRSCD@H-EVmXWe@)0xarcdwcGpcf_s$z}&h3B1Ik#Sq--N?$*JIi( zb7UAYYd$;%QEyiO9=i%2n;LcdoX`iNU`7m_RbF^ZfI(rdd7j5L$L+y!&NtZ6_ zogscR#Xun*MqMKOUL$HMT}mr4M~VRh1}IZ#;nue`85zxnj=R&X?}4)Fi+ntPo8zDb zfNEbNjP=uDuKojbt|3ZnE3|g}`K3NBw(-|YgSbu<(`PlUsojlYn=%axqQjQx4kyK1 zv7wDptQ9>|LssXAeIk9WGTn-TynjOX+N*d~ zhNaj+ZLc=KEN)b+;ZWPqEWEVDph@f4DGk`U`N$~lcWmC?B}<@KF$04K4{q`0uwJi6R#p}+y6B?gQsj3eIq#vxm^Xhv z;iY?#tE4}c$er`HsQ=rzu7hDC!yHc>%f~yPtL-r4UOeC4^|)2|%lS%rrkk0F>s}IV ze2n&gCp7JxJFh)^=W((hkB#FpG`4&i=PC2QTF!r(ucJo@?&leXVHoD%nKESx`t<38 zMq49vy3mKzB-A5Ophm5N*<^yp<3?FoDI7K%Qj(HE-U3P5;PZN=SHnQiFLilQu`yCC zNa8yZ1WJd2A|VA@!5{ET6G&v0kG%hRM7OPmE&KW##7 zK@l1}P7z;*AwB!SQ{4!Cd<^R1jp#pY2>K2j2uoBPzFN5wzL=hHHAagIwiX7_!|Fu7 zdeKqp11dRf5}h(x79?var=9;Y&ij8KV#-AeG5Lb`@S7PQBEoeTk|UM!D>$`ymMd>gzqY9yP} zm6l?T2IPvlBOZ+YJN`Y?z|`KhJ{s!D|{nfZ~))ly- zDU3s!l1|*U?8o|Gm5HBFW%wa|Cn%0I&}M-V3o|3q+!v8FrVL!+w!#pQcYxMv%- z7yOLs+7j5R>%_G;2%SrXpcwnYv2Bm;d)ZHtlrA5L0 zXfL{rhQ_9MguSQViaVo}nFA&r=UnhK7R_IU4a+uQ%kogz@aZZndE^1iXxC-f16ZP@ zTmAS<88d16(^&GKwN2}9S-J`~ zVyyfyqHGa1eE206-T6nHv)}d@fEhQxg=LX-KdALX44m><%QjrL7OUsKho`1A8#9XJ z_m8Yw6Xq;#T4%`|ilA+HuVov^_J6E{{nyOEDG%U{*F?RSD(g`Y z`+nJzkKy+{S^vTu{~TB1zuMXw*#R90q|Nb*Zqwm*p<#D9OkNE({BI>JnaK!>4zjAS z9NtEcv~)7Tnu^BVdy$rvftbEM;H`IHTQ)MG4)-{vRPh=Vu)WICkifN4u z#()ZXQ6;@!h1ArM=#eo224ioerJW>t*&awq9fiyufg z0-^G_-eu--@{x=*AE!Q>JPJ^-j zLMaSjnD$7UFauXyFb@3^&Cnc^y;lu3Y$;QwHRwHLL`d9d7=aSq_J$(QD_cFZy{`*+BZXHMfNW#CIoE&9M=3rSj?+!fqNH{D)9_dT$g;>xO zC&F{{usf9e=o5c2uDb7DOv_T{8HQnwM|RJ{3z661Z$e)hm3|WuC&D{xWi-PuVOpI# z?`-__f4&fN#+|t9=2_sO4Z|=D!!QgJCOsnq*}ZaLFq)*%B6^$}@>r;nR{RhQNDF^t z$&ak;sm1b;Ti$?7=MmElP6q-S6@28C#bSh8{07t_iAp7fdh#)?AS~)5*S_{f8}?OH zU|(g0^bVuZ>!8twg4g4N-$&L2)lz~O@CV>=x#jvKDkLj^I)eepS(&JI*kJd0Kri7) z{6}85$o20Lqw-rU*r+Jv^aF6w-61jF0TDG5bKm|DPu(~b15=`*k1$xMH$|iO_zQ6F zyQ{G14;>5AtO*10`+L8{b2m>#@AwEKIQnQL4xWl@o_ZT^oZXR#tPmU5HP?OeHB?SI z?wm0OiJ@2&{Pc6P0hCr`oc#h;zI`_?8lQtiYfA$>dTRm(o;@2+z4cf)?LuF{<~uNe$0{QitV3&@3fX}sL{ikG63h?I}c0d9DtyYh)T!UYwp2Q ztz95@LQMQjJp9r;u?+)Swt;N_X}I^b_i$&s`JIA0pZpSw?!5qGdx?5SZob&}8KbA+ z&ez_?y9XjhWSC=^<4XKzHd~+-o!G&Wx3>uYdwo8lQxXu{GYvJB)mXcFHHP=<4P%NG zyYx=@^ePx^K2-cth_C*;41Uq!)i@jB^k+k-*264%U2{Mqt)rM^P>DcdKrI?dD&VPU zgwZSFM7kbvNr;9PN#uk__0#YPs5Iwez#DerILX^&e7)=b+4i(fMv0ZKvoH_)Z zdJ&AFU^l{V6IU>&1&Nj%_?;TK>O|M=G65o}+(s$*Q@hOwI1KQKv_6{-euus(P<()X zeHQ4n@nZ0CV9qj`gM(cA&YCr=-4N;ackI})?WUnHW=yk*rjc|5|Ww z+Kd9S%tWLO#0YV@jUO=(X-aSG*s(d}()e&;iAPdLJ-<2$@fKwoK6sqUWOt&|c6jV1 z#WstZ8HPD<;(Sh6eGV9d^e{;UOH?${GP7VdMv1YY54Or0)Hm2*3;5v_@KT9t=$Ee+K(DfHOeX~QMJ#G(!vUCS^pEZ{rn>uDl4EC*DSRdm#V}VHQ?L-1*&Jy zo=8qkmJh2oZrq5iTem7pn)&6IU*yLQ^u?&f(sbcrj(0|l!uZ_&$l}XA!!QiPFvkHW zjUI*E{+Zy>EW2yJ*)w5t)@04*qpATx43VNLeE)gddiZw{e z7lcYn>DBOwX@k`wMSq6aD8Q(LI~YKK-0_NK0TTZ;2>?|xKb2oB_xj{V**1}HS@}M= zJZ@+WdijC2M=bM-vV#G!zCQ?~(Tuv9T3H{B$X6wDBOzi!dMZk4D^a+2w-h1L^Id~Z zFUvSk<4cE*8_&J?KNKh$I_vmZm^(f+-8mQFAFteoNf|9gZyu)yih;xsnrICCe~)!6 z;7gf`o2Mj%T=e?Iy0m`erfU)~_U0Gxa0ddq!k3q$M48T*JR8^K-i9-Bl{(pe#-}Sg z@XOZg0nEMm6eLDgUsSwJ`SD|L^Fx0`hBDhk)J(kb&`b=EeEHg5{i6n8#zUP52(4pq zPG{RMmh_(f$7ZXB3La-;D6JBjNymV*mB|Aj@st~IQGcZolC>LT{t@M}8R_Y89!a9oN1$UN@BcRngq+x%Ge{Tdh@9u#ccC_7`X=oI(v zDMHaN8d{bsqg;Aw} zL1ThNmjZW#4rQhL;I_LEWi-L>aw0CuA}^lx6_sM$a2}x$vamv~iL0O$9jqashfV~o zPYaz-4V_yJtxF69+&ZXTdUzX6uvJGx<4#4qIa{PNLf7bp))s)P&MxX%1~^2gF8Y+9 zM*}Sh3LWAAaHyfSYoKy!pb^Wpb}fu9ej|4{IQ{g~rG=aJLL}`i4~IzFTTX$*fAo8} z7(UUA*S_t8e|*{tXU^Qe2*79DhT7V&uhV8$E)GEDi-ocN0+{MA!n}F&@X9N%C`*}c zXJ2KrFfKVHI%|*KxxG6U26h+GeK4e_GTn;IA$^*~f7Sb%-QV`iY!uQ;<` zlgs4zkr&`f=@R-%Tre`+t_*X0ljwIKKH!2`<%dSAfzfP%H7)^uUl4w~2d>&iDY|#6 zf@tstU=!oOz5D90uhx#r1{+FU|f0SmGYdu{`%{syI=Yum1s}=M-Q7$J@r)SB7@fX z;~)Qs%P+qi+1c4jie}C@lfiqU4i0g8KoIDYLpU7IxfbG5T5>`RGCS@q^lmoBxSB6Cf#;5&PY*a z;6ce}f5(;QkHCm?$6~~^5xC@@h1l5SbSoNT=RAgMl(`l}>7hp>wk~`Kmz*iqrS;Fe z9DiB3t@%BdJ_qN{YArxhD0&h94O=dZ8iqeSIoA)!VT zEP0~E_CNYrX|u;-vTE3B{rQic6H2RuxAK$)2Md|(YqkA@E_(?74XZ%~`k|-ePGwp$ z{vP~cyrPTnD|Mf$?0Z`O{6FKZ)zwP<#lFAd9$X}+8Rqyym6({QT+)vWk?u|Z{`bEt zQ*HUb|NB2>>cB}!%aA_u$viC~JIe@UCnx?>t5r~o>42D~IMMUM>h)rHPEY*y+;b3b zFrlQp1h$4cq(#Ret7jT)0X0@{*o={;|*@TA1Mp$F4aEdxmoyg3tPjsRUP8(_) z9f*!j5!+%Gd5X?el%W!pr$1Q+ZIjp@GWAOxeo%D$)Cp@u@cDdVu+RX5S(G1iqTc2d zS46Y;CoX_0uUJpyCDxNcE27jM`ASzMdij-452oC^mB@X6q+Qk?&9cLgDDOyE<)fGF zB&0hW=#478x~dPXaS^tXC2FVwdT~rOTlb4($BL1->)QFsTr(tyq!;@O7cP|60gouj zlW@iV4GoFKyaibH>eBsMT+5w)1EwgVwc@W{#77}bLo1RnY1X9}D#sZO*!2F}SQYa0 z)Gp0=?mulLNt3R?r9(qfw}wp%@%E}pIo&bw827sw7#$W~xr(voqffA|N)b$}t>``Z zTud7jA((31goX1~VShOv5RvUoxGS;l^N+A*kMfm^+JMY47hu}xW~+o{-@b~)8Q==DL%}`U(OL6nwP^%eFQk)PkZ99C#)! zIjwh7`#H9Jgg3tG_*!{z$6w?*A*kPkj~1*#aag<=-5XObn1iZa7p@5A1mrBVbKo1TnGXPt`y z!_I;^eh_?g&#e(-PccS3y?2}M3Y#z(47li`i;$3zfbHA28GEQCFXe*Jo7je}((u6yYgjK_LBdHtjN?bmcYF2)tJ zPRHoJ$uKMLt-Y=~?Ee0Lczxbtl(rJsca_{ZZ{x0s`?H5rghey%z$eNa5n4~Q{o_~Q zZU1ascjYAHrdvYdK~c}0oz~NW^eNZlstZOTD^V9($L~c|;bwff@Sj+kS0__Na^6FW zaYLbsyCj(qITMn=-TlW z+HW&|GX#CZ`&w`~x2@fMS10z}SM%}mf4)KZbB&h7BKNnq;IfGWFn&n{6Sf$_I4z;!3-;N3hQvmalq#ENtC+ShT{WDC~4 zco|;!p3l_-;{2yE@6ulF*Qp!n%DD>N5HU`ljq@jDB2j6RPLF4~EycA9Q()!Y~ZO9B+_? zxUNE$?b_o+cwSD=E6If~J=>%A{x3iK3@m0d#*H0|xEQPSq(UB0$U7Q6pVS-lvc0OS zt6|XU5g!{X#ehz+eCyV2DBQIh4Q>a_u~zi!-ya$2=~C063#wt!>BTxaSq?p2ZLrxu zFZN9qGXlYY^o~dZ!JRwu#keDY9%-4-YqW4XT!^xWu@>DtXw>j&RrvO&A290V@rX%? zkFXS_hR5x}(~muY9ox1cEj0~Jw;SjG_9BcPbCUe%I}B|zR3VMQA#=vRu=?&Xq4$Rc zA7Rin4~dDHc;i2}DS|c+w!V2GF8Oz92Wcw5oiAWTV<}9NjLr%b1zV=#yNk+E9d?m&rv-;6!nx9 zD#Qm*80L?7_tV)J zE>F`&tbJkgFem*i(YiB)pZyhn}FX>I}M&_6}IQ?#E|U% zNHZAlWBzs&)zxG2jNc zPhvn)Qr$0tPgEfw%L+jvNVUonBWas;qYq2D8VPzYbE~E zgf!12{`>Z&ww6;4l@no**A?jHF^S-aZDKI><(FT|>DFXqWJpUiL}%#^C;dm5@WlIB z%3L!#$4SuEPK7J=MFcfsu-Oi^wbRf${Eo=qfU-Tc z&0j9Sj)GMykQZV7EK-QnCGlUvI9z(+kY)j#K&v;HH?e0WUR@RzF~nos z|6PnB;gxj;7{V_H{BCjGQKpH8%~<^Y8Z>>x5~j~ITzz&c%YNiq*B?<2x`2d7`iE2e z7p8UjVd^(v;XB_omu(n(q3AB#J8nBY{={*=`NM@+Q?1Mj;>XUw zjFTedj-vl_d#KeT_C>_87ZU%8n~_M-AVJ6E{6ru4+JE(2- zu+=pp;PS&{)+0LF0<|`P8j)s4{#NwtnSs=_BxxPGuBs6w<>iP@ipTUz{~rbpKLdJe zZz=rqiLt6mr@`c&9Xp4QkB`Us=btZyd*6Nc9d_>ADaS6fALyf${QP|R+ow;TrU#0x z#eZQ)09aU92#?1jk8iTbM`KnJ)P4T>=TfLgbXELEu8Di~>Lnj~(OArAG|If`7^$qR zl;=@cq*zo`go=t#XHIEJ{730%TWDEbT^-D3vwQ$X`Otc_{p9vIOl$EUtv`MGba{NX zCu%%+_W!c5iIiFR%j470NA#DD(qinYlbr!F`eq_VjElVaOK|rC^E!Tkeh_4xdoL~< z9{TdYlA4Ju(G}De7Nexa_aenu{>VQNd4z{wZ2tUB1#&0$64(CYM z;ux)7u-*^+b8e;#?vDPDkY(6c^*Jc{7l^Z#izd>m`Kl(uQE>vk&5Q`eMFrJ)RNQlua_; zg7Y4E8<*r1VZn?$uvEnGxq1K`cJW^q&(-*gaogiFFiecKNdy_%Z(_ah@mwSJ{jFl( zN480LTRvR^oGy-OO?cnw5Sx_=QC$1$9Rde`u7>-=%~)MI0OR}Wn)mtst|?tYVUG9Igie` z5Q%3!hKFbMm)6h2W$pL+)m6H5-RpXrL~=mlKXLq@e&6eund`y2=dQpD?GB~FX=<_b z);U;Eu0(f9{;1eL;wj_^%kNzlp;5iLp|+mtUdO zQ4z1zfAbP&3{8uEV;2J%txmwk}H`+VZ+*ug7?C z>^7g{&HWYZqEFsU&jlmLrqeL{Rz=}JZnLp8IR%a zb3>M|+dIdrR=$M0{}tJmhbaCFtjD4)Ik-gZy8}MHx;jQ-7=~evOIZBZHAnoiBmf*VU;xIB9)(LTI3LN03D9b^@Oa#?*=!&^fyrouQEz}XIvS;=rTFBN zPqArB9@IuXf;u%UQBgR3>QsyzHXMGJ2Ue2>Ci#pz^iIVg%2jLBQg^UNY-3%0Jq*gT zNtexzjFfbwrKG}Tw<9_#8U_;osnu`#Se?Z11Z{gE9!$K}-8-BpwW?qZ8#rtj7V)u(SoM#O;SA*+b-}_Bm>xDG7@232DDfa@A^z)l`!jC*FP4SH zkDb>25X67w-{Ma*Zp42>a}ivMH~w?CA_i@Y5bs6CA2=l+or5!9Xf3d0nC|0f^?%3i z8_;$j^RyjxGGxUgJv|+XiHR^6jBvPIP;0eFP0v8GH4a9t9yX5`-yPD}y>< zhc@Vy@#NOm6x1O`lZY679GvwosC+?aM0Z-buN+n774SJ-2>L{N67sp6(mk+QqlaE4 z@)w=0ArK6?6b`6FP|LFQVtqaRiVoT6r!;;TMKA<>&;?zHHfWHV7z>Tc2d_;G2%H+2 zeHv&zdg$B+XkB_}oMHBB8em&T-r6@h5`5)d5)Z<5$=aX@O7NoQBdW32QfC@ygwy z=_V?%uOhOMMD@ycqtaW6+E%74>~!rc-PcO+T7!K&c0XYuu^$P-NccsfF?x7)EDQfS zLt1jys^vo(txAia7$Z7del$3JsIYkuG{+#b*8mZ(L;jB4s1+xWK^KjL_;fVXyJ65< z#dXw-imC>b*EGPV(m`j6!LGggP;aw~^OXc}B8c&6i)(c|kid=t3GwIy7jmOZLO`1T z`s=TyIB(_3l~}fHnH2SPL|IuG=Fgum*ZKbY@A04i{0Be({IgsZ7V8}Z`BhG;J5%kI;QbM^HKR z;YV2bN89$p5AA)Ccz75;V;cGxz1aPqKV!}vH{;1i?hxT-+%)?^d{QXxMfy&~oOld(^#U% z0Oamlg4?eSmm3O^Vj}1+#%&}>acsuxcU{q&T-&RZeaPsh$N9Ktc5^-Nzu{ucd3HVOHL;j< z!@aHcK_5`3`4;rap*QZWvEcMONbF&kb(|e>EZ%?9WtdI- zz}sGV2g_&3+be!jGjUQVLL6%ok(&Z|U0xtI6T_Om{hEqw5(JhPw-O}qxq39|>bW|4 z=J`_OMnazE{YJ;L(kAgEF>BUHC3Q>soI4#!o9R3V@4K6E&((jH=MKbrms}Ki?i>PL zI#(59hhTgUaZQQb=X6bZTAZt5Ps{72k~GYrv%WiduH{AZufFLdG*CjWyv-X=h6$`*NHZnF4A;R z&x4|?*FA-UZj-KH$Cn>(7VRajLubrr{~XQ{+mNe+H}4xPJ|y8Eu^CIBQ`-EIMIoz) z_QKG9iVQ7;e-Rw?ae1Wrf=DtkexkVE{_D?}eN%HCXUnk$5Hs;=+;&E*eyfXPl&)UC z+7Kc9Tm9_q?F;_|S+izH;a|&hyt%&;&5hFe6c;%*U5a;PIuYh=m*-~s@Envbj2!2* zUPo-($Xjp|3ICLBi`?I#ehx^S+)i5_3UvKF$%dtmh-0d~@OymHND+wvNjOL@ zb?M{cJ$v@Z50+0m?KGGSMilNW!16DbWAC25(CKy3B`{eCq-T%xOp%^Zl8|uAmMzi? z$=m;a2QRY)SC+4{CZR5knlg(2)|tqrAkbpE%^A7pv9;fq(=TH z#_&JlAJ2V>)yp?_40WwJ|jvi&8#!~ODD zV5@3J_(v>6NxNRYGGJ|Ame48DDN~gxhB>}CKHq{yK>Zb2;2=vRda@2BI#RFKBP|4y z1wfsS;2WSkEU@s`r8W5*XhTdy{F<^pK z8wij*DcBp zh;pbtBCQ|Lc>++`wa~b&NQusYRc{jOsKh!d@hiHeh@g{o7im3Ok>7EDSp2GpRQ`4* z{v)e7VUCtnr}DjCY*^X+O=<`Y^p3Hpsj0zt%k%O0H8lu&I~FRMy<>6Zl~*crN0-X) z-^Tne^H64MDKI*osad}mZ!B1WO?zsj#XSjGVXNJZRqwxnPqtJ+(LfwN0##V`?%P

h7r8fmI9N#;Sb|C?8iH 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 z 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%0AV$t+gV3`H{LfQ?hL2T#1|2Wyd9)3RP=N?!Ag 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
ga@PWdst91`itO6QUBSueO<2UKwA**o7XHO7 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%0DE3z-`WCFmMKcr#Eq2*^U6AGvF?UmQQ;RveAH4 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≶L06~wZvKtVSGz%2 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

a4Tc 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
n*jD*jw%hJs)9 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®M&dXW; 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 literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/Vencord/themes/system24/assets/screenshot2.png b/desktopenvs/hyprlua/Vencord/themes/system24/assets/screenshot2.png new file mode 100644 index 0000000000000000000000000000000000000000..e187fc1ca65583155cfb072021b9b3e11aabf632 GIT binary patch literal 629565 zcmeFYbx@q$_B99z*0{S%a7%Cx?gWS60fM_jfZ%Sy-Q5Z9ZXvif9w2DrF5O?h_ul$` zuiS5Hs^*`mnmJVz)ejF{N7mkZ?Y-BD_@FF!H8)+Mf(i0BjTnrv#FtS-Tsu9nozFNzs zt5!{~iS_2F)*2#fQ%|i`kH`EAmgzkuCU&f2FiimFXtt6#4;AELV)A6t-rXf0O>Xqc zkCXi~PsjIno7vgv>t454H&L;%_OG!1Ic^BSK#1f&$Gil`v&?^aJn;XX$M;e)GQ3th z|D2>G89p&_Ma+Y=n_Cml;#EjUNPb0ye5Qa4D&(IVkf0)WfA+Kq>E>DBq*uuqjKpJZ zEU$6fiQz4%tHaFXv75EGq5y!E(%-@-CnsA7VUP{@&%cofMeXz2&kh5>JPnw=EpN#d za6_h7&gyO1^sBU=wxFh?gP$u=k`NR7D!}S6?+vd`77QbcaGvI^$-0^(*1B-wl>~6#7Ec%_cKq#b4s;{rF^{Aq99&K`J zN~L2#Q(YbB^769IeqDfzhsV05S$Sh?$;e;0prD{pj}S~l{kI`NKseyftX(s2ZHid|#V*eY}JrCnqPXs3@tZ80~H| z_162^vdOk2{>X16mTX|vp(lpG=nGbD=OyxDjX@L;`0?h<8|FhhynU3(K&Z)JI2I81 zA4jJ;HM0m~Yyl5}8}QGTWCFq?AXuvl$My8|5F5@jgUN)wH9)awTi5RR`X|F%`s)JK4iC@}7y&s8{{mjJs` zi4|VL>DO&!SXlY73e)U@f_g8T*}<a#5`Sdb2|5v<$$a#(kAh&gfX*zG~TtZ%gZ`$ z-VpH1{Xt>eypuys_oH=Fhb~pjLmwgq7fPd?sREx;`w?ihrPe!hZGU$xak<^C@=++K zsHEf*u+a*rv0A0qf-dNBI$x5Jc)p&*sLtVeZYJc#WhA; zX7pP(eOjo{BouHhYZtj}siJ5cz56`z!KkObU7!;JezK+$^RnCJ zv9c)VVDSG3HVbm(BEx;5#v-GtiltSfU%n0$`R4Vp)iFPV@nij`5OiDRNqw)qWNVlY{YKur-)BKp!Tq!>Z~7XZpTBT%ah3VwVCy8> zyU`KS$0aSa`KRJIC?X;Px}Bo}M5*uTr#!$9`#X`$H6QkEYzcIgbyIeC&D?h4Ve&TE z8YXCDVl`g-G{ib@$|b(xZ>LD%C=7JJnpO?(Q~3 zGx%(7UJg5Bu>W7%`FOk_9L}d835-^SvvLDTQ>{u&+@Ons^uv+ z=wuT;;}{TwN%$P|h@0mItTtqqm0p>iYTlU*#B*c@kJD1p2Q&o+z5>jPC#t-BiDhuIYI_KBD4IhBhs`rNV~)KtO`nL?>7QNd{IxiaEkydgi|q7rh5p)~=# zu!>!aFV5b2B7^0UC3Lj_{c<-VUNkiZ9r#9m55?^)D=RBU!&TaFN$v?S*}=Eb+oDjo zU>pK<+P9PAbGn7ZD;~O@PCJg?%6?VLQ9-aGU`$-mA~0}G5O7e{*NM3J zy7^|Fv;>M`?-tY5O@HJKh5Rj;gqQIq=4D-%F?MCTyT*Uf@IV^BX+F<|0~b{qjit+h z<(&0@WmP}ZuP=^Mn$gj1m3WjguTRLQHaB36M$wnc0#e(wixWBWTt}GS^8xPU@+O2k zd93FdZbY!dnc3O3E5ULwKV`uiwML?D`j7f4U-PGlXv|FLE zZwRYd(C@kR@xD3!YnCkxcHYzDaqWUwkx)-J3w9*bi_+22S>p)R!Gxga0x$vHVoC7$6fpSubw9+mYOc~7N^6FEnfejDspNl(Wn{OKu2u4+vxqoK48 zxE|Pfi4{KH=AwXQxjmt5xV>Gcw+;_I#ap?2iRZbta5(hJ8mrI;e#T`bbt#R9;f4A|YpR}1p1awzJ(`45v=ea)TDj1K45QRkrS814Oqo*DPS!1R4 z`s7o)Vu7`$CBrBR@OfD4VM!*3=`dA1@Wjx8Ql9 z1T;kqGhpJ#o#7ZZ174iJ8#307yHX}kd641x&!u)Qs2QVd z_`e(*E%*5MWEdx(XTl8^k!(P5PPqBBad#d>@hn!2y8knQMrQuVTl|%kxBnOvMaW*4 zJ@HI|#l^)(t%3kbzsoWD`@0@U4AfsW9p!1jB;{pJNEjBKLCM$ssYg$x7V!xx_SRf# zQwK3Lx)Dz#HDjrboef}!UK1W9-Xz#Z(=9U=Vdr-u{FBZI>)P~*8dxB}yc84`f?jsq zajO=ZemG1X>u{<~w z?OMYa(~(%KILmC;5axw@1Pt=3NuvtP@rKb(k;elXZr6jKZc7HG?lde#82kTe7GR2k54Ea47Q2V6Y0bK;m4EP3S~zq&UgVemTvAd}0iuC=Tq>EvH?74Zt%>r{ zvmp%|>va<{!1-n2hJ?nI>%+MP9zh&CJKn!zi2BHo)`MGO~to@)17doML&&)cY+tH>J73=It}H<(AYUyOz_nB_FEbiY~0&J}QzCrgFNtAG0B zp{A+QPM?zhy@MvDxo7vA0tYlg%ABjT+or(ew`}FcFC8iV7k=q#ACI}2j=DaR4hNC6 z(11Zj0sy@9Nkl7)uzpWwS0ap?nbT^#SqHTz!mL3F*1Qv77_{C&fQE*4)R?gLhKjEZ zI`g7$20eZ+^AF>jJoak`NQmu;kv=UO-jzTpP?22X{CL1Od~R!NYqgHfWG`d@!cm{3 z3N0x^pAZ#nf3vFxGakJ8!ydmGSy2o+Dc`iMuX%P+fr+#4r-CJZP>o?xURw z6MiI=gJkhJiIc@eM7;m>sX&13M>mv=x^=S(OUvF2+SGPwfkJgtZFd>(L1uK&D)s3J({cb!cRya*8U3ISzo1J`Bx) zN<(+A$AhpH6OD6tXEp0Kl55~rX*HHU>L|;0(9+SB|6uDA1YpT?OCEx?Q_B4z;Mm{03dSc3JvmPWRe~LNCcDz=Q=gZ`DdBU70DXN{E;HIJ%$Cv4>w=@uUuS;TLd*lbJu!v#fq!$mD68EJb>~N|6B0~dIgegDD$VQNwq5?c zwi_s^OE+6FBQn>$J6*5b*uVw=~2Cp`xT z2XE}M{L!=Gur~~{t{L8 z$+iAnIx27pr+9>uG2RN-7!0%K{fhx+2YD;)^_&OG)e-2I4{x8WGt?lynwTLZ6-7$O z4>;IC$$tf)eg8i`b0`N)so0|O_c%faymVH>!!z(jM?RF{IcqcbC?(Lq2Ah#9$0 zcs(tXZ7DW$YR6EfMc;``&Ouzb69mFRlUnZTf?23qSnfy@#}YQCWKsPLhj<&{t8OFa z>qe(c%HCUl$+L)lgcI#oe?d6C$xpHJ+on?CgN9D4wRB7?qTuC8Ri|2L zm>m--fRyTu+o8sgSEf^|8qr}D$j}!9UF?gkf0{(&U0$O?3?7|)2X690!OV^i z9cD^`X@W7*Yv`H^PDTw$8B~F4=?=0zec^FYl4%B#f!^@y^B;<06vZIZlxeS?$=-9Bn@Wjo8VBD+ z4T-tDmLIP=$6v?kdkLe`OjmJDJN{yp$qOGsHU1W6rmysamf^99h%XkWtXHk2dOv#} zd;jB|lwCdE_Lyn>ywUGt9f9Pg-Li%kW}58!bwnxVv%Z9J9}d*_0il0vr7>oI(mn|$ zS+x3|xn+(O>Q{aNe5?RqQUBCt@K%{4S4s-C@dsk*;jsML`Yya1yb-5apc*qYdGMOy zeHC;o+w^cfS|Y>CL^f znrCX(@TOD+b&X%1a@9P_U4i8kp>L!L7nE43VGDnC-dPb?5=G1pmTCRo3F|GRjh3tL zjgPQNHxiYk8#HyaWJWnS26flM)5u`h-3T8L5QY>rCVbd9vcruo3y|Pgp6&04PFA&L z$=K9D>d#T&h|Jrhr6;3=7qvqq z4cHeMN@3MamOrln(JTUJ@#&)6aYCxIB#OX;R((>vD1 zzwBRtz?1sK#kgvVCqGV%NlpS=9!7*~cGam=p-e+Le{WbZoRB5Vr!^|sflZLKCfRMQmAy_Um(*K&d;@13jH$5` zu{q5gvwTIc@(*0v@wwg5sv%o69Hc4l0fgVmL=AOQU^&Clc?Wt_`FR~h8K>niouZxn z^43H;ixt~nU>HPGHKe; z6ub_`{*zJ9@K<_-LYUA^98{~rP{Ps5?ouh^g}rx|J_PI(4?kr~E3G(@vNvOxH|5lR z%8{llVBJQF2h1^QkbXD9Tv%A*r5Z1Q&r4&vDBMz$kk4Dbr$l%;U&?8m7D*wnAR<))*e z`iFG)vXYWrA9EcCi;GO|du4;K(Z2Q+-g$|_T^~lphl9g4!M}|(D@ZrjV)^a2d%m?Z zL=#q%&h-ZxBTritP0({7nW*BUa`5IAO{}&V!HDljn@pU;hNE(e7;Y1M{o37!bVd*r zu<_eO2Ok1_o7D>wEk{;Cy81*dX2dA!Zw@`T1Bdsn6wJz6Szz%;SKAM_8`JW`2GJjWAJxL)ej_v)Hne(}j7Ks0w5e!In=uWOmFy@>}FwIh2!A z^A}fzQ2*L!D%dFa(f$$>7q>JlPy*$;BsS^wtD6}#E6ZMME=0mTWweT90*@8{~8FXdJFgTHSf@zm^qU5SH8o0IO`&Q`yuqKeYSXd_N8Ay3p)! zx3Kg5=?k)T_)c91;fRJ7Jeal_^@6I&H8uCjZ0hn$8ju&6n5{{=Y)O0{O$P6234IRi zGObA`H_+m`E}5dw=+4&fyk}=XA}}w~MKt9v%=5pTAKPtuH_pjvsj-D$JXwI9=&;+e zgxRQ3G&&pKKH~oV{Y$5shcS8`oKqoXXUq|J^EH#8DWq-GEj=Qev}KrKq*{x-rU4H$ zd>d$OC%-cb@5Ej4Gat#$=`-5+wv!;bHgVk8u>JjU^2$9Gmxid`MgOXon-Pk130-3Y zYQ~#AQuDAo7u;<2IFL}ypKE5SdTvA9^Z2GV`xSGny9XJ>dgTvzn34CYJDdWH=r8>r zQNUhv;SIlbVvj!kD||V2&Ew(~!sp?lji~Bx^uLtWLv;s#Eqq z=^ED$njD-b5N3;D;f$aM4OK0syY6iwlG}sC$<|L_PnY^sV`5?5Ap0T3DZGV)WPEV> z!tUH+Km7aWc%3J^5-hLxxZd7x2@NS zAj)rNDNyJX(C8tNAOM5>Z_N3=rN*%8W&KdovD3+)hCQIDiV=kC|8{^1Ua5%P?p59w zGSh8vzWt?>+|1>dPbgHByCZ}37dqQzkm~kCLQY;28bE0$tYl{ zyW?0R@Ff{{Ecp0IwJ%(bxN04Jo?JLs{N}d#F9=01JyuoMjl_`}alB4*Dr>ESNbpLS)&DBL*!1)@vu&gAl_v3|5qZOIr4B^|VT<3Xgr81Gu z*B!A7d42IVHf5EA5zdDjB5UM|D5%mBD^7gq=EGMCA=RGj&KN1blJcWohTD;o7U8H% z{KH?C_{W{res4&1w}~Qz-AO@XC$S3NcJBtY1`$T;IDb&n8nVAa<07c1fmBmw+u72^ zC}qbd-lgaj&p-p$d`f-;BXWu(sF!s9>yhd3m9A+^Ph<%)=~^2Gy*28Hp1E$tk0VU3 zyj-n44j8Z-eUfRzc7*u9f}Wc%iTo|K#U@~WSwC(?39a;lrdnvIbEMA7*of+GD* z1T6}8raxdMc-xVrp6?R~^XwJT7=T@9r@|2a`v)pYF=n)RSK^qBc5JOIua+KnvXxVb zoe|R_-;im?FTBlU7tP}1Og8|>Bp%`QW?Cc0L|m-$oiRuP)&=Blpp?WiYLbH)w1%R zt-?Y<+el)eRz*#()wK}#buP4@4jmSYkV_T=+%%!({;K#TYBZT{wv+E)LXbap$Bef_#WpKH3i#(4b(I=H7%71=rB$ zmuz}>Ez<+A;tDa^eji4K$X^IEIyAR9{djas@aCF?6JHLC)#!7zusdqgYs7v-*C8LMYZF6}j#U!-{xJX# zvEKJ=?6XPDMg_0?J0x|{Xu`~3Egs$&G^vgjpOZ!H_HL3yOkk*^SYpH2nI(9`@sPZZ zyV~}wJ=XTlH+iIlG0sk+gNyNOo6INauFi>lAJisX@kfck(qd{@QgXj)!&8XIU1?P# zD~#1*HpDh+KUKPB{gCJQme-R~IxbeCPGBZDW9Na-v-4G{eue5?2pvD3(=FILGxx69 zOSeCPgOTXgr=0>rPgnW%nZY>%!~VkIxL1?!(eB1iJ{=Q^Gid&x@DH?`@AbIX=U?}3 z;0K9e^8kIW;i|ZSXw~JS0XuZ34?o@{<*=BX*S365{^W3KqTzjH2rMfnr@uS9CVa-Z z8S1Ei*E7Klv!sZ_gyL>;wj$r=X4WC98NJ?ysJeKGoL~M6$sOc|0)~>-CUv`NO_JBo z)Ds`iC*Spmz#>f}bdA@rhup@wiTEGFo(QN#W_Vj@4;)P|BbKD#H>_Gp`c{8$Ha7G8 zQU5$?ulJXe%L(7^xwWnu+$LLD*3*d`e?&NFD|n-a#uN*ZYSuEZDsSpdk-!;OCiMVm zRd4e}{z%uMmNMYHY-mXEXhp(X^ycE@iF&iFtXa@_4&&Tnv16?JBcToW?PYW$C+hVG z(+ATvdy*qn-H+j2g3Z*mWhD~pn9VBCkkg*H++#}Oj6v#Rms)}_ubo`rXvEWeDj1vb zy+s@f%~^HVu^_lOX1(nkh5AwJd z%w#^;fyd(rfkS%_ic1vc56q&s=T{PrgT}Pz-zgYz063MqPL+TQxEz7`%;~ z_ZnrdluFF{`GiQb_7*APLY3n;dWSEmRzrz zn(dlJ$m>>({(J%gdhL(IOw9jQ^>{4=Hw^fo_3?@Z561Q$01`Q@zP(k<3ZEIs?i1zG zq=bZ1-S11NF;3|oF9rL_6>>TiG?U^;)942JD;4v(S4nrMcxcD{dLAfS^pD&n2rmmx zAS|t&8+4LYaz%h-RAB7%0-z2M?q&Xo7y;T0)A^S9;;Sa!dMoqiDHY_z{JSSykiw<) z>-_YEPj^$k@8t0<>F7$-Y>Lm0sLKNUvRf=i#9&iw zm&p`sytMJD@fI7(^!{huy!nqzuBoIO716_1>b6@vNo%374@=x8@aM;Xf&s75je3gW z(#A|dIo}I=+f_GAsXgvGxt4)~a@ZS9dM8J1baZVVrnyH7@9_VPAc>HL>EYS^aB~1vUMD6~EkApC&(lthnA6QTo?j&1?QG*D_S9-Q5TG zIM)7Oyz)b5Oof71>(<6D<6q3FtnzO%&MqyR&i(tW3_|{@ML1dj zsvl1I{@?rJKeTTKmxr_>B8DWdk&%%bIX6+z(HDoyzAr2;TAOxzG&iTFxQ3ZSrFcj3 zLgatWgs`yq-EM9a{!^F!4>=aiPI%Q2#4dD@y>)p1_+cwAb!z zMBb`vh2x!kV5?waj&HkAIN4~Ec#86P zG#xz6UeS5#!T6)CRxnvW;p6k@lnPx|8MoTcGyRI^eRAnJP8du2&zPI4eJfsG!|GJaLv@H=;T! zx=s9;P1L>7_fF~@R@aWSZ|Ew5hBQL^zX^cQU5A&O=U<JWIaxIBZh7St{H+ zj6bMjk>OOv{(xli)M)?Fi4=(PI{_Vz7(k7nV39EB%iE2d!&BLQn}JX?iOp``CcTqu zl+}G}&GyAn_(Q0`03T{~K-QmQL#t4I;Wktw3S`~zLhc7`bm@^zYR-z}09Bf~SAIi< z3|}7~y+K;o*pD5@^rG*hhYHp|5q#p=`KG|0EXnD9x>mj}FDYper6HGc^=hZ7^t)Va zwlg`^`p)hAPN|kv30sq~1s1UcVbW?kYk85!E@B4ip zr-PTzbx@JCMLx(fU|t?efgHwPLUpk(#wMG9qyi%-3Pyuf=}TJ~Hp$zwPDp%7A)VNn zx7rw=O137A)}zj*(#`#&-|BO;Vz;fL4*=OB#c_*xaoX@;%Ew6Vm0}QYA0mn{UiX7y|EsxPN$;0_9RDCNKYk zNl^9m5)KnYZm9sOeVQxLzZr(f(@!H8_4|^^cK$=^cTo}TjrbP@f~+oh$YKp>&4$f@ zm4oAh9fe9!7a@!*9Ug@Ce(9S|6nq#uS$_l${T~)w_I->~e-fqrHNPJMJbd}cRE{Lj z@pP@NI!7;?(JD2^c>}nx#QxF*i6{#r5w@hZ=RXUx9uoEUw~KeOi^t4+>~ZdJ5)w8+ zweQ)|8kFa&OAJP@>%}falbDO=nNshDUxSeE^D!bTeFM+@W0a**t6L?2J(E?*453AX<}g!5+_j? zIlv{I9fq3dAES(hcF+R#vdN>pBO$5?ThS&$!y+M{H~u!>-fy*|8=Ei*CXc=gswp=U z);kJR0ovW3tQzCdsjbpAAh6%66z_LA=w6;`9Y2w(?8~|{ZZK33EquNYBE2_rFL6~hyw1~ zG-0lJghfoaN@CNZqp|i)j3uL;J18QVeD976cA4#^I}2r1VZ>h|FF?Eno3DpTjw|7zg>biEsL_x8+vuC)t^J0@a-G^sHNlBn z$r|!jN-EF}5tbc5ym_|=^5XD4PtO4zd}#LcZ3=m#`CVH!9t=oaT-?!+B(StWGyxO? z&9-C9)l02S-JMzd&${mBO|>mBF7=@y%GuSXGSMYA$Is6#Vmv>%MRa!u>P z;LHgLiDCeNa-DdmcPSgUNHydx^|!WUsU4e5sF_xd#KStBa4r(q2{|VpL#EwX5cy?v z#z9#Yg0W=$@Qx9l(mb2wq_0?Hl@)@i-XPE8QPSVF9t(wsx92-bz>BJS?$+`AHb~nJ z3Su~*N`@%h zS|P0kth-tL>O<0>_CznKw7`NsP;u+-phDxguhJ3Z6c0j;9faj?g(|)F7Oq~sV8&lx zbWpk3cxxyKGXoRhc-uKk#9W=+p%zRZ7sNx6UV4*+cYJ4GFKU9gAQdYy>>2f4KrfG| z6vLqxq2)s!M_lJCUZaFSM~jPhq(AgSG}EO}UEL6~KW3kDRmIe&xo$H^-ptsGW4=0e z-#%sy`MJNz4!w22g$5X=P6+EB6xFiusbN}KufH^kg9=wdpn9mnni^%Y$zb;1GwFZ8 zwmelopxc+s+^K&1$D*i4tV(Y5L7I*ovh_mGVgk+K}7{~bP`Z1Pa?)rpW5+Bd-q1k{P8Tm2V|v2Mv!$}6YO$ybk;#5r2q;i!Vj$qwA3~Cbbjuuwr2WY=!VlUOs=}ILF|%}yXteN(#yXnC_RT2;bN^NUxs~w z6u?i!fqovM6H614(|9y9=RFRN&E5Dm)eS}}70;#Gx>v5Mt0XVo`)crFy7UMTfjHNj zr4$rM6^vzz%f9l8Q`zQAv)P{DnWd?uWH+6ODBxiX@`wR%M!~uuXC8m74h_gho=Qq+ z#3Uq5GC7&MPi&@3U}vFJ(}k5cn=LUEqK28Tlyihu=zh#-HLOo$3u0OH12n5HmlF9|2y77lhhkA`pUQp6X7REVzAowlsF;kYOb$!xcltxk1{Nr#=3qfwSLd+LGeF zPe}JG>6p9%X!XMr_NLH+!ewu}e^*eoBeQd)KD)Bsx4DFa?XZB~`G>NnrAlSC45J&7 z{VrGDA~!I1qUSKb*S@^-yDp@lf~xyFnn1fjnlk(Eg=Nz8_IlpUq*w zdtPmHIR5lH8zYYLUHSe?OVNjYd zu-Nb|mMZ%@ge3zP5jAz3G8m{*YrCA0R6)t zWiT5ajJYWL9li5X&Q4EO6q{ai)lhs+@asK4=hKB8`LEb(wkpPTyywund?I?HS`_L>trj6>A%tCeBSky;TK;_JOwtpTrS=v2Q+!c_H!wgM4C6!l&;R2#;JVv@EM~DyO}F4AmSzcL1r9;d0@A_kThC z9m}PEE>aIWCEAXgK1=~*zRP?%f0veR+iEl;u;*7xJ*Q5U2ewM%w%}nS$qiqYeW&P5 z)iN3Rt6#{>ua%U!+xb{rE11r7_~$zgfmtwV^QC^3mk%1U>01t;Nft#SGK{DdxXdQf zktk$G4xiT|_l{)f&CXSvLrQ&0EfdnAm-l5HIEpbmNx2LkeyfH*3-d3Z9}4U?X-zQL zGL)=;VXnzYi@x`pykTUY92tgG_g1J}eb_i5VaH)fbm%`p`DMJwZpQmjRm&Aqmt>Kq za+-;ef1>q9OFyM%LK`?X)2U_F^$e5pl1aJ`Olszr z5HxyBU@{E7?W56ssJR9Sb0bdyDW)axKp2I*tFK-V^k5f-o{%<1d8EaD${L;Hl4osu z_bl{y!ToR%mXuP$FPh4VT1hRYGSsEtqtiOAZM2hvb?(*)!J{zCZ(SKKXaqgTuPV;~ zwXBx<9kjOBtGtW!%O{R60kTASjd2ah<+W}mB0SXwA>4YAUE1Z>nyVSq2|VlFs1dK5 zZd9B3ZLDA~d3>Y&Yc!g5RU&l1H@s~AS_3CrXlLZ3K6JdT2a}jTHLSFhdMznQ%j>gH zFA%M+pw|xL#Ied4h9$PzgP4l!-X%A$ALN6Qmh8t*R?@IbZ99NU&F$j0z7PXjhHK!g zMK;`x-+dv4mHN1iwpJ)q1YY{HXL1HA5x-=fV%7Vi9p$FpD`B?BQ zg3l!E#ycKR{C;5*f4PY3nHg@!C_lMd8WNRsG}=!^YR?exx81;rJOaW*lW7Irr>O&t zGJf#8!ihq9c#|PMzin8a+VgouA}#EdoK8B7fA(FDq!{09pMF0R*k>H+@`@7<)y;O_ zn2mvx`~;lx4-=%9vF7#sP?Y5_y6p~Dnn!r7Z+Rl~ph@t)dP(!}LPlsakXXCBRq{OY zwJYEyzQRlq;e$QW9oWF&fYh5G{p|WU%YN}Zw=eNxcRv>6>3VVIB>VE(E3y4RNr+QL(IHIE%4_gI+}__uafNh)lin|Pnv4aO!-CEk?jIH6R4H+~~lKC->QaUMA^R;u3i z$JEuRJJ`P~|6Pjs=X!wUFmr$2= zmmFz5?1Ipi`{X-?ce;;k;HIB?nHaWD;%myW^lRbW1;81J86wTwa7#=;35@_ zgdu!RqtEG0Sujy^jDu^^cMh22u$vXj0%ivJ?hQ|iabUCOMx80Es4ot6D_;O22y-%G z%ipmLm38;lkq~VE9s}Gy2pGbcNX)d@)c3_>zoVb(_l;W%BYE?NQh;mJ3G%i3vm~0V zB=A9@PiiJhPWhU#R-2&xS^pDG=;Sm1 zX=Y_(Ot&wygy$Hqr@tLJlW4wy%dwAmnn)j8X>i{x-HyD7hfmsnnl0E^e!BfTn(@A8NHn-SuJFt~ zY;OGNhQfxG?~4#pvF4i-0o;O6NdM0q9G#R=q%U`~QS+zSJbNGyeT_q=l!)(~XM#&x z-=f$Cy$%OV1iDeem_Gsm@RZK;bZH{Pj;E%~(zp90@k_sUMoYcbQy;U;Ki5#pIjfxCa%x7i(yY@E8SahskLi2h2| z9->ivnAoY|x-+_O;3aU6>LS!uA+yBjOFHfA5#6lWSj$vue^J)QcYri(Pt*5|^tkx^ z_S#*+b=im+CH&;@og9)w>_um<=6dOc8&sd0`bdo^kRQm5z>Qkjo8-qtfBd zd*1ho$M)gqr`>1N%P~)%l8$fsttlw=YOqp%;nr1KG&_%WcGa;3o3$No#f#*#c!L)^GgM)dDA|Sop+VKmo#P>>FJ@hX_tYi6B3&-N&~ni z>L5_5s88{v8z^2K+p?N%sDw%Gtn@ zD`x&wU|nC+t5#bDHCZVHD~|`re7QQ?YDyN#=v|y0h)5|#DyOo;Hg~xBF!D^*$J_s- zWS5%lvY6~rr**LiSB1ppD9oVIrO`h!wHNPDiKn98H7c0rDo~h`9wPB%Y|u6YElFQ39=pbBdj&g{52ad)Z4@wb@!QSb8nd~e|*UE zI-qS_py~NlI)Y+fC!&9d*N&e3>gd>a4m&diP|)a5 z%q03|$e-7)7|1&rf9?q{Vyo*T{9Z5UBv@;?QZ^RsM5ygaj`+0WBglgGy@wZNxW5=X zt@FjZ#f>i^0`G^2+j_3+YwYu<_3u;G>h1}us;v*dGxdbzZt$O3egZ7cs~scE1FqLEZW~iwttqq z#cpenQ`C3_^3!y@{%OOJuRSeikDQyj%QvcJLraVqE$HqLQ3wb zL-gCIdR^S^b357`z2%7gD*2bTic&57l6P9#XAN;5+=+;BLgR94V$>}T5}s;o$R!6U z3{^uBvqg8UDz7PMG<;9q9c0$5FIFl_kM6=Pi{hp9wYU4yNxV385#ByZi-DSxk6Pv} z5}ywy?gzd@8y$E6)5AWlwlXG7@LESlGD-mmq+DI<0lT)CSE%|&wJBeO=z7U;Q4e9I z#_YiIT&2{Z^b*pxRg=r-b9XM?4$A|C-i&(e(Lh*B&y4Cw_PS1q^bg=1;HdJ?bFccq z#hnLEauoy`BYja2bHv5&Z~drFA(d-MvOP!O$k6x~d^V!0b>86?<$vybf8q&Pn?7>qVJ$J=R!0bvaK_%hW4 z;M~bxhiPa2!6tp79k!5{Td$Uv3$aS_`)<^wA_)|`XP#5LQThF_qwv|}_cF?S&qLsi zEcz{}OV=}lNe|x(uq}*(a{Ou`Dn&Xa%6_Di8GH51%xn?|S_^yHjP-{)?vx1awvcXU zRVR+~?ALuW`;V`v6E7RCgM#G7{nO0&CNpk~cIcLJLmj#(1Z}QH`#4a0>#@V1UCm%V zQPdni&e?x#&-^8A8clOzA)eI$q9rn#8~(Iwwl}a$Q_W~1@OwSQ#PUolO`XH04>anC zg4e9~fx5)N4r%70%}(i1t4Z*^tg`Q_B%nXc>osIMu@q=RsQ&|sQzpO0&Lj`A0kMEsfTv#t!9q6{5^ z)^z7I1D3dv?;z;=55v8GCK{-%oWzK6H&I%NN%lSk+d7`D8#Xwbu$#~jpXW)>SI zQ}x5kz(dINcz8HEc*jFiQ}Fz#zfI>_V*k8<1h_d#WXfUvg<4HLnQH7R4m{cszM>vq zVaLv`w`6K}_ssV``*6poUU`06`JvD3K{4pN0m7TEWC(! zt!cOG+u5Xcdm~kq@+W>3cR&Nn=^ZB1+@M@M9<#Olpj`dt*SDd)>opYulc(`w6LpYA zn0lnA27jJ%_61S&VNB(G5J!cp64~< z@~gelGiMD%yi-55YmIv=am`HNDshIjGYq zGn+~HVx^Y5ys^NggHfpVol&s%-RS$kR!_*pGw}Jj*dQV4?`=`P4`+XK8=c7op%uMR zZzRo=&SKBD`vWQ22jiV-s#ot90B{@eaV+@p~4TA-n{k?%EC!X8d)D4Qo6 zxe02*uWrY1n%s^u=wZ90#&c&TB2N4K;v0wcNmTIeJ*( z<3*s;-uy5FEj76arys3l<09wf3)Z*0OQ^lP6zw$@=TG@n*MO5c;>Jw%BDKYwNUz&dLi1X@jbIAktjJza(7JV=#832x*l3s3}XW+Gz5kOS47y z)c*H$9@<@Zs{E#Prce8bM)LxlH;UJNX>#vqyhn!U++&WwEr0>13vgQetQI~bQpv8z zmw!^mhG2->at5-{$3mte=$|hKJ&KE?WR|0t#xUap0mv%>;e?OMhiy>DL=nP(ESR#_(T*j`!M~5>Oq4WHrw5F!5r*ahH~8 zJw)~hJL|J64~tkg>b3vJ3HF9(-8nvKBwl z;jK^{nR}79vW68yTg*QGMtQ0^U{OsUS~Gl+NgYdp z*RVo^EGO1cSrPr@Yd<(5a-&B@JE9`*YRLNUTd()9(Y#po4%A2q-BIJ|*$3ksDe_Oyx)~1DLmmzS$y= z!-qFF&_U$fKmW6wPLLm2HRkwd+Hv#v$2(-bw{sg(cVTDf2JNPIBb!?fDjMCnCO1ct zK-Y5`4sSm%x4BQQs0++E9}A7VWe{}RF-(S@i0=q%VK3K{yxJb1M?`u1Z-bWBjUrlh ztKF`fc2MKQ<;F|Yvho7x;6Z-qf{N4BTW+6oZOas{>a~!PlYb;|KhtOaI7*T~&&;*a zXNV=YFMTwhNQ0>b-aNO@11C!*Fdw6nA>xabpTF`V6X_h#A)Mi4#I4#aRN&yN>cBzX zT4bw5EU?ej0X1{0cavf$_$3vcy9TVSg}ezDb`nmNZZ^^nI*d@YW|ANW!$e0L3xGLP zO)u(|3>Pk|2NKt~6;;uJ*|S!X;pmakk&_9D<5IkyTzbqFvc(Drq(~1^L>LET^Vr`t z(?h(D{uaMg%=>oF|90gm?Q;v6eh3}()8&Xf2 z?8P)H5Orz{o##+U#xpr53FggWR>SGSZe^#K1b%HQW}DGLJ>>k?ZNmQ) z-SPJW>96&Y>6XiqeX5M(bg?Nr*R*Ret3B@B{Gpbkw?-ba^ohwk@%YIiRvnKo;V;gj zpT9ThdL%?bmDG{j+~5}QYH&j1C@Y5jw!KMxk+&`x9k3_q1!84qq7$9?6BaySkzFZB zj?k(45Ql6*6gCO7u*2omxZh=Ny&3d5TAfcD$mS=g?-XL7E8L`@vermjw&oc`GK-@e z<{nop&SMmxOsCvcWR<+s_ak5Y?27Ce5f;nOE?g6|VVwX_M1R!h*zqP!Cga94X3QiZQo^g{G6KDKIPKzE+T3%=9mEn*o_d$!(k8VGCf zq?&gSXo_8yRJMK{ryAPtjV;uc^17`IC$+*!1Bb#9X9K)H0e+A<7q2mSy_@w1rASl< zzzl0KI-51Al0fS^`qX>dw{qX#aK2f$QH?7x@CQ6k8nC}O^ndlrDFvTICN__$EN`>2 z+ZT1mhgm0DXy4-l7>Y@pc*1OLj$$TP_MDGZUaEmf??*^~kh+s&^N*`nn;UdrRQ;Zz zoy~V&Woz91eTalIpL=;R3mUPO{Xa$WZu(Zi6dcbYBRAXq?v3`b{NA)_!4cx?AsF=R z=6)DY7b(U5^_=SSJTGzwP_6>I@?=NsLPGF}w-l$&N=R8(^Vzjr-s_BaYzoV zX)^a++gZo7|arp2K1^!~OX_@_sHq-}}6> z3Zy{F3;YVA#Yf|Id|c_;@$%Y)f;PA%OzeFm7osH9<|{5m`6F>t?m1Vb3#l9@J`b~i zNKbAI-^6lEpY}-I-~bnbG5kqV+kB07%Fmkh@9>>s6Qwfjo-uY84wu09w~;Hu#xhFi zFs41($aqKuVHTff2(>e&I)#S1wjH4?LNBuobADTmrixDxtStW$cI9P*yBk;H1Xw|g zqIBPhDIASxPx(#?4rjWlkG#rkI9aoOZjeKc*!WCx2m2^|Pp@f9%z-M=z0T``>rVGb zG9uz}`4*D$G`h`9?8Z1gBt%sDgGI`v=#J-ghrb^#PinQRO3Q7YNSvF$4 zfn_uiZqnURYNG-hMvk#~Q?x9Os%p z3QlD{+lfSC;1f~K2{dcbYppAa`Xyzq$#cSYvoy5kvcEQp!gv7Xx!$x~r}$ZsciT>C z96`&6OX=gGzn2j8Jkx9-2C-XNNd)CHQ0K&3%{po$VIyT;y|dR$K7GQk5ds(+uI|h= znGn&Yobl07>(^_iT$0|J#8fmXw>?oTUHxV4RqY3>fw}nKQmCjNfo)CtD@(Ng8y6mz zBSA!u$VHEWjXqgP8*3L8_SI6;0hkT^R;qFq7aCkTMCN>WKdbbNnBFPlT;;n;k`i4= zp#CzvQTCn8n!E6gz9+9EdNq1Ui;a$-l$;Z7kp_6&5MD=ae0#vGm&=3Z)I2-MJH5)j z4gN^C*CFAlCWHT1AucCYL8g;vPXNYLDXE~&s?(0*)Uih^&G7HEuYcO|34Y#{DFf3< z28aB7|5{|(VKm`lDardNs4BQgNI!MLOf@&W|7uJ#RUVR0Dw)%qt-m~>5!ZZX6v)1b z!3!2S9FW9iFnrA(Zj$bpRkU)Q{HY(gF1pM_*MTISVTJVhcbX(z24mj5r%#2ZxSBxh z2vV_D!lxuoeo2@|TXubCoP$UYgnhiHLYpB0PKR)?k`6K`ioihDJeM(qFL$zZEbLKl zlo|F84-^6qkPMPn!La$O41qkf`yXpNUunx&>kb#%O`$ zfbx;%%|%FVk1FU?dE9r?c#JMzrGXQ`1_RJ>TZ~P<4luXuqip3iA zt{*W9>sNP@AOIg)^-oDLAdd`3Yp%aT|Rv;Ca`= z^QpODeR9kbXvt?Y>QeCrsyob<5Nf(H>D~^H%)_KzSX378$KDqKKA;hVdrdfWIQr97 z`;R=;S|`y+SQjC#@*e)5TdyUh^d>8Kfb;z~jL*95v@9~|EV#~3g@r?IF z8Mghagi{Zi?~aMhrkN6JKZ&qxBa;bmk!H1n>sEG9%Tss8v6a|Kc$4Rk$Io83+@?kg z45Qwr&{)7l0cQPCU<0RWT$nK9p=oTEBZQ2mSno-G2b;r)-)30JRhV--Uj=Hnbs4!& zwx~+Ic|)9Y%mH5hNYj;1+bQUvzfhJ_K9tpakIQhGA4owPbo)T#_g4~b1>F{FKsKjyV>(T}y-i&bdzno0LX zczTA}8sB7Y)M}SIz3(?wKIuZZyf?`%)9Fr9x@j7DHS2(4C^K<<*+VTw8gP8gE2qfv z;$ubzy@YMW;P1qMQlm>T)d2NkSS3sG+AU%2Z_4(WY$I^tT95`>-iww0jrv7%Zw8w)GwjoVqa$5^+Zs2cl{7q2BP2mZUC%=-(hpiuZfR#85(M3T`Nf|o~-`G{a1Bdq+$M@$6f4F*qi{dql zI74x?AehQgG@s|G*R!0`%0qXN^Vxep!>$~$6J8C!Q#&xzO1vA=YG5g!%?Hxx1EGsR zxV3I~a81l}V!zxC$E(JOvV((w&S ztVDc?zZd{7dhp`1Ze`YW^}#`icu(4eQ9Swll(_KaXr@p!Rb5z+{^Kvf@}pXE+i zN|t#wGmf}>;GkGn)3?B4_l>TW8j6187DUV~Fix1Zp7$t9?$@BxW->YcVARxsqCgY< zGu_r45`qVu0F`IOAN5`t%P{IipC*%YEQP6SGwF2IKAY@1X%9fnXmH=1zi=r2qIUx^ zX{k%u27(72^*~~sUgS~6A@^|dadX~z^H@ZP6vU;yh_6#cy(SDIlHU05#be0_juW+zp$#oa^(%LDsggn=e+?iJO*kmdd}T<*Jl{BZys~p$id~C`d@I zx847yp1Sbouj`xTkS-*2J*sY`0(emP9DNjV|H+=I43>UiyIVbzF%dOzl7> z4!(5TN?VdTd`wK{)1HSmn@t_ej$O}7$2DpgX3|%sO@=JZ(9*8YQj^VxyI_M?fp?Tl zcY~j|shDQ4_(me0Z$1nxceVU`16nlACDN3fHh6^nG4!K(Jr0qy8V6+kW7j+H_xCq*LJ7O5EWWfN3uSp5ATr>P7%S|xi?EPL z|1s&hs)~K6+}(gYGJR-|pWM`L8KQKe#`_QMUn@(D^~h_|<|4W~wOjE6DfP$zL#$3E zB`+6phQ8YaGsZd6Mfz}1#`keK(SFAn;rUFHP~7lg5ckm`?vcso?#ota8P+qtQTCXZ z{!J6rxi6}Bvp>o2RrYd-HAMM4lK`F@AdpIFSM926GCDKS3;H8=oC6RkeXZ`7< zc#hD6MaWv}l9QkjAJr&EnS}?IDp%-P83Am(^bk>gY zEKH!A(v=ME*If+#-1{si#HZ_qWfyiOG&U9T`IY6+gOxz2zu!G23wjrtT>onq%=!Ma zv?n=lTp=cG!2j6{$MXNP8H)H!#%TkW^J>l)mz`?`#(wj2fP^ha=DgSEpe~WpGR!mX zE7y^OE`ts4p;kKS1zRpixgwt9)(I=AoH1I6Ek`Q1B;a>wHV$ewX&)5JG)VB(=b5QS z?$w}D?Rjvyzyu06DDuD(sgjY=h6~}1Xpg#pZ{(dGOrnu7c^gGie{imgBs>uHSNHDC zgF6jpq*V1*N@R5(!BMs5FM_QqlkY5i*oSH8_HzBAj@_;T2LQ3lg_zBWTDn1i+9M(J z2<1V>$x+YEn_O21W|^)Dll*A~-LAYbesDTi5nFM9NWPd)lMN&J+{3+tBsW^cn)$(r z71m@hjQ5>BE0$8@IN8PQVOE%X_f35s;(@L|A94%!Pt@?83IBeio~qJS;q(~r?K{qL zIVivCU7HaEV+3AdZ(f*BKYdc+pc^Ol?%j(U0}YC^(JtoGs`(J9nJ2Wzmr^*Jt?AH) zk(Jr9P6|bs{GS_BB!_cj7ML)avyO&~awmLqFx9oJD1IIk8%8Dn(WefR01(=JJu1zg z#__+H^^L<{h%L^Tajjj_bXMy1aYfE(4yhgS(P&s1vC$}93^q`=@2di9<4zS$s!Nif z9gwg?%dCSR#`l^_G;mRlqRl)APO%n#f zX*ZF~z-@kcT;reg;-XZhh=lYKkvTH;RQ*R`{F9?g;1b_6ByW!l+yWHW00GE7{qPcY zo9@>(g?-L@MfzdQmiXbPlj`3+NH32sN5A-DaiKV8Qfy9>-IW_`l<#i{1vB?as$I;d z+0Y=BnqdnB1IgseQK@HBhZ5d1;uTJ&e&oTFHwc`)^zZC1T&V+$zD}qfzD`y5%Tt>G zy!E5=3nBA=_Nt)%FmDY@YVUPR*sraaqA9*ZqFH{=w!BokFEF17xPRCbMgJUQ)1-4z z-5N+krU@v~A=8SenSJm^Yu0<4MnmH->LUnjYu|d;2O=ECR?4XRj+6N%}ZYh>nup}C|TUEU@C)qL~KFa;*S%r z>R$LvU#G8M5_2K2I3G1^6`z9s;Iha{!Y9DJa5@nbkhAj$k<_HUOW|;AJt^B1>C0FB zweU0(+KL^we0YLN%?bGN zV}oOFUf#g(BG%CPufaBb+m_IiygTju6Q%h}F}%P>dQS+#nr@i~rxFE?PP>!zZhGkb z+oTACuK#HoU9Qh8G~NC5Bwv@%oP-XvKl=WD$%D8CMRTsEK0YFuOE22>vpbCoXFW;DnfFt-eBq9EX1j;=ejQbvl&%zQf&@Tf54 zuW@Fc2i4wv%O5qh$r%ob0dNnjcs?LjA)0X>1Um_8(Mk&K*48^CiVUFN80UzVK@b8K z^QAdW0}`pGPiaR!h{IEC`+3pI9x zMhqB0p~g0!Z+UO*Mk{0{TAml9=>A=e(k&(P;speWC?X0LCXm^2goLloGxJ`x;7BNM zXK7jj03N4$=+4LtPbsRp}=ask75mQITypvA=@SU$;e(+hjumt}L; znPzlvpA3Zf2PRPe`D&^!GWYDIT5A_};ZR?H0l_|ICg=Xk@TR)$FZQ{ssnw!~KyB@# zQt6PD%H`)lx`aE@6El^8w1Q$<5}v~Ob!KdJbxq61%>l$B@aOL{JZUe98Dmf%x6~&- z_3ny*a+*gi>YIT|mw3r<$u>5=Uz$wE`{Ifws&*EPg_DYH_gGJb#YJ&c_Sxct7^?Hq zLtKq&9|&7&AhGwVR98LE*1of>VJdsyRV(mFL-puaSzg%n*EnxZg_3Oh4-dHH<4;>= z_Pz5?p6GcoYQYONCV0Tw$(xE!*eU5l`F==!{BfNgE{oz2r6k%o&0}(O*=uboC`_!p zSivr%9y8!%GDnSlh8VS`DmpyVcmlai8@rf7hEA_^sE_X}(Tm zQ&Akig#wG_Uf!pp`So(5<&I;x2ND!ORgLYJ=Dt&lLy*(_dbJmnDuF$Ep1M_k3wq@L zv42TT7uYYO3mhMiV)v3sS7fyqvE_M9ZPt^_U?W1@ngR!PN73Z{;R|#XWeNm}&+qJa zWzLffbsyMEdX+e?cF-&3c{ABxLZn6N_vY$QGal1;YZnOOZMd|cHXbv6H@z7g6>h_Dzpj#P0xv{lt< z`VBndagsA1Q26NPBe76p)AzP9Yk9&uXENF6KzXdQ)aODDvGLpz>qMm!P(!Bg<2ag+ zE5tmmFChnAd#~!nVN~pE_Vc)EzK%aUu+ve|zczBdPWdRp%JpUy2)X!$F{7TpRb1SK znZ%MFoqc)FTEeVC`hWvofk?I38(qR~Hc~A(FI>QyDHf}4~-R_>xDji~$ zUvb}T7@9uXg4R8`jm)}^djZm+I}uTq zlwlcGB(4D%dw4tP%U>H78fKiUQ8ITYtX51DaFg?HfW*p9wH~_SzkzaG0Kn4ocs|n9 z{RYnMynn`sz$p5=54DnhP-~(8z0~5`6e8Z7b8K6kl;O0Y-uIR_+lw&w_T#aR1SQQF z`lZpNKlQ!&SHY)1wyYsaoNO_f0PvG`bp+H+M4O1T=Z&SGcjVE*)Kp&rM?5v!`a17iBrk>i_x=?wguN7U z^dOr4-FAL!8S*JZaXiiox$b`}1@y0Y919!Q_qu{{!SP47|1I zyEbs&tkb_tx~f?pkNmw^0p7V}PzrM`3K^l(5i~f`Dxh z=g|9{W-tUNETO{H}WCeM-Bw{iVlkqd#SnQY>uWHQ^z?$w@O*AEUT!IH5?cj zcPt2wYY|Ja-T&597yAFXBgDE? zk19R|Y=XvMt6ZtRJ>XSrHRlB#7m>!XrKIUOi#VH`4EfY#_;PuDYAqWO1uiALQQXZs zIkVSNy;r1>cY9aII5G@WV0<;R4V82C`1ht_HgXKJFjyE$ckp{J`30j?pZn>Q~5x1b{@X^hdZZ__7Yi?r$2Ezu4>Dq=47G$SJLQ zV(3QRV)CBUwFAYsy0*K`ru#)6Rlh=3X&&bNb< z?@tSC%@gSH2Z;zK#^!Br3G6KS=+!tgS?2(b+noVs1An7!EMUC^>3&vkxpPe-RSO93 z$=njP}SL+|Rh$TmA%Zy=!bd8k*V7uFciIVKmp{5wiwxkuO=t4nS%Y?^$Q ze5JDV`v_v}YLxN5jJch!fzV#-k~<3L9B-+J9^zvc1fEV|*O zOs~AGiz~L1?x#w~f#s1}OrF#Fb!1Q+9J&q3VWvfy2keuXhq{`kbvdKHy!eVxQw6Lv@};zi62Yy zAq`eFXVPi>K zVV1FIj^j|2lLZI`74MbD3OLUXedJ>_cz`zE`WTSz&(5=uMYQnV7!2-CdKUJFWb>d#Ao!|c4j zE+;gf955KVXq4+jc()~8v@#SHdV zXtEdT2PiI|3QOF5*EOACLc?^P-IO8L1fFKYA2mtoA=i(QvH6uCMOc3x;O-upWOQ>j z0XiJjn0FA-2_ehiZ}j zQb%=nwc7r_4w7I!s!}!2L?~%mq?$(8)J{<>PIOHwJ_pChVCEq^IU^0Ol-9|%ugM+m zshj-aV9@^8bMqHV?lGlEXNztO2bXI*>~zO5rD8(h?*W^SOJBR+Pw zL8RcyiI79Spq?Ld$K~>K6FOy`TGg_LB&LfdgcTDPP<>K{3A1s8p3E%r3VUSFH zq;S;4vyhk+*~eA}oW%Pq-2LEJ90O6bK=Uj##`(5<;Cnu;s2wG%5AAf)`PaIDC-j>! zC)$9~InJ}gKLX-o*Viw9s(o|&;`sH7C3!kgC$Iue=vEros}9~`>h=3(#V})Fq$FfL)(xHaC{UM}MzbdM~AoNhowF%ybN-2bFNz|{j`BCX?J59QE zh%t#$)$@5lTFUsrtpr`D9rKmzEeXax9-2SbN57hDNeC|?1QV}j_|I-Qs_>+&hNr8# z?w?s(zSw#d@KLd#uKQx-=GhUKd*$nAsc{)@#UjKJ8I;AF#pTmR(0WdQPdHDbxx{SF zJFGgC`1fgceKDjFgzGMhWrh<;L%i4M8B`r6Js>p)BRc8fmEq&ZU)p78t_O}ee=Rp6 zibcs+`z_bw{Eqs~`4!HdLzKlS8e9_78Wt*`H) zaMyv#LSrOi{$1gc+6Z$?dPl05tm_&%Lr0!ms_z&|-1_7*Ty%Gz8UL_W;NFNDv z!e97am|tlyxk668oGO>6tUe*@@nU*+ub>m2-po2dnQ-60MZLJOIe^vg zUgPkEdAOa~;}30^dp*CsN559Ub}!AfcFe{jGaRYV<^t~TzFU6J!D(mqql3kKO$940 z2O}bBNh!E*2R!-y*E5B%WWubXLZ|jn(|^k)bTM?!R4mB*jqM+IPz3>D)B5VxlDC(q zKbQ2<{)V@4=8ulJ9k5)sC(rVmmlVD_)5*S1P5cnX-1Z{vKO|WHEjJO!584+p3IJbk zp6h?e1G7m9_R2@}{>lbnfS78i_&&KJI;jlPL^Bc|9Gz zjdgil(IxCjhi9Zw8_C+iZrf9acj{} z(;AV2JhmQe+f*qvM!anI{Ku8;n%#LWpGOVpl^PwXljIXh_84}}b+}}-HTox9I?ho~ z_#k9@>Ns{S|Cm&B15h1KLRQ)HyQ|$6fL;9otXvj)QU$^m(k6U>W;SbnNSQ2fT zYc0KoToDqIFs+LzR=`g0GIOZQ<}1S*4}CJN4ayIoOYVxp1U5tkbUu&I_wXcJ_4b+O zr{Nn+yHEd<#oF1xQ+b2lQ--@dcw((x59%%d${Vg`lc$qE6?2LRQI

bL6YS5%elEf4{j|Uwt)(f6c65q;*jv5LMWo!lmh@~2^*+5( z&Ja|{+Ryd($+eJdK7T(^?rTUpokok5h!zwSbnYV+UDxfpp(-extT6w9^}Y_8EmgOX z1nh6TJ|WyYZC0oIb(816I`#dj=}zIUv$#3$=l8uldyirsY2D51?VK9g(v&<_`zff2 z{D6I&b@uU zWmu7m%cbuDN9|fgy^%XxZh*r+h}S}Bfj=ml(^;?$)t1>?U`dn>|!(L;mtX~ z`Iw~nV$X7(S$qijmYexY*K*}Gx!D8R1zyIw)vo6%B6|V311q(T zM7;&iEq53BQ=_t0=SYJ=9$g(x4D*Am9q!ZyA19?;I=5Q=huW% z4}uUQU%0iyNR*4;?L2bC8Tgj<&J7&g8sc&KnWO_%%34_K2U!6r*2k#2urTqU2=z`s z($ubh8;vJ#+A)t|*nz;KUxErf1*XQcdeLMB-7~e2{dlwT&k)qE+wtuK7Tps1M zOQJpL;CE7#53yD&Ut&!d<-n$-SZ`VD<*OvW8QP`iv zNI>u0Z8d@tQqJZXQKl(gf&14gYna);JsN>YS<@!>Ov zM8!EOR)Zbf^#${-e~Z6BO%1ZK<6G=7tzS%FU~bo~`SX1ir znb$^qASEqrbRZL%g$n7kf+Heye4)$HOa^yGAokaS^MgyIv2#|bgrLqphBvnHBA(VU z;N!iQhx7m7MuPtagRVA|hy10+M`yr%ZH4tN6{#ZeZbEixLfZO!8%k9s5gT2quQ%Gm ziD@>k;dz61nyTqE|J}Hh6*1WHB*JOpINPBNoOUgFQf|5-ZUytDjhF3)Sr}pTQ0N?; z2v%rM7g6M0BNbbh^gYe@Pbh=D1vZ^BVrr(wWlkRdM(MWiyNOj*+>JxSAR%26Ix!c3YJ2KUA@b4gc2h~*t!-aCFie<+ z?g*jPzyt`a^5}sx|7TJdLj(T$2mJC|K3B2<9#z&0Y!$ruBMQmYiW?)Bc^{_}!ulEC z-D_{TS8|NsGllD>#NrYkw`)URjdgI>E-JXK@iY7EGNubJiFxfvo$k4|ckH|n)aCU; z1TMxTXPg~eft62jsfdc}x>Rv+~gj&vT5`yKb< zBCaIG(i6O4Yd07!&=>D}&9EE$Fq|G#G61t%`^jwnIdu_FNI(_}_Y^F_>RDL23-Arl6 z@5VlAN+0(Va42T}8E&!tg-DofLkl@LC$}DbsCN75x4dNLL0sJSWoiDRnl(K{l1D}A zYvw9+LdSIV;Fe}#P}fuw3dDn6CVtHu*cTBbv@c|3)e1;(WczJ)&B(zf4)o zH-^y_Z}+v`mS(X`)J z+ka_t1C<&$(G>et9N0WAoxt)QQ;~Smqf7$dV*}c~fl^RsRKAg&&$k@y6gz!I9#t z^wFRFu*09ar*3zqExI>uc}Jxo_{VtetuOW~-{vt*xOMTDo4)rTCw=S_)6Ds8;QHz{ z<@T9-PfH=L{B^J4!%_uA_t1{ql;EBrF*b+z^@%7B@7aD^9kkJ(X3|@TW5GZIPoH|k zyU>|vIHuuTAzC0LLJmC98Ol-vx_p|eE#xC zN|VBa^7mg|4fAU0nFI@n7G|a|ND%j5`7|%SX&QW&`%pa6mRx)-{!CQu?9@GO-uRmH z-anXdbwhJQcnP4g0lN5z!_x~x-}dxljT*iW<-}o@!^)ecyba#8cr-1`Kk6x!`54jh`O28qAkww=I?2CL^b-uQpMcjHP2d z-#8>6^&qQ0@gb^0#hMPf;*J6@OxfQC{w~Fs>K&nHaEgxHHv8!Ao_+u3t-d3TTCBqm zdNNCI2WF*5?4ZC`Z;xpk8<5;wmdrp`$*3eN?m-<2HHRSjDP+wL9)iIQUT4f-)>Au+3~KdJgJa>D1o4wXN4mO4`X zcNHV}Q|aW)ZA{;e?!@d72uHHrLk8Zgo3PZ>2PEzo5WR+O8-Q9?y70pB4v+oKzb<{` zZo7PJlpsB@V?MG3lBjWn++ucCbiuxG(J*?33brWqmDG)o(s4T1UkRaqH>_}U2&sR{ zZ#WM(n+$?qUOFab5&gSgpT?ib2OadZl$y7Kcm!vO(an4?n0;cFh#XzT1y`z;ZN)mT zJ@wzdzok@T(9JNr)El1UywtwqJNwXm!j%pd&Q6AU0ZQ0tXDPl1+MCRW5m8-k+VzdUMcD1occ-&n; zAPSu71Bka>#CBSe?fOb-*B6){6Qce(;jE^TV|55^?p>cvjc;|6!xY>C3$nSCr}P?t ziv7yF;&hYeuJZFq;WJ@dHbl)%QF*-9C{g)>72P`J`tTMO%GPyzFRRf7QpxV_?q?Lk zmwSmZs_LuWpx+P^YK;4mO(*b)Y3aStpD%Jv#SK1xU-lN1JkN^e&#uLM_obwU4hNat`zsXPh&w`J2u@7Odfia>M|bs<`?KBrQ19EeZhc?g!ujrP#$ zu5f=~zcrV2H`SRJV2o>iA5wnMlx6)|f3O96le{Mz|L(z`*S1?n#jk$eCvb>O!JNAc zUhPE97fXEZwaMi?r5h&D_$>$ztkuKU=`6)(Z@!qVNi8A%XTyvtNkV&_7kGG0Pu=_J zpbK|BQIiV-OI@bZqafE3Yg3LF%A|+JzQ36t{bRyU=KZ!ze-ER|H95CB2bBoQq*&sc z9wk4*n2AVCmeVsd@&zXk>exe8q^EA593i{uzI{=`r=+y}uF$g8{Kq<-`TUq>)VZPt zztNGf^4k#BxjbXzzDkXb1lY9p{;OmbhY3DGJd42??Z_#Y9R1of-=~X&2w=ybKkpTx z9fvQ$Gdpnfy4#3&w^aK){qSKnvA?$VWXJ8V0LfeLE#;b1KwpqFi#GQBaS-K@eQemp zxok+tsaVI`pBTR8y}4V<_+>-p$#R)p<#J+;tL6?f!ocQTwILlWUlpeg7xwyEiRIni zW4(ba=dzR6su(ARxOODR=^aY?@!h2W8D9X6BDS5f$i7QKzG%)xU=?+@8|tH%lk?*a zz1g)7%IS;fJ$U}yDfJJBB5YSG!a17|_oCcf;j9@*1`I+rujf_WGriUx;$Z@boy*x! z=qP*69khwZZJadox#e%fCJ)!iN}g_^zE0%?tbZ>lXzd$DM_S2{+}iv)5sk!TP7t{* zp6YB|%TzjR{W$x`i3CYNfPx6DQDwA+?x2@VkNTTIW-eFk^=qcL?uE4k?*C@xke?S3leZ&Po#bVg&6iF>goz(MxV^5&!ntlVya;%SW1IAQul~{b zrgrzcA}c?3q`9K^bkb<~&l`t_yDC?M(7auCKN4n!$DKD%xOA%Qn~e3&=7Dn~syV7L|T+SqUhaYACfIP!Yi{}WxuvO7uv;%?)6x=PQL-Fhm(I2p0c36!kIvi zTiPZr?CZ1)A0^UXjLI^efnb5$zI&vgGSQlRj9x23`m?wb3Z*79xGK{MS^S@UXFkVy z5dwZ&VH8^(66vkhl}i?_m|gO@w$mhUz|}IKc22m) zF={ZZ+}b<>c3VAAoIP2&43rGkKQ@Aw}FQ1X%ugqn}2a|95Ob~CCo}K7( zc)%lFzsJ)ot5L+~%W6m6gc(cT#3BG^9RvDgfi<`A4i55->#nM9E8J0)$UZ;$im}aWX^GIEcMy-9YQ%xs1|v)8)UU8}CkX_YrUs3i~GbA#mIoT(dDT&pj%v-IfK>eCQo0ct9cLum^` zS$bBIShXnx2ls7L4*HMnOcfD@`i;%gyC!{SIh!q<^O^hbU+D#IkBv|E&5#yf6sC)} zUgvY6&03p(LMj`}9t|N2B$2Y^a}G0_kEjD8^x$_%HZK%d4Vl8)sAxcN+)Yu~;~=e; z&l#9Yc)|c4oy26#{enl=U0!{emk4^W&7$>%X8)mT;|8+OoYh8n|7dJ36=66=QpW}k z#JdJge<4z@k1%|-k3e1&B({+5z2bnN+~HMC2jjq3=f{b&boA!Y?deghGQJq0q-19UWB60Ng+os{U>Om1NPre{flk003gJ6|N z4L`+1yj-prIy|>-Jhz5hPKxxMl=ok)3j(!F9L;|x2~Ri%m4nfRBcw0_iU>IhSGVjY&Dj3X+0>_uvWFEqj< zmzWssCYT|whc}l*nhgDap54mhvR+Zg;6IYYGx5vHuzvY^m|~t^;EgU0>&4>jr^_>Q4bcxD(9qDt z+HP4Tp7xY;tN);n&v&fwQ!Y9)^q$dN)VSs_-ITJMuXw=ATSlZK_+B!oznT#&@Ndvg z(qpl>Sl&jk>GpS|$x@ubc4`Cq;P=i0WWdL#Dn%$Ck<9hHGvLX*M6}`Xyt{U;tmPMh z?fqgpG5xC`g5r9|o?YL%VRbhqea+W)fgh$5DZ48_OAs=3cc!hGtdJ})I+PA)Olc8r z2L#0;@1J-i^3rAuhAb}nq?VNj)iwdlXH}=$MaXXIHG@bP({kFI{;_+4Ti=TAC(9pfz4wYNvZD-k7W(iI2PN>Y-qaIE|TkpVDPoH?f9$@!-# zRTOo4mby$4aqU6`)W~youYKd60voL6^BSR>B0qKRCm810sEv}zRE@P`n-=90C`6)K zQn7EG7O0_<`e4&J=j&~|FYgxk;6;&?$McI$DmLI!{p(KE)8!5iKa#c^n0~@dFdYjI zUcR!fDJ#27XP~g1(LEmml8X!-!+_yU=2N}uw+N7LKAI0Z^55R8d7tgRU0{dB)j~WZ zNHNfvr`)Dtgq%&k&yHoql~-*p7=!Yjup#(%M-{ZnfR2TEkDxJA`K3?_0M{ zI&{cfslQ-cDnb}GFd#n9gb{bS*1nkw`oIJl>*If;`7}aJREl|Nq*IZ4y;oa{rrw0Q z?Uo+b-E`w==vn$w>w{q>Jr5C>%Rc--9_~!>B`bl z%VJ`!u{v)rHw36uVuzJ4yHmEa@s=%+62~=F%8S~>=+%QEqKFfrf*mEWXtbehjG3Va z8v@qZ@Aa|QS0MMOeXOoyzOvz^dBZtLFM^NI@&4gjjf%fkfDOf)gJ%lV1jjJx@>0?T zu%oz9@Df$6^2UKkYmp0xmRWC7NjKlF{}$6H<7Y$n)w~8Xpx7t^L|)iVh{`if$5)JqK0`C`E3Jl z-wik^w2nYihteCZhxPng>Xk#kTb?HkwfLVpXLh2V4`3x(;)aDudtFjl9IM9oFWNs1 z>q&qt2a-=_83bq=YBxLw+l^@d3KE>HJ2^CGW)FIEERiEE1d_I;;-PpH{nk^b()N;E zCry9f#h{k&#zWWb0sht8m45~$j2JHC!MBn9r|7Zq@4W~$HfmX$de|c z>z2fICi6GGZT#B8{fJBFYMAGOC|9(7$hyU0|1l!d@Id9}xM}A;^3#i#X`m;QXaaL9 z<$}267KXwt-whSTt~`>q%9yUq3`E>tOxu0jr-I#|6N`2eYngStA~6qpta#sNww!>^ zxK>LPdhw#t`(ardB*4!q=et|&_SROC7VVfiD3h+dCweGAI#sX*pW5C*c|7w`)Zvmw zNJ(s)$Kwm(kLLF|1|FDdGZ2J5<2;m#?>+vM8FLmlo6NW0Z$6`%4dqxqW4eKFa z_h89Xi=>&#eXWJH*^fW`X^Rch=NVTtvDC$D9J}L&U)!neXIP=4;{G0(Vgh_@+z;`E zPbH>FN@crgj@={DL)ylcBN0K5YB{=0H4xsf$ZBQmB7Uh*QO9gywk?e27t~@4(h?&<4DorVZISeAsw<;2 zTiEXw6&^9F{Ini((3vw zGP$p(L*8u~{?$B&`k_P?o{;qmv%CHme0;=@Hc`!0+D-be1?o2aC>Wiu7}Xq0rNIdJ z3^mE!lMp(e4so3#jxSDujq2h$Sb*pg!d7lKTKAqKSDBOI3LpUS&E9lY4M3^QOL&+;y zRbbCdVp|w#PEB}J6Dz-}eJMN=8{Oc^ypj?U(*Pl#rZ^ose6UW~@5U(!-j;ee zur*fel$iQH4M0|~39Sp+$WyXMx@VtwVI@Ky_s3F~E2h0!_VwSgFE$ZH`=TVCb zcK1(-{)d=Wxi|hbXb1zzPiI<=2oEtW)d*YQEH|Gtz*j&S+rJ7N+CR~}Ym(5k zeDVihn~*rQ^%n*l4nIZEU7Jllg&6)M(g@y+V`uA%E8=*ZLI&+fP#hpVYQcheUn#-7 zFZ%}oeCYtr`1a(ju(?AlYI*^^K_!vI%+3q3P zzIofy%-lhA=n;$D^PeF#7Ll$?TDo!P*9;ZEgM!3UtFT2{QEW~|*MP$XtmJXE?G$11 zJ$vVQF97_d{<@&z(|dmVhRe>Anw8|Zy7kw>g5BP*x8Y}cq9rZg9Yi2MWyiYJ+tV$r z&s{9qU>xbl=g$6SUc$tM(?+?g}?wYj21Yk zU-(Ndu2O}z?$Z5(9kDuv)&=sZFQHJF|00~XPLSL#+NHD4Vm{q|{`$%sfIheSv~h-} zwVt=JDD?@Q=I(yvgJkq+^O--j$walI4T0!~ zI+HJ1%@RP&em#9&y_xc=eoM2I9|S;DXfD3LU8`*!I^F&z1Z@&Nx!bKcBKA!ZCptui z^_G`t_p6h%hNI;zt{LC2w!O2_cb`6Y?Poe{l+so1ZW}ojeDZqiaGw8l`P3PJ-6DIk z^n2!J-du?mhLAKqNf4JA60cO3;-~4h*jj%{@fb2V8*+KTD& zM1uB=73$EiasLes-+b77LC{k`t^YT;k|WLZd5w@3 zJR85BnZwUcr%lKNGNO#UZ8P_>6CXq>Be!Z>?>%cDab9;1f>TD+gseQC*= zjbIE-2Uv1N7v4qFyW#Z_fzLeRU!>$SF|Sfh5e)jsHz>QgL&yBnMS|_FQxv*kubd4 zElXB0{vNx6Ca($!(B1C9X$8Bboq`FAN^-h*B z7v3+z)9_g_4{Ik0zNeh z%FRA3Tep(Fa?Nt(G^N2bB59x+X-^Tbz|^HP!|qdnkV!4b#a?92KDtKR^X7pJ5M3HEI2n%;! zI@KRtCP7z+KwgwlFH-?n$djNiw^0B_qyUTWR&F&Jj6f~ZapHY>cFCe|J)z@vj9L&V zYjze51oOxeEW5v~BD(R>Hmb)&pzEtrxhywhL%^S-YSR?nnQ(mXJB+vrka^HbcYY|b{vZtw#CchrB?FpG*>LFDCM<k~sI~#k25u zE0e2IS55$V6d+iouM2>2y7)Je?G9N%_*fj7jZKm{O$`lj273QxOzce*#ZndP zQq@cSYtZV%z&HEbHjCZc@xmR-cdj-isxq-{5N_{O&ZZWqc{jgaj0u{lc^C-RDe!v&P{} z^1C!!okQmfH#Aw^Q^EaOGBVitbek~C4TFZ6$u9di!D$L8@hLofSC+!)f$u98F$w^6 z;V5)Tn1z0PLGU-+>B}$@=UpbGmZhJQqYyT~&0#==g?LBZwC-n~rCis24fUMRJ)}B2 z_we@3ZMWeRi@mMi6A-*u%PpPF1jVQ4F=?b1Neq9*KI(k3?>B39jAJa8^!P~2O}Z}k zl;#@OcC2Rb%Xtq;{zRAV=CJ1Jwp-1uLhhtu$+JXF3DfFZ3F)EDWtht@KRy@PSUzpNzB3o)kaWZ1Y-V!I=Diny)oZr4vo zwCsMNH8(zE_%)qf+mEiimqP*VI^L7Eg+EUf;ODuK<%yRvDbLC>lXFu30+-_N$fP;r z{_^xrQ(JpjQc@DS7QA_y^fimg$o*)qJS3@F}ao9W?28 znZI3wESG2>;0+&863Yupkz#Yp!pB_lvI zfifPHBd;R`giB}_6vBSGKez5VWIyiSw=r`3aeBP}CK?`Elnqj4qLf8L^4wLKeOU7u znMW>H3kX~+jaOc#^`#^IEEmf|x5p#BPC6ayH-d?*8T{`(~hQKxq5)Rah_fnShVe$;#RW8giHV)XYA?lVFUdg^^NB z%xi=6mpdwRaWIzXHS(S|J(3K=b$uBV8HSd)jZ-MjkGHz>Q;aY77~cEnW~aS9I-Z1L z!#fgga7z{dO@wT+E3RaFObA}iy`HqaS*hsop7L#{%EvI^#ev}78oy6NaY+lJ-y6_F22L`p)+C_6UR-)X%9&=hS3IaXw~P7IBsP+iUvK} zyuqNP6UFsm*DznB^W5q*9)aDDjkG8Mt4I(-?#)tUsj_;za z7PIskMkl=GN3!F6BQ`!mhBb40ygPpTd&~UGlLw<$*iSF(EyT`XKVm62%=zh5Z;NP6 zM57R@MT|1q=yOS8k+UL@>~bL;8da$8QAIlvymxcJ=CxQlG@U^w=8x)_hD)`bex>ep z)!uV!iW_h#!Rxa8G~?|E6<-GK>z2gXEhdBIbGu>b6ID2fkXX3o^c-b06rIw`huMy2%9&|ZAupsRYV$N9L$=~lKl zZ05@}J~nM{+X9&Neraz0=G;D&RnFM7W7R8xL#5FLn^-l2&Z+!o`FKLVj}?JnO~j@o)(sf=l~Nuw;Y z4%bK!`vEV>Ljq96CX<64DH|RdfuQxWU|m;Y&qQ!sfACI>k{x15vRaSVRF5ZI=YEiV z9h2XVY_jwKFCDezY`h+7mewF%nD)~Fgx21w&Q#~WBUmy@ruXVYSj?8!c9K|kB*SOp z9NYH}-E`bD$B?B=mD%Z8OTL%i*TT>s?bx=m%#l0R9jAJ%vt|6)Z8$+I2qo9G7#V#h z$~Hj@@ z;Cv{bgHs$pxD$B0Cwdg%gNx(&1|X`>Kg907qH)Qjm;t^4$ESAuZSeM6~#s zwP7m~-0hy5J$H5Z=HhYN)lH{2<_pYBS4V|3PlknKcEiWt;RGI{RnJ}0bI$RoeAZ>T zrxF<_+!S(b4Vt_ZD~dON#9v&?1)Olp;e$Pe6Rq2~s5hRsK810-8%KEYy9`NzBONZ< zyqND0zFo@c1eVLZ@D+d7g)ZG2Q!vtp0qjpPCg z@rLEKm{`|)POm2xIL|dJKTJNc<-bB~KV@TQee0knF!Bw2)Dar_tGmE;t4>q%rsphk zWgzz@8T4*~pyHx$&lZ>zQoAI9jR`SKd^`^9os5X#!_;H1$>^n^AR9~Tt2DP7r$U^_Ab?`GNy3)9*8L}T`c?JK z6g4t}EfIh4o#2fjj(`sf$K2fdfPVAoZ)F4~M@YE7fJg(bEcd1RsU$8@M+8ynBeH#JUmP#gWvBTb58f;QCuif<5E)^$S|A?jYF$ba?fj9InHhbzNo$5vPUYrqwl~ctuWgqz%oKVbro3v!;Bz$m73;fxuUGdh}LCXBt23DK( zAWk~r^RuttSXhf$Yfg4m+%@!KtqpPB!Td)B+K}$B+`30AX=xR1HJy`Wr(}G*n@6wr z;Tf5-i=S@^1h4z1z4>?L4cd9xNqip#+_s>?J`)QA^C@@NsI?X4@#D%ol4={kKuEGwF(%5grpo)zaB>hpK97v}-b2 z-LB0mE|(3DBT0HrK^^pspGR*-`eFw;4^(>5<~$<;4!U`wek<6i7q#Kq&VfaoCQ)OiWA! ze05eMU4(d}0b5RP?%V8%fnAhSBO>nr9qXQ3_KWPWeKJU@!1GPl;G0zZ$R6*H@ViTS z+p`|4pz&Rd%Ct@1A4<4+o7ILa{x~TR2)pjBBN@PT9v<~%I_<Bi=-sWt z=JT@q5Vwuy!!?BTbMlqiCDFjDnQeJnvzdqH(y21QW`=!&o6Y{RU_J-yr1tCuL@V`% zoV^_)`+FF@gT=NOZjmR_Shyvhlh*AW=DWRR^7p$dBV#ZuA+b!2K;Zwh5t=11S##Zj zL?m(LDbxL^)pq;WK`j)*o}>~Ibx&&oYy|p55kgw4fxvh%qOO4`a8Sj!k`&_gY>6c% zZK5m7ToZ-x{+$Mv!CqO@0h8Z;+kL|9(cS2K_6=Z~L`&~&*29brd5{z#Gc7ZUj0buP zUicVh<-CX^i#CEFPo3BMW_PmCuMQg@tlWdkX*TEw0zE(SjHFk5sY0R#RmRiA$d6Bb z^@n%9FdPe^s5yKatp2*^@O)z;DIk&=$U$!|!3ZqyG}U{>_smMu)vltnv}C;p$RJtJ zEp0#^R#2zdJ1aP+WfZ`{Y<(aV#?Cdszi?&nL;kCypm7l!PdtD=xhXoKY4H2SL)*-^ zewi%ksLoakRTZ*fH^vm>yJ_bd}O6r`l?a$sBVjR19WnX?G>9b&H9gDTay+ zWBeZ0VeIZ+3j@fVnb#(#!^f24;lgCJOspXR0xul$^}JOnK$XO>$R}7x#fk5%`U#c6 zmQDUn1o*&c;X*@Gi_zSinSauNM-nN`(WT(Kq3V^08{aFR|ZxPDj9UPEm)N(323F6aX~WpMIXadI#+3i9he5T3~^gQ^TiOVHi~IKVo7N&twKTTQc{G& zJ@)~OC=FjnW$Q~KgP-2UUOoz(2Pl47=lR%d8J(%2 zgao1B_1Rh{(Da%g!9_R05B=lq$3jn=E{Kc=B1~q@_!1*P6Y1P!oZxV+PJPA@?L~a! z4CPBqSg(Rx_x-qMTXxN7ht_T4Wxw;$8-Un~vfX?C6>MJ_)RokBkxMi41Oj9l9_R0+ zctZQ`S$OA&7p?eDy(KL2cg(0m9)?y@!2a!vF#gPEMzJcCAY_5c@OVb`X;`upZ2MJn z@j352F}jTfx*8~q-^1~YExtNd9p7>oJ?YRk@|J$CpSqJ(ywbe!M4|!X+x>YJm7HcNJ2C{C~_XR_=15RCG!aT4Gt9k!| zU`^y-mD>p}x($}9>%GxAzU7)FDdS)D%I2!OQDC^?pJ1Qug%O)GDp9c0LK)hmjO{eB zt-d|o49D=N$x>TWh{Q5OTrh~K_5m7Q_N8cW)WgeO*i3}j#k0-~IVvN-PRK@hAJW(F z0AjG|kD*k@Kx)3DUdN#lW(0lxH8j*kq-{Wx)G;zJqCv&UsSH0$3OdI-Y1~bJHzxTb zx(oy)rhwgV_5qpJD~5cNnPit#5p~W?DELLXdPR;34npzb4Ip=JR=1Pw_Mq^vust&x zrn_E=3P&!P!#W2VP@FIs{vE+ayBy%0gQMm~!8cXjm7YHp2wZ10wFlP*+hAwIF8WcR z19kAX{(K1y!l=}_gPCGgUERSVkd)N9f?pfn%DhYf8t;-FUy3kG9!J}J=$w)7aTv9Y zLdXpT{ll|!%AwSfTLj|UM*F*D`5VZ3Gi0+cKV41FlorN60X5RL$`_6uFb@0@=54po zq-moV^%OsXV^hKG22c)b=dIfxK(#l46ydDpJ=PW@An)OpW8wcz2V6>~&4Gr$9H z_3W07A4~ABtr>sBLhbfUJbgpt^Y+Q9*)QT!Eg+YU@)bpTTiTf+w!#_uj*PT(wCWvJ zF!tS5@}gco{4yqnY?+Ku5(aT)O65K%ZWib-C&xA@3d9l-ydGn9qmxBzp88&U}lu1_@|=W3}@$Bd)!H+JqGe0iC z1p_7PwhNH6g{9?db8cJuho31aDTn5J6kmO4A2Da@>{-Cz24=(lS79aG(!3%s|EtzgJjSGm6o3WQa!ALGcAnpe zq=f(-src&0kGQzZsK37wZNZna9SHQCbtSpcpkv9OXz-6mlClqwjAHXIbA0e}9RAKa zG`}Y$-~^bXyzNU)B;}+Fy)Dy{SLo0CgoTvW8D_Ms)<4?9gBrBaJam)F zMHW3oYEr$BQ28@|=3`>z{{5b;7={h#b!j+3;ynf?=5|K<&8r^;4c9-%{807l95kso zMJo;PX$i-U4-URL*4ryW`9O!3pVdFoZscTi+SbAomdT9EmJ9Nc!dmFZr<~cM>^FNiK%^F14JR=Wa z#wx$yZ~0pf|BroFTvYVArd>rxBS+!6e%wVvULO4)>Rv}+_hM0T@x;PJU`Yv!x2XE7 zhaj^6_7>_}ZMn5ZT65gw)i`RNqI{ z8Ic?q82EHShJ`~*O6sCjNX(c{7gAQn26PeDFG=A5z#!(U+>4jfpQ;8z>)YYS>n&Dl zAW-}N&I$dcQU7{jv}zN_KmM)fobxXg`};+8{$Ifb3!g?D zzsL7{lz;m)D=Vv0d=(^o+7qP>$8;7B;N)q>OL zm#z9|lIlN84IU><)(wB6P-8wVF)+ycO~Z_dO5Q(1&%eBiM7IOTrVp5!oxiRnq@&`X zXJ%dREOR*W5KJTn{Q5j`cjMQ8$`%MaCO5Gk08v&#JQsd8Xq0Q~iNC<>&~EaDlJ_5> zpL*U$;N$@cH8WAxVN8O0*A}gkFE<6Ua zwBq(cZfsCG+4N>I=T_*>lB>K*inu27OzluxewZ&#SX_)F+fPz z?T$aV&4-S$xEL7;uzskyy3H8lpyAgP`*oNPZ606w7~(E&qnuO&u8N5Gn)E%!A_%qZ z0fU{$gfXU~8nMEgzVOog`8Fk+d!O9n_wjY?A`SjV`EFQsiyUra)+PfZl3Ed73Qz(2 z#2EF{9|OBFiazO@dJu=C<>Z6&t{nFvRvBjxvZ!}H)_!ak3r!QwZTO{hM%r0F|4PjM zHa*~7_2_Q_J9=%4nL0fDME0X@IfC+VD)DMBb$7KV(s8z9f9?fDvVJq~ed6v-sQ}_$ z#H;)bElTce_Fj>GrGGT%{FVFqczTj^4nMB;a?2y~$QKkxV#c=L5;m9kCf%S4kU*12q+>GcEw zDhECh5fKDgZ)GZeHa+#C)lbNwb&}`Iojmw*p6UouP2{aD-*46ELg7x;c_I=Tazavz zUtHc!G{=G+Vr7VZUwL0EKM(Wykz?-EFSy;fRgtz3x&qAN`0j4y-Hy zHn_-&?JvpPb$e8|esO~1cJa7bEn3F71*f=L;w^{BnO14=>*dJPJ%h~KB^kHtV&f*N z!^lLu#KlkFqO~)G=_vTl7lcg8ir*T#qNU;|BC2MM1F^H&mY?Wbdv`~!y-GAW&&@Mo zeD5~3IFVVRpKy5|x4*3LA)bU*|Rudw_hTsL90MUcyju#iV}xtxSSZ9TolU z*DKQwQ)$~h0fO#={$w6E_lzk~_`#Ppn$CgD@&#a1{EEMWSE8)au{YW8(xoWg=Pr^v z2VB{OGJ-Orvz*WlhObyR%K&UUNJbP|Hp1Wjx7$*XZ&k+BRcoXcCMlK{4v>@y1cD6+@dt;`4$L+QM8I(T%wA*5cm5fcM4yl0Nhgf zugdWTUqML&L&%yZiKUX-_}3z$@jE$fUhfH1k+6qeDc3lFV%@M#n(?-hj~gxzXa}0j#Pwz! zY;?Pu>C$l~5>H0~Kk<6LCQY-cl_;>0aYcmM`_hu)BY9&sy+_HuDOvfFaWsChmBJ*Trp53>~BcEkI`|xL| zmz{nl{8yS^nxyHIMLq8S46pyE5DMws##-aw>PtS1+1Xy_U(lV8j}Pv?ZM>n02t`Fc zPQ=(cviih)QKR#Mc z!{)0QlY~dXWa@Af9Yhl=r08+dZMlFGEd}lLE+GxS4Q%LRTN{0mdW&NNM_mm3ytVL6n2=(4~wnac3($WvgQ_AHsO0t*hZH|m^ zBaZdkw%d_U(G@Mjka)wrN~`~E%&rYlTX zlJg>M z_F%+*w}@(htY50g93U0;I93#>&|Y9~Uk&0P15UC1BPIfu6K1`C8j6?MZd=|;49r_? zH9Qc$mXL+)exU~>AQVC&CP@A&dhgG$(&|-u|zS9Lesl7oqReUlyJ=>0+#WzXdEAv zHB1u*q^@8bDkNA;<#cEyhzJ<(29s&$6G%D*V7z}O{r*w1q{BDFvUJDi=0dO6 zK*l(TXd)D>C&(}Lt3L1B(u%qr_}k_!gT*+wD)YiI2OfyG&Sop1+iEvDfsDx=tRWp@ zp4aP59++gUmDbJv4#JpB>pfJLk2;L@Mk zS(i8lGiLY&v{OhuL50SF=0N^;^VWo3PKoP^Ku(9Wp zRm2({hwNjNCz2lMdI`C>&fj*9XPr zS-H8=RNxq~3*2?2PIERY%GTyXMoxDL5`2`S5VW=NH0kEW==P=+ui2ANbVIJ@pR1o( z*_OylZrDg$x}*7Rl~%2WUDUYQaCC9xFeT&8szWwZ;<KwvG=e{7NpGUGTmqxZ~%#{6u=IFoG^#p^AR7LGA5r{;9Bsk z`8^bN!tdPT%`r*(-J&bRUI<$0eol@Og%z#TrvYXVNWn3MfFPZL+@<(4_(Xbi5uz28 zLS<~0DF2zfhgsvB-^5xIM-!s}^j^jT%)bKOppXJfAJccLRWC_V5`sW?CQwIHr_9SE zn;&#cJ8x3PvhtRSYv}uDX1;7Wwnm9SW}h$*-x@mkbj7uJwc8 z=0T;43ToE!QL2|L+vI=gGYf>@9xfnEHLq)u$Ni)cah6-RCEGk#NhQZWl4nErAopEK zWE{gOkEZW_Jf*X}=EpZp`G)EwWd3Vt%S%f?Dw}U-DjI5^pK%gecD}IxTwILPkJ}O= zf`khj2@$D^aISut%u2A)K%RH)#tMApNiOId6VPmkv;vPYi!d`*eFl%YP?Wb`JT&qG zjAzrRWsZl3Q80JcCVGHb?P?fsLz}s~fqBfiyWe<&@wom{cxJ_@s1IdG)i4O|?k_%c-$J$DN5$v8 z3Z3gbbi*lL=I7^mo!f9`J``|!<6)pmwy<4^J6l92Fhf>GSfH#R<(GiR{0|}gxn%W= z6ot*Lt&N$+ppxk`qA-qpfI5yQ^WL1sf`FCQPb=_8Hy=D>UB*=Ow@6HG9JOx8eKXO& zt8l0|cJ<*V(y`O3=kfcaXqSzVW9c`tDDF`#P93OFF&8P%1~XUol9(K zqf}}O%JJ4;XsYfluX{dcOx&*TorFl*bgD!FsJP|TPf5s>C{R73i|H9+$bhBGZKH41|P9hYdZ%R(`>nMY?_cK zEe*{B;8Yb^z(qFo#+&9xNPc;giYf9k9KL%Vj_-CoiQ0xiwq0BSskwx-8HX)H@ADhq_G?XE*MGKRJS&PD7^&-hm= zuv6yBWd_e?=3#NRD(P9vuaDzm&h4E>B!eaX5ybyoCi`O{@mZhI-duN6Bk+7$sgU>W zNM2f3{WaV&RhID!=Pzx%xgl-Y+d(2M-4#m5ZM%e;-b<6{Z zY!X8yp@^rasRj$ztMRu@&@j&rm4s}mIhmDuQJpa=8OvRR5Q%;clfLkH#SMGB{&$0@ z2B&dAZ_uTvl1*S&lwJui3FS4evT?^y7kzSf5<7^~Y{J(L6F(4C@3DnQje>DA9omXs zMwnknJ<+4X5%KqU&F9dFI%n*O&BsPrf`;yv)_Ll>QC0%1>HV`VTZgO%kl^G@y{A4iZOMxnPZT( zg3F4hEoYs2r(*NhO0R&ypU&O5vxis!GM{Yz!;6g_J1^XJQ1L^`%rbE3xvuK@FQXPp zRZ2CeVrA8;26*?Q$mcaALS))Kwr!$pcFXG+v?@8Jv!eE2zH{Pp-oIyZ6DCN@lq{-y zWv0KFX|qtUSNe=NthPLl6+RpIx(;5W7SVJYIqux56Ky$64*g}gwV6Ryky%{*h>|iJ z>$ueV&Dvwve1bM{lmK^%^^>>txs)U$qt;dPx%)#f!UqMJ0F+3DM`msA^WBsslXH}h z(bR1E{EJJY)|~vC5)kX~GR9>-0|8Hr{$lnF#|~DAvX$&3rdZ^Y`|I{lZq_=}!^{x9 z+(6?JTPvXv*4>HuSxn_U&Hx6Vrj<|S+D*oKV{AgGK1<^c)WoY8H<^{eO(TbyOY8(mos@f#AVmW5FE~++BhPCpaV!+}+(>LU0cRmyNqyu#LL~ zcX#*=x$imm+6YZUG+Rwim_E?LMj|=ilJPca3+5#w9=Jo+RY421dpy-MuT*Jj&f87{?LkPK3X;Dmd ziCuFKED~z2?r%y-^!t*~qOb0flvE&l)2Ox6aIL*Cjn&9oX7cN!JXWjC12r-8MEZRv zHtqC;#5kh|AOR=RNSwk&?<@xS(e=BX13-cGR=OY3VTC^Al@b%7Ix`SAXkXu9tLfjk4`JqRSEr zwEjaW$VM_YBH^oIkqHP8-`F^6ZKnktnT7-#k0}}&84XKwxBVT-2+j@*Sf{{_nuS0V z@6YoE0>pFhIIaQzIji>lz4*U{Eh`u4y_(K)a%PQYzByB*1YSg3XC`>2`Ne zd*VlY?+qXb{;Oq&y#zd3i0ZPk$Tb%8lumbhXUKcP-~PGE{+weo05;M8Hf-GgkIMiS z#7Gc8R#L`E;=%kfs$v$$)CT4*uTcmPm3Oj9LyVwaP!BbKZ)(-kU&v@&6;?hGANkVZ zg^n8!Xm@Da0VcW2920AcjDZA&wiT`>Qk?a>+bZ6MQqA!9i2Ek3T=Lz_1g}sG@7~Fv zrAv0L?eccMrF^>tgob#n@3xiEyqu^ej6_uCs)!mIJgeuh`4M7y@uJi z7LrhH=MLlttv1T^M`VaNA^fI3p{ z9kXbK(x0%rmgg7XtddD+O)z3XWw1x_o4o~9wIJ+9)Q>ySvAX`gGGs_-)20k;5^qZ` zKg^MT+1w=IVL*ciXfkicb05}g=10dY#mzEvCh+sA@^319rzZ9aN3I zgqQki#%tl!>h;)zXNvlxW|??Rmf60Pa;PFwu(q~JS-Vx)R^a&L9`Dpx+xSiVn0H@@ z48}CNsPahZs4#3I<<1+#r5jB2`m}vcv2NZ`ZfD_fV;HZ;MJFeO{o;h#WI53%0U^C$Wz^nOJX^6x1Y^Z*G-O^=+fU~201a!@etyo%Z4X;{M)aigd;L- zctO)Q5|iplwhfe%8NjWAg%W8_Ap zRAM;hNatAs7Ozy36yKDMzuck>(s@jk{~{Z8bZ_8 z*Dq37h&sjZ6u(!AcBf7<#lz$bEF0VI9A>qofBkeJE(we~ILYT!tEcn5I2gjXf>z z_(D+6CsL3(sN-XZmop>^vmUFW{_RJ~l)G|&fVv9jQbRb|w|~s%p>W&=#-c&pKnewH z+{6lkqU;hf^ys+vUt~KVVLf$+vpB+e}G@o`#L2;JEzxF)f8xVGB7v2t6IrACn22s8;s7TBb8$r0@Ep8_bTWt15CFEVFoe!-8Y6DY+_<(lL+=LhAM&3GHqw13OL z;{|EZmm~Xc>We6!xdX2dO~`eH%*OL?b@qB5wF9?G`6; zlls{~CZR0b2-VHntP3qN#^6F9kx?+G;d6xu=$AUrCD2O z!}`TGQQmhFG&EUMz^;F85&aQ}vIpBZI1JDa+cn}^G!^XY?pEcU(7I7rsxIcZ7O=Jn zh%)6Fy+5lW%4a%ozWaO6M-B&86;x9{2yWX(r-6`~#lA|Ig`vw~Ktnn2V^5^TZCX_H ziDbxQHI*~Nx}~_hyQX@{>!`kKHdgSf6SCz;J0JrNksPgCunudV^PV%>(>s=bjdY$} zUjy%#CbFj#UHo#Z13iY-S)o64Gw`x~CF2clc~)Mjr*#IXij>hkpzFBh85;YiW$y%M z?Nyc{8k-)W!p_4sy#JyyoFP%>?AjKzRGMXm{s78;&6qBfCI$drp-}g~ai^9Z_*YV9 zhm$D!wYI1l$He5keA4T^8BZ_<&vXE6yraP8BDAk&3urs zB|q%>nf6vRZbl@J$X4R!p=!?QY^|?{*6n3Yn1D(@!}i!{_4gZ>sn`IaR|*89SpuKoFWKD;Q^UREY?ti67Q}v#EbhzoM7z+jO1>-6 z3R(E*)Bwe_AO~lTg2M~rcs`q#<<+EXXqxMw5t2|Zm5BJdZSOEBXBs8Z>4jqop<@un zA-sKirsM|+M;*#Px2O>jM z^_O8~Z?o<&%hkllBfTo%G>E4Rj(luxs5oYhH=rU01*t?PFWG8cEi^&aw%?*p)Y& zYE{ny5$O4+Tvhp1=y79r$L}LVBHi`a>UX@a3)V8FWrU0z*-sG?v+NzX7#sJQi*;h5 z7Yjb|67O$H5%8#lVHY72wIbMX!zfl(#-ynQ8`7!e+(RPj%oE^g$QpK$(V#je)mx45 z5FiojuutOa<`#k}JkBQ)DK#(i%$PcRBJej>E35NXS2DH{a!TAj9Lonc|3i~j=!usR z4!^Cnx>gy^f`ug*_`Y36?yJEUu(G^w>omFgyPuY|<|=y`-&?B4?>!&>?CdLQ9i2cn ze8x`04T?Uw3F?uzq}j7=17573fjG-E(lM<1?8H8z8M*2VQEBT2LAgf$J~0j>D|B42 zNLo};5irMCqA_ur$T7<~)+fp>Z6)%i1Tpd@3>48JRcA3Vz^}?Nqifcco##bZO$N(b z$hBR<@fR5)>PB~PYl<;3OLVdKE7j0TPKhTV{F-zJRSF`3!Y^tzl?p;m!^Q*3t-hXq z|4RmBhvAnE4zD`Qek#1@m?=4?rc}NeaUsG=IKXJU`0%x*H|~)%ixEBTVf^YkJMpZx26UE0+HTinFnCRhE_X6Alv5fVSxQA474TdO8Jr z>EGflnLsBo0pHF`+woh6m&g{I7PReDaXUK2nw}MZ2yIy9)W4RiujUt#^?s0jWQ$NV zJ5Aq_-$+@w#QU7pR(+&b8|rEK_owq3K{*$T-xIA7(8lOfj_lYPAO5_*WHEkC4pk+EVdRW& z0yZmb_++xaEWP2cTl8b`vFwsz4Gx=mStg*tfdw*AI)n4`Qs~~w{DATZ1!cxpxCc~X zw}F<3B4|f5;dHHpW|Pf=#H4 zVPKd9Pjj*wpDbl2Xk-H)pH5G1=^XfUYS;HFoAdX#(m+Z3<~PX^Qiviw%<;ed%dG1q zes#fFi7t)kX#_TrAFS|px#r@OcAeUk#_oih_|5Ox)aTaA3DN(@I+2=`Bv6kMmRwY8qKrz89$ z=1`MtG5_599cAq+wy(+hVX=XTPH{Xff>wOArX^%d1>{NAlAjK{JPq--#XQ6qiaU+6 zhtz#e^Jr|ZnsRon#EMu@UGUmBk1f4|_It-(Hd*r!ZkuxClr$2z7(dyDf# z3HX5=e2w=zV410RJR|%>#o5&FIr!Mv+939OPI~C z60A2wmet~6QH^A_bR(n;VzhiDr#%R9Few%4J^_Jw#8X00Yc}Hm_8oK)m|7K}h zP(#735CJ=J0wvsL<7*~H3E#l=%L4mZb%pQP4>%R?!B&6!PTGAnYXQrTDg(Y%ByDD6qmZfK+ZI2ZNS;ELxi2BKz9oYalaC=7`FK)uVWRMSjN>* ztZ`S&)H321GhA@8EIs!gTrsbk{2stgJPT9+8E>R0yaXzyd6O~Oylqh`UP3YORk9jI z@{^c)3;8RXQ~&o3NpJsU(*YnBe`jsLi$Ps8bmbEJ$A|*{NF-iN0`YB(94b9w&V6v# zQQ)FM43W^^vg7%r6EH*mTsWh~=pMAy3!fImn$0hp812H3sVaVrH$Z;g*oH#-XM6V7 z58ppXPC$Kg8TnQ75v-5@U=Z4wL$2GejF_oYz6a9>RVc9;TUK{$ z+IHe6y+m?eb)40+_$jf`pHpCB*O9*fWFh-U`|Dm_ggWzb@I=n0@+&z4K3_74_|HiyG5F<4vf$kboGv(<};wS@I|OMum$?B)=dQX!mz2whK|fxe&o`AZkO^yg8AE) z{_D%#u)w#BmHWkWm|=@Glp=YKT2P&q9F|jGqHZZ)CR{H(T&+Lqcj8zr`wU4V5BUA( z69bZ()cASW#-=Bg9&su45G2XYC>t=#H+}udMdcj1yYfn#ytS0zRZo{A6hXRy4H0@l`0(fjMaT)$KHVl8?^w){TYh?iR4Q1#q_uqhh z?7-*vk_h~RN*Z5SFOi!Jk?!mN1niS8x=ed~VE;i~lBxZ4$uxi)oto;4FK{tS5|w0r z%yfE^XthL(DjZfXi2{-vG2O3w0{LGRc6}Bb;&D4Mioh5(%DUe*E4MMhM$*{u47o|u zo^ca5K}rfj#$w_NgF#!o5Z8FB=>-Zmd z>HnJg2EhgAI6$Hq!y?s+TVmM(fbN!s69D-JA|O7~kKYzaltN zrIbEBJ$=!N1pp4(nY;>l#qm0{AA3N2s=97iGFiMCi{S_+4;hb!#*1Eo`MU1N62Ig& zpjQ{1~9U^ZUKDcm5Sa- zm79&AhSyi>0yyH-GzU)bmCL@>GBp{*NfJ-_=U@S{y%g!PCSAADvI7!ip1!| zC^;%2BVT;pe+!r~G5^(8-1n*h0*(*TO7D4J;EroQpiDa=1kJ~vyy{SIK-wALj2*NY zPdw~>xRSu*U%Zch z^cM#;@X0_F%;+UDbHOB=@cQX_QPnxlQ(?;;%NtaEf3N<|%BN3CTA_zhA_rgRW+Y&s zc1b*qZ-zNu%WuTvG3@$&c`=lbcsbHS&9ZAZn;th14*G9{;{OELb~ZY|*GtrKHTk7q zfnTPn3v_Bc##}~dcGosftV*mbrG3~bjm`OBR@Y#}M+)qCm+NGTd=3OQ85o33Zj7|5 z9#j`DP_NeQh?yj?MZEv<{C`eyC{!QApfG;!_m+Bv{GhV@wtS# zz;pPhZ9Ph$G+fMSkfE0Pb6jF{bY}PvAzI7b$#9yK*&#p^S{suf7R$HiN&J^|#Bpi* zK4fHQZrRz-cIuudapmDiB9n#zo0)m38lZhFLyI>d+=0P}0CidCHxpvS8u2yA!84 z-}1dl+p4$AxQ_y0S2{#3Xb_ z3ho%_iH!$XPsl4dzjD<21pT=nIejWPmd>jC0Ij|C)3^r#RkDco)2@EQEu;J4`bHm% zv2Pq0_IJr#;D|dZ<~@dfHwGsW+C7Fj+XY0G223&I*y|X-g_rs3)h(FRyk)fza5BCI z&E3W;{3WCQIyM-W0}t~?`+Vu_W`wTf=429%_{&Bs9=2Jlafs?o*~k=PN{NJt?DAa@ z%7DtFKVI2=tr6T|D|eH8uTjsVwwuCFaA02xdPZX&fp{KX8ls#V0g`0<>&0U!&lr_Q zN?KDk!A?L&J%GNSOS#cAnxv#B*3d}Vw8if6N9`rbf1!*mC39Y#4(fR3{eJoTEs;h7NNkpi`qz+8<8)x`Jv7)JoYT7} z6#E{J>!&33z))L*Ls9vOU*dX+pI1i|(G!~IedkjU@*bm@v=Yzo@wxpFMm@s97U9eQ1N{y>&k1|jqQjE(T8H8{b(S&Z~Ncj4XM+lx!z6jwChZ8`5A0b*~K{&H~F50)-`Dh7mk`Zu9$ zwkdxbW|UFWhQQo4n0Lv2@DG5?JRzrCZQ zV9}((4#a?*ffg4<1os(68mht#2-)1LJdiBiN=JYpw z)8(z%2N{{JQ!Kh%uF$@vYtieGy^HqsOFcck7erB-$<&A5U`CsAp8ajGBMAu?JRih4 z5RBruQ{e$)xib~yY4zgvWko4BS1Q%e8_%7dLy(}FE)&5a6q0l9S;0K2W-C7X-HTKM zF8;En{bQye=wr#dwpHuQh6WJ8v^{+wEvK&0PUrYb?EX0pfm9z;V6GPIP;1PQRb^5b z+;lxuPzZ*pfXkXO2~S3iyBY5QS~0LIY+t?M{IxShCU=Wja&}WePK8h0cniW+HvP_U zP{5widxN-DVd4R#i}A!WEgW8njle%{tbO!OC{hEkuM6Q-`NJI$NXT*%7>>B*me&2c z5H+W;62Zg6F{V2X#-0=j7hyDHz{{7Q1q1c?E>AN<>tclXSfnJ03SCtc659m zv9=dk`YVoViB15^SK8H!LbT{jn)E|^?$x+Md3pA?RAgAmoNQYBWvtD_q_w3}UD8j) za2c$!zk1g%KFsfn*Nl84bW_S8-#?z$ ze@#H+-T&A*ZF&Qs_6a60E;^ML-MnHPt!ISyIrU$wE~r1Z{V^qhcRHr^MteO}Nck7O zb^Yl4I851c5TI=0ztM|%s$$P+FlJU{!5bQyjV{fR$PS9#6sp)dH60P(A~IJ&V!p_T z+9|Oxg28VE1ay<`J{Wwm&6HaZMNZfg+uu&;O>cbqSQWT=BFfslkhUn#DLKQhDiNR6syhCeqMXq5$R>)Eg`PA zn#OnCdz@pDJd_W9Qis?x3$9Q@Lqo@PVptv4z%>77GXf%5LnJ1;>nY3kl+3yFNpBl& zJoYPk@Xr5j9*wu} zRRSL>ELuk5ke-J82zea!_NGe45uid%y#RitibjRcYHNMM|LvOq-lx`c27~Rjt}~nO zub)irp}Jl{Q`6D*P!y?VH6K93-lkFajfmJ9pd&%HKAI(Bg@nL%b^pw@bK+&LialvZ z)d|eaB~Rsb0nr*CPm4&bIJ#tw8Rzv%jj-Uxk1kWM3WRLKs{23POF023P0zf8%i!a5 zI2fW@t%Q&6M5@wfV+9kzN<~?dJ?%Ij*M0Nw4+shS1_u1)ihMeE{1-QTL^N;`N2t`8 z?dwGoTlwq6uH}ox+L+Yv&TpF_quEd*QxonN?QmmUh>Ne~fz7#HS(`Gs(+$rwR9oQyLes_O(KAm{ zn;w`ocFq?c?_fUOczlSE7ZtK(x20M7qBoX#nV}CpF^wSsXWgc=&KK#iXCwaHo$rI5dHjt^v&s#j5KIQ6o z8F{%^Iz#6tD`gIdY3bCWDI07ged(~=MdoBKSg6WfYI?akcElG1+KI*;oV&~D5>fj> z%Mftx`e}Emo37C_^1)&NEIDS-sU5ZA)A}h?G=jBEq_v|n>L^I8-iaM~Ha!`~X0X=C zt!yN%E0&?|#H#l5I5$QmMjp5|sVybdkoN&|tU)G<@!>kn5PC9l?woRFtvmvcXriy$ntw^i#sh zNE17(!Q%yaVudSLx2tw;s~0aDVQa1~R(%1L-vt2-3v99Koc8gHkm1CFI@4y7TE6T)D>?grr?S zDCK)ZUP|qHJF!3rv3rfOE9*ZL?AY&$(`DXkAXTGJrAkr!)C7V1l{W9igpw2;J5ZPq z&=x?N7Mt&bR)TGNB5hQ(r#D%rcQF}h5evlx_0XD*j+6kLEhgDKKAEVFmyw`|GtgTq zAWHXvWLqp+u1KV{nb^jZPxOJGBoiU<@vYi@9IVMDe+DXJt#oO})&-oOGp*rAINyY) zOmrw=thKeZ+^6Zbb*zNDduurN^2X+EJLJsXRdJ^%WEhx-ZKt`IOqHCsRBDGUoKynD ziw|=4jt-K8$DMl^i*RnEW_#V<=UQklFok-(?K5;iq9W#v(i&7Ha$(LT*cu5qy0;yR zb!Vj`9p8ycrL-#DtC`v54eC#q9Z*;E8mDNHyI;~Simzf^!>-oEr&PR@L)X{D+N2TZguPW!N1Y3Y+W*>7WQQUCd!N%IdTqtd!8_IA#WJ>G z^`Y3|VeqdcE;ircB#+(Pk8gbSc_WsY;C8-YF^L7`A!|=D8avqZ4GxKUTB0yRAbKWd zVh{D)?zcY(AzzjGTpQeeBlwakZzaHZT5_hz%@E3QHRXRh94}NJ?d}#TQ4q@HcH*Od1jy60kFVfNJayg+pr#UW+~(d~a^H(|W>RBr+ad$u zTd{_7yh#d+utiG=`7&h7G6_%4exo7`7rN0hwRMQ{}~pG-P@b_MPcMjkHTnY!|h{;+Iwa9Z@4XHV%^ZENYA zak-KsP))9|U}!n63bK|BWSz5ngSve8a&xsT=wFt`cJ@CM>6)8BvdHr|y>5Jbc7`Ss zo8Ei|7YyT&d&;g`bL(4jMg2fzFs^dU`dNY{F_PNR=;c8She{kcg3%VlUydgigg;dZ z80i<;HKkBg@)^S2I|!`o9BphXf>H*&-+q6|ddGw)=8{A`JlIxwPjAxK6I(3f(l_!! zL`R(4mW3rIF3HFIXIer!?cxuqTAI`7l(azKR3v)s*eDgcZ)*?-Lv_stq(KDR3L~+Q z^Lv?V56_8|6r0>NPFlG%QCSOy;gpeeVKc-z9u57fE4{V@|LG&)w{LwT`Av$N-)*mb zY%!%^w@?pa^~3JhzzVGzUp?3plGuA?qM6qlQW`>bi6%C7LF&lwLBJ=~GOSRADlb#> zC1Z5cTLdqyQbc|wWEy|vI3y768=wb9w%%TIXo3x;H&&LLsF(c{fP8eQAV)94WzWq_ zg8R7qbAsNM-quKB;_aCE%HP#9wgJpUd*D2ET3;_5JlQ#Btr{CLcFQKDL5R4Qm2{sb z8J{?>CGx338JREc7tySyR`zUq&3u`hol$bB3_{g!pC1g{9~w>|(&er$P>M#*SEk52 zeVVF2=<`3iQuJ~pY{|qkHqzHMlLZ1`gC@+uQ^m}%>v3cOPd*vRfi8V8UY_3>O=^F_ z-(K!yz`H$EQCZ1sXl}2amUj9sovu`!dKu+eiZU=33Z`mJ%DsMhe@yCaDM1Wk((?Au zdjVCAKpP=`$X{F18#(X;n}FAaAV@x~tNjXf)oaO}(984bU4vUOFrwWJScBG*JGRAI z8o?U@H`D_o9kB~CzqgF~wO{Aw=aX{L09CY3KFEYi2n$<}cAIS=_-Uk}+&c4}!@J_5 zV??LM27|$vU%nb<3c7mQ=rGD~C5;x|t7~ics?e!se$@EJEd-Y`=yTXYG-J+w&O>OM zAkYeyHP}Nxhcux_jGAF&qCH8@mt30V^}4J$&Q$16D&7wT@p~_HiRKorzuDTC=+1Zw zeLU1LA%^laBp%zQFB1rLvub@+yI_m>_^3IOWwdnaNJQXuyLWvjALdX`cqPz6jF^ux zmj(W*dE9MAwnsBe1*c(}b0BHr^>nN4@AX9WfQ)?Lz{PH&RIwpFjr>#9rQ+D3wu2t0 zQH_L80AIn*W0&>!2HX+6y|&=|K2|SPsIVXTxM{JjO8BoYgloe2dezv06THRhYLUV@ z;z^uh$uDzpirbO_e|GHT;K%56Or2rlAE&8!dBUl~)MX+!4Z`6IuWSGeSJY;l?ZmqfLF1~EuiAhy~@z4{A$sEl;EXoIY*WS|f+T!|`7 z1SJY>gvQ~T+Q%Z_#hcLiQ8>p|DgRSZ9!`oCRL3iPNgaD@WgXA*MjbYDIUX${0rc4L z?cM6tp(~U%<;hQ+i;OPXY@R1tCfa!$JLj%9c3_<%32|5MTS7<9+kM-_cG_x?Ycq;Q z1nR4Lni(yfNSS6RNsRg$*z!}D#Pv=ND~Y!6!Ig$)@zo&|7zdYXVfe%@M70U9 zn%|~d1MlGI&cy6JXzdSrJ9Y1G^se%|0p~kvnG!^cjcM)Dsu`MV+NtyE1d^{d5C?a| zTRzboxkcoG5|pppaU|~klsEq-b+4=Ofe^B28QcqXHl}ub?X~ac!Ym|O0-wTf2XJl- z7;F`*R}al46dv|8j}O%R*2fwiWVNaYoxE;yX27hPx9jPsaxY#yolA-eDc`+ua$eaf z=w0P-Tvu!5;j4t`gCDpf`y9S2bUW!!qn3#rPi9D6^><%)$a@Bx#S0&$v&gR>wOqL# zUx!GA?X{fg)|o|APN!V0K9=!w&^P@Q+r3S(zWQ3DXJN^XzMjwzshA#DjriQ^1!{Gj z=N(`sjVgl&<=+`utWqvq&T3Xv)5HBd8E|#Wb*M<~X>82s3=0Y@lm5MI&X(S|p|8Ar zF6(~LQyq=M(KhDoH?rS_;RP1dbR}!KiQ>?=_*T~mBeAZ}dv%R5vrL)J!&eA4tOJv4 zyOy1IDB7V9)npyD!q=OX_mGzgov+{Tuox4+mdh}MciB)^%JgflhgQL^WoAhdSVDb-gP|FRPH*zQo~a+escP{6e{8ePY*bxm0j? z1cX_WE^5R_u&&NL7$NqM+1qN zsP7q0Q4@dWML6&xDDf?Rxux3~=$P=Z3gPr4S5@3JoHVz$rpIx7w9 zHX2&nFMz}xLy4t{jmtwalET>}P_Ai2HZ~xW7E=@c_R)-UuTzWdJD2xFsf-M|7;x3x zD9Lr4T_)8cuo3Qbi)HYzHxsngtS_T2-;uJg!9+sgEO8!7q!x3BJwkD;L7N(@*g)L7 zD}kNo!G5?5ITd-^cjLCgSakDwYpxor2I!3Ym7wDoX^u>40etb#%#7;XK%uB79Aunf zGDd|c=NzbRu20(qJVCX(9Y<7ho#gQw`9P|w zyvG^pEZP9^uzkpZ^D$5Dkgi%a$(-nS_GO==C$E%vc#LQ_vX-ac>(0mP_UYfLgqN~`bLe-z{r-EGv5neeCGH*`;a3oHlAcB27yKlh~~;?!EQ zSM=pg>i)E-Ir`x3iQi1i5+=$cJR~elqa13!mGrO`5nr4y8a?J>C+Ij$Ghroz*Mz3V zeFu&AcoqL-wANAy0Lx&9bZZ_5lr6m{o5#j2e#8mdPYuuNZI}x#Ua+1N803BR)FnyE z@3Xko^JCWCLixiG6719HvhRRWweilbn3X&ex2CDhrWTdx)iK3!egBG?@1jq0%rNS)PINUZIwEI9s_^?I4Ob|mWRPlN@q=N!NDl5)y4V7J$ZG@n&95K>kdtZju>U#Uu zH6D8{(csSM5##Bm6RzUn)LiC^+C@_nYS3Lg>^FnKq3(g}4`u=$vUT`NkxnQ3DIz&P z<}7sE7E^kcbq!ki?WeZ~llU3f7oN(T0kWOVm5{-z!}TVHF75^{>uLkOsyLUpXkr(n z0+(S%xeh+#dyMQ}(1tJD^<}Douv~%hchQt@Vf%Wg2%A%fV@n-hb+tf{j@i$l6jir# z1*>)%dKK!U28W_g5;s$0 z+K1dM(|K;cO9up9&&}xkRHR->wAw^2M!l4uP%a1(ad{ou-absWId{pH75UUh1YbM-XjNk9l zQ+p9%Z~eUsIH?u-C-39oq`G1sJO!YkypAg%bzj?H%0}R1o3INx8MrMRdGF?z*OZ62 zOllz9AEM%>V7X;ewH!vt_*8jy%En3Fwj?Fim`GakOG$_7@9nk;X25iJ2Yiqp5!BTs zUOP7>C#T5FD}kY+8}2Z|P@p0nkV;$ylDYH_bdctfQ?4IMd|t2G{rGGEWH+M;I6tye zXi+raKd@g)e*OvcQQni;oflzqc`*!#Ud^D+pFAWUer%AmXbY?LA}kA6yp_LOwOZ?E zviR8Xk#FV+SZil2wx7{|OdT9q&pPo(Y7?VcC^>5a)s#tiy+$-Bf;R*&h&=^q$_qd8*Q#?^4bs1QhUa|uHFS+dE=Mdt){b-t*8ks26Ymmysf~Uet3YXTOSDi zs5c_S>wbjcw@8obv`)r^>^RN4xyKV$DRBRm=r%~Uk0?D8O`9&m1;^@fgwFX+bfiFq zB{*tFUMO=_)Y)DIig#RFdx&V)8^h|13QqV+cjKW#h2qg!4Wr} zlMS!Lnw3+ylQP{!R(08`+a$mg5}=MSkrW(GW>b%S+kB<5XPw=G&#!_mvo{c36!(Kh zJ2bLxG#k=R-9R)n=&eAv)CzNa?vT~(PLzhCd;Gq0NAcrFb#Iv*C=HwB*UqaoS1TRC zTieel|8^o72{tK?B5tzEGuxO%eI!N+?y}hi4L!>pe-?Fmi|7h#GFUfjz?HSA9?-zZ z0j8m(XBbwfku?Cg34Q#EDjK+U-`e8iVEvqBjPZ;(m^s2B2Uf-z8$ST3GL>A&>)=Am zGzQ~_QA8(Wsv`90T32L*t_|WHHZIy`$}vWJ3WiTnm8qQd%u7iFQ)p22k|EN9u95Kd zNj)oIzOxM2lq5&i|s}`1x>fXbdZ7 zI;0Nr`e`4?89d~lriS3AmNnyHsbEuV;|Tr1RQE}ja{1OcZ=A^Cn?shp6}VZ=k*O5M zH{glsnjs!E5RU;n01Nvp1cq>Q5`pbqsKuE_IuOBiAuoK8B?qcFS$cPW4swE_|M4d; z`2u8TEpvKrL&&}eA7Lwm>50vgm^pW6+Oma!c=nd$_l6OPj;Yxi;KMWieJp&;6(hpA z!m;2y`_jfs@SKHSsh>o!Y#J^B+~k}Gj+lgm2sGW(f=o^GdZnLUehgs@tcEylXT?p) z7EJNP$G+IqKSSQ7xh$(LA24MCf}3a19c8fO)S;Tvp_*YtDKYDQ{Mt%Tq3W$0;~k= zfLzS*>FFQ>_uakg$-4pfYBQVenw4#JR}|jRyOt{hfY1X}pSdk9Tkky*^Pf|cwz)CK z{+R;xP2jNW;fgnW3q@IEmO?1oY~x~jwbaWK{pkX5u*_3yLvysazwt|ZqSOtI(&0G8 zl5D=&eU7{z9=N#}A6wO>UuATT0|w@CX8xuF?@4vW>IF-_jRw*X3OVJV)9^cn(nb=@ zuCq-2t3;cpR^A{#sbl%{xz9bTi&1Nj#6d-rM!Gf_*$#pho_16^#c}C7@7KGp_7Z-g z_v-WB9R+Q;a4&hm3SNcKP}IA93N*?o+F&S%-h61oWr}pE~4G|55}DCVS6! zMp&O6TxcpU2EfM3+_?aX#V8rRNbR?{`TRS`dZpU8oQe3-mmA~*%&H}QK_r}p1$`br zfbed@ly`g+mU=BSe#2;&paA!Lyz)1D#)06=%{(~~$8uIOa|<%Mb=gpU{Jagba(X6; zCO!zLXD7T*s{v$|h?}D}lp;dgj7Ia51`-|8WLN~aThJOxEJD%mG45X@^=IC$WDN6% z3eEji=DLQPdH-gXp|%x{(4sv)=RF4@ykBo9jz!6VRJZ6~sE6#C?&Do!uP3#)+3D%%B$)D8GFkjIYZ);k@oHYG%{1%~caFA5-?O3Nj*r_-D;&U`K_w7N{ zbCFw5&?O*74@Np&xwb-W&jxpe$BNSYP~YN=@Mvs_0Nf*lSDt(D`#clx$X^!>sfXdW zRv|98l1SAyX}cW{Cyn}5tGf-!`t_=Od~Z3=JhRF~e{|H|9>aqYG(3TNI5L6EVc^zZ zUY@n}HvMs_(^;Jeh_d)CB9G)ot(-zWl1hi=)gE?8Gc{v+;1;7$OX`HODF~;d^iq>Z zL{Tj)p3)=O1MZZs0qA-Ibb^*GuT>?-8yVY}NojHcGAUNyw>VR%IycQR=ThwIi=l1% z;43$*@PHycgdee(pxg~3IKS%bhV*)(YKYx#3eRf1pQgqarvCVEM5Go@VXX4+m+ct* z5+)W1BL={uqah>#3jmV5LKuEba&X52ncvfz%M@U=CP!oPdt|jLB~81~`HDedM8{?L zaXK++;FErv#M4n!Y^TMfWr6499@AnX8V{b*skQ$ai{1yKrSY0w;kVP!^u3dDiENsV zMNmj3lDlzf;L%Iy4e#s6orUpdXF%LJ-7ntWjyw%w*4Oxgjom?A`Xj_+YAM{c!qTrS z|2%l#un&KsfCi|=mMh!e8@fT4n}z#o2ezQe5v;6|Im<4UAZb$OSUZuU8Lx!otZ!u@ zyk#KSESb>?mUN+}QI!KdENg3rq)+0BNw^;~EUwL~1bS(R$hRBv=o;d`7Ps-=1qvLRiJ<+~5# zV$O2N3HJEAKR7aDU>znZc|?NCQeaNKUc)|!YBnT<9BulcM#Ex3Kfd54LglrrCD_N% zM&N#2MWp_Ts_u?L=Pf`y@A}A*dOehu7{na4NFUJ0QNjQ!zJrtQ z{7zWF=*$NfMW)=we{$M*^1xG@$;yV?hqm}=S-%BWcX#@6MuuBlglk|7%)T;eT%X!Q zWKWla7*$Z|^k#(b(P6>uZh3u`FMo{Xd%I-UfV_Zzqg4FnTT~sd^%*@wUQDZY3$&;) zohvT$Aw^KS>An}2>o4%u7Q8uc8;N;k>{5KUD!Tp2Cn!7p3LZ==?{Y&^c`T%k%7MQ=#=)jDiDn zG;RjlGiE=1fusUVd;+`VqL0%?VrAz9MR{lmUq?CtlzxevXvYc$wDpzb8Rpr64U#IY z-PL@&Nme@zp^CmF*G;>gZYEAdKJCYO2#tW8&TzkmeW=R#2B`q^mo4SZNee&$i1_}1 zss3s@2EnSJ&#xp`5M!XazV~j%%P$1!SA_Q3XXn*G=MPIDzM&$S-44>6lbgShQl6@X zy-K=Ituo$4<{$VTOCH2%=(+QdMOSx)VapQu3IQWJ9iKP4344$_;fV4>3ex8$@Kc_{ zUa^4R+!?ldcSFc@RUyd2mXsM~r$6h(+JsID9!{daZ>6+CvRSlO@tcIf(1y?)PTTXB zg&O;~43xNMz!Gc$T=0Q`gN&UNhOeZ8Ct(I}sD-5EsTjdwI7}!eChecQDIXSxzPye5 z3zlJA^C!78z|fI|H)R8R3aq*FcS+Xv-#XI|4Ryi|PU|0>qT`~kWua@|7qZ&6$+_=h zcVGY37sY99kNWM`&L4t{s&a{l>RB(Xn=yh~#`Gd%8iyd!l8=aZ!7@r~QJjpStgI2o zA)jtcW!gKUJK!BfLCg=Bfv_;NvPeIn#J6gXO49RLH62!;(MK~4qdky7FC$ZXuobGqlv{WFTeW+8CC=PO;v?lgrxm zsdAR+s&K1KyfSQEY#dYPaHv#J4lBl^5eWDrW`Ig>$mvX@&Bm$#_+hl?(Nt%Cq|>jwwpAzZQDs> z+g6jtwkK}Wuni}+(b(_&@I3$LJs;+p4|82}&e?lmuXV5cPNtIC-LjU#&FPjJk;IKF z*Pxdp=6Y+dfbE%c(FpMUeH?k0u;9Gpw1P|dS1I!EYab0fFY(uvO5Nng5Cu^{%wG#v ze#%s%*9palq~Pi`aLk*0hwNF;2!#mw5Ssp+He)1;CK85)Q36_@aoF9=bPCmYf4Tet z6d?oa5co5~shlaPAG!IhURG;dR&xD?+F3hdsOUNc@3D~GFmIFxgE{_3<)n1lS|gHe zccMdge(N3gnUfpVJxjBBRcy^n97-M`SfX^LF7$DEt`c5mTnigM-sdOC!zcX`a@=EI zkjuj^W<@W+-+e+;{}!k~|3N3B?T*`~PuJYid|XT>V30EUInO4HFAZ{>VStNKBA6SQ zXiApHiYV>e8oSYbk83V4gZRr>oV3fk>9_2GlhcaP*o|jCMaIdIiLkTx2MoYd0{bd1 z&CIt;PLW8jsO>%=p0rtQHE1xMlQw28f*aaA~YQ5MOM zHMM4bO6)~BnV4ww^sB$jl+RD+JC>FoN431WvIpIp zEUFaDjC37nbDb0X*apkTs>Zq=ge)NPUcmOMNQdLd_;1FP_3)d# zI5wkc*y;I7cWhFkD(C%S6|g90ct#)FF(I1vY@K@gY5xp=FH-V<^8~l3e~?EdpO9cA z)s<+xvU78jgHr~fY{q5eR0TPI(Am%4){$W1i1jHqOp~G9L=#HFy$r7op3RWAjtI@w zRy@#^hdY*GKKL8*JshMvYS?n=8LPkxs6 zw8Z-DD_XrMRvVq#Zt_V?7^&%(N>X|Z4d2nsiTaE@$9E-#QD(9=xS&Gp^K(OUi?7iS za42(bXZe~W0+&`Kz9*!d>We?p(F_7VR-H^y2nmrscKSHqPD}ov#3K=xsAkVm`NBLR zwH~(q?4~7B>bOh0BT!Vym5| zMm-AG`LzS)-1hGuH1g-N$Yo@xh^9$~`>YBE+WQ|YPKj$+vSJiKZS*@F6<1J9p;9fM zwV#vON@Sv!>A?s)G}uZuQdK0`i+(Z3BOx8ae0J!YWN?iSzW0F9<;EJeYKp65WDYV{ zes_vprNJI`p`HWCtEJ_R;ycV(>Lw9;V^OV~Rjvl*k3ElWm#Y9!voNQSAQ4|2=BK{yU;q^6Ae5)XeeCxU7Pdm?EAgPHs|47DT#;Hm&sVo%ohe z=eCh(7(|(i3!?%;+eimeU_Zh=EPSDRp;FF%`nT%M)Qp|Xh%ZXM2?Sq#q8@$0m_xX{ zxfdaX3aG==BVhI~t6BX;i1bC&)(zC$UJ2bccpDpOCPtQsN^qsyhseMhaWqU$e*nnUSYRrsf7gk+C|P{ zAho5}rUNj4s|EQddzs|MfZn$FX~Omgwv7A|G^&$oeGo_mderPCy6T8eq- zIi2x|q}Avip-kUbV!E9WMs6Zz9f9QroPgwrS$;fi^Z^v;*pj9S4wWl z08{Sshjo^h%Se&5$ak-4ON*z$y?aJTV4vo1)Jkb?{|Yg^79?*-o>QTG>-6==lWIoi zZS&rn7)S;KmOmWd-0Yt*b-DEH4AO3+!DShYABBoJ?uIBVw16&aDe?Je*_hK3t(h_k z0UCn3YxnumZEMyfTq0YUvu#~pe=qo5C@*k>OCd5Wj>P8k9Jtf5Gh{we;1Of`-4Ub#^Y*FX_ zWgy5*JtBR~_BqaWc*Uc@eqHFuiC7MdJ#Pjsht*+#3vQZ zxwsFqzv;-?#3C*Dd}basWPcx-$VSQ7nhLVVMbF4qr`9COn0VrCmpRBTR9pq8PZV8s zY@VJ=^-w?>E<*g-#%^>uLb7Mj3GWFr_vtebT03k6ZKW6Nq+6Oh_I_cJhnLG_!WFPk z;SHD)q%@v)>yysj7n^+C0z;U79^m=WwJ#b^8tZgBY9B{j6hE3BA!_}WH*iDc4(IS} zuDfc7pDl`uEdu>edWT5d2qImu{J>bOAa#`PwfQU(1d*E(nmT-?`uYX}_eA19%KYTu z!j-F)DmpVbC9Li--wDh+S00r*JfAAuEY{hXegw76BRMjcg3T@s+pRM1{WDW_D(1tR+HABEQsRgm@m?n zW`E)4sWchF`dxs>Kh7fgRdhevtfg@Nv2n1?LtEOV8>1LYLp5Oi#Uq=U9_nu4pQKCU zo0WO1Tk9;tqF)%_gQ*m?nYkXz1U!@bp-Y>O9LjZW@1Xfpl9@+CKTkEjfox4vKoIk! zoNb?Sv50d&r&I|oJO(Mn=dt8DuoJVKjgp71!!;N@HSWZlV)*n~4RC7e>mfF`X$O}4 z`S)s60FMy!?b&twGGWh7V;ivNW;EmYNMWMlWr?Ns^lVkHm-eqZ@4qrZXwSw+d#u*; z+MV`@O&oDiYVbvx)qA2wqGb`&_+Z=ltY)V^bKE*JM!fs{O1VLy^@!|waFRI`B-}~* z6)#!zQ3R6~=RSN?$PtqgrpJ(M1tc&t=L(6YMG#jqAX!(?$rFW!VF0aUNl+^ph3WO;PCB*ys`^@`6p{(=o zrpihbgSF-9^S0LIY7&x$M5X|R5d76;uM&BWC(rit$2D$k17}lT=gVZjE6MP=GzAl3 zFoYw+skekP3~|bA08;+irRVCz$YdisIXSiUUL-oQPTliIl!auBzF~_4(y#T)0Kxa8 zajxru9p|Cimav?)phOuXEg}vkJ>9o{xrst+1Mb9@HKU9+zni6eJiWdrY5)ONOKJk} z+dCS1zp$sEA|q+;JJ;?KNi1xA5O{=4NRww!_sGLL@bKh3+0e|(yuH1(`|AFk-T%P0 zaqF#cGq-rrmqZ92FcQ$6z_`_493(K`-v_%9$i<6hW7Lo1TO0Y(8+VnLZOSw}s;cr~ zHeo-8L7Ni2L5$x#vsS_+`c+=CB z8xXlFWXmeU7O8%kZsI8|`N6(>p^H}-%4L@s*4_4RJA^~!oP`2?&kkw#42`$U!3G;d zd6qD2zk5Jbrlmnso9q6q3{EB|)Bqz=VY@Xur1*I`204R;m+CH8?Cr50-a&)T1fXJ} z8hV3E+`uGdBj?w;_Ze3DCa`)=^huUYwy+he8dwD=O(dCDpy-zOLdi-8c-h9i^#-{UzDv#ZG{cE6{`mR|N^M#SM zywFkBA!{b52NwR|E~y*FXwb+fr58Y%l|X)qjs`P(E5tBN{rA^cDo~=KTHLgE@pCnW)0&OD$w#Wdrx|;57&J1lZ_)lX?_r3 zo2W+L@#|J9wen_RM3R}0eOSLA1&@XUNM0@q&5Sf8y_+rw)(Pky=)Bkcaf~($NPFkB zs0(2ugPtyz!1QI;NS^O5)@AawH$*b$AjwdKJCp<9m4VUdRQu#kUF_b>^i?fzb3^OhQhPBICna^Zo}QkCKfVM%&WD?B1$(&h$=9tOwdZF80!W4FIJU4 zffdMw!~!&$M%==9Tst1)AzusaWSYnYxK1$LUF&%It$G*EE*?wjg1qk3oFL7^ftZ&> zfMkVA>~E;X^SL5$r^C!ThX6@c<|Q7acQUh&LffStolUP#3m{$%JW_0tD({C;>8;m5 z#5j%{*CWciZyNl3lt)+V_G-*GaR?r_Z}o+Pjxvn3unY+j52E`icMoKcu-4No;{6D# zJLdDdAaTLVZJgRL_d`Q_o|K!DwaB+pa@YRvTJKN|T!r!fv_tsv{0UwZ#9<5;VlMgR zC0K{)zMAO_-=Lmok<0U8l>Z_5Pijt?!}~8kD(we>Pl;Da7^$gcW>0?~s6UxeRo z7OA{1me^kQmRw#QAJ|?VmsChnRwBXNT}JOQ&=+K*!J!x1zqhCk9V>#%+lhTXeaA4$ zx2p8-u)THF_xp~d-$acH`@xr*?r^t`yjPg3tIOBr$)0On#D&P|eUDRdp=EIOSLAuH zaEq6rsFs(2egUMmgHVH?0m5+QrsqndjRqTwK~5s44KdgEXzQ~RAmiKf(tV7BbfAlbJ_S{B1P%fnmm;$Wm>h?xt|;%XJxl8Ab2Ir!0ozlLe zri-CMPM=wd(qFgWF9$5k*s2wG4$%E!MS{ACGJ+qYl6;h#4@_45riZ-G2W*ZmrZ~(+ zeBgYIh21cwUnhDy?u)gQIg&N(Q}2w#I{p-b=Zc-R3CVKd_k}h_dyUqj10soxT~Kte zy?uZ325j;P`cJ^Wp?NpKOH>O{~+gVpqMp_{kY;S*uV)G zWtd{Z8!xgL9Lk_F`MeL`YR?y7g%T@Qm~> z?}>xgg@s@xw!FU=DScA&23^?6U09EUL2l~ECkYG&Ikk~;82R+uBVJ3y0qQTd zw*qkoJ16h_uNF%yb}m(2u-sbCs?>fHgn14GUHwmfy2@(HObXZV-Kv0ecujfy5S_Nb z7SA}`@mwaG^;=wtcBv;OXYOf3+}3)J^?#b7%O9{)Z)oEq?87F3zOAAMB!IiKoX*?gRYcvD8v9tyqgd zTapT9U~RtXA=}oH4K8x{4LC_$(R%ndQ3y!3D7u&*-g6iTQDNb#y`PA*#A;s{WCW)^ ziWt(M2F`jF-H1qt#xs}MHTZZ?_~t3*+3}*QNz)3q)ZuhimLQKpY`2y?WuOH*KrtBv zfNNtJjF@+w&&fHtkwQ)+UxwJev;`8cz>~<%&{Fd85#}z|4io*t!r3z~GXF%IV|$#O zO9I}I5fQu86&$K%4$515-@K@1YeRS#QTtYz-0uZuS5_j@R{cr%J&DGY76%y}!sSXM zHZFo&ekfP}mgOG)t|uL5X%^M`+j+!`z4whnTx8V<9w75*N@BF^xYxfh3qa1ODh9h1&ZfR0f0A0&7T^Z$o} z{5$lera9`yuw4#3m0`;4d>5KBI$C>@USDVl#E#g8EBDf!EWh=<^zryqD{2?n`Tje=1x$x*(qu3kPBS&~^RzCEqZrGt$XLsGtcy zMUQ`0jMz8}R?s~NhRkf?#N96QDK94|PQV5V;bLK@Hd;>F5@4Y;wCE|jbzxnQzHsDp z*YX4Z}Ys=HI`f;_6An{$3$&hYJl#DToQ63I&sA!SCN24Kw0O zbVrwcXBc%@WB`gp?;L^&+cD#5h4uKyV5e)r18{$hWc_BvCMFQ5yy3iMT$q=gN`{-1qg#u|pO0sIB+Mqn z8#NXK4|O{k-{E;p>u+s9I2Wf|@f+aX>v(gsG^4x`f;~39Js1vfzv*z<)TZ(5zk_4p zg;Vx>gGvc->EQeZqZhldiA}Z?bGnQ3^>`;aH<@C(w7wqQun@h=o0()P(B`Zxh-uj7 zD|r0Xp}n-^56bTqUUO<%2`e{~Xf|x3LL{LD03YY!T?ZzekYOn%>HFLW?QIPFCAi&X z>>ze*EULg?lC0Z+r+4m;V6>W7^%=UW`{CsB`<&x5Nt@*dRL;$KE82yvkFz869~jYH z$uQPEwS7wpBmY~jj>1F!PoO!v>9lpf^Bg)ljRc*A^Au&k8;MH3?a~(>UTXr>kH5HM zlW@A~b?NP8!ee5of1nUkVf$!U9jZwKduF7O@MLwx8IaYq|a|gQ8M3bI}jnoRFpAsnN68BuMA@Wm1Ty!d8Ky_iQkwD zRtlc({Cj#nery9&d+XXV8aAX?S>xgYp-RLMGGWA_>}AJ2n!g)bS?vcDEH6`sQNti4 zZN68d3$zF9ga0D?`+3lNB61Ub>8KXG0X}&Qo+Krv_OK-WXxC_4@cpa&l&-~vgJdrs zN(bv**NFC?pV!`x^IBI`Du$!i(@ena6S+-`u~Z7xh(yD0Okc*vVsqY5GsctNX$BX!sXm;defgm$*o$&`QkVT|L2 zrupq?|JsB59K)i6RFNvw&@awv9h>|Jizz2;3xE&kGGmG9(Ofb|wACLe&LO(=u2Q!m z0(Z<2Bu4T3LLcmvUi}yrwF#1-|g+ zaWIhK;`(7YCT^B|$A+K@vu?o5%;NzVW+KbUF#uj~Ie48`y;lQv1S=?D$==McHS3;X zm>YRL(=I{>+vI;Ow~2+>rx!Ok%q(-N;A|>>f-y;IR=dlSxti$y<_>p%OQRh=uk?b$ z$WVbjwZs03*>iKr*%5~+vheOok>SW8jX<%c-8^P87lq>)>>zD%B;2BWasAKhOlpP* zU;%xS`z|h)0RQ?t%$A^Bir!lLg{~b!hvlt?w`9`evQ-j0)}5mBS~=;A^Eg39PuZ)2 zP-Q7em@Q^TPOLI>Ak&gWn+ns{bt!ooJEY-4I zDp-l5hH?cUDj&dAb<)+EUtj&DHMm|bmQs0Q1>@7tV`^Y_c4UouA3D}^RmK^keCDg` z=bH1372V<9?>pgKMujb0Gf5g z<81=`yN(4R8_kssd^Mz?R)I{LiMb-n%Agp@A0Dx-?DuWT-Hrr8GwDqraeV}ca)2`0 z+6kR#`PO^JM8b?kPPXEN6~BA(=6m;Nn0@3u>ORgk3ou7)}nyP_ti}_a*4_ z#>xG0zukjOJGA3rto10|@)Vlo8Hh;D72~Z(TG!>x&OWDFEYNEmeeC?LqnObJMh|rL z)`jXFcx(GRk`f^t*IH1D9E4_Q&rNK~*5?piB&#JCR5Cc8w9hacm+LgR`rRx!e=9te z)QOZ*>>;;G`EJ(sWou3K;lud_@As_hrFUZ>49A7hEd$fbEMw7X^nc88d=Wl?C6}5a zU`~IPyLsS2#XX2K=n+mc5HOZT>@;+9I@~gF*KfQ>Crmf*H)s_aou$#D=05@R=#+ZIZd2^&~u&V#|&0S=`bVQp!>M< z5d{6kPjG)-7@5jpG;ZAnb*bst!@lN3mC?=#_?T(74?7~ORkEMQK_FinhG*X^k>{R2 zHjl#OahB#I@Wk7T2ee;D-PXsKe-f%18}IZ6t9Kl!*^sx(GJ3Pz%t}-L4WB(`#i4NX z;=SUK&pQ=kZtJrVT_qXIKTa+|jeTHxeACKv)=sb~W&Ajk>C`h<=9zE^v1D9Cc>D3~ z!ED=8f5xN395GxcTh{Aa1EPHwxtN(pbV)+qXY{*r7ct>hyYDguPf)Y}v1iektVAy~}#$#iO7@JP~W z^8Ft>dwe^NcSuD`Oa9Y4vw%MmQ%FGDn)g?=hbswWmuZ9c?FGH=wC;1@U?gB{uATn! zVwhh0`dUEXo(}fyFLV26d-*HKjx*37qP*<%z>X^kc^;beH?5LNiLXCI(;pJi(OH@N z3=`+Lbovsdh%=oP+xg26?PVv=CzbX2shYK1L@e{u{@9fa-?<^AX~kM2EbiGpJ?Lrh z)6T3A_f&=mW@@*jFx;Kv$kb>t?!%bT#s@7hhHY#)iN}V!kE?dzr=u(aVa*}4+~2n| z?y`O5&yW7V5&9OF5D-5mx!4}PDP#zPkn$65Z`fZfvPd3dKxDq5K?a%H!2JDqT(;5F zJO|pb8YXu)tVUqznh9fhV@*fLkjh%w_+)4K#ymG&$S6e0T{MlU!l7=cVtXsghn;GlK~ph4@58Lo*`h7rP239)pQQGCX?W*hZf2ejN_HOTbW>o3yhb*oO_C06I@->81JU`fD5U)kGmTe19 zAHaOQ|MQrCopVBrvAKrWu2I@j(?$hdk|qR5oj$^f_~65O*K;MSBn^@bSn6th8oxt_ zEKpHnD=V4+Sk_B9Xwcj(!t=M~%ad_nQW@+cP?#&H# zyl=P)K#Uv>%qn}66FaGq;85$tQDZM&#If3glMeY{Y9fx8&p;Bt)VqQUSP5J|Bb@SmnlVP%$L~wnB{?*;xOzGz{@Wx8=ID zjMpWDHd0VK-H$0E%y%AIM;wy}>Z=$<@D7_XEAi>uNj z_j3OvXl%cJsV6_(8X*@oStnmhKYI3iyehHs(-g7y{q@?CUL&-?J>&QX0AymPT%`O^ zvCyeUk}GSSIklkla8XRgkFzDv@7i3<*@&818u~x91vO9A4Q5KDME)zO8PM;iQV9{EysU&2^$wCfD?p8pLA?$NPL}*Q~gH|Bv&qKIs*ISz# zkgSsyc2_n&cI{@iN!UX4eTP_aiX2{^cChOKXZ1_Un!z!oM#Uw}&^uF~luqfE6Ral{ z)gL2&<6*h#<{zExVrC-!vwX552vF{Ubj(*j1MSJPAsggpjGCfSa8pLmg1=pc4rjCz zEI&PzO0_jfN%Gccnm3A|%&Dz5fKErzwY`(b(J$pOna8icis8{{qBE*)tF-BEy8jqg zR076*!e(uwCo2Jn`AMMW+-VdQq-*POoQ6bTE@zKVeKwl_#SH*kZa4>MOWRsupV7&r z&HRXU%}gGsY9xmc!px$opi0;vyYB!4GDhh;Lk_r0ss^$3{;f;Dl##<7xY5t;c=aQ< z_?A14R-Cp=uBV5#o^;hU&qJ{i>F(hF*C{3KkW+YQLpJ%zcG2y{Ns7sRTz-HPANBq$ zI0kJMh&XkYgX;((TaZiuKA7A^%y}$%7jX!fwFDA#J2MGI!b_9_`dKfA=lG`pYB_=Hmb9h!e zRT0K84;AhLZ)>eS%OC z_khj7qkn?izX8_>IRzP(N}zi*e&I|;g1zf!Mr^Xrw_E~eW?JHM;q=;J*-#O}xVV|&6c*zhqo9H0xIy(Ci&0jS*C1?lB~&#x%_1uo4l zp!^M>R|0+e*2;IEQM&Hl)FeYr+)N`r`bGW58#FH7qpqukNf!vE=x+K-HVtZ zH?>%YdpCYOwmKCNB6U;Ft$87rlG&QIYw3)34#EhmWyz>h`KS1? zBF&c@XR4zUbTanijK}y1!iquicjTEKBPP2{G8^Kep%8$y-d&HT?X*IO-TK@+`t&xB zHJ?;MhD<9UGrQyFCE2;a+EkM3%d3&&Kv&{|=^7nzLv5QGBO&54m5e7`kaVt!*A225 z0-+@RL*n0AMA8m*l;&L`ib@lqRLZIJ)-PBJwnX$;JYgpBCha&V70#}wy|p)82Q=<@ zFGQxH9p}M4XL2I>7f9v_dttpPiXWF4abt2)Ktzhre@P#OD1kB6xX-b zz9onD8a0O{Upk~D)v;8Fts?|@uoqg?tu>KNt77hChsU435eMNRL`jw)zzsz)@|Q3) zjA_Llms<{R=gi_Zf_5UtQe$3BUj}VBMyr@{r4S(R}+3<+l1ircL<4`g#1Ih@6jYw_% zC--5vMV!nJUV;Y~)IhH81i33sWPP4)!w*-_(M_T$U4kM+lH;eE3w+1A{z0>pO#D@= ziMdlsBDVc$ZEFAtk+A1&3M72eQAn5h=^#O9QBBqWl(h0NQ z^AaSzM*edm{o83giM3GJnX}~W)9c!8+QpZ2jz;e9*4M7V5@d4?=$!xNJ_XIvOypA_ zZPdwe=8E~!(M>I|!E`5R5H&QnkU+Y%NKByFFR%H#>b%2I@gb+O^y7?thgNnNxMQ|| z{&1I=Bo+^LPme@do>vwGJb@{gFJ4UkI_-4x+Uu#uT;KjmtiCd;q><}j1N};pmzCg_ z%$np43-*+fn54fHPN`i+ha~SQwec^T3PKkRM>r(GAbv=}WfA-G6R%m0y+%4h^o|EC zmB3&-?#XAoHElIfO}f0i)*Hy)#)&At*}y>(w~uTlMY zUTWy(Xf|{zxlLc{G&@kS0NtscRw1H&CePx+9~t8B#z=q*ZowR(cdjPQ{sV!I6k+Az zSu7wL0^e?C6_8nLT|3-XRXVt?sLhFWwkp$9O{G>yWFux^#*w3^ZG%c`CQ?=L>gv$G zn3&FW(oky$f>*BaWo#omTsd>Vd2V+M|7e;}fFcwXAyjrs!2i^7+-)y$#6qSE&t5QB z5LxNAzde`0Qux?s7&)hV{3kOBnDF<)Z3g>)8bdlf>0>{>j@8(yeJggl$dsOC=vEu2xBghY0U zgU7!(aX)ZF7T^dlX%b5=p!KN&L@F9Yj_=9pzyxHz=2l;KlF3%Xvkwv_A`B#o-XLn& z(Vf%CLABBi#%Zw0Y&kh&zF%kXi? z4Y+0CBuS#?%?>gJltI7a_RHba{aZ=<8u*^SRw6usW-z7qoriX0CEuk2h#Q~MMYfba zz9TYjfFkyVjiPwPt&A+Zn+CajB{Zk6vd+e zDGB~khgsQ&TR0asp+#M@9lA;(f_V*j-d0K-YX%FA3NOLrrhz2xCvk+j6Tg0q17)>V zG~=i*x6?+%s4NCcJGP#DzofhxN5ld8&@kf8Rp>I=@reB94}un$%8kPe}42#yfF{7-*5GK zf`jb$Q%?aV_URWo!r-8$JbHhZZxiX>2_IN0cz>^l^#?U#k_Fzv>bCMCNymwDchg>< zyE*g-uM4rlP%S0xY`I5oig+?kL%;pp6afxqH2uJ^XWzx4v#$hDRW$GseBq$Nb%~A2 zq82wPt8B$(=|(-kix)+*s~^gSs-ATG{hb4GRLAU|q(VBX^_#yF&ARsqwEyLD=8}p* zq=O&YX6HulmrNs_XaiiZ95|(UE^5h0j3{f^E0-`14$i>2^T5c8*#FwdSF&CAUHq@P zRG)LvaSghCYcDCxr$WF*jiE01X;epBKhirMYPI=K^t?f|w0oZA9BJ&d#!tIF6s-yp zxiCssWgT0i+4Se*+?6Fhi_hM#Ys?j-QI7G56yIRMrDNBOiH`&(Xpq5QHb{a3 zdTe-1fY7lGhr!QR`HV8#pCggIW4`S~2=pgD`{d$zFngI;wsnFXZc;r>to^5(CdR56 z7}zSJNNU-JWqaqcj`+BMo>aq6Eutwk(&R-tM+|lft%*_$p8xM4}4g3QHd6i5(h=Ji)=!m;yp_jMgN#2XS+}zXW zU(DS^8+0%es$~_Fc%ZPj3Idc@DD`)vr{Hoxl7ypJaN@>~U;0{V(OTcA#NV^%bL@`!yWd)^Ou!m)u~}-+75eu) zJ>4Ub81Du?UbVsxD?hh(fI;)?Y5`#wf4Io`@~7TeBb68vzi~9sVjRXP(tV{1-SQ@^ z8athDKFE<6*pEM%#k1xbOYjt&Kx<)bQf6mC{!Z3>slL!xFAQ9#b-Qu@Q4l3hyO+hY zsPeGziukeq4JVh|Y1FdRKm1k9j20YVYG-acQt|MO!(OlAeEAd4p}}I6s;iYzqa`&C zZ<1PFc!d7kAJ^5iJ9P*|n6LqnFrSQZEBSSYOwlfjqk)R{1j1b8l&$H*iNwaEiMei?OWyJh&c@8dUQXujl#C?SAOEcoz&OTXPfWW9vfA6<&)i4#=f2`vEO~_51yaZuKo*#roM_ z=&midxsO|};o;H3+x(3=3nvJb?2MZ(RV*$61nE{am2MvO#Gj9Tw7Oxm%)CAk0u^ilcOY!D%g_*{hTRt+o zG8Z-!iC)@ShKb5-VvWamQ$(f^FVy}~$5v-8@@GI1;>*~k3Csic;^`PLR6z)S_Y+Y` zFkYK*TRgnKwY3)HoqjbA&s~7h$)^m!eJnsK)`>^1U90%RSAu$}npS{DH}}?1V!yZn zN>qE}?L66F@$0k7V!0>|XUmmCUA4(Asi;~9C}FFAG*i;rpR8fAGs2;?KKQJ9cvUe3 zwqymazj3n0q1VC9i|(lh7;`2ZDsDd)s?!#qU-2+GSDD0f zMyu~92FN?*uJKtEc$koR76|He<+qp~HfUEA-@Z8=TCoTMDw<_si1)1@`mTP!!^30~ zerOa^_3+$N-BOqk)AcRK++6&<3e&xY7Hc0)F6+!sIzE0`(&UOy=}_CiE9l(#7|y+! zaaHQFb?MLRAQ%9c#--mfrjF?k?1YX-W%fSYKVcJ$G$6%=U8XVHl)ELzL81JSG5cV2 zDCkz0bU2rZpD%PdO~Sbra+ehHGz#%{;S?C^hKzi^KPTP5?W?~b)b*GeBpeR;TyT(%z z7dJ#IEOnBsASXnAiWHjbP{uI_euV0}@uB}cX~{-{6y3VhjA_#-aSWeDDx2@o9G68q z;yowTA>py{?g05}70u0^ovjIM-137l}fc&XQ_w$QFKJ7n$pwg&=9y|SD9S!F0tu(&A@4wtwFlD8!cJ67r zoJ@=QWr7nGK7pBozfT&Qe}Mw50^0k-^3L#HPx^_){Cd;td~-Hh-RFP#8#?wpP6>yi zDuJa(c^Y1LCK^t8`bP?<)Hlh%9(fMEs$4?N1EELB$lwb#m<)CWLv0Wt9JJhlppsH_ z;?IZbNt}xx+l0jt_=P?SiYdifaDyT$$^5!g&FCHSu8H2 zXNLUJiW=1hSIlUSR9*O-qai?SeVT>~Dwriw^<&(Uc6G2@O3bdJ*a9*Qirbfze2h6I}GNdAz7Up*O& z6HD4@|7c@|lzfoFX0nTrr^ZSGY;!JA2vxWe6#TP<#gyfkfIUa-1BcgOwwHW@Jc(%D z@S*1llgY;(vOIgod~>Fc#z@aNp+ou)eGS9_q}!GO80YtuHzT2ZVbpKR=hl9z~x5$18il%jzg%1qK(n&rgJ2 zdqa@Fe`CfGSJQ(~F_6-qDQ>o4?ux?EH1gEtcUO^NB{EsWL+qLl5v7mg)>O*V7;Ju{ z0r!i^CGJ+OIU}6up=e6Jw3E{iNIkc$WhEttH~D6=*3hD__k2046i5`78-X#uAB_QH6-}JZ>JaPW1v2|S?o)h zcB^gF!E27YaCx(t#c33d8x*0wd0x;gXWD0a@jkx2usnycvo8ci0rKO@?hEU)c9L%=w zyj!0phRVFw6G4^D2U$lQCU0KOHg$YwI4*dTgI;|>`1^_n4h>>*1r}0> zZD~w#dA`i&Pj6nV)#El(;ASp6&hjZ56*d4pq&g$ zRbJ#8rZhRUCE?Hg9(rOrOMeUkHS9PG5#hkPWGl4mkn^89`>KLLqQN+tPG)wD)YaJB z_3%|vl5w@)bmeN>;`EClpAUdl_G?v15R|lK ze@z_9uo)Y#gQqquB3d<5mPued;H5!B(hv2ePLO9*5F_h)5R<{LQ zPHNjtx9S&)*7F42KhVEUQm%e)J6H%;GFHgv^NC79zGh<;@uT=Ajflkl6PW7iN!ku= zR&>WqAu+Avb)FfUBof74@isZ;GEI8w55|#eze#PwW0-&WT|2mQ-w@z;BINDuV?$Yy z|KEe0l@PdeU>*hPbrV?kf87JflW+25LV2F8F6^*>pYvFrBo;YyAv6^Bes{9A6JS@q zRCi9`h1c14e(zx2*V`CO>+74q|HZbKlRc($;WC~dom)?ucw?5Yqa!eC zMxpSbMPgH;pSCRKR6YO~VqYGrxg-zNcm=1o&861+^lM z`2Y%uiZBIB+z~i{swmC{VQTF~YR*i)T9lVq>r<>iGZP3{aw_4Dui){p;_xhBFB=6mstZXazKC@#I%SaLYgt!u z1^bWc{lnjo*#uMoRfK|pXMF`u=!~ON--xQ?--IT5Fb-k6oEqg~7;h85W3Keu; z%J*Z`;fR3mN>x8_c6^E@zBJwYe#A?K?_rw~TppJJ!!y(NnI-8-!pl#T)96Er$#FCw zFVL1O+lhfLR~<;-exWAj$|xOH2(^&8a3LiNjqQDs^3#LBQXjV^pvg8|^*tKN@;xV5 z(npK(WOQGSsgh9eehX zZf&7R@#0Q#cX!tomllc?4el<%DaGBb1a}DVO<%q1yZ2Altd&eMIrGeUj_kb;j>abP z01Yz#?e}AGbY+zw1)`*b_p-}0-`WZZS5fx9X?#rL6`{0ucw$`na>O^&^pMu4DB82w+)UE3La8%CD|tlU{DAjB{JSa3(zN-?EvFfK{@XC4pXWP?K^Pk`*R>3X41|IP?+ujk8B@~Y)~?s6_j3u)xm z^}bN>Y5OBS=*drTVEIyd`DP3k*xR*4sJ)&zFS&_n5q6 zeA^K)uOo3rDYp>*Rr{>?gXnb9a;kHA)0NW~gBxjE3wH zX2hQ9Cu-qGh9z(dZ+SI*&7izyJz4cCBcjx$m2+Bp?)+aC9`mj z*U{;*L6B~MYIO6n4T^mpl=s>a>;U;3w;sbZP} zXXmy1>Zdfc>bit@&fUjzjb*W-#;txc@`nqjr9%2aWTO#Dq&^+GmvIS-6C|L zkzcfPw)>S0_;PZG@d)zpdQyo}bM2W!lZQTj31KZWy!tN6W$SFMb~(QPW?bqWpHEIQ z*>sH9%^1p|ao*_zRDQv)K?LoFH8Wx)x>oo&tGQr8dG|qQHMHN=dt9MJ~5sq z3w^W&RL-w7@=Rtf*iDW;H?6$}63=~?zwJjeN8zctcf&CGL7m~F<4AYzOM+1kk&)c@ zB9ZwagTkC5N}sqJ%0ETbx8eo`=+zbC+N{k7F2=tQCKEm@%IbXu;rr~I*46o?PYo5N z=>$bYj?aw*3gp+OLwARtMoD>jpCuW8K|=$Il}1o|++aDHiGUgU#Bd<%R9NYCuOt4B zgqv^ zli#GxF6d@ozx%b3NFPfkh+E6v0pELZ;nY-t(P~Ww&Z)QT?4+muZ@4giuR0FSP>{V~Ka&z#N zai1on92wv%=Elh9nqBOfWvMB155+L8X^XEyv*i zy(hGRNgna(>N7|C_^Um$iLdABcehs;%3Dc?MI_yXIWaZH4lj%JZjf{R?NN5OGgA^a zrDiD4)UY@$$Pnw0{$zosE%y9`&5BvuHD2kj-STwCAY}> zki6P}TXbOyNcxmFfBN-NAW5Lhb9SCs!rpUxgiXGaQhFGIGK;Vr1uzTDa6BVIaCe?l zu-5Tm!awfLVx4mDO?J@3ypQ`Zl-_eUh$N~@T*<^u*)Y&h%yHB5Vu~g$Cn9$XBGzi) ziUQj*BNA2~&rYE4^dm)M+ZQSh(4*ZoTD5igVfZmIHBaF9)=4)R0LtF`E!X%oBi+{9 zf{L~&g-=iFOl}s^3^);D7S6b0+KXFO`EQ1HWZlp8EOXg~!5G^o{SUdmgfYtNyfpu4 z83HeexaLo^(r}OYJGVem))&XW_8Gkq;nUf}&ID<%s9>(S@=p|gqsgyBkIQ+nKJpe% zYBwD*Yn4A0V_mrq!e!GxYp%>WhvN;xJY*ifo@_OqT<6w0j@I9px>w)5D{!DleJo7K zi^h{0q>`H3QnFY6el|Zl8-A^lHQCROb(=zmW|l=j2)ea&p(mcngBxyHiu`ZEF=HSM5KAs7Nf1=#{Ym{Y23< zPSJWQdw|)r-bJs|%h7!#Cl~z+vkED5Dtv_($uYg2*%B%^NS=g6lvVkORRsZOvLyNu z$)q+o~)6HdZfq zSp80cC5x~GB_e#y@dwy=gSdZKg(LqvD*y=ZQrEBrkXrg zGjg><)%!gH&q-UPXD-o){N|>URWHU3k~SK1?WcA~^{(q{y5>uO0Kz`CE|jY%H8d(_ z3-&)mEx%p)WNZD_EX~RML+>(DM}!yNtsa6oI}8sL@O){j(phs&UU)%_)_}0#Ts!9u z0r3A5Wz|1>CK|pi*@SwRd%5DIQo8xPF&)mgJS$1kVMAUU(9mw)9DL-md9q9A7j+t) zsk*};4aJfI~cqvFoYj?bt z{prv>c1IG>nlFFaV%C04h?aRRv=GBdG|_*wma{bCRe2#g$Q}6g@ovxaPlfet?q_Y- zHf?%Rk~ZpxtkY#Yg}Cz5RfQ8sz$4n4fq#5+N{;EMc~gq@$P4D&gyH}}A_UmPkiFf; zgZpCR-j>f?+z05=3iIiD^2{ljGBp42+SSKzeR!a*Yf z1NFD6*3sy%kIugWU2*}2!PEF=R1elR3~sqoqQQun7|MZYQ*(^t+@z^&-vKl5)@>tH z;CSM$aOCmj;xKqqOWBxLxT=NiQ>>-Gm69baE3bF!*@Jb7)?n0gy%T)TyvZE0yq$GAC=O(WTeXdE%3Gcxo`pl6e{kC79^ocdMN>tk zjpu5#z$SO3Ur5Qer8Y*rZdX@a@Z7Rzw^RnQAx}tXuLny?&9wG5ZNGF@<115e*M2^K zgho^i^glfrpYSz&$eFWj_)yy!(Z6P1g(DtNZ`Y%?=7S1pviaNFP(t-%``eX9x3|0( zdYAExET{nZDUOIhiS?3%hlF2l3*XBdif#fsb{odagOlC9)gGC5FVTCMR8*aeM>Ati zXG$xUrio?&okx}4+It&S?VOqyRUvn!sn;(t*Y zyp@RYs6OiwcehjY=+j$$UHe61k>~8LG**aL--VB2Q&A6hX>*U}HRkySotWmJH<-RW28{ z2M;U9<_aLFR};CtAkcR3jT(3JiA#(d=@1=DcL{xWv*k}qHJWhMX%HEaC+6K*?tgF0 z;_cjyvz#Kj=fAuyr{qpI*b8#~xc8oYm$hXG8CmU(L3e&wf@!}HH)FUOtVFvp zxIF^ks}tDL2v4kBPl&cfq_58sK*@E+R^5Ef@caRt9nKsig9^WMrrI(&geQ!Eu41HH zR}zGR77H}8riSb`+tJQ7bePSj1O|{u4Xf{3<@4hN_;fDHR2IaKwU(8eKKE`Q+Xru{ z_t4W?_2$M{l&}2?A7pTeKYOtbdeB~WJ;^Q@Z$5`UIHus-?m>zeh&DFNZGcFZe2w9R zo%hfDwle(Fl`Y57QjpunJ%9JzEXb?5^m|@${%bp$(*#q9bw4S~<3>XDqJROKupVDHjeTBv{qO4GwiST8 z9-Nbio48ePGIT#8@6p*8YPlBuq<-+b@bu@byfEMivMD^jQDQx%(4*jzHGHZ7#+^VX zgPU-reZFBNy^Ulok^WoU!=XKmM?!G6Z(Q=kw1mg3>6vmuQpYd^U2cRmK80(E!;o7S zc-wfVG1Gd(&-x2+tUiamKv61wCAg3waMQ*)NGb|923?4=qn@7Q?RxVmF)u6Piz~aW z0sm%AWV%u46UoYbcrXrhxdrcoh8X&dS(kl%_nw24n*uFn<2^7o-12DS=so=T4(14V z3vy*isg%wg8+5@C!_ZF@6A6ZV5RD^Xm0|~AJiui7q!8mI8Piq-5WMHCs!GG3cjZU) zBTA3MH>wuC-?c+gn0F!D?ePMAm8f3=l*f5ioV* zLF&m2!&kR-)vq){(FDbuSvZ7m;8J+rn8SE4(nIr-TYAdKI|pg;T{d%!1B3;HKh=QJ z`FQt+Zk1kC#aH|4ckuvhHCWbcV+d zq0jD(fodc!mZ`*&V#Dzo7Dnz^+7t>}U$10{^uhfh8s_r3F0JrHpB|Rl4@vsC!){9Kc{Pb| zoNdm`9ZqI~`c`Au*_e;+n(RKs-89gXCi#uu4QwTi%O_3pHd2~XUVW5bd1K3kxpXW! zTa4mk__QIzC9hRApyqJx9KLw{-g5mmotilE?{4+CP`X_%*&PsyuG&_%+DarcZ_{jb zZ@!z%5$^Npwa$Gl%L$?9-+tl8AIh#4^r4Bhx!+I%2U_pU=f=^BNp;RWzmY$m13ih5 zG2WJ|dTqKs6CBVxOZ*^xI+kPvCMG614yuzk=}6mWJ$p8Z*psaDYqRlMa{mQ`epQ~0dfTJvZG}s-fWmu~ULIvAA@>XZim;SWR0w*b5E;`# zlEwzU{yg7YOWslXia0ehp1hbWc)aM4RQ*E;wpNmbN0&wY_riJt_biMI5`#V+3}X$> z_lgO$Y+yv)`D^ge)=}yx4JyrMX|yBVXhWXEn2x8a`fzn~l^D|3xDu`u*ry{Ao=tT| z>4V%pA}~U2n$ej?l>NunG6SHpqH~9;>F~i0g zfmbUJP8&D;bU<~{1QqyCO=+Kd?afV6mIwwO>K#7i`?Vupx`7`?V-0=-Diel-dF4U& zF<9m&H)p7PU-K8!k7PBgIn5&lV@oF<$n-dXt>UFS?%w;8e$&J;P)IAE@nf|+y)e7_ z>DG>Ci0r~ui}+sB)bCXPH-h4mIqaCWJ<`-FVKIQc$3{|#n{?=KjJSWGmK>xkcqFpg0sERp(8{sH&;^^faMEr*{o%nmAx%{{>zf1w=;iL|_3Yu1=tUI=~x z>--inxq^Ll_Y1Xu>+rlSMN;@~zI*XmXEBCP_(a(Oxj3iAKb>f|D3o6@zoTKvM>w;J z6@N)689HMkTe>u2-$T#nL=bGm8GO%^WBG*l{emq}mc*$$>N@?Eunp{XjLhcr7x#0V z<*F}H*2s1KPto8PW!#muSzh{~yU82GSuvwA6SBiUOstv@A`9nna1emvs|p@!(l!Q-Lfx>F&QI4^}#7KZWca%xF%B+h&>)eMs){w8vmlw+&@;QQL{jk?;SoduY- z@e#gk2YQuowLYIt_=tUoehs)8&g@!1#DUoVA|RFY;jkR{vKRKJmMCYT;P?5!Yec1> z56=!vv*gHd*Knh^-BX@-J85Sy?#_W^2&jLv)d7+nQxl=&E@Hp+kwt$?I?+-o!;3Q4 zV(H=>s8-A+uyz;3>~38zOeKoe;S!U6`V@c0>rzvu<3Jc4i}G4QQ zi}0vv1%!QD`FCI=eWVfPOIGPMC)>6ExLq#X?~0W%gg0%J@r()_z5CQx)9^8vr48Gp zUwZ?<*RQsrwKa3TxsOdE~QDgE_J!4&CV4)a9n zTB&@Fc8UPpj%w#Zx1txHVS*N6_G3`gfKpz&s%;Aa?f8PGMoEPx7Q3@ur4kY zUb1yC?D1{-_Bu=YN9(yYw;cj4!3T(9L2C+Vd%W*5e>_iUPBSe_8gQE7xbLP<*I(Ui z0)vEJdVb6y=FEQ~2Wb(Z1+mA@(9l+%+6Hpc_U5hFM?j9kdpEdhHb09@$OKaQG$_O};RT#||#q?m3xv}10O155w0Dn+tlg}bH3Y@x13(S}WwxOooUX6N% z1G-fS%txV52O{g;l?UY1_RBZ9&pW<~WTa%S&f~0sB>67B-iL_yX6Qu?*>+ZI*CmXH z@Y0z|-S#Akc1bCD>pvfdz-~h1;SO1Xo^XG6Oxv10mhOuQ@#s5l2+fk4P;ckpXN^Wg zWtKLigl8wwVQZL*8Bqcs2zQJBWEb4DUmz@eB^myaDXli#~_M%?WHtQDWYuJJ1o7#l7M z$;i?Xp8yoI>7!mGgn+gTbi$YJfiwE*m8@#GY(tNUaY8csUu-SQuLZ~Ku_-#T&0vC; z-Qg<{kGCTX&s|%cj}-prP?y^aq`Yr+HHa8N9Gj&U)0Xhh)%RXT)FtSlqXeWLEaO&%W z+%G<9x6*5yqe1zYZEc?-m-S%VNt7mLN}yH!D=pK9p`ZC(jZO%;_mecsUV9ZySF=9g zeR=U7HTLp>dsK1!p_uA9(O^pu@ugso5F-+wasQO~Kz{47*^&$MvDc~m?PLld@~tlj zgK}KOX8_gSHiuJ7QDL1{Un@?;;WN}FEMLRRvgKzz@ft6R;_m6xT8yJ5kVeMOP1qsm z#OuL_N!(}2b1{%q(M}cD@AegR)yQ#BviqHDH&D$u`u4Hyg#zIh;-H837_G0xnvriV z!IbuoZZyB5(cL7!wAbS&h}U6ztacmB2@`E@P>RME2Iz(S&ZPQVOKA;=qo2cg5=j^) zs#;gO@EBf2xi}rHWv8!E?|_N;d!3-;pN6zlppOL9!$Mou=>HK<0WWV){;~q7V=Xri ze|n1KP@*EjJ%Q5RrB;qOi?a4A=<25V+adLNE`zOb0Bp6EJB9>nSNZWp6{W*CS!mt+ zwpMR4xFL2k83s9}yqFW;HQR@q&XDFQ`JN1sL+h8ex{qvcQbzEkkV!s<15>CNn0twL zyWOMniB~p1nJ*wO;(5)A@qJj&xcrE_@YJ@dPAhLfhcBlWMb;hc>xE`$poqRy&Zk|W z2@tHbYv!rmYVHRkWHMIMNbRiL)j%TIj4bsjQmg!tI`3B$ZXXTTx(Do99l_rbj#M#J zKS=4m?XFz$sXm`zHda;7PDw&wFI(#Qv#ImodEJqSEB&SZYXtKr?IA_w2-{lfH(i4Q zP4%|y%X~yOSroa`JU_grjE(JfmPVFXtL^GWG=I!P2OW#oD|PKdB3K^~b@x)^vSR&Y z0Ic+%va;%fM*{8psW8v|3Yp@pRkW&ZbW^K+6h8F=?+a3(49CslYvz_uHW~Z5Y4@Y) z^@74rdA~%g?QiRFro$QB>5I+{-~E;fN{igLCbPtMV=Y@r)$M*NgnD~Lq-8sLRPEG9 zIjXI?U4H3Pp)C4FCCoYfaf#Q|PZT!bG;(a`J>t3c9l4$UmQ3-%or9?j=1bh#ZU}`I1P_a~@AnvNCXMrYxH;tMicJp; z?;;QWAOHs0G~BQAx4K)Z&0E~5++VAC-gW@h(e#xt;BNja9QRZOfGL*ETL&P|x$%_! z+K3l!ho|?g!jrz`fnpUT!fSpMhx@OTfxBPxr3voC&W4LpXt0nk5>^k*JC5^>C_=Gb zWVlPuj~lK{v7>?RWduo%!i!6vk~U4ImVXY8fWmnkgrI!F@JW_iwZscobk~Em=L@!& znzo7N%w-9dgo?{uF`0d!1#j1dLFA^+pA=OAZ6wN_Fv6#YxSP|tE5r4aiXG3BDfZKW z(njhxaB|+ilh{5xMmuTC1bKW!m;JRdXR1OcVcy$@(XtY5q3QDhfUTOM*;exWc<)a8 zZSwe(ikTa0K}XP0fFi0qpuD}U)rhQ&<3q#7uUt{j=c)kNv8Rx>j~%Up5?POo2Hpqs zZI@6JMQ(Ezqz5JW`>!@B!MwYPT|Nb$JL%9wE(#;mvK>7{rm*LP zG0D{>VVP52Z1H@?E498Yh^;2N@mn5tDOx9YX=?o&QK#S+^Kz=_hF$4ireNygcA#2R3^b=x#JKJ)T}zhcrh%($gS68TI#UFCTO2Xn;i z6fA>8bm~X%bb1q`oxHawZNu|m^Ceb>`Q!PvgQouNeUJr7{+1_n7(2fuC=<5=y^*2n zu+rI0<<5s!nhxa>(mwdsT-YjVICc&a{R1<%y(dqh^+1vX5S&BNKg7j-DEawQnkV0A zNy~h`*@cMiT`*&0q9=A9UGIS_O@B@@@(Z)x3Oj!uUf!-9XX>#--WIs{GN)@RU?Mf5 zo>CeP%(8Z2!&M-z#dAN~Hpw`}T$>d(VkFj&UNW^ndlHb%uQPUfZqV;8Ew zmJkUHLph@`f}eTpRQzb#3Ctc2#5HHzu72XQF)3#z(DPq|j?(?MZXBm%=^2?)H>x-o zFu}kYqn)m!N)nEx5RWn|m&OD(EcL1$pH{EXw|u)WN6w;4ccsMQ^{10@$)QkOGv){H z(RlaYh-$ig9YM-*l!@l1nv`})>`jyxY^OCY*4P?(uEN@x2Hg)!x7SS^N3A!epB$20 zD?i)%6p;kE4>#PLy;n1F4i26<9G>sA)yLa4K9g-%-^>i7T>bdl$8p_gv2i7P$R)ss zF_rl3h@7!W2^onR;iK>_IrpIn(bZF*zv)ei^yRoEHj{M!OaEm!gtXOoT+@C7Ty>}!KNrlvepzohK-R%QhQ#G{`bKR~s?7Q^m4@?}Yr_l_)9!*<+aMzy(DnM~ zQcRqR2!6g_zqspg56h-FN0ZBxhK$32PC90J&h1EzxwgB=PDReHOA0CY_$KG#xu!RJ zIV9XIV80;uWf43$VB|sjPQ0_%A;7fq0zj>vJXr#avKq>uzP&!+2g1Rdn7d92=)%_Jv5IdQpXvDNlq7$a-4)uv#SOOa?v#FKv$`$E_tVreIMut@gqq1&b%)IA6}DnL_bdXX*0}ni;YDlXqp76KO}^{7 z^-XyV{Y{0(;Dv3;SVg1~-aT4iM7E3X=M?$nL=%y#y;d`y^gZ1gQlIVy(mj#ptnLk`E0?{^d_&WQ=?Iau%aq1ry?N@|Ahv&}}l6>-_cn zrRwbkdCm}|*L)R_80J#E3&dq3YX#oaPVg);A@AbvBRwV`h|$1GXV-;zt}(pl9e-OS zQ37g@DtI?+{K(5pr}6ItxpGp5H**6#m|=u7r&9R<5kq*%p{Oei2lwHxzP$ZH>WWYw;=@iz<`|K&ph>Md`8e+ zf_Q?wrT0b^qcS<#V|6QNfUvm;7*?4v*_<$hqI1!m7Uh!~tK)f@(Vwoie1<4>E$ebN z$UOmmP;d|BzjB9ilW7@MoZ)1nsez16zDMl2dsWKa#Md_pNC`m!Bv9Jaw*G zN=UXWxJNyTCKLastv&de&dkE%e04~vH8^;D9F=iDmVCrWz#x2>bL17m@zZL^E-@JT z3>zjFT0CQUs81HgL$l9?FXr6*2g;2JlZY-fkvganl4GEI_uBs=>sd~Kxc{0$7$CW= zI|_a8!4PLV&jJ<1CVRHjB?QfCQR)+A?+-$Z&VZEx6_6O zO3=D)v)_K6PsO#d>yf!%p6@ha&<`$jfP&QejPL;5)0L<1#>X!iDLz~$X;rT~F7^L` z7;7-A$@TwJ&6=$j*ew2pu&ey%fef~OtaZ9YU#4Wd+v#=NU)ET#rmKF2YX5lf#^nby z3BsIcwBfS;Z;wP-FnN{8Unp3OVGbgR%UO)&u4(xS`AHFEj+kB>2E!dSLej3PGW`9c zAF90_BxKuaZ@y%%biCbDM+t+Asrn<@ON)hiTH%E&ZeZZ89ys15G}J)uqMH(L`pij> zC6Yj|b$M@pY_9*xX&EF>(GI$K7jocs>?-x({%!ngtcVF4$j?^n{e3j819R_ro=7~e zd^X;_KzK6580+Y;Oq5|YHHZNKt8_l42{P{QwDnOOF0ZW}>6~3KfEP!d-SNFp2}P=j zUF0s^XO+lnM~-gDAgT^0dq7YkoIUB%8Owwv5+YxwvNPJ>!KpQY9sR2 z<#=ntuzC{ta%*vg39P;}mE_#w+niC^@ z>EwU2dS)XMU~1TmNx;}mczdmG^k`_<_lLp{UM}~?(@9E4e8N*_p75;4sEsJFw>Ufh zFPzpu%HrKit$)*lAL^-nR78IMLWh}tVa(s90?tWR*H(|zW(oJ3nQ?6XXw4&?_zJf%tArA4x7F|L6K_gtJF)2)GXtB3-{70QW>pt2W-fQ;oKQWr}=k+y-kLx}UPAq!2@S5e! z@_yh$<^qYchkv9ao*NTNhU=7bb)*T;mxATy58A3@pNloHv!1fr;}h5*ixgtFtsUb@ zRDYOfP5UQ+jCl$dn=gIw_fIH4*2WqC`wbhiniGrgYdhsHub__}Yf>U-1FzM2!54vo zkC84te#Hz_wkq{IF*}~OPn5=Y5$30Nt!;b|r{fbBAJS6rK^y}((N4K4C?NY|^p3b* zC}lgC(46;a+~tRL!`4tltZ75}H85h#GUW4`yFkI7KSCk2{pNJ4Y{Bn++T$?s!&V%m zId38bQgE9h2|1A#| z{u}1JUF&eVh-WirU~cth=RfL!(he(Wy1Ra{8U5`>$}YDuP_vS^rc;^Gh~}c*T%?<` z*3=yP^=Re&0?r7z^4&n&%V%CRfL2|L{V#Y^;qzZX6xAluHUG9d?~?`h7PgU)Xa7!^ zj_K{81?(z@!zNVlxBd|#>^SZt>I;A^7Y;ao&|@Rybbu^CQr8CC?nsi>GXZJ4UxOe> zf(*{?NX|kew_bUQSDOxnFN-3dk!B_ZGi}7&46g2zS7!@Uh}^b!qeVz2U)9XQy!Y4< zECeSL|x0ib!S= zVwJ!(%0PZr3?}=uNeU;%A`=IF?oB5G5rw>gEtqZ15jzrup5XjI`!!tjbVigfpkGm}^^)y>WS!6GyOScD9q^tq^;G+5Z#WPMZur9N%hP|4-(K}&RJRi;@yAo)mA zK7Q$z%=MQsj{*SiQ7ek_ZX_RzduAW9K6VFK@)J>1p&b z+psZvc@A>9l?|b3ejeh5N6*({Pbi6usJ7aHV-}`!2QRV=BN`fB1b6clC>V7ljvPpR z@9y|lC#`%!D;MpBeVBgg_)Y`Te{=6ILAAn?42MlFcf9rv$L z9?;EN_PEd<6p1;a%o7qiO+cFkiZIq9SG|P*e!}+PZ|f@J-#r}aSAl?_iQouywV8sl zt#gqvi{IZ`>4;ExWRS?+G<+EQ zU}a@3;UfS)Nh6ue`U?Sc$v{(SZA-#H7xMy{lqSi2nt%3NVFjq-$e*YF7ANi}cqzxx zrwv;c?bAFDh+{D1rI$zdh6?hLT?O_xGM!fyd<>hJk-Z;SRTi9K5e1}Ji!nAv%u?xN zHs}#Jzj%0Sn9@xZuBAt2k9byLa5_Rp=0Lq`bQZL1RVcN zhql#Sf*+%dz^{?KQ*=Xpb8izo4p%Jm2LEAThRA@fg~H1(HWRRRcaz++p#7iDeVM?L zPgHyFER^$XjG3niN`R1WW(>pqhe9D_K}Pl`?l&c*7P?US-Itrs;rL^NZ`6@+nWKQ~ z`;&VVYO}%bhfWM-(4N!a4Iu5QzpA&gv*QiEWFbUz)t6UPjqMV5ud*{cRZvinW+a!P z!!@4J#9O&3zT7FN@rX1?X#U?3ljSKSnC#1agsTX5(ioxll9Vjvinb^XDO+beye%U(9uv-k%5 z`MsX$Lz;)-a<8V+rkkSOXIG6l1{V{x`JaD9dB~1(V~|c*CIG@$Ni$=$qyxQ@ z$kiNXqVcK)(JDG>5hYa8Ga5}_IHDuWshMYj)U#sIAc`^ztE9Fi%Mqg+y{cUP=+5n! zW}bSU(1kUU!+#0IWrsQMtxrOTjH2hrPZYoazw?$!Q~mOn=s#Atw`|^s`~AR}@F?{- za~1 z+&bk+3qL(Q0xRoSWT@Ay_(gACJXR`CL8}2h$kdHV?iEhL zgc;_2UldZZL#8_KDa#$+!ia$`5;FCpJYe8I%DbIPu-fVIuC_`AGPQ-bd&_LGVevrG zEwzA<6Y}7FeD-}5*pj&L0TMXfzk-S|;B>)@eeb^l6aVqi#YBL@`oZ96fMOcD4+ORG zP^{A?Q3m2T7v>$6|CX(Xven{oi}3>B3Hyoy+MYi$r2c#Ee~-+pu)leHk*PD7>p7!p zlR41iQf*P9(v3lh4hH=FV?Z)zf~*$=j8w~kRpvr6*uwe zTT$h|os@7wfV=nKANu#vpw17Qb;BB0u7MW1`@ippzxlsEm-sby>#!nQNviR$W@DmS z)W5YG|A!3#JN-cMrtH@%(z4Ci4iWT}iZv3?d9+C##}5I%dhjPTke%m_)*prv;Nz!D z2Tts9Md36u&O+(pIa)rs|M?sp-R@uXT2# zkuu8pZ>RHdR~$I}?|1+6DBCTzOIVXfGgiho_{9ox$~ryH4~Bi)=v?&NUkhBMuAG<} z>ey)}Dms%g2Kbtr5MROF?$iIErOb%atnjxmjMIkzMz1=fs+y@ zux?(3198vaKLv=)|ED_*MkCV)5UAb(Rt{E5CULBNY_?$ahSpK-exWi!3nCik_d?RuiE8-`2YP#=rG{` zO3%}7ky6CT^QZ|7u?lQVeJdV0F+QE*AeRoE*pW)&sEguVqfsmNnkkmS>v@&L)aVVt zgTaw^vIY%tqHtlffo*#0zZJL~FIY{TPF|(0hwHNU+!1Zl2BgEs%%e-%hP-~GB0Gcp zq~LmGgLp^s6PaGqGp!T92GF1rKot#sONcB*UQ>vXybtL)Q4U%`)%Ju^B=pyUNlIehb=ns0w!{S$^zymt_pfPv;DRW%qbuY1dvBO2QtSefMD(vq zRr@~uskXZzY*U{MWfi^ts23`}>_ae+X-ct(W%{s3x%GXRuP!46F`?4#daHKM5F+hw zy8R{Vaj{?*+v_=%VU$`byn)*<=Ld)L|M6I(e-^2$l>bCtt&Io&9dvL&4M3Wh90gyN zX@vFT2KPlX4s1AJtdFpF0x~yQr~SKe^G*H~e7<#rWa9V4x?+#`hUL%jy0dY65yv?Z|VgFAWYO2q6nB79E;*e5WC?P{~tBPXJ#2cPlGy#Z6=%ZqoLl5Qf0 zdGH&NqXF#=Pt$l5O((yz&c-XWHj?vW#{oJ}O?Rdsxtis2q~*!&YmhR3@s0d@%-059 zuX2a@|FWU8asTe#!~lH`@K@O@|JSbbvuZS8=$9aE1c(f0lo44>AKN7HD1zgxjYrRE z!D@a7*)|oKj?q>SC(}r_m1g}BORP^f;DLE~xI;?K4&z&2peMQQOHDMa-wHoa@Zn$P zGj?U|hVgUb>Fi~P^qkQXyB*_uw&|QUwG;E-lQ-E(m{Odctx1=ZmRnAw=u}J1v0{4? zN;cT*t84o#2#ss+iZc@$x{)2Tn8Y1nRiNZO?tBoLwv8wA9)ej$ANeDtRfwC#V-NzK zhw(l3#v(`Z5XBBuQTu53Ezx^5S`$f^A6V_8oy@>L9w+>Z{_hSj>-wi7aCR^FzZSD8 z!gEv$=2r~jYVQFa3PKsvE$aoQCf&Y*!p7K+&qMWpDQzbX+e3J#_^m_&TZF| zuiK{arSZsE6-mMaGMwnynD%i!Hr9gas~q}$cCD0;+qRWhKn`NXf20*3z;8H3tW-`7 zJ*rtxOsA?kCAj|3?jfx~`pUQypi1f(`DY0MJ!t_pJPenwkz^D6kO~y;rwK!}YQ{x?*DE0$P9rJ_MUiI5MRCNXP%yJsGp8&7T&;vhtH-aA8 z`~7$4ma_6AeqQ@CV&7%W|r-i40nzt=tRYSI;IIlpEa| zd7JM5He#8*cxc3ITX5secu!=uA+ZQt^W=i5~pIs(vGIJcEweRV)LVg zHp?Z}bJE@nj>K;)0@}gde3Gf3Mt5Gko1v~YegX>rrbjIaPA50VLGj2wxrkpMkS@69gO{F=-RrE%tqWGv)dwH! z(ymmzFqzZuuce6!ELkqrrq5i?p!9-KI7d{g_gg-<6S-L?@TeVJ&+qXw4hrLEzMk-^ z*$-?HdE(ImPaJYF*M%Y1Df`dc*%1}r5pPG$+uw4~%r%%p=N9 zmDcKEpPRg7{RGc_{v!dDfV8jQDkYu!jIYns$YQQpvSpQ_`w5&_|4)ql5 zdafJPXtNLsWMlsL@uTbLtn2WKCgo-=?`zm-x#ADYA7oP>bvQw4Y8%EQUd#5^`{7xl z=X*s>^A~EkTfQCqUs)%H-)+3~9Wn`hx~e@L{2K@S52ODzzuDVbiMgY4ZGfo5jDk%^ zaa@kC-6kQNH9cGu!HZKZaMGj2({i?Bn86$z&&L>vMoL}|im*i@CyX>jbKFQEGTOa4 z2^D3}W3_!be{t7BHwaymY3e_XdA${VvI^%(E|EP~LW7HHYO~-DU!Xes`sGj1ET#>) z6DyA1e8zf28ncL$QgCS0Zh6XH*K@~)fo%)F zs#uO7xxI^$!*P~ir|I1Xmx1f~)SnrqXFbbVX9uFY&S=No#r%3<&!VGFqxZtqkLm&> zRm+Z+mZCQ`-p5TiRf@X@uTSac~`zcv8x(Kol zs_QD+(jl+&_0w=P5&GPcL;=Z)XZ0WtqS1YkEy|OZDlciAwDXDi%)AYn%&H4MV6)CkMC*JwSOvV`X=c3jjNk`Ur!>fkz>xbLMNfRX>ylO4R z7Rd=WhH|(h{uFY=w%c`_P;aZdqFug<(&-S0Jlf4pAsTQI#?0&uber~s1zIK?#_7c} z%bh7@G&43hu%FBl0(+Q0LvH&9m*VJI&v5T+0o7pMT4XK%3-|Ku?C#V*SxcPc?90AH zpib{M(OeWcSAjEI!xEDSS{rAr_5)}LkkW(cL#ES-+^>tBm=+^kKxiA3JIyS4rLfBmU7CIo2Or`TfhU1$p?|_$_1c=zGQFz_?Y`sIqUA(v# z1&Lh=iCJlW-nUh?YD_zK4Uf3-6%;Wj?dkpUdpZ!_yU2wA=zxq7d!g#QCdMdhey#zC^k$*-dKyS~3r*}?kG zS5%-ufTKyz*bm0q0bxj8b)Kx@5_F*a)699EXhjA!i)$>^w0 z<1dsExxD5ByAz70rg!WdN|_r?6j}voFd^mDm@eB^b6*q>_Wg zTW9m1PB`3-8Hzo26uON3lQ7`1c%`6?(VLE!C`RtCi|Ry-sju22^YkkjB!t_(h2nw@cEUVWpVsvZHa_0Uym`>CN@DfUB34&3rbWy$*hw@v(O2B|rR9}}^Q(Hxi7fk<|kW^!y78a_a3yqCd z&ICPnJVn_6>XMoVzoo_~rt=>0`$YO19fu@sC*)T0*n373Cu|=_Ai#L~HRR*0g=$eKg%B@!uDQ zuz*+-&wf17R&)&ue$OKs95a(Y1SBZ2d~8bVlSB>Q`|&+4&RnU%gj#?#9BFf;x#Xv8 zN#~5{18^gy+4d134b+R!e3s&Vna*T035*RHNS)|jHg)O|!V-AimS2B<79*O|_xN~Y z;0s5hMqRjTgX{hHso4Ue(7yN1FPZLC@7%=#Nbo6@f%tgI|TqVO9^BgHhf5Dl&feKD?Z z5T8pN+_9s?m+WCX43C6t=A-^g3mHD5%5ms>F$&Vet$_Xl$9mYH2nl1G4Is8KPTrtv zKUNABQpRYsXLXN02<-ILC1_aRVePHZZuVbS3!K-N+`w?P24m5|=o#Izw_ie@no#9BvOT|6z&c&n0*A;-|ru!&sto8rQfNc#m&VzgmtGCRH1LV0l5v2}zXiKSSHzcumBo zIu~YDw|N2*_4qbn?a@M;kv5I7>fPs6luvad32n%M#35c7EqHm^`ct9YD3_3RQDeq`kV@G*!$&!WhCSoFjCk4IwHF1wX@TB zeo|lEo2%O6NeOrnk>$Wwsh*;yt(C&~lZoyJ8#i9%!Tmln1?x?vV5w^60X z_wf@Gcs|?QA*4%5RNssS*unj2M{o;CZz=DZ-ZSF|AdK}YjY}GJWk5?@rH+KX!Ieu_ z!@~4&&qIjBpAlu{XliV1OjKPRyWLX%=g%4huD&|3K+*$S;8RtNWalYH+dJ61f}Pm= zdLZsAm~6)_%(?sSao?G*2m^=wkdT^b&&Q|(qR+t3Ovp|N9<$I71Of@UvKjaHP5Z!e z7VRu0WSv<}%dvRf&iliVPSMOQj+IOh94~sk6LND=w0^8`5PEXSal03DyV&ep*3Rzb zG|#!V-#t(L3PZkK-c`Z_3sUxN1iTuIE~UojIUt69|8!Gz)u4#Gwp?b-m26#u2Eo0mV+#!Bt4lbIgZr3Pf^R)$F{ z+)BF!lQ%M2JLxlG9N+=bq+JkIm^e_7f?$R*eviL|knnZ6o8AXgI2o$!_>x>7WMpgP zf*?58O8idxyS;5lI@5Yl^q^^1UbYU_fC{?*tz*_g9;U~*+htpQXnDL^Ij!EyhXg*| zXME<|yFwU0_beCauSY3I?;HBgj6|}|H8Z}s6cYdTLiIL*$mfis8|Ho(Bk!U?SlK&P z?GsTX*{^^+M1rjwTx*^t`S{GVT?HMvQ+Tkw!h2|3hPLCj587fi5jZDUy0M-u@v}Pu zE)lbbdkqD@dQ2N=3^eJ7?dq5#>VjDgs&O0dweWB!4^qhR?`9m=65v5RGQh_LZ8m&_ z*nyCe&e#_;Ned2DH~+BNTrfSD)OnL$_hp)`IY}w__3|I(#}&K{2~w@)P`zEf7x0>`lU?8W#sQ!a zE;c|=KW3YUxPOT0jqf=(apGb)psf%OA(Im!a*IAhM9HV~51r4O=jUe=dVqLjZ6*|v z<)%vvkt^e&t}jtlr!g{>0vE~N5O_$Iti?|2sa=2b42B^FFhLbz*9fVspw_lQ2y?md zhB4C9t(Wm{OW;2M7T!4e*00k9_U?Q@&A=xbTP3jqp*Hx3J@S_*BFKR#5H4z@PF_Fk z-m?>XvG9_ZoWO<1c*~*JFb7lKs%9d3_QTbvr)g;SkNBb5u2y*7Ci`&v_n!V2Q#sYt z>Lpld5jzFsavVj>6n+%Ihdn^J=TFl2!Ce1$d!qxyP#c(x>ESiIOY%MwopGSCA0hnT+a4mgB|Z77B@Qd2*-DBVVK@u#$*N8hD{SgNY2ubMqOHPe+uOuk5 zR%Tbyft8wq2;ri%_ypRCi9cc=-8Vy5wwgasNXGP=rA~-hl`S1FrdjX-?N$DBf51(Q zp1}KplD+~+5EsfD1{y*?YAhrf);Em+4&s24VL+{=Qs{(5Jl`b~u^L*m)v(-DpS#^V z^-Hy+UzCoWLBPjPIDMyw{KuXUJ-v%P!FS+^Unq6kf##9tzPz0#oWu+cMP|D}pK*4d z>^C41`I#o65w*N~g|QO9#B=Q-TpwNWOsNhJk|mR{z@-=T?wB`rY;JJB$-IEQS#-Y; zVodyjrVA@FJCI-zpX7JrJKt*?W+$$bpe(+M3D9x7owsE24&)`DkHeZi4rxnOFj*}a zsS00l_;dOfYrWFFPS`D@#M#)#Lk5HkY}z4z$^r-cdB7@N*-S36FM&Ie`30UcxM6dg zRZ2IKfT5wr#>SD~Qu-0rb0v+V1qMeBH#G7H)6ho=auP2Q<*OAfrF7U})dJs_c#GRT zyhr3GpKo?{=A0`2no(4BMF zMDf9PABtdi#{Fi`W(U^vaxCIImhcM5sr|L-zSixGT5;ELJd+c}`Eb1FQDst62EHqX zx|QPG{@=>#e}JrnIdQnDvn3s)n^@v|7(gpPI0@A@I{)lTxA)b;n(HzqsoD=RF-V3o za^k(M4FvFHqu#?(M@YOsp3OdogzH{6P%k&o?{T>=Ye^3?eO-gE2=CB0T{oiR&!E@l zr?SUppF!JZ;BMxZz3-Whj|cACt@aH4dhfRvnzvK$1cHw<%03t8{zJcd@usm*b}P;u zXyPwmzZo$$qP%;=To5Yuk*cDu!m@L2I-Q_r2;iP876&qXu4xfEb>s}kac zaX75{@YYst5Z1;HU=66Rvzq;05obm%Uk-W)G8<3Ci!vONveNef-I}R4Z7@OKx9z>1 zE#8ODclsP7x!03KGNDz7B3aA>3`RGhAd(bl!6Xv)0$2AV=7h(ym9)!lPTtYxHL6SE zI;7FYS3vz`XZ1(2U^Liw*FNY|bTT(!&{P<^JS)p?XfGOJm3_#7mAJk-l`aRGx?Z4s zL?6|kOK|-rdpAt{cMT7EPf$Dh+Y8ug(>LWg1|1$Y{#YTkI-Y3`T!Y%Kim$lb?s_rm zTb>XmJPZ7y{c4NL3DQmW(~7#^^u}51d_vdhS`9i|Ycd)FIVJmDaW~q&LS1w|bI8cb z#tID>Jw8gfiRi;sFN~hZ)yLZV{{HV^N@k&by>?v~eRbBD@KR*}ql$Kw5Z3B@7r{Qb zW6nDJ3F*&oh|FS6ej`#bm=$>QGM*KE!6Mw{M*W=gbr%|0RX1ggg^l6B~@)md8 zq*04vAG*`V7e`JlVx>R4XP4Ufr!#oF70}|9ks=RejYTmxq#o)D9zeyMrQwKss-@Nk zLRWocN_8~{(eYgHtg}$zl`e(Z@*@BC_nr+qYcO)gbx73>AOYb{e;e3EpaNz5aTt5E zT7*(LG+ozNc2@n#>y59U<`1qyB&Bj|8gg17=7D$mE0`^$bYeZNY942r72aM>P4PZ@ z!!sITJt=yQ>+Gk(u8ktL91wM>!K?T@qw&kA2sFmya$5x~7v6a4zs>kMI-@Ju6BLrg z2(CZCqV(?Rfv9B3FTaZORgn@#=CMx?7N6E=Q$_&8gy#2b;H(A*(wPcr96`e>Age(x z6eu=3wq=N^7mb!`bSx~aUq;j&VxTTDY(c;08Js=0P=@c#wrGZEp9+b5@C}xFUfC;% zSagv&vyiD->SmR`7~{^)ZY+16A=o^=uySk!8F^|APmTsG(2AO!k??!5S!*B^@GUWy z)6M*#6j*o7`tOs#t@3@#h(yl?a#}MoS}56lmRiRsg)o9MYzGN}rV;XJIcPW~NJ<=6 zoxvPz*7ApiO*5aM#{<1w+C1LIXu=MY81SvBCGkXB(#i^-j~K=2#z{$0(J=Yt#b>|v zYPngnOZ*O%vmNA$c*Np&X%$vFMsojPkn zuIa#CXsY3XYc^y^ZCRy9mEh}9PQW>205saeQ1Ame*7J-_+|Ig>NBf2{4i9UhdX{Be zeSwiXk#Q{mD%U^atjiOQS99gn+|%OgnEb&nFEVD|q2I3GDh|M>Az^L@QD6E4iM(1Y z1Q*4g0SoG6^A~EyNyklwszHUIM8GPvtpsOFR2c;-Vj({!b536{tS3oDw=X6^n2^UCj4!=N5R`rl9c7?c3>x#nCl% zIpTFbM2sQSf>%7a5r}$<6||3RIxbOazl}bnuS4?4;~C$zs;B zqoRuq!U*g;G2EFvrfK#Dzp@?ubHeSv-uPilW7F|JMVAmlplaId0)nkGYi6V$zal(* zd0E)7`u4eIi@1QTQ0e~hOqXne1xm}ByNPfR_`;qqygtML8VW{k)Y?|G25(g7;)3kh zrYMfW`dV}hvtJ3QaRXr2C$yyoQ|mkg^a4i$t5Ya0-Kn-D`45_|jgN9(_NQweEfmwS zBZTq1_U#B4>)uQpwZE@HEzN!|sf3_GE%8S-ZaL%lIo)}fQW}hY!_t4QhhI26F71Yfh_+7;T&d>g zfe7@M`w1JUmvRX3UWsAFaTyG&*Sb#${nVVaF zqLR-FDJUSXZ-7&*btmv~s;y{utVE^x0?CDN!;gw-~Ms{=TZJ!wr!Q}G6&2B>66WU zg|%06cYF7)rx{(U>bLg2(4^3hgT}D$c<-|i! zw^c1J*qOT~w;RNB@qr6J_P1ltFt!IDdO9rZH(+t-5>{MDjmZ$Q&*OkbgoJ9d3QOXT z41~-q_|!4vHkH7&q@XNd;-$xI3}Yn9lh4D$Ui`{6vm2^Zg>6Ly`kHd*#)wE~m4^e# z6lf_kx_IhK_Azx}m&N6OUe*X8oyHc3@HTjd{^3&ts}{R6>9w4QenTShIOu*k zO;_TXi-_q>JIj<4@Ip5w`gUNFn6ptiwnb@=?8Im>hC7DUclKkO%O2|b!NVYQDSb^g zJ0t;;8qB|yLcBEIXac}0DW}gB0QX~eLaQVVkT~L^UVZPRNXM?S_}Gm8P7j| zhoEcw^0P%H?;CSHEZ7*M5=hPrtu(?2sr@bO3_Rd$2o4eGBzuYea z9B>a;bmr=XU+CXQ$tOE|^uiNBMjZ$4=HA9;j*aIR;t?Ig1O4Cf5Kte#WZK0LAoTCl z$kL>zMX&P-9TK5R@{c--S+f1Mr+5E7gQ~m1jOX9F|$-6*j!uZ@Br2 zncQDR=&@N_pAYWv-Ej~vPB`%+T`KCj9^?@&a=56e;WTvpU^BaOrtFZfZ^HM25Q=N= zKGYcX4L$59H7qyTqv(VOc+kT(glAk0;23PzArUxUZj&L7O$~V-Wry>7gN!HItWm!m z{BiPpe%iuz0y(s)#0GS=;ZU|d{-3wQzqcVFKgi#DGWZmI%k!q2n?fB0|J`rnA!;+y zgAdlg#}V-UAcTuld z90AiB=F~fHDgfX~&Iu}k;Ku0}dsv>JtC()SJ;9l@oMEV6!qL_ejhzmZy^OnO-|X!r z*@|(~Uwdn5@G~<}4K?nYtFD*%`j>y>XQnoPr#=DO)JZ6k8o;5@13A^jbz=#p1mA;h zm}^bZO{1X;qa=6QM=+RepI~wMi%};r307BM0pYuVMj0;Ex#3k@<{&iRPHms3KOcZJ zYk@z0VB5UCIJ-Ib@z#H}VR(E3kEA89%6Vm2f9(*P&Rt8gn*6U9FQF&IKh+ob9r(bB zW=t)F;qprnH4+ZZ0t1D!zOa5id`jSEXUNj2meAgGVN$H${!D3BsaZJ;^Dj>TjNm{BOvB-_Wh}!aK~+d`}6~ zcRRI^6_F#y5X3y)Yf^ECletl{tP@~v!eTN<`d=1BYvFbm1)-|y825ZzPCl*OY7+aGWgbj}3dQ4p{s9I`~y}_3cH|%P% zy1?haA{0n6A{f&Z(!F26V9VC?%- zanwIaAOFfnvV1-C!C8-B&SN~55NU%=_)W zuOP$MC;sJUa2q6rv!|;ZxzbFaKAA{p4+Q;dt&ya&x=is^jh$Arlp9mX88rey;W#L` zQa9|EYyul3Ih~~BgVM0U7Uhd!?{Zv)e{Bcv)fVO`ICgaufR{0?$B!Q~2U#<6Xk|b< zqzY1oKF-h^Q2Q$=t$-94o(wmRlu#DtU3}#?GkcsO81<#JW-5#F$hwE#ZPDj3m>F7Xfj|O)xv&puLOOLIPu9qYPAYy zHJ3Ec#Imf!ZiYtJg+z-BfUs5!z(vcWH5`MF_(+a90<}P1_axrPgZ7)Y8{1;+S}{#%|ltXlpbVU7h z4yF05UgKDqr}zg|fD(q)oF5)XgPJDAiNlXuhuHp07gSG2*tOcXkLAg5X{rVPSfv1b+==-gJCVjIwXE`|$)Io7fAvOph;M^3TN18T=7jJB$s7I(s<% znpQ6<|Ielih4sYWN4P0oAhq(kd%jLtgW~eyF_h`~@g8Vgx?TN3;GPbJ?NpR-8}2`3 z|K*rWW7x0B7zxum+rkYm->eF^5Si!8H?{d9&>}bA5(RhbgAy~ z(%kP+C_RTkgDI|Ca^Lp#noyqQEt`)CUVTUhsbWGgf2gzi-J`OZAB!2o+3VLpPW@|I zBPU+!09YJjnRE{F1?$$-`rN~%6Y&t*AnV{DDys-f|NLoA{_%mRtxjhZ>|U@*>=uWt zSgJbQr4|4r;HF_$GD54Z+A&*=L4D zwLz=1=vEC_w@*$k7dy~8jSM~nF(_0&UypZpV7meY98P!1Zg29sq*W|b%^$4)bPI|| zAtbf+g>DxAqmKIbBFd8w+@>@6G{?X_jc7FmVG$>k7>0J>Lv&OTe(>d{#|)4e35Gm) zDfhq~rOUGz$V=_%9^@RRS0uBjhKHqn7{K^+#;vE&Nzi zq*+ibWml}V+f24MUu4&9Pm4(^ncM~rQ1*YK+P;rIazFrvRsKdDY;pR8p;1>=Kq^Sm z>a@Atj@ZgVR9{p?)2bGt6Dm$a%P4GViRZ2PMTo2^Af+gbpY75B1DE2JV2}g`5sR-c zmr$cxPuxnIhlQnz>}XJ4(~^E?b_Q*-s_}Svh4@^bXnS@faiQh++oX**y(52HKxHZ{ zA>qK4?#gBK$dO`M$G~DC?gvqB@9FIc$QuL3%c8`_(O!|yFpu&XEYN)h1cRI2)c=o$^iM@Bz@r0K(N^zJA@zxBhRC_#`N z>tZ_7bK~pP?>Dg2z>>!bwA62q>#gl^z_~YGL9g551pD|1D{@IZwLDb#-tcJvI9MqO z2dDGkb{9~d1RaF{@9=tpg^7iO5a~&`j}2_;f%1eEr&){&48W!>LanhdwXlxve0}N} zT-6?iX|~(Lwv@6ho_K@5QT~;XDJ9F8Hp zd8v~LZWU=6@)+m_4w6-0+K=$<^iBGfpXicVl9LbMg#)Gpo~d0<=9Q$JhI3{5w@4sf zU(Rv#34$|TJL-DF5hb_Yf`1C+)sT`92>KZegN9_St**@dQy4Ev2%|PP)_06mQWmuh zGNMmMuDD!|*?x~x4Z8^U11$l+4>s^3JnebW^8#e29mGI4r5UMJxGSGa94{RRS>OlC zte^@mfnTm3u(LLU>+C8Qx+IDlMa-~)a<$`(oso)i}dA&zpXmOq3IZ6jXVTWsQuBmVVQ zk>=em5;o;7rMG-F&0C{_`M)Ifzd>bRUufbDeU@Y9=(m~`$Mab5*@-dYIP3S_H;+`+ zld&X9IR-bDUiYIrh6?@NYrpkX9UwR*aGGjay9ZB-u@JF`xJIzsnNHkt06ttujWq{l z!op7fp;MgvVAWu}D3GoTsna-8mL1?`tW6OM_X9(@hd|kM~V}VCN7&e7> zleK8e!@@pk*^k-KdPSMdWDc%nfKk)E-njWd?CIukCTWf!K4|gz3*6^ArkH@F*?_L*ER?suxzKeI&Rm( zB^g~3hIiO|xaDBHgvXm`yjK$QT4E3Xv9Nw-Bnf$*Kev3V1UNH72UAk#r@8Khjvutr zo*ig-mYgM(n!}A(*R>+bOuB9XvAq>7bEw)&S4K;WCEHhNEUNG?du-WgY;LsV?XS#! zP9eAtL$#h(Ja9%YX`SYc<%1yAbJW3RexHWb%^X=AVJcj`r z9-L|YFBSxlx#uv`RM!?U-XU3AB31sSE6(y&;(wps#HFQ8$jFFl&*U_kCdgAR%~#hE zwzd3Nq>a=Ps_e1wts>Oupw&rJTf1juZw6Fq5I(M6XAl?~?{S_L94fm)#%pKklKQF|4<$1!QvGEE6IfFA3rRxICX`$d zhvxJ36_@Jh8}1cj5EW&8sUAQvpl}t6#v%V(#F*QZCmp4_#_&Ic%+N|?jCTrCrFx=Y z%zn2R@`jzI;$etv8-KoA8kmJ8OR^waS39XLW)%DF(%f&F6&;fw#qY6wlYs>w~kO zH=-|bV%aKgb@js&f3VS5Q4}@~BBupNnJ}Db2`H+qhv)ham0k-)OrT4}rK(@?YlDm) zKK`bU$W0ej(c!g(-`%V&4mdRYqzaWN^i(_PECd379@3^G5pZnhhZC38`P?mN%%;hg zsAd!kmu=PLqe;oghzJYkqs|WnmnX|KOz+!EOMkvS@KUc1Ymk8cL@+2?t;^#gB#C1& zyuvlDA;g%3kPap5azJC!XGZ&p_Mw>tb|1^hO(zv$?@}&+4>~uHle&VF^g?}O>nH!+ zIALutKi;q@3k{~svgTU8EDjS4>|gsCw>So#u3fWv?jOY3ymh$b9JI)_1es-=ENo*;ZOm8&n zG^|KH9C!ntm_NY9zl3cmeA)^7jlsvO-4}$?6&QI1|+^M)CqVB`&VOw`OfQkVzhw*79rb>qqo;lH8LY9tCqf5eQ1ybYW^0 zs+1samqU$BIwXDC8OKU0W~}I#rp_zmLP2P>U-4Ky{TQ)PN7QD5jIfsE(g&}+It>sJyT4+7AEKWK7av$6{`$J&o7^LjamYh{@zOp98_syR#>b z1O>3Ba`T|cO`G7^>%tF)XRRbjpkJT;QB+HWOI9F{D;CL5hb?uZQ_I#+!^7da*C3lc zcW@bpWKtN)sL81w3q>7iL1&S{S3mv@6!$mhGyYQ5>_~hWbq0pswMu0veX&d=Lb+nz zDN;tO_v|z_5Xy@de^u-%_iC4h+Ya@K{;VpNeLK-8jRu2E9ml4NB&2EadqN z#qyicv2A+^8B7d18Zi~kw#!N1(0`tuOg834@zCH343e^oLMr&bGP?~Fk!#Q`)SgMl zu7%1QdgxPkXaPwz3eQ!n~7hc6+NS8%}EcV86xCID;w=i-kb2?s-s?kL2&MZ z?`4LP4fmTsCX?!6D_df#z#TnV7+ql5&ev-_O>NmEGxRxk#cZN?}vhCa zZTw4qlBc9vubxam{Zn`h25Rfh52>$Mv;KpfYep;$X`O$yu9itO4^#a`vZ;#7x`-`u zRBVtoGK{IhrOH>xJE>m>Y}&zz|F?!BU<2-=y85NVX%K{<;O)g4i9%dl!sq34H5$VN zNIvy2&ik>WzUaiPiR#btXV(vW#1+&QH-|l5GDWZz74tRqsvosJF7S=v(8&}*Vas%j z^svHS+XUO-r(>NS^(9yQ%2&4R4*T75Jr@A=KAi0a>CNdA5+8ES45E@=VE?J##^}ln ziu=W6^VRUqoPRUUvE;VuK?E!6gP7i;;YzGUXr<5Ii%#>f+J zMjkxF;O-G|=i2FomLrxp#CNY-#IG*L~FUY%t5PXyu1* zM#;7|C;EBqpr|%oSd6i5%|@gv9=~rQnV^HGsa^E2FK#Ne!B=R~QKHKVw(wCS*5Tbk zeOSvB<8=yCC0yx1XbW*d9U07%{rg-hF_MQ{$S!i_MQegZzyHQdQki6-hqcDnxiNQ~ zC*}46-&@dPojdq3slmoR`wC!5AO@$Cb7%}WF|R49CZ6blKBK3nUq(*)IPrdc8=$VP zPD9@wIzP{rd^&1WSQ}Q^fRw4u#D+Cq!YrUW@6-JS3BpEZkUu9so>OwXWaqSuGr3L@ zWv>;!1wNFKoA);hUO7$4ZWt42w9Wi-lb6DAX9Dvc8N=%f4_&Ew-0fS zU$GnMVtY+l9*^6##)t3eNv@x?PRbaXYH0c7^2?~#HY*W-g5812sj5-cDq(em%s#pH z!Xkr|sgqJ1g-=*6L^7n+xxC>xT$PA zHu06Lu){vVo{Z46_0A|5^ed%8&|s9#X2%2bJ7`_&>KcnUhorpSnEYhE7qGAkL}Wd( z<>YYU%u&S*JtU$5u5N;&4?%H|;01=FBu{GMt9Fq%%J>}gPiT|*ps_Ae`b+<3cgGVn z1ReE{s62o2w?>k>S`?t|ABN@^r?$5>5GE;+a?akvMC4I&Mh#c;6zTD_89(J7LeNR8f37 z!=Eg%sI@E~9T>M3k?tJrQYzQk>ISHX71#?=2EATLDpotdJR*tZc6S1h0phv(ebYns zG*1uV`Cq#YVc@{^f#Q$2fqsFB$4lP0PjE=W?*h9u0&hMKh8$C0ZZG&@$ZR&r0`Kd3 z2N9aPw8?&|xxx?B50#Ly3?nddSY4W?PZ(1{XC|sIIoNSQdebna@>tJUO_)!Y7vfjnTiRZzjkatXza^bI6OHU^jT?b< z<)IbqA}eyq$>}git39>B^DC6v$tlv=a)V44J017<8XNQe8 znn^!O)@aWb<|0;}U>9r8wC|a{FT}tU-Nd=!;nZGU+YZ#LOT>`2s1ERrwCnq22Y5L_ z8|S)3JbW1(&8KF*Dkr)$YZc0hOVR2Qh^r-d?z2p0Q^>}w@w9~* ze5;43lPe~wZ6v7R`>7=7c`MXh;}=ir(5|XMjn!(qwiSUz_bu=dMyeUOE_5bpv zkc77UbVzRz5g`u#q8l(`pGE$wl0KVnC{I^T{W;R5*)rC8C-F6QK9-&^W;3*T9$0p0 zQdH0gE?gpw4NjDSoM%=#!spHOQNAV>$K2TeE{(kvIpm9sw zK8YR1IV3gqB)UKN+=C06k>kT%gjJx0y*2aEcC%Nt+&tE1~!ba+p%To}yio7Qed#c;?#;iVcKzwch$ZNf2pX`5q!q4VwDZ0p?pVUg@E$vZat=P-1_mA^Am&B|}03jYS8@B6@ zV_M2Md6&rIV$`K2RE_fan`$~au8-~W0|(^18YiY~dTo8;Csl*2FmFvMk=38SCuW(W zH!u0Ky-W;H4f9g$?zE(_d;icR_x%Z3urHfRmx*0v-}UWD+^EWtI377PRdvfru1OLy zR~YTs288@ecq>wEjnzbItXjIm^qbF3e`CJK?TW=!g<{U&x4PPt0UDYLo;WLO-hUyw zy_Ni_V?(Z#pS!94ei8EbwnDeB1T~hUAAnrR!7RVFS^Zd^_{d}J*nYv0=OBn`U^&n| zLUj6>SF$l=4gseweF<~bgNf&s>sgB|X-l`SKwP(b_s_jNKTf9!e8)}S$2J_${{R=L z@;Ld%&ES$f5Kkcq+)_Jzj$vee@;DRD^Bv?OADn%`WBtE(>R&58+z|(Mi?J+$hqp5x z!y(xlo8mM){UN`6bH-sQ#hbsN{vj0d9GC4gOg6i+VwQ67q+enhhXCO0ld81$6Xo{? z<@j}E;iMyDp9q|+n8>|(1#tBPYh zazgnFwW5C0MR>Y$GTN4Uc?o;rIlW&C`Vb6NSGpZ@vM=w4BL&PQ8C@#XN~_$P3{hAl zkWeFSqa!5V#f;P|EtCvAbRG{;Gj;_Toaj~INq*gZf#v8F=e*6DIy9QhGrR@%{Lu7) zEKyIZpD_q7epm7MDd>Gd!xw6RES2(a5b?j);O9ghcw)124`ZrKun%-`gz z0yU03_;|jKj&ocn#h}~;4SFoFV{YG8@k>>q?HBWBMj$59N8n!okUK*ci;JcySfd|vT+gu8p105`8nK1z#yf0Y6dVjbUwqF2_Ne8v|Fa?C49PP{(i_K%{r@oK-_21~UhLd>3V4re5&ur}U>)(7O z?k@`aVJ-3WhR{5q&oA=SD^pQ6_-DlMQf-3Y^ZSOpmB+Scg-#Rlsla-GYxIY{PA)9( zw^vBy%(2;j7)lKjsTxf$F=Blvy*xj}<{*J)s%TqfDZ>$seH+C53kw_m2K)P(-XI^~ z+A{;k+r2NSRTl8UhSloBSbDyEbWe`2hPD6a4RyWPfkpn0!<819Fk!lsz?G=w)vFAf zLX4XGCDm`IYfPV+Bi`7@D4mT@N1`^O^ehMjpa!J9YagFYORGOL8gN|1h`N=|8>F_w z09Uc2E5bkqtfm8YgP>-h*F96Jw;N95V1}uYjeHmkA)gk%calhD*y?Qk{0y$cEV0dF z(c6tUX_oVv<4+cqzwi4Xo#<03Vd+}T?btB(?jq5SLzg17+$oHO-ygi<_(-0G}`wobKezcv3PMeD2i@rQn_tMJ2>_1tV`icsmL-JB8l z$0~KJNo#|KD*_Ghok&;&(;q`#AThBI_jG&leCk}C*We-A@uTH)&xCblIHKe`RTizC z6VaLwGTo{2mK7ysGC9h)K7BCossGp(rz-?vV7ML3qYoxt)mdqFFva2Uy@fSaKABwC z@NvTtcr!p$C^-Gdk5Z&WveFxn+IWXuOy^br3X$DgLB-i@ zg~WGN3yKyB>;W2m+CQ#MoTawYQ})~SNg522HY{M^pCme(A_zR$@W$yHuBo&H<5_we zH~EDyfl4-KVv<(EIgI9VxJ>ucfteDtTy?VRIdxjY4D2h!f3jrxiGmrBvcNJBkrS1u z-#psOSSiAEKS6Wdo#l!>Z==c)6Ay=nqz1o!=?Ld=ImZT9Uedy#!ONfE?EGjUfmdZ= zT*~639K4ETKW47*0%;Ds2;J5|*k#9xo+y>h&NtC9dxLDo{hZL$ZKPq=;Y`kFTP~A6 z{6`j=&?tHc1nQExZYiCgpDW{BR{Ouof|37DILVLJjLFeaT~Upn?8(W=QhE$iw>~4o z&Ab!pjiIjJVgmC;Lwc`-1c@&#=Eu4?C1MDf?jrj<-MaPP8WOUPp-yY z+5V->lmr#y{#nTzh$&=~jvD@%`#B%+@*ui?bd zbnRmYi6dsYK0uiC>zA~gi2e`I?_5Mx`&Z+&_{+S}?Em>Xoc(~e>F#Sop)FwQgguP9i4pct=9R}gZQNzxq!P;`^|s- z+dckso`VNcqL)>Tza^=cW=-6!s_CT^Zx0rw!TyYY+%fAIitDH2I)6*R3tI&RKN=1w z!gal}11E7z|17v~rZWFv@#t7Ot1AzVjeq<8LKpxtbp4AV4ICYkj(=+W{gVF&$Wdp_ z6~Vr8=fZqRTT2GM`gr>mh>LsG?Qs^5D&_xBv5LaV#JM9I;Lw?2Y2j zKY0d4VN3i4V;sraS2m$uIvcz=I@XcG6LdfPY7aBoP3f+B(wGDxDHG8N9BY^Cb)wec9&L*71zQIW}t@ zAymQDra#H9fR?xDlCLX${6JREJ7_#M!e7zCqyAQ7-ZIVL?jrv*+?#d3{^%pMJzNp*;`s+Ta zQGz{&49;2tPD8zf($oivC;ARVxAw{(B@@9@$(w%8oT`6l=7QIHclw%RBLY^{V%aGG zKMBI64#5BCX$w<4>{>&`!U}~W_7DPqz^=2wnVAIoK3C#2DKam6B=6neIv(w*LaspU z``dljZ1O$F|JaDFuO0iztriOUP&vdC1GZS8`01;5Q$r2*W|c}im8c9?20tI?_~Vvi z`v!=W{`lVmKHL!rwlMrxOZQ)g$PHXP20IFIthak&IJFQG@w#C?wYmI(ij{y)kqK4E z=K1LQB#S3-gm9bpV?8@ z|7C@)XJXz!&-6hxyPkZ*fPODa(q{Zm4xTLl_I)GFdZ{YEygk2@>{%-)#9gjtNW>9FTFw>kJYRGTVSMEygZcm1`pT#{mMvT)xVuAu5Znpw1PSgM zJh;2N2M_KLEIg+Uu3z^5o(d^t;HF)Z(+<2VKN%@0X{i53A8Xa<#6);$X{qvJfds-<3IcNDdlC{7 zR3eTyA}=6n2n7PR-5|csV$$UPd>wdsiKQxcH5Mv}c-eZHJ>~s2Zjf>){Geb9awJ=*#2L-1d+t;D-^e6B zq%YAO@H@x?#K^+(%l7WK%fZCZ$OtwBti#Fu>T|NdjEjqlxKocWA|mo*-kMa{SGyeR z83K~@d^-Cb7T5=&M^Va5)n{z>^?ek41z-0t{=Lx*3dMg{+n;Wl^j!!cwX3hHTjh0z z;u+?Nn-`#0&xsadMSq~d{J*p$n@{LK7u-OA2)XjX_BISHEiGjT`D962Mh5*C*xhlc z>&KoRamcb#%Pe;T?uU(zjD+5@_j5vB-EL*PY;SKTq@_iq8Tu2cl`2+_Y5%?Fo27*~ z5WC4wZ>6ZVMQ|(Zv zySEn>!lHvj;I0%#t^C=eP=4VU3)nUs&wR>B;i1cY|1?%ZmN!q3A3@y_hk!xeXH(T4 z-uZG{B`*4wA|8SD{~4r|Yf1)&D;P+&?j)s6GGB zKsaA7p#)f2S#k04k)hoLAqLz~5L&ke;lWCSO^=O@?59sy1_h8o4+q*p2QOke@8)p{16vKef`9g6qMNp((d$cPe22<-*5B^T(rR|DJl704bwKc9(`j&|L;}z zpMfUa{cq-*keEp6)*#5p$OwT}3f<1Bi6^xPR-Z4`n2P7*WA`%7xU?KeLDh>#AWBl+cze_|H@E`S6ne}8sc7Lu%(1V!E$ve0| z0JDD&N(SXmhWPh&R}7)xoenX%-b17Mw85A(K(}!tub-Ojb2*iVk|)=D;I*Y4*C}LI zyivr#+$w$J8Wp*o%c}7|3)u?&e*{-6M_jgzJZl!Wlb))TXczwb)`(W*|NE~)IMguu zOE&D-aRX5r|FzdK#WQ37Td{cM=d^aC6ZHZUFzIo%02+tAE2Dj%v^UPw*Llb%padpryPg1FCyiMD=yX5nV#L%@Hs3s6kHf`LS>Iqc7hJUJ@(X+j%R@ zt5XIhQlogVL`C&s@5izZGN;Vo#mx*TR(&dAA8)+7qayFWrgmn(e*a!DG+`AYo6Q}c zwE|Ot&-xK$Bm&+%{tcWjkfUR&5LF9#$6wBTIiohq{@AVD_Hcm)V%YbP}`EfBJ?02bcL0k zn2aFTB|1|PTX0uNS=DG;q`sPf6f@8R90-=^`x)AQK{eAOT&|{}B&5At$S6h%S??WX z_snO_ww+f7^0(uA=?prVA0QWz2{XoM>icyEkXQToW4ymp77X56HFkwaOVU$DcC){A-GuPT}hSPnBKh{LY1mWhg7D!hXtKJFN+ioKT8jex!Dc ze-hQ!nI%F>b+@hX!zbSR6RCGn4xt7=IWD=WgtO2m;e$^EwMr;^D(-}_PLePMII*p4 zTiajj5!)5wG>G)v!5B6P)i$l##&NG4pvf8>gtQ z036ktAD0bjySud8V=}HmK zrs?cKXL^P^OsZXW@cE}zHlKb)?q^)V4?c8Y{j-AIC;2J~_Yum|$6ZeFHx(BX5y1v? zdiYhj_S<2R7>#IQw$2MKe?lP_V!7+Y3}@`k0DJpp`7Sl>x-V=D1eL5( z+o{FcZe3_<_(DO`LQ8jYgQQK7c6C}NrE^*YPgV{lIXa&h z4OYG}&&%0c7{=>`$6~mpc@ye$`+FT!ftUj5a??d}a%_kjCBHq!{Z)IGLHYitr1}2w zbEDTi?ya>R;k6x`%1j)-AP+|_%jPo6)R*j+x-4aB!&tlsyV%ytwu>He^D z#-yYyviqZ|D)48GW?3fn|0o|^)6@WkD-sT&k2$_`ZeY+;rDk=0Jx%89<*f3h;{mv;HV z$*?t(p9Db2Lul2*1d!)M$V$^-5>} z&QJDLB(_-XJ$OYlugdL|Ys~I_JU>t!FD;f6v8O-I_};h>z`lmMnXe8k@@111MvBEo zX}8WM19R^9UmlL-QE&I4&G_9~i$x=4k9LRxukNndY-^gvt38!MLIx zL<+_)sSw?lToUmW&ehKZxYDqGf%T!T2+DY zvVPaGpm`>}MaZa+Ny<*9#GDfipZ0N&ofl8;E~1J{qfi9MBd-a# z9elvqew)}l28oJK*X}WBPC>y4FYS0yTy;bUy?|$Tt{#CpyOEWU3r*&(%Fj-b-zSl8 zGI&T{?z$>L^Gh!at=mv_f`I3JvCvi z)M{a|AC);QY7Q2hLr0ZbVU6E1b}~|LQ|b_SaK8dp{n3^5!Iu4-2}TsGLOjll6R_B^ zDBZxiw~+m=jE$Gu(I0U|xvq0$s92k46+;%6`ZfXsI9a7gX^8w|M`u4*n+u0h@l-kc z8C9vX9b-USV8U#TqwPW2gARq&WO5+B=1kjs-ZA&=?1+|4Xb5gdC?5aQ9em0WLB{G=>++w1u=o0tjBM!c@mce7(6)lMfS zS_Di$p*5OX8nl^S3hbK`c2wEj0Sd4JLXt}KY{mJYs~pl{Sji(TDnNvo!NGg1zA;>7E7|*`w4Joe!o)orKZ`SX+sw$gA&97;C=>3kuxr}iO8tTb658=0^s`T@d6+&#~yAqN}Sp z*sQ?J(Vm3+D+MY_`BRtr6Aka~%Jz^^&(~3A2T>&v&fG%Z+y$CNu%us>64Z$7XcpGp z@s%+HKhE(APB~!8y3_*B4ub7O&IZEQ2c7mx;%Xt@O&AbEj9vG&v!_3H7=LG2stOxX z^Po$^`H;n%(p13Ev1QQ_RLcFk8zL4oww5XZejt-$nGfdmuTK!ks5Y|2jn7e=UPk%{ zj-Ullw%8>|oV`MGi}KXpN>u~$559_OMlg`7Uj!g0@4ns6^pk7}crPXVS0gDrNx)XU#alF-{Rn@htLw#dOljSU@LBII<- zc?d5BP_!bk;=X18iot!nRz!r@rxhD)7@PAG{QT{1KZh_a$XAsNMx9B=7m$lL48iJ4 z0lP#R7fO#sM2PoR6o2}9bDK}<&y@!Sh$7}@j=_$&$~-^fwOvVSh!SaK*J51!iX4#4 z)n@^S$=`p2cO1d;G!euANB1I3R(`Cvf($D=Qs~te>6O1{VbhAOBz=^8aJ5olIb6#i z_7_Bn%ay1Tu>PSlQq0o8pU|2+YyC{wr0*0-oK1JFMN<1ga@^cGIuW$q37pC79f}Zw zSISkM?{iSF<)=KH(+tVltn6x4Km+fbaI|4~3R)f~+TFsxd^q9dQ|P9KRD$iMx7?}# zAtMmM`3UgrYPEAex0CMXbh@x8ao?^(yd;%j+%=RuS6S776$}*^1U)iPv;ICPfVr)T zFP0heei-@RQ0)Z#8L_e+aC5xr40U{0|1zv|#s?;*k*TV90#c1wl$7d((XH8bMtC#~ ziA@Cf-kNB#U3|E70UxSIZ$1h7(y7kIFY23RypOv{CPe4V^WS`Q5FlC^oUVd*-W5M>`?Ix6j_`$4^53@DrjIbFDu%C$}CsaA#{Fj?65 zr5lqgUv_oAR?tGElWuTB9&1^tR@a=BNPAMm@2suj2lf->1!`vA$>n*a;`B_1wWref zg@Cj<6|h`v4Jp7W7;3%u9pNzKS?3E6mPP67Jkw3C24m6tQ%?0jhAF1d_yj@@B-%x8 zSO0p-f{-nTQ3DrrTaa|KpP4zMn{7EPptpYM9`4y2vU zmtqA)5I8kSsr`=aSqwuMKf=apZ4ZK)G$*BxF}^7^r=wVc*rjVS`rQwpM&sbuiB`8rfXlJCLnZ; zhCvWd7;jTZkkoixphwg0Dp&JIf%Bc{kY5t;g}S#|hGrheIsQ-9_V+Ef&v5!k_xtUD}lK0h{{ZAJ?bEC7mMzD0O(Dqewyxjm(HU}GCmhjwONtV8>Tp3^57 ztd*3CQsp*1Sc;N?pg{&pdET6wl%?XqIZ*sylAoHBR6}H0QbkJ&vQZ@d#j_2zWCX*s zqGTLgCB-dfd9gf!$ZemzNzk+2cs%$tAy=^^R#e-sx3rAT6qsO^C6UPArSBrE#(&Cb zD5A_mNUOabYcBSWBnQA7R|>>+F}R%Q>KODW=h`Ka&BMcDT)Q}4a&J$c7K%^hv>&td z85_dR@*MEOc}887j$Y1Z!Th3sy^$=iGAnLn1@|$Ct=Y4CsvQvoA+-_hTMM$&s3S6e z+z!f_&oZ}%%wSHG6xZoL&E+C2COqd*RK(y`+SijxR7LWfL@igGy%wq^I#k5-J+w6V z+Sf8X z8L)*d-q>@nu0}+wgJ+zO7s&-2s>F0+u@?d%D6kbYZ2Z{c8)|k(%1|BVxes#DxpiWY zyMy#YGG9Y=Jx*lLF1?1w#hfHMg=qtLT`B%?^i?h9>YM=ZixuFqSzPE+zh%Z|VI?2z z4bYFA5;bgEDmS*$DV)0uu`Xy~BjY(nVz5ak^S-+cL)I;Nu7{^bLPOZ1JpZ1aIL=JE z(NNeJ2uW$Ih7G*Bvb1NZaC;251(lT#D_0$?FimxNl`YP={b`Ww)<&Th&TjdOu=MT%r{Z`v zW~T^uL+N3NeSE}1(IgHeyugc?!NXW=D`AU`L2}arh{`p|nGTFnP1-H3z8EAf2(vRc z{HG<#KB!yV)rYiWWK${TEKX&l4Df!`NY+w^x^fnL1oCp>3iQJwQo~2&XT=jt&%f=gqGtCU*2HLmldcPzV7?Yw{P?sV{zUCr8BE-wN3vn^WDR zNRVLLe{*U6?j0Y}5_tT5%yKn!h<3)^G7sqZJ8-x>GFGHvU{IKuM&v=F?e^tO8&k^U zDzyR4dQjrQsi;SipwsGnMXJEIYO#wnosxe|Sq22Eph%p4$D7dGn_6{HM$IK5@ zsIMulR=;BXwuii>?LX?=h-D40X!?R-uTQiqn0gQ_ilcPDv0Jhn5W3H0JXF)rF~TA^ z7z(@l2Ye;7>MDNy7#f)pgH0WNkHvv)PO%xpTT`3b`bRPEUturZ><1LX7g602Gu(ZG zg74zvFQN6JV_ghp-k`^pt&S<9CT+qZ`f|0)v7qiCM4}~v3>~W`{~dl*d|Q95CGgc% zpfhZi7X2<=V#(VgVRRtAu80-6UK;x0TenTlU3AaqZlXW0L|%Ri`0vkTM%W7$3v>>f zb6kh!_Sp+xWI(7BJhX>vlb z?ntHaudo*Z4;ZAwcDqUy4&?obd4_$P9syDHjdQpt&5Zvw7kF|{kET|TLdoSK_~Zxj z-gThG+sPJ$&&!>N2qJz2W;zX=7t8$V4sDu4T$U$6=z=39L?f&UgYm1A+xVxLV37Nb zEgKXY*>Y!p-6c^hYtMoIS7~9nUQ-GwYHL|Seukj7rg>gMKN-SSv!X(I&`~K_cFTuq ze^{Y@j2hYNED-yZ?NY;yh0f8;WurTsQn)tl&cn2(j1?2v8n{31eUoPn&sBL)R$4lA zwZ6kW3@%sLHqc$An+nRMg)YK%kis<0yeVd#C5(3&sFP}kuB6Zfp1FOF6y zGR~kofbcbWp%Ft$@a_2EpWH_K_c@h`NBZ(t?%My%E-jDxTV_5u^f>gxX#psMb{~o2 z+Bcs2A{pq;UhL$#f-pHuV+boh@SJZ@fDvh>1YextU_yeYII9V~?@@wtgkI&8;fb;) zC6c6idl$amVyP0q^|aheM?S<$k&J6DLsubq$@$&K@fq*1kLb(xmQ@GyoCK8W)}b{l zr)+dRL=TJe-K^@Ia*_1vg*W}oQswbcV$`ElGqK`eDKYrw{jonSZrj<|588JfbIyk& z{3a(x`BeH&{ouy9C_e5!uR5drkE%T!NUlX1Z zw?18*`&MxDJXaj3CFb6yO-YDmL-|+?wR~V2nyJgh2-sqA)2bs|{B;STJ(21wv1LE` zx@I)PZ(vMT@$lBzu3Gxu`(ckHvk(G7Ql6PM6N@r+s0Eyly;5m$rmJ^vDJ!6gi*+@Z z+>1!XPgkawp7U;JhL{hI&Dhy$)qX$p*yyYKwe%*or|L)ZAk`<&E#g+chf-uFi*;pF z0Pp>*qy0?c(%KZT5x-=;P7G&s6SvEy#m@i9D z^v@K_v3tmH7HaABEWi75mEwL8GJX4;xn}idzt+uw-{J>m(c<@HYRs7sgmD@wcL9ue z8*P`k*@AbMv}^YM5?D?(r3*MGv2Hyd1u$ z;Y^EHlh9jQ{QJNoK31z$#{SUFj!1%w4C#+oH`ex~)Y0ZMw$s0P(NIs8Fjs+hV3m%E zI*dNYF9xcdOl#;vvyLKrR%=1{*8U56Cgc#4(3Ih_Gurq>F?D1aEn$ExvaUGo6pq@B*ag_r>##ew9@ zD%10##Tui>fSSjYyvwU41O|~s*;Y@e3~&esPOjg+>HbIIaXrxN&m7RMgFsDwC%ZTY zg3~9Y--&h!YjXct@sUV|H~!^u`COa7*{fMGLT0FTlC6|K3(AIJygN0T9sUfJhj5yk z@#Z?J8J&{G036!q0kU42$09T3F~bUvjS;7CXkh=OoioBcIdC6Qr&4kw*|#lps45MW zztgka!(V&`IXSHo0PbmmmiVg#7=u7tDMvB_Yy5Vu$M@s}9PwqowDaqN?5m3fA^mFr+z_ z<-W^?jl5jpLYSMaJ=nqrsqrr3uo;_BG-V8w_n-FC3s*iNG7)MG){k_jfAFFMgR_HT zi1S3MVKbnhUT;2q6jL8*Na$l+>__)9b!Is4?MU(!T4OVL3FQyQPay;^K~SmJA)KnA z`K_s6DDa>ujSW;u{jE-w;_{Foo`iutAV3t&u1L_*~o3I+uM zU6=^jsEUfpo8s~}@j@KP6|WFIz~(Q+FAc85FU>b9OabqavHaHZ+r5aKC7?;OZH*F+ z60@^IO%X7*%{LU(hZvT8M~qYo!dCJf0=fevks{eYxo%RjA!2-5-`CkHgG!qGKBKr3 zLRF?`VzU>7re?8qi$w`^ZwxNyh?9p-aYOLDr-)m$Q0Rxh4;S8<>RMibuK2#x7XH{f z-u;eO{tSwzlM-}t^GSQ}-Tb_yc}SYHu(dz=I>J_&wE5eX2)i7GvAc6##Le-{Aj$j7 zqssE{HcJo1&WDk?1*X7>pPxKCO|z^K3hm3|JoCH`lukJ&o91YTG4)}4PY@(e; zZm7DQv_{QpHK_hh#80czGCQ^52t)4m3^binM@^bJPALY5&ZqUCr>cc#$KYTJb5!ml zW3$pMOl)WopjddiQ3NTItBviMQ{)ic2B-S1C?5vz`=}kC4f#5u0Or8x#5Kc za#)E7qnSCPbfJ4C@uR(f1N+;*0@>~ajmCse`#gtB zw4$V4Ry{^M7jMaNSNdh7!HpjMkKV1&E;jY<}deGJAsz$BMx0`uHvCOYOAjrlgR` zJT>!mGz>NL&L0c0jGA{reT_iCsV2EH?*g~&BcVL3~# z^2F*%6NF<2Vco3qViYgK0msI+6$ecl>wXG(g_&O=Lvb%oOC(jFDzRMRWOLc;RA@gtbjS>%Lfjq~WA zBHo6oH!79)XM}!Hk1kgA+IcQ3oLVgi8goKMxbb%+=Js0P$t4q)iW_7*@E%Zc?W&gH z%(#;GLhpGq>7D7FqSq}zHDZfX*QnU-X=Cf)YH8#G@(zvhLnI-#EV=uYBml^%*;!_{ zbqrZ5Adhd@vUh`*Y^+y8KkLCDQoR%QLsHd#bpfZ%Dr{lK_zf_HyOM9q zg*4c8bUyHJGFp{<`_?j3#=V)tZ+JY5zp$lvynRmd<~iefd||xlTek}%r0nrPUGN7) zdUz4^J{>D$ko-n+*&v{x&Vg7yuLFNOZuMbgh z@jH8OZZZt8if(yWSEJr1l1qJ6UUK}@t*E8(9!m}1w1Ul^2Vj~o?fl8o&13nIS5gns zbTshkJTu7Kw%KOc*$&0=Dnzu8BDowc(b3BaP3mE_fQc41KB1H+D zo^EuLkp*JTY>qgaR!*48nyYM1E80SDK?(w7g^%ACgfBm5ytl1eHZ^*egCY|HSU|@wM7ph7QJVs5Rf^kxk2^XA zb+x4Q6|U~#8lI`I#X=%~_#uq>)s%~Qt&(qW7)~P356cBX=HdQ^AJ+!r$?`!}3W2+F zc}G3u{xf)IzCaaUgbZ6GfVjf{r$g}S`l5gO!vIw%Q6~XMuF{ORR{0L-FFZhf>H;`7 z0@L{kVw7IuqERuuE*Um#3U6X5!|Li@8!;jdhnoVUc^WUDLhij5`q?-z=6OBJ8CJP_ z)-?r|gM6-3Doj44ww9yFtcd!e1Rq(>0vDfHSyLT`(T@D_jaScvJZ$IwHpPWq zZvmLe2~J*nm>Ez|+p7?Qzc^}LG}3y)4|qOG!ZZQr)9%s6fau`_`2rM_B**%)$yML3 zS8{@+Z&Z9~?%0u;h+pW;J>_~)R2>h0CxJjCXxUgVV;cDp`qE=$yl;A2WGNgiCwD@| z5rCh}+_^U7&(%XS8t=--KduEyXy>@&q%C{u+pSfDg4hwuY#$rnI0^9VD5(}At^Mdw zyYvo7${>WeP??A<^jVmQ=n?1@Gnc@lcdxzJYm5UI*2tSlxW@=XHfHv_lq0Vr{0C@< z7a0!NyJ-ns;O|2#Z}<$(&dP!iN)^x&VUAU+y?T|jsa<)-zi%nkJ~O!!kZ*p)q9snF zbeQntyi{l1fv>S*t#uR14bAy|Lzm3RHnvRQLe(=>$Kk0K&FLfDo1}o&)2df~W{A_% z3?k7qVCh3EE2qqBBWHD+SMoTs`Du8MybWUa@FSfR;)2N#5e#P*XXrAL_i|<)@VcU? zhwZmIxts|9V3I1j*}2^iK@m}U<3%9LN_jp-;`w?|XcAC5So39pYKaz1#2Vlu`s0f9 z%CL>s7n4iXn@4{`1$@)%vh?k(|D*NhD;X2X6I3>Hs6pL+8#WyT0^;}=!ZIFHRn9Lc zV6AKFsfgvT;;3^KJ>yrYk&5Wc9fwatjBrfM{awFmdu+2`t!Q2>Sb*`22Js-8Q751{ zH?nJBu+kv%*9X_pnv;e-x(Ylo3o0ub{{Sm2_rY9A_X2!zOwv39t-#Y{LNI9Gk~1g( zElTVzD;hJaJZyvy8{@?;_ETevYmr|Inbs0NeUX_4tNY>hI>mFz&n{|;Oe_AT0j>da z`IuEZCQVgR2rmm@)>vtd~`_N_iPB~`==c?sPkiLPwmRYYqkvTVERVfaYV5_zghmVDZG5ac^D z@i>lt4|0>@pj@$VM zSNHJ?rB>HQy%kJU*mqLu@Y})2Ex)b(ffr%*y3SEoh|pj7^O;!)XcLE$QwHt!YTw7K zEi0g@x0e?6G=S_&3&#($y~CAZEa-JXz{&B~Kyo3ca}$oaJNIgL$3Sw12{UC=o`2rd8hV+V9Na=4)O1o=FLGRpi=6=XFfQ80Ytu$fT`U z0V@z8pPIYDkb$nwEZWO~g*@PznJIvxbTBMfo@xCzUY1(X;aYJ-nSL*q))t(+ZsjIsWQ-|us?8FnSL|s zWxF2~(AJYb_;PZbpZX$F2ogKm8GC z)#oNC%aq5n86g^vH!8GVj_rP$SsnGT2nG6$84}RwK#X zT1a@cyVMKo!XY#8;X+V_2!y~(-M2__cl+ig(PvXA?;(DTfO652dBjC!VUNIs@fOspp2Me}AGNxog4okKH#oWln4ecoKnqWak z2o11r_vunbotJ+pS%SGP@G~pI2s2a;>JR1Zse(LA{xJ%U6mpKRlms9K9^OyjSimWU zZaX%g7K+n}CS}Xrm1Ni$aX7M`@69}UlcyK;<(z{j@J0E}lbf`P6I|}|YUkzeSG|Y` z3*n%OFdb#_aHAAh*J{z07yQr6Kb=&vM)B2%8W!B?{4j-F2-}Lgevn9Wo67s%K8a}q z-nHQ{6tB*f7`faiX`5bo1Vp}iwoxoVJS^I3T{ew}sxnj!Z^r`WBQ)+8v6Qwc=@}~b zJ?A-I_elF)Rwn@oOIi}QKO=ay8;!<3u^$*WJQ#wYO-*LU%_Vlr%|5oZQBdE}WKrC+ zn7`EB62;t*HKJFaD{&t+!P7F7wta0hs0%n0N`v=ILuMX{gu(c zM`jGD#SF13Y+>#B78Tz+i9Q6bWPn`zUicuOP@POZ4yx>TF1SIWw;g+1Hl}mL^2!Pd zbU@v~OIdf<-~Fv~Bv=B<^j9jr`?u(ekR9P{>Ui=5$J_LPX?HpZ{?WG@#sY@Vl@dmn9g!4G$e^DAF* z99bk$!LVRJKAq@7gWOOA=aZ82C9di<PyD*?p9-Rk4L#4H)2X=N zhUX5NtNTfeac}rmtQl*!2J>K(ig7vzJxnUTSwdP}r?T9wEeuhBT`12VO;E54B2CB6a|BMh21N;c-Z*R(r_rj*Zx5 zTQXa)@6?AM0{eakj{Af7Hc!$mhk1}bum&((1suq8-;NCv0c-|5k>v?qqnDtPzOj(A$|lZ!>WHJ6tiF8U3V0y8V2vI; zCSu*`&Rx$h_`%vUWhFX95yL*ZSr_m?0^tG18@!0kB(zS_*y5YVq6f7WwlIr83_>9% z=>(tdsOY8%5ih5&eIZp-yd5wee&pVow}cp2}%-2fq6J+qZs4lrm| zxDB+}*&}Whl!y`6$Eh?Pq+1rE`YWtE9~PCP=zXrV@i|&ij&RTp0($wrW8wD|G?HFg@0Fp-=^_Q$o-D;*gdZ!kd29y zfBWp!{v&NCRPu2{I-eU%ZUz>djXvd?K50U-KlEkTq6)f@EZ!cSO-6d*f=Y5=I#(Hq z_08RV(9&@w3<@|_p^L++^inKw&hGovyP;peK231u*&z$7sk-Pk&HK~P@4FhZ@L_ZNt8X-u zY)J~{mCBC$8(#RGHZ1K_v8j+k~qCDuGK~b*_2% zMXm(g`)P-qb+*D>I!Zkc4^O#uQSx87GC6igN`sbmaCofer@m^kx8{6Zt3~rWJ>T(% ze6+ohhRdQ>N7Dt4Zbz=Pcb7&=0-}@Rx1A{)XeD$h;2==0cn)~*cuRIdC&diMq)IO2UmZ{@XtPx*)2DAKkwS@~r{c^v$R8l5j_*@8 zDhWxUo3FnS^$c~y6<+?0eh;mu&?NpCn;V#Bs0$w}3x|jCIGZM}Qh?yf@s74+ z=dl4seQ1u3l}EHhxp!iOe2*WFL3V^vZCNzW5Lu7WCSQEe+*%aQfvQO!9l^o_HNcj| zI|8GBZ|r1hB)Q4G0@sGeKYSQNC`S0@r70s3S}un?uk9Y%K<5#;wra21Y{wC{kT zGeTohBo=^4oWXV!2)4&wDcv!@p4cTdDe!%K(kc@K0pq)yzy5H)w`U%(nA) zw{u1(xG_i_8Vcm4)z4E)Qydy{ACI}5$-}JD5_{@&osVNSw9#r4)kXyyekiX!(Yj@80@+r`wYO~754 zASzUUwHWK4Ciox8xGvaN+n<%}?qh^)z?o<|7N)*Rh#xD12H^6Gb8cUicx;`;Y+|lP z=(Z}{H*8hFh6QGuAUFYZLVxHctDem0bP0mXUkg^~Tixf%r~Caz3wuVpigb!(syIy~ znQRR!U<;nx-v_a~kRsS&^Q9>@B^<3{LsWO|BH?6ysoDy`!0?*>*DikDa&jRrBkY3L zZ{W=jC!l)u!*4I1YQ7GRP>e<)X(O@8a?GE}Y8JqdIej@5m<}a&DbuoPmp;_fXkhmn z)2wD>y!WnXy{R?rj3F%}s*0I*;!S2XZc)C7n>TK~Z1hO6l{5G*k8#~A#v2-9_P@UY z>po#;jt*Nm4m9yyp(93ThAXu5Yi13`81w=a)Dig!sqO0zE+w3WHth*g(%-rUw8h=#AHpNtU%|;LQIym+t1rd3 zn8=*GS(@1ojUA-(V62fghI3eWRV1icWRl?b=QV8L(b(v%x$73wo)gm``ne)TLv|pO zwBySRZTLX|+JeZLBknuLMV=O$pq=%bblu1NRz04w17yY0_um1EZ&beh)etDksjXH< z7V}q8GdBXknzB2)CM#bMV21wDqU8A-?(m~#474gIwi zL!$RdqI))4oenDF!^kc1=SfEC(;zk899J>|HRr^HZy`3#dqXYXC7t3(zdB3f;tef> zxNZ664o4~-&!mu4IcuHH*J!fMXgamS{Av!i000y%X^b!L-cvoU&!_VoLHo8kF{>(O zi$8|BGWmPabgbVBjf{*qZf$#cx?hV~EGjCCzpwOKbw30Tm&aIJ>n#x{tyoR&96Z9T zE(sgD0JM^9ZIPGm2*cAX#uICs$9qPp!PDJ@KS~t3wGdQwg{ptbk7~-;!~K3St+wXY z!)RoAGFR$VdtNVx>G4ch4Jri59^(*lT&|t-uCc+}4%B$Js?DE8gECN*qDJ_H$%Bb62_VKlmSx76_ zS|4qM`mJOT`XqP`p16x17p zYv}g5-BU8{8D+EylH(%@nk7?~Tvf8`9?3cS^C^Y-fis`KJvM}07gy%gh4e-gNLN9X z#S5h-r*6+hnTi7pZ4h4Z@OS^HUzAdh5F!;ja5z-%b#s3o zp0vf!V#p{ZDTf!Ym_Lt*n108A5ToDEw1sPnJD8NdG5KMl93v;+yoAM6|Mj zluuU}7#JLd1W3{*XnU47;7>Mu5bkd;2l}=s0}Bv2+DRpO7#yk2u_v zA4Eyf$%KPK`*8axM4~4kyoJNl*dmvM>Hbv|C=U`;jI(%**IPr-(_J?$qh{CQD2@)F&f#n)2FJ{- z)1fPjqQ%}@!%g&GHQ`y+)u(aQaq}TH$T;XmDpDE)e04WGH5Vq_kKW#eg=Rv0KV(&_ zU7nOc(v{0P+hPF$o-zv1n@u+Y9c9#VSq>Hfs4huTZ5hF6^cvKe=yHz_DB!mzVQ&Zd zIarBh6P%3@UR;||KbY2y$o|@PEy3REAS)TJzZ}8C<({4kTX?d>Tq-ZA?D15qKVf- zf*{_gARym@ZB75P^5$yjq(nh=M8wnEn@b-|XmTOIzLA#O`C2&H)1s_?(T6{n^sm6UM^yrG9~by_!IJri&$0A#*dW>wCU}YW&YsT-5jjPDQd#?PR7r+KaGsN z3zPLk%bWs9d;sXq&0#L51!}Zt<-=u$xaKiO7)lYx*9jFrr@I-I(}gS6U|;n6>U&pg zEa)MOzpDuGKh(58`e1*r$r;{1+HW=O!n6T;;Oh8c9klRK4&gNg;0*o*7J6ZtL76{1 zGD6UkqwkXU!O5U6t$v8`({`_P2jorPerH_reUC*Wi4Ux<3#ybwqKqmGvQzTs#@@a& zoqyr=)m~BtQo(3m{}RZp7}HMEUCy8^kvhZsr@rzl4gS5`fv=FXNzZV8p7p~ zT!Qni9{5PrDrc}*RTAlrCZ~J2p31epCa6vqE$mXxza8JKS%>%12XzCq$HmRF#rW(U z@`~&3=yV2MHQ^6D-i1xm4GO?cL0RLkaSFX`16aijuE9n8H$b`XTp+ZvVlyJI zkP+DoZ>n|0bZu@L=-lv8bz22==Ni%8o~bXm2V!|-bA`iKRwqpGzb3w;9Vjr>;@SP& z39t3reyB+!&h)5^ZkmTGI1cht{jR**=G+`Iu4VHf+9SP?XUk2Mn~W*0D*@Bkc~8E< znfjU|r2%$WA2n?~s30PU`C1PNrUJc%Zh*bOU+nF{wIyf+Z^5=x%^T-xDSz zHpd28Oi@wW6Lf%Nbnm2BFq%G@hPJE5p2y`(wMNtW3b^+Kc7y;HhRJNDrgUH$ zg~{1|m>m)?;oyBm{!tK-RS7RlmOa%Tg7WBg5jByMt@7C$r!mg@$4^vSL0He@`q57W zD%l>el04T_Jk>lulT!&lfW>a^Fr+*-4G_gj?VLx5Kf~X(pC(~QaFL6cK}I3G@%H`ggVC{GL(uu`P28;0&+EZ~R7Sue z@g9MZU(^6u8lv*ZK_uJIFB%5DX%E76&Ov2Jp<%FP+9Jn~iF@`b5I2Qx*6lvto6=@f zDWHoO%O4Ee+)i-c61+lj0jv#UrE*(y8wxp8;=_CKfnj}&r@AnQAPfOEC^#Pb?>>v? zyf>p_Mek?}f-7kuKXiup4~A>z*B<$La6Gr~yHvaPV*Vvp9F7g@$KhnBIYo+5KC}d7 z(Zd2EOLhAs&#b~Y5!Wf#e+|*f@bdt3Z+I+8&1FvMlr+7@Hy?FE_)hE)uZ#2UAxc#Z zoTZ6K^VtEwWmsJ?vG_{x1K|U!zd^uPXnR$>=0UED70Jxt4J8E*Uo>)y`+l#{)XNLE zPq2r4!GH2%4_U7;RHO_z&_U^H%~j_nKqSvEqG=}$Dg^oeFm;wuZ8gBU#-+Hs7k783 z&{8PHU4s^PcXudSoB}EC?gR-|+}+*Xx#@S#UH9(aSy{=J*)#9VJnz`IxMuByXgkr4 z&BIwDh9T)LEMLdzRziZWT#0H)R(`tTMPYx}k*u4fh z))Zqh@>hZWHgWSXiI(pmXbmqWl=Z+E4m9 zQImv%J)Zk1Fs{?|-$J?2zmw*qRPBr*xicfjY2Q=lakrR3`{9i)cZ}&r{ff1P?Uap! zZ0RGElq5oBhP7AvzkgI%fs!7*i{Tnxdqdq=@dWk9MMboQKXgn^rkUNRHJSQ4KyBV~ z8d4|_`gnQdiI^3r$qlYra9U$i!z_5(ss}j#QlV{W;yM1`)3zDdvt2Mz7S3LN1&}bD z=L^Z9`KS9hS)>pJlw%9l4$m|jR|n1+p{X%UPA($%FG&fwy98Cp2ZF2*56Jf7#c-r1 zy+OW686q&!f5Zcv)QMPb5VX{_x_?U{pbX|uTnBVxySSZ)TtosedEO)+Ffcw%1Q;Cb z6iUj`6C|7B<(22b*dPpk9t!xT8ONm$S+jsnglE(F z?+Ig05EK@!Yn#g6KRbg|^F%~MDw-p8wY5K6KU*_1GA6d_to`q7NY6~nBFe_Wg5(kG z2b8Ot%k6tk4ws1UI@2jJY7j_V-ORj{9u3FwCglRM=>Pc5gq($0PHgua5+0T%K9Qu> zyo=h1Gv9K&;pBWO{Ij6%;Dy51Zyqgb&SR!0h14?tpD)(w^*OX~UppR>VTqDj+)1-) z#FKoqO9^l?+4o{*c^pukgig@qh0NS#o4ubl*kDC?s2Y%Dk4XJQU-EMWFVNng5AZrO zC|nI^UlEh~gT!iu-^10|U&|b9^cN6c&|o5EW8oA02{N#YzbMdRO!d1<>?4|$ac{xp z)lZHEIyt~0_t(Nf@_a@YyJC&-!8!4W*ItS#d!nf3W zzMMB>q4tE3jsj{dn%TzmN^1ytfT1}hyFc!*z_IyrslDnR;DkP!vrjR0YGk>_ujjW$ zn?L^nx~N>j+|=+ny$X9SEh49LGa}2^DXeQ*fjjafgcalehqZ|9y}m#@*ogV%`%Ils zajpc82UQqCA%xsZx3r_)on;$a0brw@h;aGl7`P9=mizr0d&tqei?e>K=KHUqk&1{lzQ$;h>G}Ibq`JSIZqY3OS zRpQ@ZVA?27kfcwd>1y|?>zb1%;=y-nM5Q%#!h`rij(BWPLG)+0{r{!BovMB6*N?}Mh3p;@)enl11lyAE8>==r!D(+1qNy;K)k6KJsI8FUO{D%Pi%RuBuz*h67;DZR zn0_%A5A69Ca0cRQU+(J`&z;|@ISS_~*LiMKlU@=z#v>#h%(a?!+`0xLjC&YeM7&8Q zh5eG7Z#p8lg9SbJrdsT1G*f!WBx`;7tS_}+P=)BtDiqgi%WzS3MZ6esbpvDdTf;%A zJ@?-=rm!KX1h+eyTo`yp;uodRQqY=BeRj1Rt8b`Zdj1mqlX}{9`a?siXc*1!+=)fD z7EyfkH7+Ns7k68pi+CdPNF)BsYnGA9#0Ww*mo@lUA4p*Y3NYjJc=IPHt4vzg?~A68 z1q@b0SrxWkNG#Y_GdxjiWGFme0YwRgIio~5=lgVc_-Y)~RG~TbQuZuo# zzpM>Rw>{JoT)s>_svmdz2XyaiuRGWC>ULQ=E>^vH!;=>Mcq_;_I-ZqyH01FKVT@fS z3I3el1s$smUfvWTkv53#iC$KmbJP^c*;kB3yhiyBkTKq(v(kY$AjVfPlGj_-mOshw zc9t%0`19MXgyq0$*x5ryfx!Wo7&TUo%owPIn&W~H)1$&~I%<@>?{t+rYax=ALH73s zpTD$*oV@5d9POZ|$it!(;i2NoAB=c9T}D!p$Vr7uSp&*cZ!FvbT={QRG3o;ZmNSTk7l8_a_kN{yy1|=; zdH3ixq-TaF&*s2>H@GEcwl^|57yDkl`|r+a3O=I@saKt^oO?iu6)kwXT%anpuqeqC zoylDfW_`v%j#&gW8hyArD8`9;sO2{oowjz6j4?`_K4yH6H|3M;uRR%9a6rA0B1g*0K zM6~4X>A3LwG1pM0k0dQ4&iO#&4BpnlpCzl(NOd?VZu+&or=Y8Q+>y&?0w$ey)s0O8 z1&0%B3`79kEQAp5os6q=K9bq=o>$~HZZDW!KB;Xs!9p!C9?Wid}JJjB_~-n(%6rn1vfT z4`&u#p4YH&l4woGu;8(xyPY41GG7IvDT8nXyc)$~`yi%kuF+Vd8qFet#P5$ISHq~k zXp8pdCiN2OI6ha|2JALlwl`bB4}@u8XoU@8U2W^xc2!@42o0&S0Vzer`2%ffU-mfx6cNy|$iS4b{-em9}v}+N57>f0Ow1Zg9t5}8ynf?YzvCX-AS+i+bucvI2{e|DX}~n zenN?@5!HOP_fLcbtMAa(I|RfIf~N>Kc*KLOCzPrS&`u<7Wep*Efbb7^-n-C2PRzI@ zYJ)?pfa_5S`6tEXBc{A0b)%8^wtRKwyi~@C-c=kvJl@*ZlAUxRE|}vr?ND*iHYgf! zoK)Yd^ybEb9YqG@m(@f6M{jpM8LS%Y^iw|qyd^|JLDrDi5kEc=AJ%>%h6{zCdH&=% zpq_*(5Z8f)Wz>mm+?F7DLEz{2KX;{AhzO6`phlAa$=8#1y152llf5`E?(!KcKH$X( zqyK_JsBuIL5@x4@Vw`@gR88%q&Au!sT+}d)et;5~5^VpWD<`gLz{BJ){cWMKiSgH; zw*&A)yd@R&^W{dSP1fRMW03t%&CpCZq01{YmB)Y=>4!ocUw5CUNRBUM&9C>Wx|8kJ zn$tY{rv{qsyugW2XRFOB9}kP z_-Y`|H@<)VV8F1L7{7IzLGlJ&bhD07di`_nbKzeiaNK0o`w zeE>s@N@02}Xj`8_45Jl9)IG};HPZ7i~~ z+o7Sx4r&(?Gp8U~^Hw^Zg#%AI-7a8qb9D8+YNR1pNv8Kc8U!dSW0z()=@bDVyS?gZ?G zhNInb=dT3z9d8)z?KkS}H}h#VCy!}0H;V*|uhz&p@7E?Qx~-`89hdm2VqLiGEIL8` zkcRME>w&$8=a99>Aw1t(S=DBP`g?dfO&68YABn_K1l{|Ws8L-ZT;0-ys?zSqW6kQ@ z@YMhnXb6T2wTqp!qa63Ziq>LWUP#2n-(TeY&tkK^5v5SuQhs?kVXoZ^oH&IrDl6|J zWSDD*?>~mTnq-fn&Epop=kXE2X0;aCyK|Ke?U81(Hr%8nX%bE(;IkopaS?Oo(j*EM z;13NbyUAZIzK{EJrNTsB*z*KYI{qdseN8{E#w^iWFVI-WQax4jU&)rhrz8kN6Z9BQ zta3S`d3vy1K$UZAYGU^pO7DG8JlRe|H4c)bW9Di_J3puLZ;l)bpJMpMya%wD$4au3 zKP3BMddEk&?vOjvXS&+Wi2`XY7v1Eu73Z?7KHd2Jh!UR1ee1~2-;dysVZ-I#LDoLQ zXX$QnNxJu*q{@2Uck%HHL9{8^(U8`-+cDbmft^@&|=(^P;A13#v!k)GjBa z!H^z#qybGoKv~i1htQ3x0$LO7@Yq)Pye9t@(Pz{(?n>3a8y!!cdGprR98-{aA_dUe zJaBu(wxcPwr`@)w<>rv^S&Ps{TXQopMXSX@ITp}Pc3B3xq}UX=1hk_j>K7R|gyh>R zIWD97Nq0t4d&jn`OdPUrm!CqA#euD?f|CL-D!9Lut}q~DE$&-V zH93%czf5@u&%x0_#!s2iParM8)-l}iQl2;~TW_PdzIWF75Xs>1 zy8>$IL<-LJy8lIve)E^MDu;~(Cd)|ufys8j?@_%Sp!v3n6T&xr`JT%Wf<%qvaH%5R zJF>O_{e2vVasdnowT(<{sf}!+IMIz2C)0lgts|TE#kXxce~<$e`5*%A-2>e}N08L6 z)aRfwH@I`-0}GRUqAxEjKgzXnv8D8(&%bEN{9m+mr`Z>(G&kF5wZfMeg47&YUj

  • w>Hl%Q| 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

    g>#LIN0u*d)?~yprPwQy%?ZmuxdGJZ6y33B*=E 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

    1E@oso5= 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
    7-XmdHGp7fyxsfTe+%Nwg_O0%hu1!=+C*xPRP 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

      QMnUmgIQX63J0;$Wxo<7>kR=(qVau>q z4?r;QR^i>P_s!FQ+on=%NMJuyu7q?9;p8(Z-kBk)!HjUL`AuHCWt1bjqRHS89-ChG zxpk7%TE@HijBFVzFJ}tY!ESp2lP6NuWTUZ58(s(e0RI;qSLUK%&6FzC&+DCf(t?5u z0(N?D@Yw=4FZ(@*eLkLnV4pvOqZ($`av!=IBgK1Bsoop%KlSve@8tti6wCeD7KI~ULc|cs8Ezgs}JijOBaRvEgvFmVe z^e@!nX&7%Ppe>wcaoNjTbXe@#)>(GUn7fDP$QEO_{8v?+FE+Iy9WD^V z!CXc~cJ!=ACnS?ss_K0PMb0b+$LLN%M*@58`N?R0%+5ZSRhi9DoTLkV*YS$KRQo#9OIcWMFxB83!leL66v9v`a}I!a4H6m9ruQV4U%hm#8-W_B$3^*!H=js%Q)USZW`od*;&HF znN%>7X#yVD1e{ji^q$XgXb3W?&_1CZ?C<9u1^{L4rxzD7^&Y!5V#nue>+|T4`6%Gw8{Y&jA&LdQ@}YePYwhD4gYn+& zllQjtfW`%{SJsY{c<^L&I}=ew`vGZ9u-JSClfyP|cxcblBs&$p!)bHZu$KQm;$p(; z=E>J*XT>%Yy{*p`(+0CqsnA3{o1bB`13E-f23^~fzC}w%IgX2Oc~j30*|a|6m>PVL z$bAyMZ^l|k+_OU+4e<)@R?U>KI>$i%83sVce@>_gA#}w^ibVPLB^x;a6T!(-CO``0>yHEzWxg#XC#+CN?pIe°G$+a>f{(s5;?%5w+pkY$6bqumdE2a_B; zI*sj(7xWIhn*LvA-oLwxzik5iD;$r(Y^qcvpLde&+(NA1&GmC{SN1v*#_Em(K##f_ z!M5}!-VH-Uon6Nzj1;LxTB~;GGS&mV?c@#~(@WTM46Zciu%8`fYsf1M%RX6sRyAyE zWzSGzr?c|~q2eijQv0qZT_qhHC$CdH_Oa#y zjg5nDv+Ho7Tzd5Nx-J)>Ifp+Ao>S_A?(cN9`%)Y#3+<3cG)UVkFy=f`b-X^0!Cd%7&^^GE_QT`RUd$y2ZKb)^5kr^i!VEk~3v-G&`4WA$WW-T&&D}8IQZc7cP?H}?&F7T zYI=7UMDP0@dHz-wIFxeu?otZy#HVR${@a6zcRvUNC`f|VtGJvJuav<6z4iP$gkKna zwzUO^&pWNu^SuODU@ph}!!dH{edNlqFs*{Ap<2g=-A4DTN1(93GsU+3b9_9u@$njv zOVmkV+v=xOAp73WCw+;-e)R|Ra~)nZ12&_@*N`p4? z^0Yn^`FI5%-7uEQpd4biH!qmZUwhBwBS#6RvSW-(M8veq*Tg399{1LqQ!1Nlg^J`_j%wFMREB zJe>BEc&}u~=-JcQ)stq{Mp{y~NCO^B#?1h>o<7uZ(bWGLfa+aQzq|i9*i(SqTwQO< zb4lZn2gy*o=n=eIKo}-&Q{tu2NIsn6H_$Mg!h zPVA4~6h2cG5tuF2$9`UGdMc``E#B6SgeKD(C)VUI>RFgF0e0)F($W}2FIq+Fja(sf z8BuYW2Y$*5{#{;0C=-`7Az#ZYIV45l=MeY1 zqeqkfkFB?kimGqJMn$^2yFnVHOS(ZqLb^d(I!C0tyAec`M!KYt7LcL4W9WvNv-SDj z_j$i_&Odw2f;DSqe*4~cUe|TkL%vm6Kfb6Rbg$6)qF=67-rn~86^G3-Q+QKO5-j0p z9F7|+HQG244b<;nQa>p!V`78tG!?p}rOKA+RUAr;S9LO7g4dr5)8{i$X;i4mRd^)r6>naccum~Y zNkNxD#X6mXaaaxcdGD4O^H!M%0`o$QSlb$~@F9&i%rBs*>JFlto@!oQc)EJn)1yJpo`VUCcr`dh^p!}SAb&72P;L$<#SUllyn<(th2 z5hjC?H_n;{X`ELS?XEhIDG?I%Hcf-}xDe5zrGn{0e9J#|r$>!(*%rBN0HwAyVRCPt zxbA0i@aw-k3;>3D|T21(w1ig0uT ze1m4S6e)Z*c9uA03~rgYtlnwXLRT%9O*wwrTyR`WJhSqJa*>y%6>2(>6xkMEk7Sy@ zq|@mr5l#n+bCyQQ_9W<;kHj~fHBQAj?9vkAr^@+T*h6+T+0|tlb!vfJRSFzSmgGZc zFz&2?-6)Q4qF2lHIBdo^%CBAZvuBpqE9bK9aSn8a zByG65(*e37B%WjLwuh|ZZ7WW>`$myFK_Tz!?6JU3;%_pZ=i(A#q@onY)NL5$%DI!7 zZt*fBs`A1q?=&!&gj?l59S2~Dop&D4H8gaDg5UBP*vo{9mUXbirc*^k9j~16?7!4M zvF-884TD^9Bo2(-`(pV{HLNo3PBMsZiMOK2Ed2DRko;7IwE6&zOG2({g3PrCf> zu}#iv;ch^+?d~I}m~S9(#p;_59b}o0KgkG@ z;6Ne>MBK_xt~WenX1!~nx5Qzj!qCQjFDkGk2S!M^yUC0B;yKJOldz>nIU@sJ$K4)v zyOm-3YxQJ`v5~Z`-JZv-dXIRkSq=tXG_hG<1`hV32*qwm*OU3b0s+k`9MSI@RFdW=TR7s49q$&(g>dE z>*|Kv=KCVGd7sE@Yfl#UN(Hj{u}RVk!1nBEXYYoRVb$`^DYON}3_= z9FS?^3W$}|FT`4+naR}`L291{j5qs#!0{M{-^S_ND-6Vb5vmQhz!g@1bddhJZ_@Rd z{Cvint0!I0w5RT*PpbM2_W9F7=y#8n9P#C&K@mjC^4+=T@w_YUmv4$466!haF};rT z!@}yBUzN2$-~Oq{ST9tYICVY|Z?tLmU6CbTscYQfMUbImJP6QhqxH?uc{M(Cl6Bl2 zcs-*GqAZ9mixVMQHMXLTB##PPO%HL!G(CdwOz(cE^Kx0D=fkib*2;E^Ow-c2dV}Q! zVnA+?=a`G+P)Tu=q9>yS@WFr!K6ZYKIh%KTSmS^=jNp8&u12#p`4Sup} zQF2R1Rwa)fh>gb!F_eeIbS7x>r$&@gI^ct^=QkoA2%MVKvQkmPtv2~jKO=TugT`sS z&-hHPkhMR8mmqpsVjos(AlnG#q}I- zm^$cPTG%+aEpfIrT$Vd1r(VLN=%oLc-LHaXHua<@?HBPggf%3gg8I<&jIK3c zN7J{|vy*{6h@NIA@`U4XxDtl`?Fza+AJ}bxuIc>4D9WAb$a0^(OBC+AjiA2heYaFc zQaXo$*fVVi@(j=WrrI6pEpLxB&k!wU^WR*_g~V+v4lJ?*jlcCDzZmOP&947?*>d!?|M(T%~%USW2XVF+md<0j;0VjNO0g84xotla!9Z0Mj zotH^xpSTja81tuJN%|)dyri>+TWG*!+v%77hF49THTRuo+O05@QYFjPc)ku#h1y@I zHC+sP>F(n^t!_oZ5~}1=E5Jm`CctsFS0NonsNC3J{2c-wpbGB?HA7vK=G@*l>K?@4 zF@|KK&L2`zqYw683?-VJ%==*ZQY9=?yLX=6d2yt3r7sSDipkh)A#Sp`ff|v7Iw^nW_+zi|bd~FU<2`1s!Emfr@W0$vbGKjvr$gsRwV*-~1>tuzEX-o`0 z+Irut5MnIP^kICEkdOe{OwiyA6F*cyB}&HK{o;f5GlCFILqkJ1$dYh7pr>c&=-3yD z3(g1zr(`8K_8;Wk;j}5{oDPlX3%-W?AfG}Ii5S;-^J>lTo~YSvIX)G|n?cHsV57}u z1ZUoMG}Cz`eLcQHm+@TCWilQge#WmTzFVl=LiI~>=cRk?!)MEnK=FJOH~^AJSVoR6 z;TmhJo&EWNr5^%I35hSp)7plN*|5tN&vY07ot$}@K?k7OmvpnlIN>nV{cXZYegOB= zQhM8@di0S@TLaC-a>$gIr$-UlOYEQ1{gcx4Se?K93lo_$ueLxc;C)ZYhVWqDkB8NZ z@id5eRBrFfk=-WQm|r=`6&W?_N|CkXwA1$0!PF=!@X(;%>r&;$MjphvX>IzHCge8>FpPMN{^V*=~5$? zx!(=Y+O$&C{7&MKnMvZI$D3x3OZjN1N*uj}mzw6UGp-)7hfs2j=TU5!_>7gJ$0*WL z`C24nie>pRTRG|QrA)SK0Hn>~6?_JJ*8UJ~S2adf*x=4y;<@qNlNwC%M0jmTZqT=+ zAX%!dxX(Uas`gt-_{T9Tg?DP-@BF$6QrKr%me*0s}i z6AuWV8jqsQqAXrkmEstjT;YTszLTm|tT~x&$x&oj=2)Fp zEp0hJ+e^aDI@F_6a}>0Awg#$}(&7SJT;;ye7kXpIJa(tJ+Kg|g$JPI7mc2YdEPAjY zh{{lsAmqqDIrL5SNl%sWVvS=s@6V)RqoF81{zlo*1UO>VBXW6@;=dOM!e^aEiG4*e!Z;c z3^)E)vOn^vr z1Emf$Zw zJfo?HX@c$^9@t7(e5H4~K>l7YUrIqn#)(O)21W}Op40tQj_6|sn=j@l>#5DIFE^D& zgov6bx}9XWA23w-PD283oO_G&3)-*L?C8=fR>PZC8%>+I+gT+pmxB4-BUbd{sT3$f zQXAS%ui4lVS#nKfXFwJ;dB6~pz$YUwFK&<;L;(UGGS}Nva{^-GUMt=f2J*tp?UVEE zkuTrA$*8GeqM@Ok0&1h{z+RG`-2xD&H7x-=u8Y;c4cKCviYHMfWKQm|R&_XjTRt6w zBDr--hhD&%bR(}lZ)e4})-1a1P=flde?!m3(iP@-7Gx){R1|os%o;u1cjsr`nMv3m z+f%(flQm6SYG}CLk(`cJAe?*DDk6p`SwO$q7KeO8YxtribDj=#$7XZlT1VO1;;>bi z0hg8_*o7lXMzk=#bfp-LyV`|daB}UXYUG|vp7VCQ$1X30OW}8<;r*cre7K{kB5W`7 za=Y4jr@HpYaD(`l4aEaX2X?SBq)6p$7^TG;tWC7$D|Yvf&l+`_ECNI@A2G%NUC2IR zYm0`NZlpf%##{yj3$JawwNkw|X#c)M>MP0TwvSRG zQJ0wwKa@~p?9g<@7y|Pow=!2?D1&_!ibeIOhh-b3AKqT*QPXxfh&QKU)dyuCY>}0Q z2X$*x9v`1F2X;7Nphs+DkkQ2~)3b ziOi2DVb$%AaS3z-&0ZS;;I#^}1MBpg$9#VEX zm#g2W{;TNfV|z#bPsH8CZ&gp6>(TB*q2Hh0H(HHd4xXk?Ph9svp+`J@F$t<+?shOL z?|^&PGyWpe=+`tx_%F#YnF1bI8AQGjdE#00k4}9A0{PUAUsbCFC6R;+3h1Tw$)NED zR3{b1HZ-qVnI;_BYm|$vN6J1t4(NnaU7d)6haOK0FS9hoJ!xkz6KPE!14La~UvvF> zml>TJ^-urJ4hR=gfbc|W@)*#7OT+thRg1lM$Z@gSzF&LZi)2dkX}DYB{+y&)?n%&U%w6#m|t zGbs-EDZ9JOo*fT|rm(kY!-n-Xm_avftLs-_)4>8j1w7zxJA;LlHL3N0Fa)kLBu$^F z{x0gq(@ofog`K^xI|R8D9CHZl=^}4*UVdRs`gj6^x&Y#%$|r0{G%H^WV2dBd-!D3+Yz(mj%(`YalK z`C)ztZrb0J#&oHXrjo+dg8}~G-ZkNUzZ>V%c_z04PI4si>}NWOzWcGyWDA)H>_%(w#{Auf-`5Zwijd6i)02h_WVG)1~fOQbg z)j1*J^F`IVTVTl<H&2z?$$iAb%iO8SlV^jiJToXd6-3DYQ*QF6U2Y|_6D#{_o#O8*#X=>ig^$HV$Eh) znBv~0OR>Ivfq-&>%d$V#UnG&{sxJTsYU_e=BVYR6Wf;z0%rO_&Kj(_5+f&a+Qo7TJCgWk7q=w&po8CVE5IqGR4UyBiQScGXY{cZkoVHris;fw=}|#jF+`-_=Eiw0Tv%jWMvT`&6`-GnLO|*Ols1v6PE^yo7->akCs~8h1_>AUa+zK znwbeT?+y1thIRtITXTB4qVJbppyv zKcvO31HX&N{yIvB$=x}R_4`_{Gu?15qHOl=f9Euq_`@E}zDe5Nkd0k3>NmZ_ zy{D4EdOKWSr|Kf32&%Yhmx}VuvJbZl=@)acNohaiLN+2#U`7 zyJH`hrr51#I^iT_{ei<=b0m%;4jPCk1YPs$E+2|LMBI6h<(ndl-FdxWy7UC~9Zgin zn7%Yjge_>)c)`p9?eH5noywaKUpH$U4_^qs?!#Rd$$2_gCh2Ta5zg*U9)xEr!m{crQe%>?3WXqHx||NAljka&F%aU-*k!a97TZLEEpw-ACxYyg2QsMV>lgvb=GRq~iA#{k?54SJTg(un;I9uZo z5i#W|^qwj?w`%aY%nnnf~ z+za-L=mpMr>y0(IYbK{uB|}-te;mm_erFN;nqrJN;*Sh1BYkO80Wsa@2Nug$ z-<0B9R;VMUxzwc~AXS-_I#D+pcZ{zvs?cizYg**K!pMW(V4;V$#l)Kt(Nb`}pE=qv ztU^I0jf1T_v=5hLU<;INkW&0%08J+fdwM~2NIa2og2YwW=ZXG~xGDLI{!%qT^)kC^ z6oRU+K|by+GhX9%;Y?+Ijj<_ZkJ)eDk_bO91DwiUz&nBilfNUV*d&CnZ#L-PAL&{} znbPQE3@y|VB)AMqJH4h$XFtv#o2@4_f0({F+v5Y6-Ueozb8%@ZV7gv{7-oUvp7=Cu zY3#Lo(N2mC9^z z%~}@CRDSi>?_7x5Rw?KmpSUpRo?rfwt;S6;@ndH<-Evp&j=NR#!pLD!%=|+ymjTDQLT%on|&cgd-8SxF0#?h4uqm;`aEa9T^OnO9e61UUkVARLM z(b&-|i=1KUq9>l@s|U= zwx;bmyqaQPQouSISSagz2;kxFhyqTqDW9o8{FBcqf{(IBolDEwR z6)W-VXH=qVH=0S6W2Mxb`vGxy2eZH&=fnFk;jLtcu5Z8`vyLQ@)`*!H#zZMxx-2=7 zMxj0!-rsY#&3!u2Z{(@w3U|nFemICFQLo=5*Q_9l_UO*9XH8i@ghn5CX{my4&BesL zt9WPU9YFW^f5f(UCi+J~b-|;L%wE%MNSm17=@sG?L)g^(Cb6+AsW{Te)gM0j96H%K zd=Ko!DWr_@@4DdFf_{3&e=yyAMJz`mQFoED(FiaV+K&ZZ=1#uQe&#~WkC$Rwd>IQT zCs&4hRbM~3qRBk=aKXj7-cw6d9>A9p1o!pO(u=4mrY~8~MA{-!-|KN?xibl5F7X*$ zK`BVOpYg->5#4f|xQp0-q-0Hb>e@$nr;GD5XLsY9s7d}^%bWV6d+_iyWbiSpoZ^zx z27(WN*BATY+87#bd>tJevO$x6+;(~_qAn}*>h%kO&g_pY&Ggy}W;Hf}jfJPnWnmN4 zfl$)tSJ9q_>a!Kz>BTR_Iz&27Bn$V;f`8J@5;r=wq)%Zu`nU<6w;|X@8Z)YA`cZ2I zrN-*-7wm>9`s>^ZqR=Dw{l39S{Zq+#@U8#9d?x@_Lq(P0@W;a>sC_W5^*1@I{v>r& z3?5!EuCDJ6GD!Ml-M4Ro9sc~A3;aYN83@6xfK9_9{HZhJ+znl1+)J0rWcL^hnO*_1*FH~N zcf-~4{Fyk!Y-vMsZ?`3}y4=52%h9WTIdCANr8`HNeJ06cS#bM__>jit3?CLf9f3{F z$w6;(S&xPBNKfWxL9Ha4s?RdklOrQ>iak00#0kM`BX$%DPaw(N(W)>ML{skeJ|TLz zRrecW~oX-U4iOw>zjjLVdg=l=!8w~+9`e4o`C zuBzn-vRTH9w^<-^8n>3j`ZC!-Q!uS|01%1+T>sIB;+49qKXanfj#Y$>Sp$04^jyVZ z7LEmx`ACe?#e&hz6Eo_r+rcIdOr^W)Q0{JRzp zmgM)~t11yJm7pfHsNZcoAhmE_H=MA~X3OC^v3I*~*`Xo3Hj$H~zz(Yf4@teeT8h

      z&z7|c>WAHc|f3g`)8 z%{}$r3rd*sC22$7*dnWd`VNB+~<0H;{`B4sddSD3z_3bD1}5mQf+VJ*L+w91RvgbUJ(w55!(`=4Itt)fgJtd5ZGQ3;bi7z-S#oZhe$Aqa z-^IP(E;&58`a@DpEZxaCOcsV`)t*+aN+EV|N>Jg?N{FBBo|q1qH^s?X1+92dtfa-` z)qxi&b2#DQ|4=#mWDQs4DsFjd&uOkP?|w+G*N@~5a@yxiT4xdDt_88CJ&=Jnbv zks>oGsO^LEcm=4qoq|A_5_vDF-JD$aNeHfX^ZRhZqE&XH55toOrirgEpoyGnL!TG? zulkg8_nM?&_Dg%Mf^dU+8`f%9bqpMj%eM+4nM#R6tENZ0KR=g!=mgH)c!qupf*d&T zT@lnaEcrIFf7K+4INfnz5^Zn^{n4IzVQd zMw)u;nep@fSVu07(A6@wv&$I!q4I+zuH^pIm{^XH+V=^hQQyEcj5=9v`1KTil>22s z&XSk2yM_-B1M1_CpAkq8^(?)Ay()3=P{(*Qtd}6f9~GX1ZrE5|CHjT{=M_%l`FzI! zJ|61gUBFA{FF>ia+ov2XJs{&k=k6-0ylkf51Sv7(My~CYE;^uDSpxCtIb$_KY4MTH z3L1bZc4s|?gUL#8({T_<(_tE+KErpp%3J@o7wfC6hDZV`bpLS^zs5qBp{-J;t!JKP z2PzpgK*>Q!d6UZ9keW$EUjhvSH#`HJ_i+yEw_N?`E8xfqojm<>B+eDy2TARu$UD zw{8ETvwmXBj0p7c^Yr5~_4$%?dW6M}E;+Yb*AUaRF|e=0f_QlS*&_B^ zoAQD7n(69dtQzgqj%0$val6A1GIY#1q9Y+z>iWKaF1t*XK4HiH#?p&RN>&hlIib;P z@g~&4^bJwIzu!Y5HdK4UD44P*I8z7VzOIx<6q zEni${Hv2;r%N>1gh>RYsDs&)GtG7t1_thy{ccY(Czf2s8FTAiz$4!E1(xqWP7GWu@ zI;9RfsU@{TVhClT-f7YpVnHgXz3^lcq)2+UOjBEMhnFb?anI8I?p7_FR7OCcj0? z-@8%^Z`gZbcsv#_9TgVEp{IOCyXfDlW<=n@UAz^^yOPsRN5W2~+RUb#^@?geyY+r- zaJK)V^wnA?wxIdi|3y3l&g}|41hzyYDoRe>4(ptGf|%jdLoq!vx?Z04Rr&ov9*a^| zWIf7S%>Uw@E#ex9UVg5TE2L>Ke1&1!R0zpo)AG$kBY}DF^iX+G;Z|ZfN(}|dTVtT8 ze)-rm?#o@^td3X=(hN0!Cp>R22dv&3*}8Ern{%@ag*817gb)rtOPOQFs~*qa%zh4A zO86iD@wZf+|cTf}4Aj`VOc z4M;G|dXcGoUK#XURhi(ntyk&|SXpWh^90%BhWj?LYFqU_R?*yN02$nrfbsTXykP-r zpDS!U*ubQ>if$vyy?I-~`cw-j9zYL)yEpGM9?xTXU>$G`Vk@HJ-^tb|-uT8Mk^Xg} z|I30KlHs|Xi0h+iCuGy5d03OOj(&*DLIRD%f&|kX_J_f5mY(u$JKNbYujMtW<&HjY zqU6}V`Z4o1bjdX8=izx#l%rO94Jl6*Y07NDt0DNbo;s$`pe_n+0cwR)@w~R~@xW?a zLd449%$)7?A1IW?jz0(3SD((GJ zvp!4!<|Q&Xh2YUIAhE}*#H3zTn^9e_@BiNCX4R(DreB|@)F%qUnc!HA(z1Rhn5|zT z(T4C7-?N8pltuVEc^Ax*2m{=r!FqT@_vZgND^y|C?$(ZS5_dBWBA2%K4vV$bAI<*2 zQyD7<{l`I(zbgiY&*8FrshUYV7sBkz;;zm=yzqC3@?dFMP>0CGdUBCcl9rf{fuC*zP(>9WLDsi$c=-{QYk z^={m-#-+a$4v4Nq_(6r1N^`-vp23g6Ta*hAh zrcc0AnO&UWM~*JT;1WB`m)csjHiITdfwW2n`BesXbh-c|KTOf^7%mvZgI;Tb_Bb-I zW9w2A3o4bLk&YP>dYEj1%)F)io}W$Oa?q>}RJzNzZ6B0)CKnN*Q8Vj2nIGD4rum&k zt#Y~3{(BaGU+gV#U#!yj+^$FPILuZAS;H;eF0T3+O|Fim-c3w{e(?t0d)VVp3cr^n z%LU>W^3)f%7mp7x1bQ>o8;lPbYI}UE`X#X~y`DBuAT2P# zX|pASht1M;jKV*M=`zzRqdhK0=Somb7s24)E$@23;L%unu~&UOLN0jl7u%d zoKm@gJ6)TLXL~N==CpjUtC82O)cF6&2XL>5{|yVgw=Os+p7DPR2=MMaA)D*ZFareR z;BHX9%#p>y0;8)7Tp+ma=oLAs7zS%j2(DPC`!JV^yQl;-jr5IN9{ioW0!HtRfPG0- z$Z^_k!&*q%Z##R6)R8<&ObcT6?w)yXDe7X~x@T|Ac#LJCMF7WAecaP~*`LFL$f^6D z!O$O~X(-_(QAfmylJveF7{L3AC%4+@xDP0;=^dpk*4WroDggAZ60?y>a)6$sjQRAW zvGz07fMnIpByzWfv>{E7<;75ccUM5X5f95GeK{_l3t_%mRG6+)@cylH1yqeGb|bfq z*!*dVLDv46yFF7QbXR>Vx{VeIzN-euP3oQg*NfVdZA?Y#EsT`F{s*4_p3|=%|I@}p zf?+=AxmfLW-+f^Tj>v)`t-QW}-R7~cRf^CKgFa|Ab&MO0)PBdW}_Q**JdAPB2})sU0n>F5sNR}%i!21O$J z_YPrcL#LkoSx}|b8pLNiuA?lQ_XjY*XrR#@0Nfa}mZ|3ftwltzrbZ+{k4P2N+Yzx| zr4YakOMv=VWk^D|c~*f(ZS2a)2R2VeaSP%CoYdjug!J$nYbRFaj_c?ZJ37I#Ml#u=ESzZ=ncV{`QQOejAQf`ghHXjH0_YB2$Ng2d8^3&fL>RD zm^t~q^pWm8uuC#=SRtMw3CXr^tqW-XDsQi(U&(fUYRBO00ei zgZ{yM{yCACHMd6TfZ|9!=5=5)V1BPnTOY*(4+wNC^n)?U1w0VoM0%@0Ka+sv6Pv(X zDkXg7f_At@oxk*V!E6x$8?D5(z5DgiRl0pc*hjL;I80}a<-|} zZ#hXi+A~ZIcLFulE1R>u85DEhxYyG((YNUlDJ)iFLyAth5OKfNbpxT z1{X7PD9mTWgmT8hfIK3VAbj$F&9DW?CXrq%Dn@G6{gm)|J$${(0(gU5W-oYl&c(F) z57K`>sklffF0`PkJA3q z&8sd_bKH^7MkQstDk;@!?2v4#n7JrTl5*AmmFg~r{5i3{qd<$(d?B$m3%P`OXl^a= zEvjTj5$3>aQvdwyn|hiXY?ZUU$GglfA9!B2w4Y#U$}qRLrT^Yh;FHyPZe5;58Qk}+ ziM#D-3`p?UO_Cw}Blh62IY|SxRf^Oa_}@@CBwW3=w&qnTR(Sazb<_79xb*TYjPIL9 zGPu|n!Q@}Ar|>oAkbv~RyYGPqGw_|=Np1vl5D;7k_6v1Kv^mD)N#bqkopvR*vP-ZW zj{hmla;o6S-q+kkjSXq;2oWa`R#(4jmo$^8Ba9KW9$8-VDwaCB$$vE*SeuFSHS8^; zMnh(t(9Q3%xq3GEI~(7(-oTx=#Kb$Q-^{`s^6?e+Du|XEhBYDl)V`c#d0^(H)Q{<3 ztSUoaS?T9o4(6|KD>-oBqrHjyJ(p;&!*t2;w*>siJIkgmFw41u)^s%Xhio5N!#I00 z*++Lp9Fr)diCtOU9yw<+PN_Ud?QPRN`Sio<^DH3WI+%EFMlpc=PK0{5mwFx0AJ9D5 z5-O`$jhV^(I~d)U7M+<;>@N;e%ET!q8bBaIk7X3Ty<7$-X|7o@YG;@a9w7YidklM0 z3VKhQd=guCobdC*ql|yeLtgI6jY45oax8O@E49TZC(n;Ie6iLofeS$P4zk^28-Ndx^c*MN;1jL>504vmox`)WBO(V7dZ;5=6sb7-+m#awFI-n~+ z8pHE;n*_be30S8Tt=`i^J=SduybCpa!*UKb>ug1IW6t>3EM>Pe|9$ASws&`LOqG3K zAtE5KFct#YE^ABv!hIZ7%W@i<9w2M+H&teKga`1vW*bkL;V*&7S62|}H;^mx`do91jrMrtAy@fD-MJ3{P z%OA%X^9a`$*$m@r5fs9wn8!=D;`PA%P6Ecr8-K}&bF#4inRzoGC=#3lr_xswHkk?A6y63{#t}OY;t}xfUJt$;(_N^hW4+;s-(p>i+MwaHo`2qr{QN zj6RPq#e7^y#vv0@rS&^F*`fSg)!pqNRE3&>wg)#V>Il$7Q@P#9-SaZCG*T}nMyRMo zNLA12MAvi40MbM17Icv~Wjj5zB3y@$J#K>?tKChHDv4=^_F!j1%Z(&4QHtzVixOhB z{#FhRdbh{D@rOg&f{t$PjqV=H+p+hr6D-j0H)yON!d%e&@5in}F|BbKV^HIjz zLWtqqcL-{qLVWm6>p^4JZsIG-2)P`=wW!c9oP!FCx$5Sbr`0f~qZnMKzzUD5H@h%W z(_CF5H~#XOogaM~YW2nqUqyQIbJD0A561@+C^tn=U?Fni%(}KbGM>%DA&PVcdkxB%hVL;C>|7e~_8s57pbFCx3^1@9yEzjG6aIwd( zZ1xVb12wY5Xev&e1bQoey_()8DR1CuhAF7jm^GRRy_I(OxfoSYG2wxuNEpLdT_sig zKDT~#IqJL2-MO2t1Frk3rT)3%^UDq8Vcwd{`Q_!0q}!t)rme?gI!LSc^S2{)wYGyf zx9vj=?F9fP=;3T`15wd+!5LAxQQS#Wpzb4H;un5eSO~cGiN18q-XjtQ!4o@kW&du` zXYh~e$&#~ZiTu)(UXAkb>D(0so-QDr(ieuF$SYGtY`NpE-&(Je4eoB`V1mc!^xLDI zIrjHDHpP!B8O$&*dfhaY<>$jkwYotw@mXcOh!Y$N?_cv&Iibm513mHxV6V}i(Mo@P zV-1}KR0E^iId<@@AVAv?#_};W^t*#$`DmZ}h*z=77}`-ng6jc+)!LXhU*hyH-HoKj zAxp*l;!(*OI1QH(&q?Qh^28zhv;Q`qOO{VI|M{!4*nzMLw+7ld53T>S7W-=QFWm18 zNKldlE3=DwmD;;RlFwxWp)D$j44f<7p@9Y4Bf-2$sETpvOd>>i(Fi=J8u}uz`oQIn z2$lr_%2;plLMn*326wP4rBsTm7K>%3Qp)$Hikt;Y<%Jsx1w_y)vtUu%i%7uxX3R+M zrQ|Hu3RsC3^*klyiL`Nfn>YrCvA03(-^x}Zd^gUH-l?P6C{4!=8Ff(@-mv`{b)w4s zA?1I?P;@{o2%9ONqCoy52=I{rrRj3Mawzp1I+VJTJYye#`_ZL-TuSo4{PaGFWll&>m%pb;fvk5$}iASpO znDSD($5zY*J^mK^$3XL+g9>eJy9l2S&833wnXKNt_yn+Wk1`Uli@B}CUzX!n@(`0g zOeH}F4i&xATWWbR=cmLtEIwbkCWdWhLmw!L-U!isPg`YklCx{#>pB$E8uM9uQ<5g^ z?2%sgvfc01IN6t+Gx0uUMmGNBodFd%k8o@~%R@bN@+#N(j_AwhZb1ZiohJbW$`bRj z9?YIOUAu)8d!J|NKRXoW0EBM-WZMxif{K(#qevT5rh5&)G3q@fO(hZYiEdW#vJ1+w zy(v+=@Z3^pOa0cNx&c#A*TkAt4hQ$qgE;R&xpG_7)I46QzGri$7Nx%8);Uo5;w$0e+=~Us~&Q7`|FX z3U}MY+tP_t_*+`Y00eU=t8d1_<`wINF7pEQQiMJaceyaNX**cFS&8y%2thG^ek`T` zjfD%B%)8i2-dIwwFm{gi*bde6vAyg}wfEP;WvbkQBc;F0jSZvI$QDFXY8{^hj{K(2 zcueR$e=qQ*Xkv*RM|Crlg-qMEHL1+Yk)Wp*^OZ6UQ7R_%*|7?#7tKmB^BajLn|iiW z=Y=bz-cRngS>b%=?KP?-s7`Vir=|Qpr5t)u+Vo61wQ%^DIStj`&`Ua6^t#|fDzTUO zNlshMaVfw4MGqSL+r-#V5~mC^D}POtr0gWrH~r#ayuxzTM=ar6)MeoL7?RBN&x_-8qrbA&& ztlUwm55t&Yr1hcq+A+Y2*bu#^`uOZ$6W_A|h<|^bNU_8)NDy6%N&wb&T4=o5bs(Hz z4q((@0Ic`;Ha(7t#EY**ESML&6DJonx7c^*hjv4eM&FTQK1c6wvvX6d#Eof4LQdzL zg|@Q4zpvdKU@3)0YVrLx zwykCR`{7hBc;<%70)JNutM`}13Vf}WJf})G@!W2SindBAuGVgai1_*=E zo3^H;kCUqc7^c)*7F$D@TmYRP%}PxzCmoILSLM&Wl!MG zVb8(g1^!y1P3J>#uEP69xAQ}_H}7fq{w+o^?f;JiT`_qEBl?}Sg;Y%Q1D+p*S3B=R zU-^6exFQ;KEI$aLe&XFekMJ{AUbymKJ*#^<46@Pqu|l`HpHsl7ScHYLx#e*R=eZ^y zJ&Lt!Hp2Mz>v;)lhZ)FT$Xk?5ja3&3E&BT7#JdGFYeAGeD2|dne+Y=wqMArxU#XBJ+5&St^Cr%sM9jwpQPj34dQpu=-se)DBZC*M@SMcKggX zvH&jz^nPnOewj4=T4v8iGHk|mu*mt~R7Z^8aD{Ah9lOmFoO8D>wXTYnp3{os zup_eiZh48B+r^LF;?r+#LRNg^VF1F6NQ%7W@X=2hEnT>c$qqn2b&ZgUFPHC?X!>wr zzQj*Co9P&@(s;+9rrCpY=ui|2=QR`rqbbQvSXa8e6YEHE(v^`s*;Pz_t{x|J8`Svn ze|p*B0%-*Wt02~GI6@qp!qgA<_kMtG_`8NS>fb59|NpDFuiyI1K8QjwYo*9SVTWDo zhD}Cc`;NlHIVFj&_C7P4|KwvkJ!y(L9{JcK2@{0s(AZABAC1-SWm@-l6S<9Vf%lI6 z{lm~2$O4c8{I0*&#aa$*B84uCqOZesN9J9)WWKB;BHU$rz0BUJK9|mVvl*4v)z>um z@O&)n_F_P?s8BPgQac4N%n2Lm>&4kFySXXyVx|wn1XhHLJ89?WP*O;8mE3e?^KKhH z&RXSQXf5H;Pp*)8U)3B3gTp%PMG4lk)i41@c0Z_!6-BM-ROmvD|EWvUyFyY}b*4xK z9%AYCxx|--NTplv$M;wG%_uJ2R24wKw>Yf z-+mxmqP}0W{5By>UpH=`81(FG;|b*kff$2R<$)+weYJ5hhBYftZX+j|iGqJ6jz8Ct0jdsj zWVf!}-AmlZIK>ugomOWNrUIrf{b+iIo=q6KYr_E>k7Dk#j=EWHW&6qDz~=2DN^fh& z*Y66j+RKp&DX)EomNo$c!ltFqADH9_Ddw{m)+zxfvgPT-lDmu<+FzQs8kg=cBGZt@Y~dCco0$nV3}+wj`)Sx5-6Q2^dP=r5)UlYTAy+ z3V+8J+n}D^zuf!8ttBz^h*G#|zr#nyZOe#>&BAH8JF#+l;(Ew(tdU7HV?oT~sukBv zg()}bAL4!dJlQZ@t}@s*P4qhAqT$+AH}06%Y5Q^Md4IG0eLtv(h+T5(cFOn33pqT< zxZa|Vg)Er249!E|^-&<0{SIFHWWuS0@rjh_)fO`AAuzBt>H6Z{yYv0z8?(ejlFtGuiiGUY%??Vg#zis4ORj&j#YD z?WZ9L!}m^@6Z+9YTLC6AjRKIzBeS?WzRf71h?(;%gaVs&H5*>a(`ZUcnUOxfLKUWO z=tCZe&E#nIRt_nn8xw)uS+Q3N>mP~o6cFQ?fFIlSBV}5VP){jiF((YYk%TGN@pZm`I{PV@t#r;~dM+I?N_sB>X z#-~5q2#c+y+#d->D4gw};h~NEp3G?H_eX4ZFlf$9Wc*@8_bSWdC>>qBz+YYsnsn^Q z1;oQ-99$9r?Tk8BpT*HDYmZ=ky5-0I{%_T^D^QWES45GEVZD%THMb?Z6M@Ng?i42F z+TkbJSiKA6J&SRMBLlbk3`2XdPM}g~;1CCb%x;UMp96K)I%R!>nyIJ!Qbe_~1*7$y zi)PAHShU#U!poKso!dK``Cx7*dQh(fP*Y5IsS8xU91E)Fjn4ul#AZ9s4&0bkOX1}Z zkTSPJ-xj@Pmw$W$HP?a!>uRxZbv_qAKT38|@+n^5K{0JpeC}m2`Lm9L_AzH$z8&F^ zQW1#HGV3?m89;ZeLyk`f^UvAANN6-c2RDtNxrl194*8xaKJR$ln_X#wWIKVLPh8wC z0HbfBG@tz#SjJJN;YK90Ho4B_cd$6#J9WAV8a<*rTkeu0#^mW&wj2ejf!Gl?yKx#=n%-KxG(CY73+*VXoBt*wYp$=x_g3MfN^gF3X+0W z9OU&c;OBKPSGu;sKAAX5vJE=D7mNZ!BUT>9&v|Csuw9vz)5MSl@zH(T#W; z1HNt(8t6CLmp{fo$dC8moj^;fKwR#O`wak^y^zh;4jBp6d+f6n0q1ow4Y?(i$lvF{ zgg-(?AfFCRN6=<22d2K9UEQ6JP?JAppX(_H-+i@3dbMWW5b}h%O!UF0=`W8#IE@t_ z!Xd+tgco_Q#ZEkR1i^ENC_Aw5wlA+RlM{uZ$QkI9ZQ{-FS0MezZyxpEwjl2}R^84g zmM^RKw{=up`n6~C&m;MPS8E<_D7Unrfx6Qn5mkac1V@i;$X@*PD;>)1% znkrM#NP*vuOj0gB`;L-vk7d%JVtf;Io8Ysk`o)LrQ+)i?cD6Z&uFa&kJdl4+C7X7) z_8QYISRCxK#y-$E0pbMnt%dbs5$K`B@jAct3N@%c`cA~e1C#qA#p~Vx9g-0xH*_3` z-_||3r)1)1kbXC@hKQf^sA4BFJCaXTo`8i>_a?UP;3aV@NcfT&)=@}mg3MkNWE!fm zk-Z>W>)XDDd9SV>B){f?_ayKNh2yo}znqP=d^p00_-L^FivDH)pX0p$dN5xk6bxrH z_??jho>h!VatMDl9taXyu-Fk2f^|96q!zf@cBjw~L7=&&A(lC!Y}lvK!x~32qi|D} zCNh842Ygs*sp7X}*|@*BY6NTE7)f=t22(Lo*a2doT13}d(hN>xyl>nMfloq#IIcCD zdzUR_8A$IxZBs59Erx@(ls}jP8q}Q?1^W1}SC&xWX91Fe{N>r?(W~NG@sx)k5)zsG zsOCTvlC#thOSdKH=9VxDmDsqL%Fku?oihvMtofwoorZXTq zNks-ZJtgsA&+t@FN|H})7;Yijkef>is`mH;fsN5G_8BR2Gph*pI@Cgm6BUX$b6bjVVFJW=FbP zNeSy`=sWf@BVp*Zgl(Ch05QuOmxG(p7xSfuZsA&6B%}29ifrr;N}{Nqo5-91?Ca*U z!I<8&<-gdjj&scCl}-y!={UVdBp;w+zzji$v}!G!xe_+%MQOzsG?etgX4T0kL8XVu z;L?kVL5>dmwv`J@vD`{;M>RMd5HTU_G;ft^&sQ{#x}s_{5lM%Ce~EfYW3$Q;IV6pRW{B`=QzC472PrH{5cEH5;k>Q@m7y*Eh4g&19MJEoGyp^9m0m9QEi{!^(h3C2vI`Uj}tARBU0dE#h3@eZy+s z!jjeGZ?Xh~=F2-z#87F|yGKmcuZec1FLpkFw;E^aWLLbb-u5<#w%M{##+>B~1bm?V z%V&H3Vn%_8c4>)CA6q7GpLc~o7pKg2Hb4u#oQ25hvg%}?O1~_KamEih9HUeb!+w7U z)l_Dj&jY#e<^|q?jD+)_SRLAzP$_+WLJ(3hv}OAMVu+4wdLJ3=GM@d$_ao_FFx5^^ z$O91>$vfXss>4ykVrya97I1d;B+K8_?9E(by4s+=(*@I(g!*p#QfzkVIK4L=v^8UZ zE6}>6cVy+m3~fHp3c>!`S@x~=)q}(Z@NJD1V|or|K`j_VBKXDpnDC3lzb@!s8n}9{ zH9nISJ+&P&OflWCa7%yO6+#~eGE!viIbb=D9)?ILLWb92G=kvP~u0;CQ< zZHaGuL|~8FA8d3FTEiZC;WF5kPQ-MXFQr?9J9L|p_b|1ACG5bo$EB~h@!DMydnI&6C$wucNY)Wo0iSEEWYZ@x-=)Q&k-M`9e&lOvmi9i0*bc6ehdVL_>>^EP$uX0_1IeVAt^mfDwtwZFvV2)9EQEj?mki1z^=CCoy4x13IEt;W^7eVpP5Tz0dKZ~!%=W+X`xI^^@TgZ5?y%MRw=&gEbX z_%lLVpDu=*A1a>jLgB4IE)kUOqA{oPQR5QF+y<}o@j^ApMhG?05dO+J0Ss~5=xD!*VrbSQ(`m!_}Xvl-GNZ^&c%K?BhplQSrI(i{lT;Ll z=TNvaa-01D_zXd1|GGhndKb;i-CCxT!}l|@YTH`_k;Nq)L8VJ$%{(i3CuSI>jNEGi zM+(H{Pk4pMm7Yi#R_82-13nCbu?SeDK-isqyx`=2S1&Ef4C~PsWwQRS7i%( z($QonuR@$nX;X9N#dIy{0BAiNnN$=#BEF2kxyn3dg-V8 z^D;*-C;Js1qz~!LfRp_4T7qPTSvk>K5Ce=SXhZ}eY5jz8`ul`HZ*vo!?|dz&N$9^`NCY7D zUfmds#w$wnlxMW+qSLJcbuPDIc@-MMCd;Z)B&64@{e}MjVQ@f8|L5#Kj;_l~$HJL5 z(0pI&|J118T6GB;F+|$h^XF6{P|4zVI)X?&jX?I^>MgG?qinwq`S;hQ%J0LG9q036 zVC9Vor{=Zyx~w&mK~uE0n2e?AjDih6+)JANtDEGX_u)bF`v$-$cfVweh**x4=xt;FUDC@djFiR(Drb(Ph0r8=66vgo4vr( zF>8i^j}}gwoE81`c0G1wlxuaWf}UM~7>R-f)bEw`eB}ij&sARF}$mIi|=;CrXj`{j9(}L=<{)t&oDvWR0 zV4V`g*(MTD$q z=?jIt)n=|J9*2M6MYJmzo!>%y#c41ZQiB&1=x1mgzKSiZIdP@FO0>T|IG6u2M*V6g z&64H5BitW+^m~_xBi)d0Y@q0@GX@d%iQ$+(`9vcS%JdFlJu`NHJ!MSSrL-uIZCpQ- zAw>){-QkS%Qteh%{)`;PX|Ry*^UPw+6s%RECmLJ20hK^VtZPS1d2MHqu@&l52W9m} zk9!n~B0>Xw-Ji8ul76%pEff+*4yey=(y{l14E+IVy&RTF?BUB!k3_faNg){mw(@Vq zecN9i^PyAO9T4j~=Q#-1K@TJwP1QG=35Z{xm+c#7eDkGtSo!1GhY7CO(q8y3kIKAnt;w zOa4osTc`ihLNX8^6mBo52(pmQdrMzJL_{R8maL#Q z-?TjNrItiuEG#hf;%ufwc~t2%A30oX6oJurakT?l28j%)G&HC<#6R zZR}7sZR}?M+N_Xqkp@+NSGgI?BOrW1HO2yQB+d$9CHMz39{0xRQ^K8bK?PA54V<|e z%(lCW1}}gR9PfrHd8z(*S>9?pyGgHnWck5TU|aQ`1YD{C=--vBol}{-a+&;K=g4ky z)gTh8&7LsJ@8xugHdrjZPGtroq8W|D)0dO&PI-LEtlB7`mHpY(A15l%)oJ!h;e zh6ac|TDbhswjLibJ9+x)wLZ^GanUW;!%+Y5O!DBL3Mw@EeyGBIE?@A2$m$lo{7sBR zDa#MMM0p1Uwk!$4!wEjU#|#Z38} zDo>rAoMzb~g28h|dUs67{BhZv+BlDoFJ@nF4DDM)y`%=yq@}A6b)Wvw(J@Su$;0(`WNJp6{$Ae9Q&rfL%*gZ0C6oQ9Gqf4W$6pv>D2n2lKMZPhSG|g2 zhiGpnl7)22pa#(+tN~$bLZZVkcW>Vscqx7$;Tz8V4I_H)k)nt9zaQIcCjM~pvd;@G^G)+e+kmIK@h9KWM)TPE6SGge?Gs&L+CuB0!vlLP z!{Fh3Ehz6W`w*(R9;-fjTQ8}}Q>AQ>Rzd_!&sLkex>vGUOF>aiXHgyxx!W%C1UUZ` z0!?H{Ys1f9FUX$~u$vVmK=GXyUX9Ql zF9YYaWh4AC8NGnN2~_Ze)k7vmqiH}h+7Dv*C8;P@mQ=y|BI#og(Ch|*QOn6NIBJVC zOwH*6#g|rg`Q>3K$$fA2gXve?8kFm}m#KUZq0*e3i8kai9mTto^@t?DaZz94PPW8U z_SL!tu_BThQX(ZpfffHEeHjtCq*{VHG;XiCtzWj>K;bV_gPT2R(u-gAJ`_|OI!475 zZ9croh=i{a;|lKj7Vb!cILez&L9|}H*+Zw0x3=VXyy_h>_@?GF%4Q@|3`?NFmv-%r zEA&*0SBS~4W}LMMQ9u_1W}G0;MSoCX6>q?*GwXhjqI+S#5|nX;QZm5S{wM3gxnX6k zZ3op@{~muKi0{u}AtBId)Wni-eTn8QmK!#EZ!vfcsSc$w<8yJ`TXx44Sb5&)LoXQuHcjEr}XAt5x>_{=hA(~0~S7HGb=wyAW%p)N#Ep;d8=-vyHpd*Yn4 zO)4yx9qAaAS?G(qFYo+}-kL-Xp|Q7+V)0@wP#BOmWaS#6{Vv0xaHL)wzQrH=+I&b> zm&J-1r)89|qIJpM-Vb)a45u^&^=ry^7sYv=qW05Rve^uFt*4;Yc%==vqNop3db_HzmP}-2>6?~CnDJ^X&6C-AGUs7i!ph; z-(rG1*WlWnz?z?a<3J>qaS#7C+G(-K+z-n09rF|EU;a77sWl#W+S?9h~gCJOaxQvOl#D?186?xAAQz=ek1P??K7wyqOIC-(fF%^g$E z+m9KO(H)wxdVQeJZK8J}wJ zF_)7{s=6bWaU^%!`of>nWU-I9 zDUo5nCKaU2i1s(CLb*Z!1AMgBkW0qa*J4u7p!#0z7`v{R+iU%GDZ%@r5Wd~RP0#X> zqlJ-}yyTE+Zx^4p3Di%y+P|Rvjl2n?_Wyzpe*D;|xLZDC$(-1rBl+-t`=3S4S=P*{o zN#6t!Y8sVBf=o6pd9w!t26R>$u@SOBq|`5bQgbiu__Rs&DN_c{WL~_w(=lHI)z^Fx z>nIR~9q%t*`4=9lT7f+GykvhX8DRtvzi*E%*z2fmGX!s`f!TPFik!F*GU-CYd{ob4 zHwl}`z+b79wxn;*&*MW2i`SM5-6I2n3&Sb#3B=0dwQ=*xxE~xiws`1PwMz8{x0Y*Oa(n{`kHw+%H(Ad8^R^M%og=Y8X z-Dq}p`HV!M5%`u?YX6=600eM#5M2-oXMDq#rCP7tGCBQOQvukO)-s1zQ!0v}GudUM zwj}aiq0@O^Wuk=|S@z0>c_N*1IZrZ%0iT@2Z+@$K{03%^V)+KL2A%hLCU?5;^XWEB zau?c=PG!$BII^y}mgaHf_@AeGwBNE3|Zf-MkJ#dv8`C z^Z4l|%Y$LDVa~6o;V5)tdhLq1t8!C2f>|Lx1&I&GnUNJxmkDc{^;?c2ko zU%@XaQUQS8ke!{WC;VbHF@oMhHU|=`o;S3c{tV$}{MYbMs;sCseP3|aM_3gL>K)^e zyG6a8l*Tv2_LdFiacqn-d}~yrA)T1eHxJH1Prd@~+8S5Q&iF46zx=aPCeAOK??!Nj z6KQ)naAU@;vw8!(1|KK%DT|A*FgTGr!HjuZ91%9NTmgISyMBDn?NLJ+=4OUrclB(! zl?`QW8RQEaZeg1k1cTbKlieDzLwz|KQKm!Jz1b|@TQvdM)dg)KO_@yCYa0U%@6WC7 zW8h)cd>b`yeMiD^V?(j(JNFh^d`_WtvPhB)W(=>)X?aoKWf?v9>D95aMeAbG`wl6e z4j|k`ebVRq_}>n_|Lm*O&%66YJ+r5!Cd(&#MTF%so7i~# z7uhU{_@O|F1fVPV5O=jRN0xSpNxSoHJ5^#uKcpL@=tpi+(k$T5$m3K*=}wU)Jq$4I zH{-_6L}ceRANMN43ABkZ=AMb&A^HhZ1AN){!>f((AJ^Z|H3d!z3AIet9xw@RXKny9 z6@JKW?JXUJ_f-ilUq%Mw1z(X~>QJW?vud+<+%0e79%Z*p5N#4%3Y%0D>gyNYH7b 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 z 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%0AF+` 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 z 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

      78a7iF`qM$yAs_U_3CW9froH&W1lh*{?g@L1! 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

      >haxYMna1*`HSKc`+W?Oz?)1!IE!rvEg2EZ{Ba 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 s.trim().replace(/::(?:before|after)/, '')) // trim pseudo-elements + .filter(Boolean) // remove empty strings + + return selectors + } + + const benchmarkSelector = (selector) => { + const start = performance.now() + let matches = 0 + for (let i = 0; i < 1000; i++) { + matches = document.querySelectorAll(selector).length + } + return [(performance.now() - start) / 1000, matches] + } + + return extractSelectors(cssString) + .map((selector) => { + try { + const [time, matches] = benchmarkSelector(selector) + return { selector, time, matches } + } catch (error) { + console.error( + `Error benchmarking "${selector}": ${error.message}` + ) + return null + } + }) + .filter(Boolean) + .sort((a, b) => b.time - a.time) + .map( + ({ selector, time, matches }) => + `"${selector}",${time.toFixed(6)},${matches}` + ) + .join('\n') + .replace(/^/, 'Selector,Time (ms),Matches\n') +} diff --git a/desktopenvs/hyprlua/Vencord/themes/system24/benchmark/benchmarkresults.csv b/desktopenvs/hyprlua/Vencord/themes/system24/benchmark/benchmarkresults.csv new file mode 100644 index 0000000..ac67040 --- /dev/null +++ b/desktopenvs/hyprlua/Vencord/themes/system24/benchmark/benchmarkresults.csv @@ -0,0 +1,195 @@ +Selector,Time (ms),Matches +"[class^='chatContent_']:has([class^='messagesWrapper_']:hover)",0.256000,0 +"[class^='chatContent_']:has([class^='typing_']) > [class^='messagesWrapper_']",0.252800,0 +"[class^=chat_] > [class*=container_]",0.191900,0 +"[class*=embedFull_]",0.191100,1 +"[class*=lookFilled_][class*=colorPrimary_]",0.187400,0 +"#app-mount [class*=lookLink_][class*=colorPrimary_]",0.186500,0 +"#app-mount [class*=controlIcon_]",0.180000,0 +"[class^=container_] > [class^=wrapper_]",0.134800,1 +"[class^=container_] > [class^=wrapper_]",0.133600,1 +"[class^=container_] > [class^=wrapper_]",0.132400,1 +"[class^=message_][class*=replying_]",0.132300,0 +"[class^=embedVideoActions_] > [class^=centerContent_] > [class^=wrapper_]",0.131900,1 +"[class^=panels_] > [class^=wrapper_] > [class^=container]",0.131600,0 +"[class^=sidebar_] > [class^=container_]",0.131200,1 +"[class^=container_] > [class^=wrapper_]",0.131200,1 +"[class^='form_'] > [class^='wrapper_']",0.131000,0 +"[class^=chat_] > [class^=content_] > [class^=container_]",0.130700,1 +"[class^=message_][class*=mentioned_]",0.130200,0 +"[class^=container_] > [class^=wrapper_]",0.130000,1 +"[class^=panels_] > [class^=container_]",0.129600,1 +"#app-mount [class^=sidebar_] > [class^=container_]",0.128500,1 +"[class^='sidebar_'] > [class^='container_']",0.128500,1 +"[class^=member_]",0.126500,28 +"[class^=panels_]",0.126500,1 +"[class^='membersWrap_']",0.126400,1 +"[class^=navButton_][class*=navButtonActive_]",0.126000,0 +"[class^='sidebar_'] > [class^='container_']",0.125800,1 +"[class^='dot_'][class*='maskSecondary_']",0.125800,0 +"[class^='membersWrap_']",0.125600,1 +"[class^=panels_]",0.125600,1 +"[class^=sidebar_]",0.125500,1 +"[class^=centerContent_] > [class^=wrapper_] > [class^=anchor_]",0.125300,1 +"[class^=privateChannels_] > [class^=scroller_]",0.125200,0 +"[class^=childWrapper_]",0.125200,9 +"#app-mount [class^=partyStatus_] [class^=anchor_]",0.125200,0 +"[class^=iconBadge_]:not([class*=isCurrentUserConnected_])",0.125200,1 +"[class^='toolbar_'] > [class^='search_']",0.125100,1 +"[class^=container_] > [class^=base_]",0.125100,1 +"[class^='panels_']",0.125000,1 +"[class^='status_'][style='background-color: rgb(242, 63, 67);']",0.124900,0 +"[class^=chatContent_] > [class^=messagesWrapper_]",0.124800,1 +"[class^='form_'] [class^='channelTextArea_']",0.124700,1 +"#app-mount [class^=sidebar_]",0.124700,1 +"[class^=members_]",0.124500,1 +"[class*=bannerVisible_] [class^=headerContent_]",0.124500,0 +"[class^=form_] [class^=channelTextArea_]",0.124500,1 +"[class^='typing_']",0.124500,0 +"[class^='upperBadge_']",0.124500,1 +"[class^=tabBody_]",0.124400,0 +"[class^=resizeHandle_]",0.124200,0 +"[class^='userPanelInner_']",0.124200,0 +"[class^=attachedBars_]",0.124100,0 +"[class^=container_] > [class^=base_]",0.124100,1 +"[class^=gifFavoriteButton_]",0.124000,0 +"[class^=membersWrap_]",0.124000,1 +"[class^=panels_] > [class^=panel_]",0.124000,0 +"[class^='searchResultsWrap_']",0.124000,0 +"[class^=profilePanel_] > [class^=userPanelOuter_]",0.123900,0 +"[class^=chat_]",0.123900,1 +"[class^=sidebar_]",0.123900,1 +"[class^='form_'] [class^='channelTextArea_']",0.123900,1 +"[class^=panels_] > [class^=panel_]",0.123800,0 +"[class^='membersWrap_']",0.123800,1 +"[class^='nowPlayingColumn_']",0.123800,0 +"[class^=replyBar_]",0.123700,0 +"[class^=iconWrapper_]",0.123700,7 +"[class^='status_'][style='background-color: rgb(35, 165, 90);']",0.123700,0 +"[class^=searchResultsWrap_]",0.123700,0 +"[class^='unreadPill_'][class*='endCap_']",0.123600,1 +"[class^=overlayBottom_] > [class^=text-]",0.123600,0 +"[class^=privateChannels_]",0.123600,0 +"[class^=categoryText_]",0.123500,0 +"[class^=profilePanel_]",0.123500,0 +"[class^='searchResultsWrap_']",0.123400,0 +"[class^='membersWrap_']",0.123400,1 +"[class^='peopleListItem_']",0.123400,0 +"[class^='status_'][style='background-color: rgb(240, 178, 50);']",0.123300,0 +"[class^=tabBody_]",0.123200,0 +"[class^=privateChannels_]",0.123200,0 +"[class^='status_'][style='background-color: rgb(128, 132, 142);']",0.123200,0 +"[class^='chatContent_'] > [class^='messagesWrapper_']",0.123100,1 +"[class^='profilePanel_']",0.123100,0 +"[class^=videoControls_]",0.123000,0 +"[class^=sidebar_]",0.123000,1 +"[class^=searchAnswer_]",0.122800,0 +"[class^='profilePanel_']",0.122800,0 +"[class^='peopleColumn_']",0.122800,0 +"[class^='nowPlayingColumn_']",0.122800,0 +"[class^='sectionDivider_']",0.122800,1 +"[class^=notAppAsidePanel_] > [class^=layerContainer_]",0.122700,2 +"[class^='privateChannels_']",0.122700,0 +"[class^=privateChannels_]",0.122500,0 +"[class^=container_] > [class^=base_]",0.122500,1 +"[class^='lowerBadge_']",0.122400,0 +"[class^=searchResultsWrap_]",0.122400,0 +"[class^=threadSuggestionBar_]",0.122200,0 +"[class^='chatContent_'] > [class^='messagesWrapper_']",0.122200,1 +"[class^=searchResultsWrap_]",0.122200,0 +"[class^=peopleColumn_]",0.122200,0 +"[class^='nowPlayingColumn_']",0.122100,0 +"[class^=searchFilter_]",0.122000,0 +"[class^=privateChannels_]",0.122000,0 +"[class^=nowPlayingColumn_]",0.122000,0 +"[class^='folderIconWrapper_'][style='background-color: rgba(88, 101, 242, 0.4);']",0.121900,6 +"[class^='container_'] > [class^='base_']",0.121900,1 +"[class^='panels_']",0.121800,1 +"[class^=friendRequestsButton_] [class^=numberBadge_]",0.121600,0 +"[class^=peopleColumn_]",0.121400,0 +"#app-mount [class^=partyStatus_]",0.121300,0 +"[class^='form_'] [class^='channelTextArea_']",0.121100,1 +"[class^='privateChannels_']",0.121100,0 +"[class^='peopleColumn_']",0.120900,0 +"#app-mount [class^='divider_']",0.120100,3 +".wrapper_c51b4e:has(rect[fill='#593695'])",0.109200,0 +".wrapper_c51b4e:has(rect[fill='#80848e'])",0.107600,0 +".wrapper_c51b4e:has(rect[fill='#23a55a'])",0.096000,18 +".wrapper_c51b4e:has(rect[fill='#f0b232'])",0.095800,4 +".wrapper_c51b4e:has(rect[fill='#f23f43'])",0.089600,8 +".wrapper_c51b4e:has(rect)",0.087900,30 +"[style='opacity: 1; background-color: rgb(35, 165, 90);']",0.074800,0 +"svg[style='color: rgb(88, 101, 242);']",0.062200,8 +"#app-mount button path[fill='var(--white-500)']",0.061600,0 +"[role='button'] path[fill='var(--white-500)']",0.060400,0 +"[class^='mask_'] > svg",0.060400,2 +"[class^='listItem_'] [class^='wrapper_'] > [class^='svg_'] > mask",0.058600,48 +"[class^='bannerSVGWrapper_'] > mask > circle",0.056000,1 +"svg[class^=slider_] > rect[fill='white']",0.055400,0 +"[class^='mask_'] > rect",0.055400,30 +":root",0.055200,1 +"[class^='mask_'] > foreignObject",0.055100,32 +"[class^='svg_'] > foreignObject",0.054900,70 +"[class^='mask_'] > circle",0.054300,1 +":root",0.053800,1 +":root",0.052300,1 +"[class^=jumpToPresentBar_] > button",0.051700,0 +"aside[class^='profilePanel_']",0.051000,0 +".custom-profile-theme [class*=color_][class*=text_]",0.049900,0 +".horizontal_bba380 > .flex_bba380",0.044800,0 +".container_fb4810",0.044300,0 +".container_a4d4d9",0.043900,1 +".clipContainer_b11c5e",0.043900,0 +".content_a7d72e",0.043600,1 +".container_fc4f04",0.043600,1 +".scroller_e2e187",0.043400,1 +"html.theme-light",0.043400,0 +".platform-osx [class^=container_] > [class^=wrapper_]",0.043300,0 +".container_fc4f04",0.043300,1 +".container_fc4f04",0.043300,1 +".container_adcaac",0.043200,0 +".attachButton_f298d4",0.043200,1 +".wrapper_fea3ef",0.043200,1 +".container_d1c246",0.043200,0 +".container_e85446:has(div[style='background-color: rgb(35, 165, 90);'])",0.043100,0 +".textArea_d0696b",0.043000,2 +".chat_a7d72e",0.043000,1 +".wordmarkWindows_a934d8 > svg",0.043000,1 +".vc-spotify-time-right",0.042900,1 +".theme-dark",0.042900,3 +".container_c75f85",0.042800,0 +".form_a7d72e",0.042800,1 +".container_a6d69a",0.042800,0 +".vc-spotify-time-left",0.042800,1 +".form_a7d72e",0.042700,1 +".container_b2ca13",0.042700,1 +".container_a6d69a",0.042700,0 +".container_c2739c",0.042700,0 +".tabBody_c2739c",0.042700,0 +".vc-spotify-time-right",0.042700,1 +".container_e85446 > [class^='svg_'] > foreignObject > [class^='status_']",0.042600,0 +".container_d1c246",0.042600,0 +".panels_a4d4d9",0.042600,1 +".container_adcaac",0.042600,0 +".container_c2739c",0.042500,0 +".scroller_fb4810",0.042500,0 +".form_a7d72e",0.042400,1 +".newMessagesBar_cf58b5",0.042400,1 +".animatedContainer_fd6364",0.042400,1 +".vc-spotify-time-left",0.042400,1 +".scroller_fb4810",0.042300,0 +".wordmarkWindows_a934d8",0.042300,1 +".container_e85446:has(div[style='background-color: rgb(35, 165, 90);'])",0.042300,0 +".grabber_c7a159",0.042200,1 +".container_a6d69a",0.042100,0 +".scroller_fb4810",0.042100,0 +".scroller_fb4810",0.042100,0 +".container_fc4f04",0.041600,1 +"*",0.036500,6407 +"#vc-spotify-progress-bar [class^='bar_']",0.000300,1 +"#app-mount #vc-spotify-player",0.000200,1 +"#vc-spotify-player",0.000200,1 +"#vc-spotify-player",0.000200,1 +"#vc-spotify-progress-bar",0.000200,1 +"::-webkit-scrollbar-thumb",0.000200,0 +"#vc-spotify-player",0.000100,1 \ No newline at end of file diff --git a/desktopenvs/hyprlua/Vencord/themes/system24/benchmark/benchmarkresults2.csv b/desktopenvs/hyprlua/Vencord/themes/system24/benchmark/benchmarkresults2.csv new file mode 100644 index 0000000..b0b68ef --- /dev/null +++ b/desktopenvs/hyprlua/Vencord/themes/system24/benchmark/benchmarkresults2.csv @@ -0,0 +1,232 @@ +Selector,Time (ms),Matches,Total +[class*=buttonColor_],0.4697,0,38.4736 +[class*=embedFull_],0.446,2, +[class^='chatContent_']:has([class^='typing_']:hover),0.4342,0, +#app-mount [class*=lookLink_][class*=colorPrimary_],0.4331,0, +[class*=lookFilled_][class*=colorPrimary_],0.4315,0, +[class^='chatContent_']:has([class^='messagesWrapper_']:hover),0.4189,0, +[class^='chatContent_']:has([class^='typing_']) > [class^='messagesWrapper_'] > [class^='jumpToPresentBar_'],0.4146,0, +#app-mount [class*=controlIcon_],0.3911,0, +[class^=searchFilter_],0.3541,0, +[class^='newBadge_'],0.3385,0, +[class^=friendRequestsButton_] [class^=numberBadge_],0.3314,0, +[class^=chat_] > [class*=container_],0.32,0, +[class^=videoControls_],0.3099,0, +[class*=backgroundAccent_],0.3097,0, +[class^=searchAnswer_],0.3096,0, +#app-mount [class^=partyStatus_],0.3063,0, +[class^='newChannel_'],0.2995,0, +[class^=iconBadge_]:not([class*=isCurrentUserConnected_]),0.2892,0, +#app-mount [class^=partyStatus_] [class^=anchor_],0.2834,0, +[class^=childWrapper_],0.2817,15, +[class^=overlayBottom_] > [class^=text-],0.2786,0, +[class^=gifFavoriteButton_],0.2739,0, +[class^='form_'] [class^='channelTextArea_'],0.2703,1, +[class^='panels_'],0.2612,1, +[class^=panels_],0.2599,1, +[class^=sidebar_],0.2585,1, +[class^=button_][class*=bannerColor_],0.2576,0, +[class^='content_']>[class^='outer_'],0.2546,0, +[class^=channelTextArea] > [class^=scrollableContainer],0.2527,1, +[class^='content_']>[class^='outer_'],0.2511,0, +[class^=sidebar_] > [class^=container_],0.2439,1, +[class^='channelBottomBarArea_'],0.2423,1, +[class^=panels_] > [class^=wrapper_] > [class^=container],0.2386,0, +[class^='form_'] > [class^='wrapper_'],0.2365,0, +[class^=navButton_][class*=navButtonActive_],0.2356,0, +[class^=sidebar_],0.2315,1, +[class^=membersWrap_],0.2308,1, +[class^=embedVideoActions_] > [class^=centerContent_] > [class^=wrapper_],0.2273,0, +[class^=categoryText_],0.2255,0, +[class^='form_'] > [class^='wrapper_'],0.2233,0, +[class^=sidebar_],0.2232,1, +[class^=members_],0.2213,1, +"[class^='folderIconWrapper_'][style='background-color: rgba(88, 101, 242, 0.4);']",0.2209,0, +[class^=peopleColumn_],0.2206,0, +[class^=nowPlayingColumn_],0.2206,0, +[class^=message_][class*=replying_],0.2181,0, +[class^=message_][class*=mentioned_],0.2175,5, +[class^=bottomControls_],0.2173,0, +[class*=bannerVisible_] [class^=headerContent_],0.2168,0, +[class^=container_] > [class^=base_],0.2148,1, +[class^=tabBody_],0.2147,0, +[class^=privateChannels_],0.2141,0, +[class^='sidebar_'] > [class^='container_'],0.2129,1, +[class^='dot_'][class*='maskSecondary_'],0.2125,0, +"[class^='status_'][style='background-color: rgb(35, 165, 90);']",0.2124,0, +[class^=privateChannels_],0.2119,0, +[class^='sidebar_'] > [class^='container_'],0.2112,1, +[class^='content_']>[class^='outer_'],0.2105,0, +[class^=channelBottomBarArea_],0.2103,1, +[class^='form_'] [class^='channelTextArea_'],0.2101,1, +[class^=privateChannels_],0.21,0, +[class^='channelAppLauncher_'],0.2099,1, +[class^=gradientBottom_],0.2099,0, +[class^=centerContent_] > [class^=wrapper_] > [class^=anchor_],0.2099,0, +[class^='form_'] > [class^='typing_'],0.2095,0, +[class^='content_']>[class^='outer_']>[class^='inner_'],0.2094,0, +#app-mount [class^=sidebar_] > [class^=container_],0.2093,1, +[class^='nowPlayingColumn_'],0.209,0, +"[class^='status_'][style='background-color: rgb(128, 132, 142);']",0.2087,0, +[class^=peopleColumn_],0.2082,0, +[class^='nowPlayingColumn_'],0.2079,0, +[class^=session_],0.2078,0, +[class^='container_'] > [class^='base_'],0.2076,1, +[class^=searchResultsWrap_],0.2076,0, +[class^=panels_] > [class^=panel_],0.2076,0, +[class^='membersWrap_'],0.2076,1, +[class^=searchResultsWrap_],0.2073,0, +[class^=guildSeparator_],0.2072,2, +[class^=tableCell_],0.2072,0, +[class^=chat_] > [class^=content_] > [class^=container_],0.2071,1, +[class^='membersWrap_'],0.207,1, +[class^='sectionDivider_'],0.2069,0, +[class^='privateChannels_'],0.2067,0, +[class^='peopleColumn_'],0.2065,0, +[class^=attachedBars_],0.2061,0, +[class^=searchResultsWrap_],0.206,0, +[class^='callContainer_'],0.2055,0, +[class^='peopleColumn_'],0.2051,0, +[class^='notAppAsidePanel_'] > [class^='layerContainer_'],0.2049,2, +[class^='unreadPill_'][class*='endCap_'],0.2048,0, +[class^='panels_'],0.2047,1, +#app-mount [class^=sidebar_],0.2045,1, +[class^=chat_],0.2044,1, +[class^=panels_],0.2044,1, +[class^=panels_] > [class^=container_],0.2042,1, +[class^='chatContent_'] > [class^='messagesWrapper_'],0.2042,1, +[class^='nowPlayingColumn_'],0.2041,0, +[class^='membersWrap_'],0.2041,1, +[class^=container_] > [class^=base_],0.2039,1, +[class^='toolbar_'] > [class^='search_'],0.2034,1, +"[class^='status_'][style='background-color: rgb(240, 178, 50);']",0.2034,0, +[class^=tabBody_],0.2031,0, +[class^='lowerBadge_'],0.2031,0, +[class^=privateChannels_] > [class^=scroller_],0.2029,0, +[class^='searchResultsWrap_'],0.2028,0, +[class^=customizationSection_],0.2028,0, +[class^=chatContent_] > [class^=messagesWrapper_],0.2027,1, +[class^='upperBadge_'],0.2027,0, +"[class^='status_'][style='background-color: rgb(242, 63, 67);']",0.2025,0, +[class^=threadSuggestionBar_],0.2021,0, +[class^=panels_] > [class^=panel_],0.202,0, +[class^='searchResultsWrap_'],0.202,0, +[class^=columnHeading_],0.2016,0, +#app-mount [class^='divider_'],0.2016,2, +[class^=callContainer_],0.2014,0, +[class^='chatContent_'] > [class^='messagesWrapper_'],0.2011,1, +[class^='channelBottomBarArea_']:hover,0.201,0, +[class^=gradientTop_],0.2009,0, +[class^=iconWrapper_],0.2008,6, +[class^='guildSeparator_'],0.1998,2, +[class^='content_']>[class^='outer_'],0.1998,0, +[class^='privateChannels_'],0.1997,0, +[class^=container_] > [class^=base_],0.1996,1, +[class^=member_],0.1985,25, +[class^='content_']>[class^='outer_'],0.1984,0, +[class^='sectionDivider_'],0.198,0, +[class^=topControls_],0.198,0, +[class^='membersWrap_'],0.1974,1, +[class^=privateChannels_],0.1971,0, +[class^=content_] > [class^=resizeHandle_],0.1969,0, +[class^=replyBar_],0.196,0, +[class^='form_'] [class^='channelTextArea_'],0.1958,1, +[class^='divider_']:not(.isUnread_c2654d),0.194,2, +.wrapper_c51b4e:has(rect[fill='#f0b232']),0.1871,8, +[class^='listItem_'] [class^='wrapper_'] > [class^='svg_'] > mask,0.1624,39, +:root,0.1432,1, +.wrapper_c51b4e:has(rect[fill='#80848e']),0.1408,1, +.wrapper_c51b4e:has(rect[fill='#593695']),0.1371,0, +.wrapper_c51b4e:has(rect[fill='#f23f43']),0.1349,5, +.wrapper_c51b4e:has(rect),0.1342,26, +.wrapper_c51b4e:has(rect[fill='#23a55a']),0.1332,12, +[class^='svg_'] > foreignObject,0.123,99, +[role='button'] path[fill='var(--white-500)'],0.1159,0, +"svg[style='color: rgb(88, 101, 242);']",0.1122,13, +[class^=jumpToPresentBar_] > button,0.1117,2, +"[style='opacity: 1; background-color: rgb(35, 165, 90);']",0.1095,0, +:root,0.1094,1, +[class^='mask_'] > rect,0.1049,26, +[class^='mask_'] > foreignObject,0.1041,26, +[class^='mask_'] > svg,0.1035,1, +#app-mount button path[fill='var(--white-500)'],0.1031,0, +[class^='bannerSVGWrapper_'] > mask > circle,0.102,0, +svg[class^=slider_] > rect[fill='white'],0.1016,0, +:root,0.0946,1, +[class^='mask_'] > circle,0.0937,0, +[class^=callContainer_] [class^=topControls_] section,0.0882,0, +.container_a6d69a,0.0797,0, +.guilds_a4d4d9,0.0771,1, +.container_adcaac,0.0769,0, +.vc-spotify-time-left,0.0766,0, +.vc-spotify-time-right,0.0746,0, +.guilds_a4d4d9,0.0733,1, +.form_a7d72e,0.0731,1, +.container_fc4f04,0.0723,1, +.container_c2739c,0.072,0, +.form_a7d72e,0.0719,1, +*,0.0714,6196, +.timestamp_f9f2ca.latin24CompactTimeStamp_f9f2ca,0.0713,13, +.container_d1c246,0.0713,0, +.vc-ranb-button,0.0709,0, +.container_b2ca13,0.0707,1, +.wrapper_fea3ef,0.0706,1, +.statusBubbleOuter_d0a252,0.0706,0, +.container_fc4f04,0.0704,1, +.scroller_bf550a,0.0703,0, +.guilds_a4d4d9,0.0703,1, +.attachButton_f298d4,0.0702,1, +.container_a6d69a,0.07,0, +.clipContainer_b11c5e,0.0699,0, +.chat_a7d72e,0.0699,1, +.form_a7d72e,0.0698,1, +.panels_a4d4d9,0.0698,1, +".container_e85446:has(div[style='background-color: rgb(35, 165, 90);'])",0.0698,0, +.textArea_bdf0de,0.0697,1, +.content_a7d72e,0.0695,1, +.container_adcaac,0.0695,0, +.animatedContainer_fd6364,0.0693,1, +.guilds_a4d4d9,0.0692,1, +.container_fb4810,0.0692,0, +.separator_a0,0.0692,0, +".container_e85446:has(div[style='background-color: rgb(35, 165, 90);'])",0.0692,0, +.scroller_fb4810,0.0691,0, +.wordmarkWindows_a934d8 > svg,0.0691,1, +.wordmarkWindows_a934d8,0.0688,1, +.container_fc4f04,0.0688,1, +.scroller_fb4810,0.0688,0, +.guilds_a4d4d9,0.0687,1, +.container_e85446 > [class^='svg_'] > foreignObject > [class^='status_'],0.0686,0, +.newMessagesBar_cf58b5,0.0685,0, +.container_a4d4d9,0.0684,1, +.scroller_e2e187,0.0684,1, +.platform-osx .guilds_a4d4d9,0.0684,0, +.scroller_fb4810,0.0683,0, +.container_c75f85,0.0683,0, +.container_c2739c,0.0681,0, +html.theme-light,0.0681,0, +.container_a6d69a,0.0681,0, +.grabber_c7a159,0.068,0, +.scroller_fb4810,0.0679,0, +.theme-dark,0.0678,1, +.statusBubbleOuter_d0a252,0.0678,0, +.tabBody_c2739c,0.0677,0, +.container_d1c246,0.0676,0, +.horizontal_dc333f > .flex_dc333f,0.0673,0, +.separator_a0,0.0669,0, +.vc-spotify-time-left,0.0666,0, +.container_fc4f04,0.0662,1, +.vc-spotify-time-right,0.0661,0, +.wrapper_fea3ef.hidden_fea3ef,0.0661,0, +#vc-spotify-player,0.0004,0, +#vc-spotify-progress-bar [class^='bar_'],0.0004,0, +#vc-spotify-player,0.0004,0, +.overlay_f94206:after,0.0004,0, +#app-mount #vc-spotify-player,0.0003,0, +#vc-spotify-player,0.0003,0, +#vc-spotify-progress-bar,0.0003,0, +::placeholder,0.0003,0, +::selection,0.0003,0, +::-webkit-scrollbar-thumb,0.0003,0, +.overlay_f18fcb:after,0.0003,0, +#vc-spotify-player,0.0002,0, diff --git a/desktopenvs/hyprlua/Vencord/themes/system24/benchmark/benchmarkresults3.csv b/desktopenvs/hyprlua/Vencord/themes/system24/benchmark/benchmarkresults3.csv new file mode 100644 index 0000000..6136e4b --- /dev/null +++ b/desktopenvs/hyprlua/Vencord/themes/system24/benchmark/benchmarkresults3.csv @@ -0,0 +1,231 @@ +Selector,Time (ms),Matches,Total +[class^='chatContent_']:has([class^='messagesWrapper_']:hover),0.4053,0,29.2904 +[class^='chatContent_']:has([class^='typing_']:hover),0.3815,0, +[class^=chat_] > [class*=container_],0.3098,0, +[class^=chat_] > [class^=content_] > [class^=container_],0.238,0, +[class*=backgroundAccent_],0.2297,0, +[class^='form_'] [class^='channelTextArea_'],0.2236,1, +[class^='membersWrap_'],0.2207,0, +[class^=panels_],0.2156,1, +[class^=centerContent_] > [class^=wrapper_] > [class^=anchor_],0.2081,0, +[class^=searchResultsWrap_],0.1998,0, +[class^='content_']>[class^='outer_'],0.1997,0, +[class^='form_'] > [class^='wrapper_'],0.1982,0, +[class^=videoControls_],0.1967,0, +[class^=sidebar_] > [class^=container_],0.1947,1, +[class^=privateChannels_],0.1911,0, +[class^='content_'] > [class^='outer_'],0.19,0, +"[class^='status_'][style='background-color: rgb(240, 178, 50);']",0.19,0, +[class^='form_'] > [class^='wrapper_'],0.1888,0, +[class^=embedVideoActions_] > [class^=centerContent_] > [class^=wrapper_],0.1887,0, +[class^=iconBadge_]:not([class*=isCurrentUserConnected_]),0.1881,1, +[class^='sidebar_'] > [class^='container_'],0.1842,1, +[class^='peopleColumn_'],0.1839,0, +[class^='lowerBadge_'],0.1839,0, +[class^='gradientBottom_'],0.1836,0, +[class^=overlayBottom_] > [class^=text-],0.1834,0, +"[class^='status_'][style='background-color: rgb(35, 165, 90);']",0.1834,0, +[class^='chatContent_']:has([class^='typing_']) > [class^='messagesWrapper_'] > [class^='jumpToPresentBar_'],0.1834,0, +"[class^='status_'][style='background-color: rgb(128, 132, 142);']",0.1834,0, +"[class^='status_'][style='background-color: rgb(242, 63, 67);']",0.1832,0, +[class^='form_'] > [class^='typing_'],0.183,1, +[class^=panels_],0.1826,1, +[class^='searchResultsWrap_'],0.1826,0, +[class^='callContainer_'],0.182,0, +[class^='upperBadge_'],0.1817,0, +[class^=childWrapper_],0.1817,15, +[class^=members_],0.1815,0, +[class^=button_][class*=bannerColor_],0.181,0, +[class^='gradientTop_'],0.181,0, +[class^='sidebar_'] > [class^='container_'],0.1808,1, +[class^=searchFilter_],0.1807,0, +[class^=privateChannels_],0.1804,0, +[class^='panels_'],0.1794,1, +[class^=member_],0.1791,0, +[class^='membersWrap_'],0.1791,0, +[class^=message_][class*=replying_],0.179,0, +[class^='unreadPill_'][class*='endCap_'],0.1788,0, +[class^='privateChannels_'],0.1787,0, +[class^='bottomControls_'],0.1787,0, +[class^=message_][class*=mentioned_],0.1784,5, +[class^='content_'] > [class^='outer_'],0.1784,0, +#app-mount [class^=partyStatus_],0.1784,0, +[class^=searchAnswer_],0.1781,0, +[class^=panels_] > [class^=wrapper_] > [class^=container],0.178,0, +[class^='peopleColumn_'],0.1779,0, +[class^='form_'] [class^='channelTextArea_'],0.1779,1, +#app-mount [class^=partyStatus_] [class^=anchor_],0.1776,0, +[class^='panels_'],0.1766,1, +[class^='form_'] [class^='channelTextArea_'],0.1766,1, +[class^=replyBar_],0.1765,0, +[class^='privateChannels_'],0.1765,0, +[class^=channelBottomBarArea_],0.1764,1, +[class^='divider_']:not(.isUnread_c2654d),0.1763,2, +[class^=navButton_][class*=navButtonActive_],0.1762,0, +[class^=container_] > [class^=base_],0.1756,1, +[class^='nowPlayingColumn_'],0.1755,0, +[class^='membersWrap_'],0.1755,0, +[class^=sidebar_],0.1753,1, +[class^='newChannel_'],0.1752,0, +[class^=nowPlayingColumn_],0.1752,0, +[class^=guildSeparator_],0.1751,2, +[class^='topControls_'],0.175,0, +[class^='container_'] > [class^='base_'],0.1748,1, +[class^=panels_] > [class^=container_],0.1742,1, +[class^='notAppAsidePanel_'] > [class^='layerContainer_'],0.1742,2, +[class^=columnHeading_],0.174,0, +[class^='channelBottomBarArea_']:hover,0.1739,0, +[class^=attachedBars_],0.1738,0, +[class^='membersWrap_'],0.1738,0, +[class^=searchResultsWrap_],0.1737,0, +[class^=gifFavoriteButton_],0.1736,0, +[class^=membersWrap_],0.1736,0, +[class^=customizationSection_],0.1732,0, +#app-mount [class^=sidebar_] > [class^=container_],0.1727,1, +[class^='newBadge_'],0.1726,0, +[class^='channelBottomBarArea_'],0.1723,1, +[class^=sidebar_],0.1722,1, +[class^=privateChannels_],0.1722,0, +[class^=sidebar_],0.1721,1, +[class^='toolbar_'] > [class^='search_'],0.172,1, +[class^=privateChannels_],0.1713,0, +[class^=friendRequestsButton_] [class^=numberBadge_],0.1713,0, +[class*=bannerVisible_] [class^=headerContent_],0.1712,0, +[class^=iconWrapper_],0.1712,7, +[class^=chatContent_] > [class^=messagesWrapper_],0.1712,1, +[class^='content_']>[class^='outer_']>[class^='inner_'],0.171,0, +[class^='nowPlayingColumn_'],0.1709,0, +[class^=peopleColumn_],0.1709,0, +[class^='content_']>[class^='outer_'],0.1707,0, +[class^=searchResultsWrap_],0.1707,0, +[class^='chatContent_'] > [class^='messagesWrapper_'],0.1707,1, +[class^=tableCell_],0.1707,0, +[class^=tabBody_],0.1706,0, +[class^=peopleColumn_],0.1705,0, +[class^=tabBody_],0.1703,0, +[class^='dot_'][class*='maskSecondary_'],0.1702,0, +[class^='sectionDivider_'],0.1701,1, +[class^='searchResultsWrap_'],0.1701,0, +[class^=privateChannels_] > [class^=scroller_],0.17,0, +[class^=container_] > [class^=base_],0.17,1, +[class^='content_'] > [class^='outer_'],0.1699,0, +[class^=chat_],0.1696,1, +[class^='channelAppLauncher_'],0.1696,1, +[class^='nowPlayingColumn_'],0.1696,0, +#app-mount [class^=sidebar_],0.1689,1, +[class^='guildSeparator_'],0.1688,2, +[class^=panels_] > [class^=panel_],0.1686,0, +[class^=threadSuggestionBar_],0.1685,0, +[class^='chatContent_'] > [class^='messagesWrapper_'],0.1684,1, +[class^=session_],0.1684,0, +[class^=categoryText_],0.1683,0, +[class^=channelTextArea] > [class^=scrollableContainer],0.1679,1, +[class^=panels_] > [class^=panel_],0.1677,0, +"[class^='folderIconWrapper_'][style='background-color: rgba(88, 101, 242, 0.4);']",0.1674,0, +[class^='sectionDivider_'],0.1671,1, +[class^='callContainer_'],0.1669,0, +[class^=content_] > [class^=resizeHandle_],0.1663,0, +[class^=container_] > [class^=base_],0.1661,1, +#app-mount [class^='divider_'],0.1639,2, +[class^='listItem_'] [class^='wrapper_'] > [class^='svg_'] > mask,0.123,45, +*,0.1194,5612, +[class^='mask_'] > foreignObject,0.1165,1, +[class^='bannerSVGWrapper_'] > mask > circle,0.1122,0, +[class^='mask_'] > rect,0.1074,1, +[class^='svg_'] > foreignObject,0.1069,100, +[class^='mask_'] > svg,0.1043,0, +#app-mount .controlIcon_ef18ee,0.1034,0, +#app-mount .lookLink_dd4f85.colorPrimary_dd4f85,0.1023,0, +[class^='mask_'] > circle,0.099,0, +"[style='opacity: 1; background-color: rgb(35, 165, 90);']",0.0979,0, +"svg[style='color: rgb(88, 101, 242);']",0.0884,13, +#app-mount button path[fill='var(--white-500)'],0.087,0, +[role='button'] path[fill='var(--white-500)'],0.083,0, +:root,0.0804,1, +:root,0.0792,1, +[class^='callContainer_'] [class^='topControls_'] section,0.0784,0, +svg[class^=slider_] > rect[fill='white'],0.0784,0, +:root,0.0767,1, +[class^=jumpToPresentBar_] > button,0.0735,0, +.wrapper_c51b4e:has(rect[fill='#80848e']),0.0695,1, +.textArea_bdf0de,0.0636,1, +.attachButton_f298d4,0.0619,1, +.wrapper_c51b4e:has(rect[fill='#593695']),0.0614,0, +.wrapper_c51b4e:has(rect[fill='#f0b232']),0.0609,0, +.guilds_a4d4d9,0.0607,1, +.wrapper_c51b4e:has(rect),0.0607,1, +.wrapper_c51b4e:has(rect[fill='#f23f43']),0.0606,0, +.theme-dark,0.0602,1, +.wrapper_c51b4e:has(rect[fill='#23a55a']),0.0597,0, +.lookFilled_dd4f85.colorPrimary_dd4f85,0.0584,0, +.container_fc4f04,0.0581,1, +.guilds_a4d4d9,0.058,1, +.timestamp_f9f2ca.latin24CompactTimeStamp_f9f2ca,0.0577,32, +.container_c2739c,0.0572,0, +.container_b2ca13,0.0571,1, +".container_e85446:has(div[style='background-color: rgb(35, 165, 90);'])",0.0568,0, +.embedFull_b0068a,0.0567,1, +.separator_a0,0.0564,0, +.scroller_fb4810,0.0562,0, +.scroller_fb4810,0.0562,0, +.statusBubbleOuter_d0a252,0.056,0, +.statusBubbleOuter_d0a252,0.0559,0, +.container_a4d4d9,0.0558,1, +.container_a6d69a,0.0557,0, +.container_fc4f04,0.0557,1, +.container_a6d69a,0.0557,0, +.form_a7d72e,0.0556,1, +.wrapper_fea3ef.hidden_fea3ef,0.0556,0, +.guilds_a4d4d9,0.0555,1, +.vc-ranb-button,0.0555,0, +.horizontal_dc333f > .flex_dc333f,0.0555,0, +.wordmarkWindows_a934d8 > svg,0.0554,1, +".container_e85446:has(div[style='background-color: rgb(35, 165, 90);'])",0.0554,0, +.vc-spotify-time-right,0.0553,0, +.newMessagesBar_cf58b5,0.0553,0, +.chat_a7d72e,0.0552,1, +.panels_a4d4d9,0.0552,1, +.container_fb4810,0.0552,0, +.vc-spotify-time-right,0.0552,0, +.content_a7d72e,0.0551,1, +.container_d1c246,0.0551,0, +.form_a7d72e,0.0551,1, +.wordmarkWindows_a934d8,0.0551,1, +.vc-spotify-time-left,0.0551,0, +.scroller_bf550a,0.055,0, +.clipContainer_b11c5e,0.0549,0, +.vc-spotify-time-left,0.0549,0, +.wrapper_fea3ef,0.0549,1, +.grabber_c7a159,0.0549,0, +.platform-osx .guilds_a4d4d9,0.0548,0, +.container_fc4f04,0.0548,1, +.guilds_a4d4d9,0.0547,1, +.container_a6d69a,0.0547,0, +.scroller_e2e187,0.0546,1, +.container_c75f85,0.0546,0, +.container_c2739c,0.0546,0, +.animatedContainer_fd6364,0.0544,0, +.container_e85446 > [class^='svg_'] > foreignObject > [class^='status_'],0.0544,0, +.container_fc4f04,0.0544,1, +.container_d1c246,0.0544,0, +.separator_a0,0.0544,0, +.container_adcaac,0.0542,0, +.guilds_a4d4d9,0.0542,1, +html.theme-light,0.054,0, +.form_a7d72e,0.0539,1, +.tabBody_c2739c,0.0539,0, +.scroller_fb4810,0.0539,0, +.container_adcaac,0.0538,0, +.scroller_fb4810,0.0533,0, +::selection,0.0028,0, +#vc-spotify-player,0.0003,0, +#vc-spotify-player,0.0003,0, +#vc-spotify-player,0.0003,0, +#vc-spotify-progress-bar,0.0003,0, +#vc-spotify-progress-bar [class^='bar_'],0.0003,0, +.overlay_f94206:after,0.0003,0, +#app-mount #vc-spotify-player,0.0002,0, +#vc-spotify-player,0.0002,0, +.overlay_f18fcb:after,0.0002,0, +::-webkit-scrollbar-thumb,0.0001,0, +::placeholder,0.0001,0, diff --git a/desktopenvs/hyprlua/Vencord/themes/system24/package-lock.json b/desktopenvs/hyprlua/Vencord/themes/system24/package-lock.json new file mode 100644 index 0000000..6d05cad --- /dev/null +++ b/desktopenvs/hyprlua/Vencord/themes/system24/package-lock.json @@ -0,0 +1,215 @@ +{ + "name": "systemtheme", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "systemtheme", + "version": "1.0.0", + "license": "MIT", + "devDependencies": { + "chokidar": "^3.6.0", + "dotenv": "^16.4.5" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/dotenv": { + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + } + } +} diff --git a/desktopenvs/hyprlua/Vencord/themes/system24/package.json b/desktopenvs/hyprlua/Vencord/themes/system24/package.json new file mode 100644 index 0000000..16add93 --- /dev/null +++ b/desktopenvs/hyprlua/Vencord/themes/system24/package.json @@ -0,0 +1,14 @@ +{ + "name": "systemtheme", + "version": "1.0.0", + "scripts": { + "dev": "node scripts/dev.js", + "build": "node scripts/build.js" + }, + "author": "refact0r", + "license": "MIT", + "devDependencies": { + "chokidar": "^3.6.0", + "dotenv": "^16.4.5" + } +} diff --git a/desktopenvs/hyprlua/Vencord/themes/system24/scripts/dev.js b/desktopenvs/hyprlua/Vencord/themes/system24/scripts/dev.js new file mode 100644 index 0000000..920f361 --- /dev/null +++ b/desktopenvs/hyprlua/Vencord/themes/system24/scripts/dev.js @@ -0,0 +1,46 @@ +const fs = require('fs'); +const path = require('path'); +const chokidar = require('chokidar'); + +require('dotenv').config({ path: path.join(__dirname, '..', '.env') }); + +const srcDir = path.join(__dirname, '..', 'src'); +const baseFile = path.join(__dirname, '..', 'system24.theme.css'); +const outputFile = process.env.DEV_OUTPUT_PATH; +const pathToIgnore = 'https://refact0r.github.io/system24/'; + +if (!outputFile) { + console.error('DEV_OUTPUT_PATH is not set in .env file'); + process.exit(1); +} + +async function replaceImports(content) { + const importRegex = /@import url\('([^']+)'\);/g; + let match; + while ((match = importRegex.exec(content)) !== null) { + const importUrl = match[1]; + const filePath = importUrl.replace(pathToIgnore, ''); + const localFilePath = path.join(__dirname, '..', filePath); + if (fs.existsSync(localFilePath)) { + const importedContent = fs.readFileSync(localFilePath, 'utf8'); + content = content.replace(match[0], importedContent); + } else { + console.error(`File not found: ${localFilePath}`); + } + } + return content; +} + +async function combineCSS() { + let combinedCSS = fs.readFileSync(baseFile, 'utf8'); + combinedCSS = await replaceImports(combinedCSS); + fs.writeFileSync(outputFile, combinedCSS); + console.log('Updated development CSS file.'); +} + +combineCSS(); + +chokidar.watch(srcDir).on('change', (event, path) => { + console.log('Changes detected. Rebuilding...'); + combineCSS(); +}); diff --git a/desktopenvs/hyprlua/Vencord/themes/system24/src/main.1.css b/desktopenvs/hyprlua/Vencord/themes/system24/src/main.1.css new file mode 100644 index 0000000..1d4d952 --- /dev/null +++ b/desktopenvs/hyprlua/Vencord/themes/system24/src/main.1.css @@ -0,0 +1,1126 @@ +@import url('https://fonts.googleapis.com/css2?family=DM+Mono:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500&display=swap'); +@import url('https://fonts.cdnfonts.com/css/asciid'); + +:root { + --font: 'DM Mono'; + letter-spacing: -0.05ch; + font-weight: 300; + --label-font-weight: 500; + + --corner-text: 'system24'; + + --pad: 16px; + --txt-pad: 10px; + + --panel-roundness: 0px; + + --bg-0: oklch(19% 0 0); + --bg-1: oklch(23% 0 0); + --bg-2: oklch(27% 0 0); + --bg-3: oklch(31% 0 0); + + --hover: oklch(54% 0 0 / 0.1); + --active: oklch(54% 0 0 / 0.2); + --selected: var(--active); + + --txt-dark: var(--bg-0); + --txt-link: var(--cyan); + --txt-0: oklch(90% 0 0); + --txt-1: oklch(80% 0 0); + --txt-2: oklch(60% 0 0); + --txt-3: oklch(40% 0 0); + + --acc-0: var(--purple); + --acc-1: var(--purple-1); + --acc-2: var(--purple-2); + + --border-width: 2px; + --border-color: var(--bg-3); + --border-hover-color: var(--acc-0); + --border-transition: 0.2s ease; + + --online-dot: var(--green); + --dnd-dot: var(--pink); + --idle-dot: var(--yellow); + --streaming-dot: var(--purple); + + --mention-txt: var(--acc-0); + --mention-bg: color-mix(in oklch, var(--acc-0), transparent 90%); + --mention-overlay: color-mix(in oklch, var(--acc-0), transparent 90%); + --mention-hover-overlay: color-mix(in oklch, var(--acc-0), transparent 95%); + --reply-overlay: var(--active); + --reply-hover-overlay: var(--hover); + + --pink: oklch(73% 0.12 0); + --pink-1: oklch(63% 0.12 0); + --pink-2: oklch(53% 0.12 0); + --purple: oklch(73% 0.12 300); + --purple-1: oklch(63% 0.12 300); + --purple-2: oklch(53% 0.12 300); + --cyan: oklch(73% 0.12 200); + --yellow: oklch(78% 0.12 80); + --green: oklch(73% 0.12 160); + --green-1: oklch(63% 0.12 160); + --green-2: oklch(53% 0.12 160); +} + +:root { + --font-primary: var(--font), 'gg mono', monospace; + --font-display: var(--font), 'gg mono', monospace; + --font-code: var(--font), 'gg mono', monospace; +} + +/* colors */ +/* remove bg */ +.sidebar_c48ade /* channel list */, +.sidebar_c48ade>[class^='container_'] /* channel list inner */, +.privateChannels__35e86 /* dms list */, +.privateChannels__35e86>.scroller__99e7c /* dms list inner */, +.stackedBars__74017, .replyBar__841c8, .threadSuggestionBar__841c8 /* reply, thread, atttachment bars above chat bar */, +.panels_c48ade /* user panel */, +#app-mount #vc-spotify-player, +.panels_c48ade>.panel__5dec7 /* streaming panel */, +.panels_c48ade>.container__37e49 /* user panel inner */, +.container_c8ffbb /* member list */, +.members_c8ffbb /* member list inner */, +.member__5d473 /* member containers */, +.searchResultsWrap_a9e706 /* search results */, +.container_e131a9 /* vc panel */, +.scrollableContainer__74017, +.channelAppLauncher_e6e74f button /* app button */, +.footer__214dc /* discover button */, +.searchHeader_f3b986 /* search */ { + background: none; +} +/* fix bgs */ +.content_f75fb0>.outer_c0bea0 /* profile panel */ { + --background-secondary-alt: var(--bg-0) !important; +} +.childWrapper__6e9f8 /* no color servers */ { + background-color: var(--bg-1); +} +.embedFull__623de /* embed default color */ { + border-color: var(--bg-2); +} +/* fix text */ +.newChannel__599fa, +[class^='newBadge_'] { + color: var(--bg-0); +} +/* fix white-500 */ +.lookFilled__201d5.colorPrimary__201d5 /* neutral buttons (like in account settings) */, +#app-mount .lookLink__201d5.colorPrimary__201d5 /* link buttons (like in account settings) */, +.friendRequestsButton__523aa>.numberBadge__2b1f5 /* inbox friend requests number */, +.searchFilter_bd816, .searchAnswer_bd8186, +.partyStatus__4d3fa .anchor_edefb8 /* spotify listen along link */, +.partyStatus__4d3fa /* spotify listen along text */, +.iconBadge__650eb:not(.isCurrentUserConnected__650eb) /* vc icon */, +.videoControls_cf09d8 .controlIcon_cf09d8 /* video controls */, +.durationTimeWrapper_cf09d8 /* video duration */, +#app-mount .controlIcon_f1ceac /* stop streaming icon in preview */, +.navButtonActive__08434 /* gif picker header selected */, +.bannerColor_fb7f94 /* user profile buttons */, +.backgroundAccent__4cd16 /* server insights warning */ { + color: var(--txt-1); +} +.headerContent_f37cb1 /* server name (when banner) */, +.jumpToPresentBar__0f481>button, +.gifFavoriteButton__43deb, +.iconWrapper__6eb54 /* video play button */, +.overlayBottom__2f4f7>.text-md\/normal_cf4812 /* vc names */, +.categoryText_d02962 /* gif category labels */ { + color: var(--txt-0); +} +.wrapper__926d7 svg /* youtube embed play button */ { + color: var(--txt-0) !important; +} +[role='button'] path[fill='var(--white-500)'], +#app-mount button path[fill='var(--white-500)'] { + fill: var(--txt-0); +} + +/* accents */ +[style='color: rgb(88, 101, 242);'] /* folder icons */ { + color: var(--acc-0) !important; +} +.folderIconWrapper__48112[style='background-color: rgba(88, 101, 242, 0.4);'] { + background: var(--bg-1) !important; +} +.checked__87bf1 /* settings checkbuttons */ { + background-color: var(--green) !important; +} +.slider__87bf1>rect[fill='white'] /* settings checkbuttons slider */ { + fill: var(--txt-dark); +} +.replying__5126c::before /* reply message left bar */ { + background: var(--txt-1); +} +.mentioned__5126c::before /* mention message left bar */ { + background: var(--acc-0); +} + +/* add spacing */ +.base_c48ade /* outside edges */ { + margin: var(--pad) var(--pad) var(--pad) 0; +} +.guilds_c48ade /* outside edges */ { + margin: var(--pad) 0 var(--pad) var(--pad); +} +.container_c48ade /* server list and everything else */, +.sidebar_c48ade /* channel list and user panel */, +.content_f75fb0 /* between chat and member list */, +.container__133bf /* friend page */, +[class^=tabBody_] /* friends page inner */, +.container__01ae2 /* forum post header and chat */, +[class^=chat_] /* header bar and chat */, +.container__9293f /* new thread header and chat */, +[class^=container_]>[class^=base_] /* banner and main stuff */ { + gap: var(--pad); +} +.sidebar_c48ade /* channel list and chat */ { + margin-right: var(--pad); +} +[class^=content_]>[class^=resizeHandle_] /* pretend to be a margin */ { + width: var(--pad); +} +.timestamp_c19a55.latin24CompactTimeStamp_c19a55 { + width: 3.3rem !important; +} + +/* fix inbox overflow and hiding window controls */ +[class^='notAppAsidePanel_'] > [class^='layerContainer_'] { + overflow: hidden; +} + +/* platform spacing */ +.platform-osx .guilds_c48ade { + margin-top: calc(32px + var(--pad)); +} + +/* borders */ +.panels_c48ade /* user panel */, +.sidebar_c48ade>[class^=container_] /* channel list */, +.messagesWrapper__36d07 /* chat */, +.membersWrap_c8ffbb /* member list */, +.guilds_c48ade /* server list */, +.privateChannels__35e86 /* dm list */, +.container__9293f /* header bar */, +.peopleColumn__133bf /* friends page list */, +.nowPlayingColumn__133bf /* friends page active now */, +.itemCard__7e549 /* friends active now cards */, +.channelBottomBarArea_f75fb0 /* chat bar */, +.container_f369db /* forum */, +.content_f75fb0>.outer_c0bea0 /* dm profile panel */, +.searchResultsWrap_a9e706 /* search results */, +.scroller_fb64c9 /* new thread */, +[class^=chat_]>[class*=container_] /* header bar */, +[class^='form_']>[class^='wrapper_'] /* no access chat bar */, +.chatHeaderBar_dc83f5 /* add to channel list popup */, +.contentWrapper__08434 /* gifs/emojis/stickers */, +.container_a592e1 /* discover */, +.channelTextArea_fb64c9 /* new thread chatbox */ { + border-radius: var(--panel-roundness); + border: var(--border-width) solid var(--border-color); + transition: border-color var(--border-transition); + &:hover { + border-color: var(--border-hover-color); + &::after { + color: var(--border-hover-color); + } + } +} +/* adjust border thickness */ +#vc-spotify-player, +.panels_c48ade .container_e131a9 /* vc panel */, +.panels_c48ade>.panel__5dec7 /* streaming panel */ { + border-width: var(--border-width); +} +/* remove borders */ +[class^='dot_'][class*='maskSecondary_'] { + border: none; +} + +/* fix border hover effect */ +.chatContent_f75fb0 { + &:has(.typing_b88801:hover), + &:has(> .messagesWrapper__36d07:hover) { + .typing_b88801 { + border-color: var(--border-hover-color); + } + > .messagesWrapper__36d07 { + border-color: var(--border-hover-color); + } + } +} + +/* fix double left border at friends' activity now lane */ +.scroller__7d20c { + border-left: 0px solid var(--background-modifier-accent); +} + +/*"ReadAllNotifications" button*/ +.vc-ranb-button { + font-size: 12px; +} + +/* move chat bar out */ +:root { + --custom-channel-textarea-text-area-height: 56px; +} +.form_f75fb0 { + padding: 0; + width: 100%; + display: flex; + flex-direction: column; + margin-top: 0; +} +.form_f75fb0::after, +.form_f75fb0::before { + display: none !important; +} +.channelTextArea_f75fb0, +.channelTextArea_fb64c9 { + margin: 0; + border-radius: var(--panel-roundness); + box-sizing: border-box; +} +.channelBottomBarArea_f75fb0, +.submitContainer_fb64c9 { + margin-top: var(--pad); +} +[class^='form_'] > [class^='typing_'] { + background: var(--bg-0); + order: -1; + top: -24px; + left: 0; + width: 100%; + box-sizing: border-box; + position: absolute; + border: var(--border-width) solid var(--border-color); + border-top: none; + transition: border-color var(--border-transition); +} +.chatContent_f75fb0:has([class^='typing_']) > .messagesWrapper__36d07 > [class^='jumpToPresentBar_'] { + margin-bottom: 22px; +} +.clipContainer__841c8 { + margin-top: 0; +} +.textArea__74017 { + display: flex; + flex-direction: column; + justify-content: center; +} +.attachButton__0923f { + height: var(--custom-channel-textarea-text-area-height); +} +/* make header bar height match chat bar */ +.container__9293f, +.container__37e49 { + height: var(--custom-channel-textarea-text-area-height); + box-sizing: border-box; +} + +/* fix chat bar when no chat bar */ +[class^='form_'] > [class^='wrapper_'] { + margin: 0; + padding: 0; + box-sizing: border-box; + height: calc(var(--custom-channel-textarea-text-area-height) + 2 * var(--border-width)); + border: var(--border-width) solid var(--border-color); + margin-top: var(--pad); +} + +/* fix app button */ +.channelAppLauncher_e6e74f { + margin: 0; + + > [class^='buttonContainer_'] { + height: 100%; + border-left: var(--border-width) solid var(--border-color); + transition: border-color var(--border-transition); + box-sizing: border-box; + } +} +.channelBottomBarArea_f75fb0:hover { + > .buttonContainer_e6e74f { + border-color: var(--border-hover-color); + } + > .channelTextArea_f75fb0, + > .channelTextArea_fb64c9 { + &::after { + color: var(--border-hover-color); + } + } +} + +/* add text labels */ +.sidebar_c48ade > [class^='container_']::after, +.container__9293f::after, +.messagesWrapper__36d07::after, +.panels_c48ade::after, +.channelTextArea_f75fb0::after, +.channelTextArea_fb64c9::after, +.guilds_c48ade::after, +.membersWrap_c8ffbb::after, +.privateChannels__35e86::after, +.container_f369db::after, +.content_f75fb0 > .outer_c0bea0::after, +.searchResultsWrap_a9e706::after, +.scroller_fb64c9::after, +.peopleColumn__133bf::after, +.nowPlayingColumn__133bf::after, +.container_a592e1::after { + display: block; + color: var(--txt-3); + font-weight: var(--label-font-weight); + position: absolute; + top: -10px; + left: 8px; + background-color: var(--bg-0); + padding: 0 4px; + z-index: 100; + transition: color var(--border-transition); +} +.sidebar_c48ade > [class^='container_']::after { + content: 'server'; +} +.container__9293f::after { + content: 'channel'; + top: -11px; +} +.messagesWrapper__36d07::after, +.scroller_fb64c9::after { + content: 'messages'; +} +.panels_c48ade::after { + content: 'user'; +} +.channelTextArea_f75fb0, +.channelTextArea_fb64c9 { + &::after { + content: 'input'; + } +} +.guilds_c48ade::after { + content: 'nav'; +} +.membersWrap_c8ffbb::after { + content: 'members'; +} +.privateChannels__35e86::after { + content: 'dms'; +} +.container_f369db::after { + content: 'forum'; +} +.content_f75fb0 > .outer_c0bea0::after { + content: 'profile'; +} +.searchResultsWrap_a9e706::after { + content: 'search'; +} +.peopleColumn__133bf::after { + content: 'friends'; +} +.nowPlayingColumn__133bf::after { + content: 'activity'; +} + +/* Fix oversized statuses on friends page */ +.peopleColumn__133bf { + width: 0; +} + +/* fix hidden text labels */ +#app-mount .sidebar_c48ade, +.chat_f75fb0 /* header bar */, +.wrapper_ef3116 /* server list */, +.privateChannels__35e86 /* dms */, +.container__133bf /* friends page header */, +.searchResultsWrap_a9e706 /* search results */, +.peopleColumn__133bf /* friends page */ , +.tabBody__133bf /* friends page outer */, +.container__01ae2 /* thread outer */, +[class^=container_]>[class^=base_] { + overflow: visible; +} +.scroller_fb64c9 /* new thread messages box */ { + overflow: visible !important; + margin-top: var(--pad); +} +/* fix text label position */ +.panels_c48ade, +.nowPlayingColumn__133bf { + position: relative; +} +/* fix overflow visible */ +.privateChannels__35e86 /* dms */, +[class^=tabBody_] /* friends page */ { + min-height: 0; +} +[class^='container_'] > [class^='base_'] { + min-width: 0; +} +/* add padding to make label not look weird */ +.scroller__36d07 /* main chat */, +.newMessagesBar__0f481 { + top: var(--txt-pad); +} +.animatedContainer_f37cb1 /* server banner */ { + top: var(--txt-pad); + left: var(--txt-pad); + width: calc(100% - 2 * var(--txt-pad)); +} +#vc-spotify-player, +.container_e131a9 /* vc panel */ { + padding: var(--txt-pad) var(--txt-pad) calc(var(--txt-pad) / 2) var(--txt-pad); +} +.horizontal__7c0ba>.flex__7c0ba /* fix voice connected cut off */ { + margin-left: 4px; +} +.guilds_c48ade, +.membersWrap_c8ffbb { + padding-top: var(--txt-pad); +} +.membersWrap_c8ffbb { + height: 100%; + box-sizing: border-box; +} +/* add padding to user profile panel */ +.content_f75fb0 > .outer_c0bea0 { + padding: var(--txt-pad); + box-sizing: border-box; + background-clip: content-box; +} +.content_f75fb0 .inner_c0bea0 /* fix profile effects */ { + position: relative; +} + +/* vencord spotify progress bar */ +#vc-spotify-player { + --vc-spotify-green: var(--green); +} +#vc-spotify-progress-bar { + margin-bottom: 0.6em; +} +#vc-spotify-progress-bar [class^='bar_'] { + height: 20px; + background: var(--bg-1); +} +.vc-spotify-time-left, +.vc-spotify-time-right { + z-index: 1; + top: 4px; + mix-blend-mode: difference; + font-size: 14px; +} +.vc-spotify-time-left { + left: 6px; +} +.vc-spotify-time-right { + right: 6px; +} +.grabber_a562c8 { + visibility: hidden; +} + +/* wordmark */ +.wordmarkWindows__421ed > svg { + display: none; +} +.wordmarkWindows__421ed::after { + content: var(--corner-text); + display: block; + position: relative; + color: var(--txt-2); + margin-left: 6px; + width: 100px; + height: 12px; + font-family: var(--font-primary); + font-size: 16px; + font-weight: 500; + white-space: no-wrap; +} + +/* adjust divider/border thickness */ +[class^='sectionDivider_'] /* channel list dividers */, +.separator_b3f026 /* settings divider */, +[class^=guildSeparator_] /* server list divider */ { + border-bottom: var(--border-width) solid var(--border-color); + height: 0; +} +#app-mount [class^='divider_'] /* chat dividers */ { + border-width: var(--border-width); +} +.container_eff079::after /* channel list dividers */, +[class^=customizationSection_], +[class^=session_], +[class^=columnHeading_], +[class^=tableCell_] { + border-width: var(--border-width); + border-color: var(--border-color); +} +[class^='divider_']:not(.isUnread__908e2), +[class^='sectionDivider_'], +#vc-spotify-player, +.separator_b3f026, +[class^='guildSeparator_'] { + border-color: var(--border-color); +} +[class^='unreadPill_'][class*='endCap_'] { + top: calc(-6px - 0.5 * var(--border-width)); +} + +/* toolbar order */ +[class^='toolbar_'] > [class^='search_'] { + order: -1; +} + +h3[data-text-variant='heading-xxl/extrabold'] { + font-family: 'asciid'; + font-size: 50px; + font-weight: 400; +} + +.theme-dark, +html.theme-light { + --action-sheet-gradient-bg: var(--primary-630); + --activity-card-background: var(--bg-0); + --activity-card-icon-overlay: hsl(223 calc(1 * 6.7%) 20.6% / 0.85); + --alert-bg: var(--primary-600); + --android-navigation-bar-background: var(--primary-830); + --android-navigation-scrim-background: hsl(240 calc(1 * 4%) 4.9% / 0.5); + --android-ripple: hsl(0 calc(1 * 0%) 100% / 0.07); + --autocomplete-bg: var(--bg-1); + --background-accent: var(--bg-2); + --background-floating: var(--primary-800); + --background-mentioned: var(--mention-overlay); + --background-mentioned-hover: var(--mention-hover-overlay); + --background-message-automod: hsl(359 calc(1 * 87.3%) 59.8% / 0.05); + --background-message-automod-hover: hsl(359 calc(1 * 87.3%) 59.8% / 0.1); + --background-message-highlight: var(--reply-overlay); + --background-message-highlight-hover: var(--reply-hover-overlay); + --brand-experiment-10a: var(--background-message-highlight-hover); + --background-message-hover: hsl(0 calc(1 * 0%) 0.8% / 0.06); + --background-mobile-primary: var(--primary-600); + --background-mobile-secondary: var(--primary-630); + --background-modifier-accent: var(--bg-3); + --background-modifier-accent-2: hsl(228 calc(1 * 6%) 32.5% / 0.48); + --background-modifier-active: var(--active); + --background-modifier-hover: var(--hover); + --background-modifier-selected: var(--selected); + --background-nested-floating: var(--primary-630); + --background-primary: var(--bg-0); + --background-secondary: var(--bg-1); + --background-secondary-alt: var(--bg-1); + --background-tertiary: var(--bg-0); + --bg-backdrop: hsl(0 calc(1 * 0%) 0% / 0.7); + --bg-backdrop-no-opacity: var(--black-500); + --bg-base-primary: var(--bg-0); + --bg-base-secondary: var(--bg-1); + --bg-base-tertiary: var(--primary-660); + --bg-brand: var(--brand-500); + --bg-mod-faint: var(--bg-0); + --bg-mod-strong: var(--bg-2); + --bg-mod-subtle: hsl(228 calc(1 * 6%) 32.5% / 0.48); + --bg-surface-overlay: var(--bg-1); + --bg-surface-overlay-tmp: var(--primary-800); + --bg-surface-raised: var(--bg-0); + --black: var(--black-500); + --blur-fallback: hsl(225 calc(1 * 6.3%) 12.5% / 0.96); + --blur-fallback-pressed: hsl(225 calc(1 * 7.1%) 11% / 0.96); + --border-faint: hsl(0 calc(1 * 0%) 100% / 0.03); + --border-strong: hsl(0 calc(1 * 0%) 100% / 0.16); + --border-subtle: hsl(0 calc(1 * 0%) 100% / 0.08); + --bug-reporter-modal-submitting-background: hsl(220 calc(1 * 8.1%) 7.3% / 0.6); + --button-creator-revenue-background: var(--teal-430); + --button-danger-background: var(--red-430); + --button-danger-background-active: var(--red-530); + --button-danger-background-disabled: var(--red-430); + --button-danger-background-hover: var(--red-500); + --button-outline-brand-background: hsl(0 calc(1 * 0%) 100% / 0); + --button-outline-brand-background-active: var(--brand-560); + --button-outline-brand-background-hover: var(--brand-500); + --button-outline-brand-border: var(--brand-500); + --button-outline-brand-border-active: var(--brand-560); + --button-outline-brand-border-hover: var(--brand-500); + --button-outline-brand-text: var(--txt-1); + --button-outline-brand-text-active: var(--txt-1); + --button-outline-brand-text-hover: var(--txt-1); + --button-outline-danger-background: hsl(0 calc(1 * 0%) 100% / 0); + --button-outline-danger-background-active: var(--red-460); + --button-outline-danger-background-hover: var(--red-430); + --button-outline-danger-border: var(--red-400); + --button-outline-danger-border-active: var(--red-430); + --button-outline-danger-border-hover: var(--red-430); + --button-outline-danger-text: var(--txt-1); + --button-outline-danger-text-active: var(--txt-1); + --button-outline-danger-text-hover: var(--txt-1); + --button-outline-positive-background: hsl(0 calc(1 * 0%) 100% / 0); + --button-outline-positive-background-active: var(--green-530); + --button-outline-positive-background-hover: var(--green-430); + --button-outline-positive-border: var(--green-360); + --button-outline-positive-border-active: var(--green-530); + --button-outline-positive-border-hover: var(--green-430); + --button-outline-positive-text: var(--txt-1); + --button-outline-positive-text-active: var(--txt-1); + --button-outline-positive-text-hover: var(--txt-1); + --button-outline-primary-background: hsl(0 calc(1 * 0%) 100% / 0); + --button-outline-primary-background-active: var(--primary-430); + --button-outline-primary-background-hover: var(--primary-500); + --button-outline-primary-border: var(--primary-500); + --button-outline-primary-border-active: var(--primary-430); + --button-outline-primary-border-hover: var(--primary-500); + --button-outline-primary-text: var(--txt-1); + --button-outline-primary-text-active: var(--txt-1); + --button-outline-primary-text-hover: var(--txt-1); + --button-positive-background: var(--green-430); + --button-positive-background-active: var(--green-530); + --button-positive-background-disabled: var(--green-430); + --button-positive-background-hover: var(--green-500); + --button-secondary-background: var(--primary-500); + --button-secondary-background-active: var(--txt-3); + --button-secondary-background-disabled: var(--bg-1); + --button-secondary-background-hover: var(--bg-3); + --card-gradient-bg: hsl(0 calc(1 * 0%) 0% / 0.4); + --card-gradient-pressed-bg: hsl(0 calc(1 * 0%) 0% / 0.5); + --card-primary-bg: var(--primary-600); + --card-primary-pressed-bg: var(--primary-645); + --card-secondary-bg: var(--primary-630); + --card-secondary-pressed-bg: var(--primary-645); + --channel-icon: var(--txt-2); + --channel-text-area-placeholder: var(--txt-3); + --channels-default: var(--txt-2); + --channeltextarea-background: var(--bg-0); + --chat-background: var(--primary-600); + --chat-banner-bg: var(--primary-630); + --chat-border: var(--primary-700); + --chat-input-container-background: var(--primary-600); + --chat-swipe-to-reply-background: var(--primary-660); + --chat-swipe-to-reply-gradient-background: hsl(0 calc(1 * 0%) 0% / 0.1); + --coachmark-bg: var(--primary-800); + --content-inventory-media-seekbar-container: hsl(231 calc(1 * 6.7%) 79.4% / 0.24); + --content-inventory-overlay-text-primary: hsl(0 calc(1 * 0%) 100% / 0.85); + --content-inventory-overlay-text-secondary: hsl(0 calc(1 * 0%) 100% / 0.7); + --content-inventory-overlay-ui-mod: hsl(0 calc(1 * 0%) 100% / 0.7); + --content-inventory-overlay-ui-mod-bg: hsl(0 calc(1 * 0%) 0% / 0.1); + --context-menu-backdrop-background: hsl(0 calc(1 * 0%) 0% / 0.7); + --control-brand-foreground: var(--brand-360); + --control-brand-foreground-new: var(--acc-0); + --creator-revenue-icon-gradient-end: var(--teal-430); + --creator-revenue-icon-gradient-start: var(--teal-360); + --creator-revenue-info-box-background: hsl(190 calc(1 * 63%) 33.9% / 0.1); + --creator-revenue-info-box-border: var(--teal-400); + --creator-revenue-locked-channel-icon: var(--teal-345); + --creator-revenue-progress-bar: var(--teal-400); + --deprecated-card-bg: hsl(225 calc(1 * 6.3%) 12.5% / 0.6); + --deprecated-card-editable-bg: hsl(225 calc(1 * 6.3%) 12.5% / 0.3); + --deprecated-quickswitcher-input-background: var(--primary-400); + --deprecated-quickswitcher-input-placeholder: hsl(0 calc(1 * 0%) 100% / 0.3); + --deprecated-store-bg: var(--primary-600); + --deprecated-text-input-bg: var(--primary-700); + --deprecated-text-input-border: hsl(0 calc(1 * 0%) 0% / 0.3); + --deprecated-text-input-border-disabled: var(--primary-700); + --deprecated-text-input-border-hover: var(--primary-900); + --deprecated-text-input-prefix: var(--primary-200); + --display-banner-overflow-background: hsl(225 calc(1 * 6.3%) 12.5% / 0.5); + --divider-strong: hsl(0 calc(1 * 0%) 100% / 0.16); + --divider-subtle: hsl(0 calc(1 * 0%) 100% / 0.08); + --embed-background: var(--primary-630); + --embed-background-alternate: var(--primary-600); + --embed-title: var(--primary-130); + --expression-picker-bg: var(--primary-630); + --focus-primary: var(--blue-345); + --forum-post-extra-media-count-container-background: hsl(228 calc(1 * 6.7%) 14.7% / 0.8); + --forum-post-tag-background: hsl(228 calc(1 * 6.7%) 14.7% / 0.9); + --guild-icon-inactive-bg: var(--primary-630); + --guild-icon-inactive-nested-bg: var(--primary-600); + --guild-notifications-bottom-sheet-pill-background: var(--primary-700); + --halo-positive: hsl(145 calc(1 * 65%) 39.2% / 0.24); + --header-muted: var(--primary-360); + --header-primary: var(--txt-1); + --header-secondary: var(--txt-2); + --home-background: none; + --home-card-resting-border: hsl(0 calc(1 * 0%) 0% / 0); + --icon-muted: var(--primary-400); + --icon-primary: var(--primary-130); + --icon-secondary: var(--primary-330); + --icon-transparent: hsl(0 calc(1 * 0%) 0% / 0); + --info-box-background: hsl(200 calc(1 * 100%) 49.4% / 0.1); + --info-danger-background: hsl(359 calc(1 * 87.3%) 59.8% / 0.1); + --info-danger-foreground: var(--red-400); + --info-danger-text: var(--white-500); + --info-help-background: hsl(200 calc(1 * 100%) 49.4% / 0.1); + --info-help-foreground: var(--blue-345); + --info-help-text: var(--white-500); + --info-positive-background: hsl(145 calc(1 * 65%) 39.2% / 0.1); + --info-positive-foreground: var(--green-360); + --info-positive-text: var(--white-500); + --info-warning-background: hsl(40 calc(1 * 86.4%) 56.9% / 0.1); + --info-warning-foreground: var(--yellow-300); + --info-warning-text: var(--white-500); + --input-background: var(--bg-1); + --input-focused-border: hsl(0 calc(1 * 0%) 100% / 0.16); + --input-placeholder-text: var(--input-placeholder-text-dark); + --interactive-active: var(--txt-1); + --interactive-hover: var(--txt-1); + --interactive-muted: var(--txt-3); + --interactive-normal: var(--txt-2); + --legacy-android-blur-overlay-default: hsl(228 calc(1 * 6.7%) 14.7% / 0.5); + --legacy-android-blur-overlay-ultra-thin: hsl(0 calc(1 * 0%) 0% / 0.025); + --legacy-blur-fallback-default: hsl(228 calc(1 * 6.7%) 14.7% / 0.975); + --legacy-blur-fallback-ultra-thin: hsl(0 calc(1 * 0%) 0% / 0.95); + --live-stage-tile-border: hsl(228 calc(1 * 6%) 32.5% / 0.6); + --logo-primary: var(--white-500); + --mention-background: var(--mention-bg); + --mention-foreground: var(--mention-txt); + --modal-background: var(--bg-1); + --modal-footer-background: var(--bg-0); + --navigator-header-tint: var(--white-500); + --panel-bg: var(--primary-600); + --polls-normal-fill-hover: var(--primary-600); + --polls-normal-image-background: var(--primary-660); + --polls-victor-fill: hsl(145 calc(1 * 65%) 39.2% / 0.2); + --polls-voted-fill: hsl(235 calc(1 * 85.6%) 64.7% / 0.2); + --profile-gradient-card-background: hsl(0 calc(1 * 0%) 0% / 0.7); + --profile-gradient-message-input-border: hsl(228 calc(1 * 6%) 32.5% / 0.48); + --profile-gradient-note-background: hsl(0 calc(1 * 0%) 0% / 0.3); + --profile-gradient-overlay: hsl(0 calc(1 * 0%) 0% / 0.6); + --profile-gradient-overlay-synced-with-user-theme: hsl(0 calc(1 * 0%) 0% / 0.8); + --profile-gradient-profile-body-background-hover: hsl(0 calc(1 * 0%) 100% / 0.16); + --profile-gradient-role-pill-background: hsl(228 calc(1 * 6.7%) 14.7% / 0.5); + --profile-gradient-role-pill-border: hsl(0 calc(1 * 0%) 100% / 0.2); + --profile-gradient-section-box: hsl(0 calc(1 * 0%) 0% / 0.45); + --redesign-activity-card-background: var(--primary-560); + --redesign-activity-card-background-pressed: var(--primary-630); + --redesign-activity-card-badge-icon: var(--primary-360); + --redesign-activity-card-border: hsl(0 calc(1 * 0%) 100% / 0.02); + --redesign-activity-card-overflow-background: var(--primary-630); + --redesign-button-active-background: var(--green-430); + --redesign-button-active-pressed-background: var(--green-460); + --redesign-button-active-text: var(--white-500); + --redesign-button-danger-background: var(--red-430); + --redesign-button-danger-pressed-background: var(--red-460); + --redesign-button-danger-text: var(--white-500); + --redesign-button-destructive-background: var(--red-430); + --redesign-button-destructive-pressed-background: var(--red-460); + --redesign-button-destructive-text: var(--white-500); + --redesign-button-overlay-alpha-background: hsl(0 calc(1 * 0%) 0% / 0.54); + --redesign-button-overlay-alpha-pressed-background: hsl(0 calc(1 * 0%) 0% / 0.64); + --redesign-button-overlay-alpha-text: var(--white-500); + --redesign-button-overlay-background: var(--white-500); + --redesign-button-overlay-pressed-background: var(--primary-230); + --redesign-button-overlay-text: var(--primary-860); + --redesign-button-positive-background: var(--green-430); + --redesign-button-positive-pressed-background: var(--green-460); + --redesign-button-positive-text: var(--white-500); + --redesign-button-primary-alt-background: hsl(235 calc(1 * 85.6%) 64.7% / 0); + --redesign-button-primary-alt-border: var(--brand-360); + --redesign-button-primary-alt-on-blurple-background: hsl(235 calc(1 * 66.7%) 58.8% / 0); + --redesign-button-primary-alt-on-blurple-border: var(--white-500); + --redesign-button-primary-alt-on-blurple-pressed-background: var(--brand-530); + --redesign-button-primary-alt-on-blurple-pressed-border: var(--brand-360); + --redesign-button-primary-alt-on-blurple-text: var(--white-500); + --redesign-button-primary-alt-pressed-background: hsl(235 calc(1 * 47%) 25.9% / 0.16); + --redesign-button-primary-alt-pressed-border: hsl(235 calc(1 * 86.1%) 71.8% / 0.5); + --redesign-button-primary-alt-pressed-text: var(--brand-360); + --redesign-button-primary-alt-text: var(--brand-360); + --redesign-button-primary-background: var(--brand-500); + --redesign-button-primary-on-blurple-pressed-text: var(--brand-530); + --redesign-button-primary-overlay-background: var(--white-500); + --redesign-button-primary-overlay-pressed-background: var(--primary-230); + --redesign-button-primary-overlay-text: var(--primary-860); + --redesign-button-primary-pressed-background: var(--brand-560); + --redesign-button-primary-text: var(--white-500); + --redesign-button-secondary-background: var(--primary-460); + --redesign-button-secondary-border: hsl(0 calc(1 * 0%) 100% / 0.08); + --redesign-button-secondary-overlay-background: hsl(0 calc(1 * 0%) 0% / 0.54); + --redesign-button-secondary-overlay-pressed-background: hsl(0 calc(1 * 0%) 0% / 0.64); + --redesign-button-secondary-overlay-text: var(--white-500); + --redesign-button-secondary-pressed-background: var(--primary-500); + --redesign-button-secondary-pressed-border: hsl(0 calc(1 * 0%) 0% / 0); + --redesign-button-secondary-text: var(--primary-230); + --redesign-button-selected-background: hsl(235 calc(1 * 85.6%) 64.7% / 0.24); + --redesign-button-selected-pressed-background: hsl(235 calc(1 * 85.6%) 64.7% / 0.28); + --redesign-button-selected-text: var(--brand-500); + --redesign-button-tertiary-background: var(--primary-660); + --redesign-button-tertiary-pressed-background: var(--primary-560); + --redesign-button-tertiary-pressed-text: var(--primary-330); + --redesign-button-tertiary-text: var(--primary-230); + --redesign-channel-category-name-text: var(--primary-330); + --redesign-channel-message-preview-text: var(--primary-360); + --redesign-channel-name-muted-text: var(--primary-360); + --redesign-channel-name-text: var(--primary-130); + --redesign-chat-input-background: var(--primary-700); + --redesign-image-button-pressed-background: hsl(0 calc(1 * 0%) 0% / 0.08); + --redesign-input-control-active-bg: var(--primary-645); + --redesign-input-control-selected: var(--brand-500); + --redesign-only-background-active: var(--primary-530); + --redesign-only-background-default: var(--primary-600); + --redesign-only-background-overlay: var(--primary-645); + --redesign-only-background-raised: var(--primary-630); + --redesign-only-background-sunken: var(--primary-660); + --scrollbar-auto-scrollbar-color-thumb: var(--primary-730); + --scrollbar-auto-scrollbar-color-track: var(--primary-630); + --scrollbar-auto-thumb: var(--bg-1); + --scrollbar-auto-track: transparent; + --scrollbar-thin-thumb: var(--bg-1); + --scrollbar-thin-track: transparent; + --spoiler-hidden-background: var(--primary-700); + --spoiler-revealed-background: var(--primary-660); + --stage-card-pill-bg: var(--primary-630); + --status-danger: var(--pink); + --status-danger-background: var(--red-430); + --status-danger-text: var(--white-500); + --status-dnd: var(--red-400); + --status-idle: var(--yellow-300); + --status-offline: var(--primary-360); + --status-online: var(--green-360); + --status-positive: var(--green-360); + --status-positive-background: var(--green-430); + --status-positive-text: var(--white-500); + --status-speaking: var(--green-360); + --status-warning: var(--yellow-300); + --status-warning-background: var(--yellow-300); + --status-warning-text: var(--black-500); + --text-brand: var(--brand-360); + --text-danger: var(--red-345); + --text-link: var(--txt-link); + --text-link-low-saturation: var(--blue-330); + --text-low-contrast: var(--primary-360); + --text-message-preview-low-sat: var(--primary-360); + --text-muted: var(--txt-3); + --text-muted-on-default: var(--primary-330); + --text-normal: var(--txt-1); + --text-positive: var(--green); + --text-primary: var(--primary-230); + --text-secondary: var(--primary-330); + --text-warning: var(--yellow-300); + --textbox-markdown-syntax: var(--primary-360); + --theme-locked-blur-fallback: hsl(225 calc(1 * 6.3%) 12.5% / 0.96); + --thread-channel-spine: var(--primary-500); + --toast-bg: var(--primary-800); + --typing-indicator-bg: var(--primary-630); + --user-profile-header-overflow-background: hsl(225 calc(1 * 6.3%) 12.5% / 0.5); + --voice-video-video-tile-background: hsl(233 calc(1 * 9 / 0.3%) 19% / 0.4); + --voice-video-video-tile-blur-fallback: hsl(225 calc(1 * 6.3%) 12.5% / 0.48); + --white: var(--bg-0); + --you-bar-bg: var(--primary-800); + + --elevation-low: none; + --shadow-ledge: none; + + --brand-500: var(--acc-0); /* unread bar, accent buttons, spotify */ + --brand-530: var(--acc-0); /* hover highlight in context menu */ + --brand-560: var(--acc-1); /* accent button hover */ + --brand-600: var(--acc-2); /* accent button active */ + + --primary-500: var(--bg-2); /* neutral button background */ + --primary-800: var(--bg-0); /* call background */ + + --white-500: var(--txt-dark); /* THE BANE OF MY EXISTENCE */ + + --red-400: var(--pink); /* red outline buttons */ + --red-430: var(--pink); /* red buttons, outline button hover */ + --red-460: var(--pink-1); /* outline button active */ + --red-500: var(--pink-1); /* button hover */ + --red-530: var(--pink-2); /* button active */ + + --green-360: var(--green); /* vc icon on server */ + --green-430: var(--green); /* green buttons */ + --green-500: var(--green-1); + --green-530: var(--green-2); + + --twitch: var(--acc-1); +} + +/* begin 909 commits */ +::placeholder { + color: var(--txt-3) !important; +} +::selection { + color: var(--bg-0); + background: var(--txt-1); +} +.callContainer_cb9592 { + overflow: visible; + background: none !important; + overflow-x: hidden; + border-radius: var(--panel-roundness); + border: var(--border-width) solid var(--border-color); + transition: border-color var(--border-transition); + &:hover { + border-color: var(--border-hover-color); + &::after { + color: var(--border-hover-color); + } + } +} +.callContainer_cb9592 [class^='topControls_'] section { + border: none; + &::after { + content: ''; + } +} +.callContainer_cb9592::after { + content: 'call'; + display: block; + color: var(--txt-3); + font-weight: var(--label-font-weight); + position: absolute; + top: -8px; + left: 8px; + background-color: var(--bg-0); + padding: 0 4px; + z-index: 100; + transition: color var(--border-transition); +} + +.wrapper_ef3116.hidden_ef3116 { + display: none; +} + +[class^='gradientTop_'], +[class^='gradientBottom_'] { + display: none !important; +} +[class^='topControls_'], +[class^='bottomControls_'] { + transform: none !important; +} +/* end 909 commits */ + +/* begin Androser commits */ +.chatHeaderBar_dc83f5 { + padding: var(--txt-pad); + margin-bottom: var(--pad); + > :first-child { + color: var(--txt-2) !important; + font-weight: var(--label-font-weight); + overflow: hidden; + text-overflow: ellipsis; + text-wrap: nowrap; + } +} + +/* fix theming */ +[class^='circleIconButton_'] /* footer buttons */ { + background-color: var(--bg-1); + &[class*='selected_'] { + color: var(--white); + } +} +[class^='tooltip_'] { + background-color: var(--bg-0); + color: var(--txt-1); + > [class^='tooltipPointer_'] { + border-top-color: var(--bg-0); + } +} +[class*='tooltipGrey_'] { + background-color: var(--bg-1); + > [class^='tooltipPointer_'] { + border-top-color: var(--bg-1); + } +} +.drawerSizingWrapper__08434 /* gifs/emojis/stickers */ { + .contentWrapper__08434, + [class*='header_'], + [class*='wrapper_'], + .inspector_aeaaeb, + .container_d02962, + .stickerCategory__3ad28, + .categoryItemDefaultCategory_b9ee0c, + #gif-picker-tab-panel { + background-color: var(--bg-0); + box-shadow: unset; + } +} +.activeButtonChild_aa63ab /* send message button */ { + color: var(--interactive-normal); + transition: none; +} +.button_aa63ab { + &:hover, + &:focus { + .activeButtonChild_aa63ab { + color: var(--interactive-hover) !important; + } + } +} +.separator_aa63ab /* send message border */ { + background-color: var(--border-color); + width: var(--border-width); + height: 100%; +} + +/* rounding fixes */ +.members_c8ffbb /* member list */, +.messagesWrapper__36d07>[class^=scroller_] /* chat */, +.nowPlayingColumn__133bf>[class^='container_'] /* friends active now page outer */, +.nowPlayingColumn__133bf [class^='scroller'] /* friends active now page inner */, +.callContainer_cb9592 /* vc */, +.scroller__629e4 /* channel list */ { + border-radius: var(--panel-roundness) !important; +} +.privateChannels__35e86>[class^='scroller_'] /* dms */ { + border-radius: 0 0 var(--panel-roundness) var(--panel-roundness) !important; +} +.footer__214dc /* discover button */ { + margin-top: unset; + > .gradient__214dc { + background: var(--bg-overlay-app-frame, var(--background-tertiary)); + } +} +.container_a592e1 /* discover */ { + position: relative; + padding: 8px; + .backdrop__8a7fc, + .scroller__23746 { + border-radius: var(--panel-roundness); + } + /* add labels */ + &:has(.outerContainer_e1147e)::after { + content: 'apps'; + } + &:has(.container_d08938)::after { + content: 'servers'; + } + &:has(.container__955a3)::after { + content: 'quests'; + } +} +.overlay__8a7fc::after /* remove discover header separator */ { + display: none; +} + +/* remove extra space */ +.nowPlayingColumn__133bf [class^='scroller'] { + margin-left: 0; +} + +/* add discover label */ +.sidebar_c48ade > .container__551b0 { + position: relative; + &::after { + content: 'discover'; + } +} + +/* fix new thread */ +.channelTextArea_fb64c9 { + width: unset; +} +.textAreaThreadCreation__74017 { + height: unset !important; +} +/* end Androser commits */ + +/* scroll optimizations */ +[class*='scroll'] { + will-change: scroll-position; +} +.burstGlow__23977 { + display: none; +} diff --git a/desktopenvs/hyprlua/Vencord/themes/system24/src/main.css b/desktopenvs/hyprlua/Vencord/themes/system24/src/main.css new file mode 100644 index 0000000..f13b144 --- /dev/null +++ b/desktopenvs/hyprlua/Vencord/themes/system24/src/main.css @@ -0,0 +1,1126 @@ +@import url('https://fonts.googleapis.com/css2?family=DM+Mono:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500&display=swap'); +@import url('https://fonts.cdnfonts.com/css/asciid'); + +:root { + letter-spacing: -0.05ch; + font-weight: 300; + --label-font-weight: 500; + + --corner-text: 'system24'; + + --pad: 20px; + --txt-pad: 10px; + + --panel-roundness: 0px; + + --bg-0: oklch(19% 0 0); + --bg-1: oklch(23% 0 0); + --bg-2: oklch(27% 0 0); + --bg-3: oklch(31% 0 0); + + --hover: oklch(54% 0 0 / 0.1); + --active: oklch(54% 0 0 / 0.2); + --selected: var(--active); + + --txt-dark: var(--bg-0); + --txt-link: var(--cyan); + --txt-0: oklch(90% 0 0); + --txt-1: oklch(80% 0 0); + --txt-2: oklch(60% 0 0); + --txt-3: oklch(40% 0 0); + + --acc-0: var(--purple); + --acc-1: var(--purple-1); + --acc-2: var(--purple-2); + + --border-width: 2px; + --border-color: var(--bg-3); + --border-hover-color: var(--acc-0); + --border-transition: 0.2s ease; + + --online-dot: var(--green); + --dnd-dot: var(--pink); + --idle-dot: var(--yellow); + --streaming-dot: var(--purple); + + --mention-txt: var(--acc-0); + --mention-bg: color-mix(in oklch, var(--acc-0), transparent 90%); + --mention-overlay: color-mix(in oklch, var(--acc-0), transparent 90%); + --mention-hover-overlay: color-mix(in oklch, var(--acc-0), transparent 95%); + --reply-overlay: var(--active); + --reply-hover-overlay: var(--hover); + + --pink: oklch(73% 0.12 0); + --pink-1: oklch(63% 0.12 0); + --pink-2: oklch(53% 0.12 0); + --purple: oklch(73% 0.12 300); + --purple-1: oklch(63% 0.12 300); + --purple-2: oklch(53% 0.12 300); + --cyan: oklch(73% 0.12 200); + --yellow: oklch(78% 0.12 80); + --green: oklch(73% 0.12 160); + --green-1: oklch(63% 0.12 160); + --green-2: oklch(53% 0.12 160); +} + +:root { + --font-primary: var(--font), 'gg mono', monospace; + --font-display: var(--font), 'gg mono', monospace; + --font-code: var(--font), 'gg mono', monospace; +} + +/* colors */ +/* remove bg */ +.sidebar_c48ade /* channel list */, +.sidebar_c48ade>[class^='container_'] /* channel list inner */, +.privateChannels__35e86 /* dms list */, +.privateChannels__35e86>.scroller__99e7c /* dms list inner */, +.stackedBars__74017, .replyBar__841c8, .threadSuggestionBar__841c8 /* reply, thread, atttachment bars above chat bar */, +.panels_c48ade /* user panel */, +#app-mount #vc-spotify-player, +.panels_c48ade>.panel__5dec7 /* streaming panel */, +.panels_c48ade>.container__37e49 /* user panel inner */, +.container_c8ffbb /* member list */, +.members_c8ffbb /* member list inner */, +.member__5d473 /* member containers */, +.searchResultsWrap_a9e706 /* search results */, +.container_e131a9 /* vc panel */, +.scrollableContainer__74017, +.channelAppLauncher_e6e74f button /* app button */, +.footer__214dc /* discover button */, +.searchHeader_f3b986 /* search */, +#app-mount .content__37e49 /* user panel bottom */ { + background: none; +} +/* fix bgs */ +.content_f75fb0>.outer_c0bea0 /* profile panel */ { + --background-secondary-alt: var(--bg-0) !important; +} +.childWrapper__6e9f8 /* no color servers */ { + background-color: var(--bg-1); +} +.embedFull__623de /* embed default color */ { + border-color: var(--bg-2); +} +/* fix text */ +.newChannel__599fa, +[class^='newBadge_'] { + color: var(--bg-0); +} +/* fix white-500 */ +.lookFilled__201d5.colorPrimary__201d5 /* neutral buttons (like in account settings) */, +#app-mount .lookLink__201d5.colorPrimary__201d5 /* link buttons (like in account settings) */, +.friendRequestsButton__523aa>.numberBadge__2b1f5 /* inbox friend requests number */, +.searchFilter_bd816, .searchAnswer_bd8186, +.partyStatus__4d3fa .anchor_edefb8 /* spotify listen along link */, +.partyStatus__4d3fa /* spotify listen along text */, +.iconBadge__650eb:not(.isCurrentUserConnected__650eb) /* vc icon */, +.videoControls_cf09d8 .controlIcon_cf09d8 /* video controls */, +.durationTimeWrapper_cf09d8 /* video duration */, +#app-mount .controlIcon_f1ceac /* stop streaming icon in preview */, +.navButtonActive__08434 /* gif picker header selected */, +.bannerColor_fb7f94 /* user profile buttons */, +.backgroundAccent__4cd16 /* server insights warning */ { + color: var(--txt-1); +} +.headerContent_f37cb1 /* server name (when banner) */, +.jumpToPresentBar__0f481>button, +.gifFavoriteButton__43deb, +.iconWrapper__6eb54 /* video play button */, +.overlayBottom__2f4f7>.text-md\/normal_cf4812 /* vc names */, +.categoryText_d02962 /* gif category labels */ { + color: var(--txt-0); +} +.wrapper__926d7 svg /* youtube embed play button */ { + color: var(--txt-0) !important; +} +[role='button'] path[fill='var(--white-500)'], +#app-mount button path[fill='var(--white-500)'] { + fill: var(--txt-0); +} + +/* accents */ +[style='color: rgb(88, 101, 242);'] /* folder icons */ { + color: var(--acc-0) !important; +} +.folderIconWrapper__48112[style='background-color: rgba(88, 101, 242, 0.4);'] { + background: var(--bg-1) !important; +} +.checked__87bf1 /* settings checkbuttons */ { + background-color: var(--green) !important; +} +.slider__87bf1>rect[fill='white'] /* settings checkbuttons slider */ { + fill: var(--txt-dark); +} +.replying__5126c::before /* reply message left bar */ { + background: var(--txt-1); +} +.mentioned__5126c::before /* mention message left bar */ { + background: var(--acc-0); +} + +/* add spacing */ +.base_c48ade /* outside edges */ { + margin: var(--pad) var(--pad) var(--pad) 0; +} +.guilds_c48ade /* outside edges */ { + margin: var(--pad) 0 var(--pad) var(--pad); +} +.container_c48ade /* server list and everything else */, +.sidebar_c48ade /* channel list and user panel */, +.content_f75fb0 /* between chat and member list */, +.container__133bf /* friend page */, +[class^=tabBody_] /* friends page inner */, +.container__01ae2 /* forum post header and chat */, +[class^=chat_] /* header bar and chat */, +.container__9293f /* new thread header and chat */, +[class^=container_]>[class^=base_] /* banner and main stuff */ { + gap: var(--pad); +} +.sidebar_c48ade /* channel list and chat */ { + margin-right: var(--pad); +} +[class^=content_]>[class^=resizeHandle_] /* pretend to be a margin */ { + width: var(--pad); +} +.timestamp_c19a55.latin24CompactTimeStamp_c19a55 { + width: 3.3rem !important; +} + +/* fix inbox overflow and hiding window controls */ +[class^='notAppAsidePanel_'] > [class^='layerContainer_'] { + overflow: hidden; +} + +/* platform spacing */ +.platform-osx .guilds_c48ade { + margin-top: calc(32px + var(--pad)); +} + +/* borders */ +.panels_c48ade /* user panel */, +.sidebar_c48ade>[class^=container_] /* channel list */, +.messagesWrapper__36d07 /* chat */, +.membersWrap_c8ffbb /* member list */, +.guilds_c48ade /* server list */, +.privateChannels__35e86 /* dm list */, +.container__9293f /* header bar */, +.peopleColumn__133bf /* friends page list */, +.nowPlayingColumn__133bf /* friends page active now */, +.itemCard__7e549 /* friends active now cards */, +.channelBottomBarArea_f75fb0 /* chat bar */, +.container_f369db /* forum */, +.content_f75fb0>.outer_c0bea0 /* dm profile panel */, +.searchResultsWrap_a9e706 /* search results */, +.scroller_fb64c9 /* new thread */, +[class^=chat_]>[class*=container_] /* header bar */, +[class^='form_']>[class^='wrapper_'] /* no access chat bar */, +.chatHeaderBar_dc83f5 /* add to channel list popup */, +.contentWrapper__08434 /* gifs/emojis/stickers */, +.container_a592e1 /* discover */, +.channelTextArea_fb64c9 /* new thread chatbox */ { + border-radius: var(--panel-roundness); + border: var(--border-width) solid var(--border-color); + transition: border-color var(--border-transition); + &:hover { + border-color: var(--border-hover-color); + &::after { + color: var(--border-hover-color); + } + } +} +/* adjust border thickness */ +#vc-spotify-player, +.panels_c48ade .container_e131a9 /* vc panel */, +.panels_c48ade>.panel__5dec7 /* streaming panel */ { + border-width: var(--border-width); +} +/* remove borders */ +[class^='dot_'][class*='maskSecondary_'] { + border: none; +} + +/* fix border hover effect */ +.chatContent_f75fb0 { + &:has(.typing_b88801:hover), + &:has(> .messagesWrapper__36d07:hover) { + .typing_b88801 { + border-color: var(--border-hover-color); + } + > .messagesWrapper__36d07 { + border-color: var(--border-hover-color); + } + } +} + +/* fix double left border at friends' activity now lane */ +.scroller__7d20c { + border-left: 0px solid var(--background-modifier-accent); +} + +/*"ReadAllNotifications" button*/ +.vc-ranb-button { + font-size: 12px; +} + +/* move chat bar out */ +:root { + --custom-channel-textarea-text-area-height: 56px; +} +.form_f75fb0 { + padding: 0; + width: 100%; + display: flex; + flex-direction: column; + margin-top: 0; +} +.form_f75fb0::after, +.form_f75fb0::before { + display: none !important; +} +.channelTextArea_f75fb0, +.channelTextArea_fb64c9 { + margin: 0; + border-radius: var(--panel-roundness); + box-sizing: border-box; +} +.channelBottomBarArea_f75fb0, +.submitContainer_fb64c9 { + margin-top: var(--pad); +} +[class^='form_'] > [class^='typing_'] { + background: var(--bg-0); + order: -1; + top: -24px; + left: 0; + width: 100%; + box-sizing: border-box; + position: absolute; + border: var(--border-width) solid var(--border-color); + border-top: none; + transition: border-color var(--border-transition); +} +.chatContent_f75fb0:has([class^='typing_']) > .messagesWrapper__36d07 > [class^='jumpToPresentBar_'] { + margin-bottom: 22px; +} +.clipContainer__841c8 { + margin-top: 0; +} +.textArea__74017 { + display: flex; + flex-direction: column; + justify-content: center; +} +.attachButton__0923f { + height: var(--custom-channel-textarea-text-area-height); +} +/* make header bar height match chat bar */ +.container__9293f, +.container__37e49 { + height: var(--custom-channel-textarea-text-area-height); + box-sizing: border-box; +} + +/* fix chat bar when no chat bar */ +[class^='form_'] > [class^='wrapper_'] { + margin: 0; + padding: 0; + box-sizing: border-box; + height: calc(var(--custom-channel-textarea-text-area-height) + 2 * var(--border-width)); + border: var(--border-width) solid var(--border-color); + margin-top: var(--pad); +} + +/* fix app button */ +.channelAppLauncher_e6e74f { + margin: 0; + + > [class^='buttonContainer_'] { + height: 100%; + border-left: var(--border-width) solid var(--border-color); + transition: border-color var(--border-transition); + box-sizing: border-box; + } +} +.channelBottomBarArea_f75fb0:hover { + > .buttonContainer_e6e74f { + border-color: var(--border-hover-color); + } + > .channelTextArea_f75fb0, + > .channelTextArea_fb64c9 { + &::after { + color: var(--border-hover-color); + } + } +} + +/* add text labels */ +.sidebar_c48ade > [class^='container_']::after, +.container__9293f::after, +.messagesWrapper__36d07::after, +.panels_c48ade::after, +.channelTextArea_f75fb0::after, +.channelTextArea_fb64c9::after, +.guilds_c48ade::after, +.membersWrap_c8ffbb::after, +.privateChannels__35e86::after, +.container_f369db::after, +.content_f75fb0 > .outer_c0bea0::after, +.searchResultsWrap_a9e706::after, +.scroller_fb64c9::after, +.peopleColumn__133bf::after, +.nowPlayingColumn__133bf::after, +.container_a592e1::after { + display: block; + color: var(--txt-3); + font-weight: var(--label-font-weight); + position: absolute; + top: -10px; + left: 8px; + background-color: var(--bg-0); + padding: 0 4px; + z-index: 100; + transition: color var(--border-transition); +} +.sidebar_c48ade > [class^='container_']::after { + content: 'server'; +} +.container__9293f::after { + content: 'channel'; + top: 11px; +} +.messagesWrapper__36d07::after, +.scroller_fb64c9::after { + content: 'messages'; +} +.panels_c48ade::after { + content: 'user'; +} +.channelTextArea_f75fb0, +.channelTextArea_fb64c9 { + &::after { + content: 'input'; + } +} +.guilds_c48ade::after { + content: 'nav'; +} +.membersWrap_c8ffbb::after { + content: 'members'; +} +.privateChannels__35e86::after { + content: 'dms'; +} +.container_f369db::after { + content: 'forum'; +} +.content_f75fb0 > .outer_c0bea0::after { + content: 'profile'; +} +.searchResultsWrap_a9e706::after { + content: 'search'; +} +.peopleColumn__133bf::after { + content: 'friends'; +} +.nowPlayingColumn__133bf::after { + content: 'activity'; +} + +/* Fix oversized statuses on friends page */ +.peopleColumn__133bf { + width: 0; +} + +/* fix hidden text labels */ +#app-mount .sidebar_c48ade, +.chat_f75fb0 /* header bar */, +.wrapper_ef3116 /* server list */, +.privateChannels__35e86 /* dms */, +.container__133bf /* friends page header */, +.searchResultsWrap_a9e706 /* search results */, +.peopleColumn__133bf /* friends page */ , +.tabBody__133bf /* friends page outer */, +.container__01ae2 /* thread outer */, +[class^=container_]>[class^=base_] { + overflow: visible; +} +.scroller_fb64c9 /* new thread messages box */ { + overflow: visible !important; + margin-top: var(--pad); +} +/* fix text label position */ +.panels_c48ade, +.nowPlayingColumn__133bf { + position: relative; +} +/* fix overflow visible */ +.privateChannels__35e86 /* dms */, +[class^=tabBody_] /* friends page */ { + min-height: 0; +} +[class^='container_'] > [class^='base_'] { + min-width: 0; +} +/* add padding to make label not look weird */ +.scroller__36d07 /* main chat */, +.newMessagesBar__0f481 { + top: var(--txt-pad); +} +.animatedContainer_f37cb1 /* server banner */ { + top: var(--txt-pad); + left: var(--txt-pad); + width: calc(100% - 2 * var(--txt-pad)); +} +#vc-spotify-player, +.container_e131a9 /* vc panel */ { + padding: var(--txt-pad) var(--txt-pad) calc(var(--txt-pad) / 2) var(--txt-pad); +} +.horizontal__7c0ba>.flex__7c0ba /* fix voice connected cut off */ { + margin-left: 4px; +} +.guilds_c48ade, +.membersWrap_c8ffbb { + padding-top: var(--txt-pad); +} +.membersWrap_c8ffbb { + height: 100%; + box-sizing: border-box; +} +/* add padding to user profile panel */ +.content_f75fb0 > .outer_c0bea0 { + padding: var(--txt-pad); + box-sizing: border-box; + background-clip: content-box; +} +.content_f75fb0 .inner_c0bea0 /* fix profile effects */ { + position: relative; +} + +/* vencord spotify progress bar */ +#vc-spotify-player { + --vc-spotify-green: var(--green); +} +#vc-spotify-progress-bar { + margin-bottom: 0.6em; +} +#vc-spotify-progress-bar [class^='bar_'] { + height: 20px; + background: var(--bg-1); +} +.vc-spotify-time-left, +.vc-spotify-time-right { + z-index: 1; + top: 4px; + mix-blend-mode: difference; + font-size: 14px; +} +.vc-spotify-time-left { + left: 6px; +} +.vc-spotify-time-right { + right: 6px; +} +.grabber_a562c8 { + visibility: hidden; +} + +/* wordmark */ +.wordmarkWindows__421ed > svg { + display: none; +} +.wordmarkWindows__421ed::after { + content: var(--corner-text); + display: block; + position: relative; + color: var(--txt-2); + margin-left: 6px; + width: 100px; + height: 12px; + font-family: var(--font-primary); + font-size: 16px; + font-weight: 500; + white-space: no-wrap; +} + +/* adjust divider/border thickness */ +[class^='sectionDivider_'] /* channel list dividers */, +.separator_b3f026 /* settings divider */, +[class^=guildSeparator_] /* server list divider */ { + border-bottom: var(--border-width) solid var(--border-color); + height: 0; +} +#app-mount [class^='divider_'] /* chat dividers */ { + border-width: var(--border-width); +} +.container_eff079::after /* channel list dividers */, +[class^=customizationSection_], +[class^=session_], +[class^=columnHeading_], +[class^=tableCell_] { + border-width: var(--border-width); + border-color: var(--border-color); +} +[class^='divider_']:not(.isUnread__908e2), +[class^='sectionDivider_'], +#vc-spotify-player, +.separator_b3f026, +[class^='guildSeparator_'] { + border-color: var(--border-color); +} +[class^='unreadPill_'][class*='endCap_'] { + top: calc(-6px - 0.5 * var(--border-width)); +} + +/* toolbar order */ +[class^='toolbar_'] > [class^='search_'] { + order: -1; +} + +h3[data-text-variant='heading-xxl/extrabold'] { + font-family: 'asciid'; + font-size: 50px; + font-weight: 400; +} + +.theme-dark, +html.theme-light { + --action-sheet-gradient-bg: var(--primary-630); + --activity-card-background: var(--bg-0); + --activity-card-icon-overlay: hsl(223 calc(1 * 6.7%) 20.6% / 0.85); + --alert-bg: var(--primary-600); + --android-navigation-bar-background: var(--primary-830); + --android-navigation-scrim-background: hsl(240 calc(1 * 4%) 4.9% / 0.5); + --android-ripple: hsl(0 calc(1 * 0%) 100% / 0.07); + --autocomplete-bg: var(--bg-1); + --background-accent: var(--bg-2); + --background-floating: var(--primary-800); + --background-mentioned: var(--mention-overlay); + --background-mentioned-hover: var(--mention-hover-overlay); + --background-message-automod: hsl(359 calc(1 * 87.3%) 59.8% / 0.05); + --background-message-automod-hover: hsl(359 calc(1 * 87.3%) 59.8% / 0.1); + --background-message-highlight: var(--reply-overlay); + --background-message-highlight-hover: var(--reply-hover-overlay); + --brand-experiment-10a: var(--background-message-highlight-hover); + --background-message-hover: hsl(0 calc(1 * 0%) 0.8% / 0.06); + --background-mobile-primary: var(--primary-600); + --background-mobile-secondary: var(--primary-630); + --background-modifier-accent: var(--bg-3); + --background-modifier-accent-2: hsl(228 calc(1 * 6%) 32.5% / 0.48); + --background-modifier-active: var(--active); + --background-modifier-hover: var(--hover); + --background-modifier-selected: var(--selected); + --background-nested-floating: var(--primary-630); + --background-primary: var(--bg-0); + --background-secondary: var(--bg-1); + --background-secondary-alt: var(--bg-1); + --background-tertiary: var(--bg-0); + --bg-backdrop: hsl(0 calc(1 * 0%) 0% / 0.7); + --bg-backdrop-no-opacity: var(--black-500); + --bg-base-primary: var(--bg-0); + --bg-base-secondary: var(--bg-1); + --bg-base-tertiary: var(--primary-660); + --bg-brand: var(--brand-500); + --bg-mod-faint: var(--bg-0); + --bg-mod-strong: var(--bg-2); + --bg-mod-subtle: hsl(228 calc(1 * 6%) 32.5% / 0.48); + --bg-surface-overlay: var(--bg-1); + --bg-surface-overlay-tmp: var(--primary-800); + --bg-surface-raised: var(--bg-0); + --black: var(--black-500); + --blur-fallback: hsl(225 calc(1 * 6.3%) 12.5% / 0.96); + --blur-fallback-pressed: hsl(225 calc(1 * 7.1%) 11% / 0.96); + --border-faint: hsl(0 calc(1 * 0%) 100% / 0.03); + --border-strong: hsl(0 calc(1 * 0%) 100% / 0.16); + --border-subtle: hsl(0 calc(1 * 0%) 100% / 0.08); + --bug-reporter-modal-submitting-background: hsl(220 calc(1 * 8.1%) 7.3% / 0.6); + --button-creator-revenue-background: var(--teal-430); + --button-danger-background: var(--red-430); + --button-danger-background-active: var(--red-530); + --button-danger-background-disabled: var(--red-430); + --button-danger-background-hover: var(--red-500); + --button-outline-brand-background: hsl(0 calc(1 * 0%) 100% / 0); + --button-outline-brand-background-active: var(--brand-560); + --button-outline-brand-background-hover: var(--brand-500); + --button-outline-brand-border: var(--brand-500); + --button-outline-brand-border-active: var(--brand-560); + --button-outline-brand-border-hover: var(--brand-500); + --button-outline-brand-text: var(--txt-1); + --button-outline-brand-text-active: var(--txt-1); + --button-outline-brand-text-hover: var(--txt-1); + --button-outline-danger-background: hsl(0 calc(1 * 0%) 100% / 0); + --button-outline-danger-background-active: var(--red-460); + --button-outline-danger-background-hover: var(--red-430); + --button-outline-danger-border: var(--red-400); + --button-outline-danger-border-active: var(--red-430); + --button-outline-danger-border-hover: var(--red-430); + --button-outline-danger-text: var(--txt-1); + --button-outline-danger-text-active: var(--txt-1); + --button-outline-danger-text-hover: var(--txt-1); + --button-outline-positive-background: hsl(0 calc(1 * 0%) 100% / 0); + --button-outline-positive-background-active: var(--green-530); + --button-outline-positive-background-hover: var(--green-430); + --button-outline-positive-border: var(--green-360); + --button-outline-positive-border-active: var(--green-530); + --button-outline-positive-border-hover: var(--green-430); + --button-outline-positive-text: var(--txt-1); + --button-outline-positive-text-active: var(--txt-1); + --button-outline-positive-text-hover: var(--txt-1); + --button-outline-primary-background: hsl(0 calc(1 * 0%) 100% / 0); + --button-outline-primary-background-active: var(--primary-430); + --button-outline-primary-background-hover: var(--primary-500); + --button-outline-primary-border: var(--primary-500); + --button-outline-primary-border-active: var(--primary-430); + --button-outline-primary-border-hover: var(--primary-500); + --button-outline-primary-text: var(--txt-1); + --button-outline-primary-text-active: var(--txt-1); + --button-outline-primary-text-hover: var(--txt-1); + --button-positive-background: var(--green-430); + --button-positive-background-active: var(--green-530); + --button-positive-background-disabled: var(--green-430); + --button-positive-background-hover: var(--green-500); + --button-secondary-background: var(--primary-500); + --button-secondary-background-active: var(--txt-3); + --button-secondary-background-disabled: var(--bg-1); + --button-secondary-background-hover: var(--bg-3); + --card-gradient-bg: hsl(0 calc(1 * 0%) 0% / 0.4); + --card-gradient-pressed-bg: hsl(0 calc(1 * 0%) 0% / 0.5); + --card-primary-bg: var(--primary-600); + --card-primary-pressed-bg: var(--primary-645); + --card-secondary-bg: var(--primary-630); + --card-secondary-pressed-bg: var(--primary-645); + --channel-icon: var(--txt-2); + --channel-text-area-placeholder: var(--txt-3); + --channels-default: var(--txt-2); + --channeltextarea-background: var(--bg-0); + --chat-background: var(--primary-600); + --chat-banner-bg: var(--primary-630); + --chat-border: var(--primary-700); + --chat-input-container-background: var(--primary-600); + --chat-swipe-to-reply-background: var(--primary-660); + --chat-swipe-to-reply-gradient-background: hsl(0 calc(1 * 0%) 0% / 0.1); + --coachmark-bg: var(--primary-800); + --content-inventory-media-seekbar-container: hsl(231 calc(1 * 6.7%) 79.4% / 0.24); + --content-inventory-overlay-text-primary: hsl(0 calc(1 * 0%) 100% / 0.85); + --content-inventory-overlay-text-secondary: hsl(0 calc(1 * 0%) 100% / 0.7); + --content-inventory-overlay-ui-mod: hsl(0 calc(1 * 0%) 100% / 0.7); + --content-inventory-overlay-ui-mod-bg: hsl(0 calc(1 * 0%) 0% / 0.1); + --context-menu-backdrop-background: hsl(0 calc(1 * 0%) 0% / 0.7); + --control-brand-foreground: var(--brand-360); + --control-brand-foreground-new: var(--acc-0); + --creator-revenue-icon-gradient-end: var(--teal-430); + --creator-revenue-icon-gradient-start: var(--teal-360); + --creator-revenue-info-box-background: hsl(190 calc(1 * 63%) 33.9% / 0.1); + --creator-revenue-info-box-border: var(--teal-400); + --creator-revenue-locked-channel-icon: var(--teal-345); + --creator-revenue-progress-bar: var(--teal-400); + --deprecated-card-bg: hsl(225 calc(1 * 6.3%) 12.5% / 0.6); + --deprecated-card-editable-bg: hsl(225 calc(1 * 6.3%) 12.5% / 0.3); + --deprecated-quickswitcher-input-background: var(--primary-400); + --deprecated-quickswitcher-input-placeholder: hsl(0 calc(1 * 0%) 100% / 0.3); + --deprecated-store-bg: var(--primary-600); + --deprecated-text-input-bg: var(--primary-700); + --deprecated-text-input-border: hsl(0 calc(1 * 0%) 0% / 0.3); + --deprecated-text-input-border-disabled: var(--primary-700); + --deprecated-text-input-border-hover: var(--primary-900); + --deprecated-text-input-prefix: var(--primary-200); + --display-banner-overflow-background: hsl(225 calc(1 * 6.3%) 12.5% / 0.5); + --divider-strong: hsl(0 calc(1 * 0%) 100% / 0.16); + --divider-subtle: hsl(0 calc(1 * 0%) 100% / 0.08); + --embed-background: var(--primary-630); + --embed-background-alternate: var(--primary-600); + --embed-title: var(--primary-130); + --expression-picker-bg: var(--primary-630); + --focus-primary: var(--blue-345); + --forum-post-extra-media-count-container-background: hsl(228 calc(1 * 6.7%) 14.7% / 0.8); + --forum-post-tag-background: hsl(228 calc(1 * 6.7%) 14.7% / 0.9); + --guild-icon-inactive-bg: var(--primary-630); + --guild-icon-inactive-nested-bg: var(--primary-600); + --guild-notifications-bottom-sheet-pill-background: var(--primary-700); + --halo-positive: hsl(145 calc(1 * 65%) 39.2% / 0.24); + --header-muted: var(--primary-360); + --header-primary: var(--txt-1); + --header-secondary: var(--txt-2); + --home-background: none; + --home-card-resting-border: hsl(0 calc(1 * 0%) 0% / 0); + --icon-muted: var(--primary-400); + --icon-primary: var(--primary-130); + --icon-secondary: var(--primary-330); + --icon-transparent: hsl(0 calc(1 * 0%) 0% / 0); + --info-box-background: hsl(200 calc(1 * 100%) 49.4% / 0.1); + --info-danger-background: hsl(359 calc(1 * 87.3%) 59.8% / 0.1); + --info-danger-foreground: var(--red-400); + --info-danger-text: var(--white-500); + --info-help-background: hsl(200 calc(1 * 100%) 49.4% / 0.1); + --info-help-foreground: var(--blue-345); + --info-help-text: var(--white-500); + --info-positive-background: hsl(145 calc(1 * 65%) 39.2% / 0.1); + --info-positive-foreground: var(--green-360); + --info-positive-text: var(--white-500); + --info-warning-background: hsl(40 calc(1 * 86.4%) 56.9% / 0.1); + --info-warning-foreground: var(--yellow-300); + --info-warning-text: var(--white-500); + --input-background: var(--bg-1); + --input-focused-border: hsl(0 calc(1 * 0%) 100% / 0.16); + --input-placeholder-text: var(--input-placeholder-text-dark); + --interactive-active: var(--txt-1); + --interactive-hover: var(--txt-1); + --interactive-muted: var(--txt-3); + --interactive-normal: var(--txt-2); + --legacy-android-blur-overlay-default: hsl(228 calc(1 * 6.7%) 14.7% / 0.5); + --legacy-android-blur-overlay-ultra-thin: hsl(0 calc(1 * 0%) 0% / 0.025); + --legacy-blur-fallback-default: hsl(228 calc(1 * 6.7%) 14.7% / 0.975); + --legacy-blur-fallback-ultra-thin: hsl(0 calc(1 * 0%) 0% / 0.95); + --live-stage-tile-border: hsl(228 calc(1 * 6%) 32.5% / 0.6); + --logo-primary: var(--white-500); + --mention-background: var(--mention-bg); + --mention-foreground: var(--mention-txt); + --modal-background: var(--bg-1); + --modal-footer-background: var(--bg-0); + --navigator-header-tint: var(--white-500); + --panel-bg: var(--primary-600); + --polls-normal-fill-hover: var(--primary-600); + --polls-normal-image-background: var(--primary-660); + --polls-victor-fill: hsl(145 calc(1 * 65%) 39.2% / 0.2); + --polls-voted-fill: hsl(235 calc(1 * 85.6%) 64.7% / 0.2); + --profile-gradient-card-background: hsl(0 calc(1 * 0%) 0% / 0.7); + --profile-gradient-message-input-border: hsl(228 calc(1 * 6%) 32.5% / 0.48); + --profile-gradient-note-background: hsl(0 calc(1 * 0%) 0% / 0.3); + --profile-gradient-overlay: hsl(0 calc(1 * 0%) 0% / 0.6); + --profile-gradient-overlay-synced-with-user-theme: hsl(0 calc(1 * 0%) 0% / 0.8); + --profile-gradient-profile-body-background-hover: hsl(0 calc(1 * 0%) 100% / 0.16); + --profile-gradient-role-pill-background: hsl(228 calc(1 * 6.7%) 14.7% / 0.5); + --profile-gradient-role-pill-border: hsl(0 calc(1 * 0%) 100% / 0.2); + --profile-gradient-section-box: hsl(0 calc(1 * 0%) 0% / 0.45); + --redesign-activity-card-background: var(--primary-560); + --redesign-activity-card-background-pressed: var(--primary-630); + --redesign-activity-card-badge-icon: var(--primary-360); + --redesign-activity-card-border: hsl(0 calc(1 * 0%) 100% / 0.02); + --redesign-activity-card-overflow-background: var(--primary-630); + --redesign-button-active-background: var(--green-430); + --redesign-button-active-pressed-background: var(--green-460); + --redesign-button-active-text: var(--white-500); + --redesign-button-danger-background: var(--red-430); + --redesign-button-danger-pressed-background: var(--red-460); + --redesign-button-danger-text: var(--white-500); + --redesign-button-destructive-background: var(--red-430); + --redesign-button-destructive-pressed-background: var(--red-460); + --redesign-button-destructive-text: var(--white-500); + --redesign-button-overlay-alpha-background: hsl(0 calc(1 * 0%) 0% / 0.54); + --redesign-button-overlay-alpha-pressed-background: hsl(0 calc(1 * 0%) 0% / 0.64); + --redesign-button-overlay-alpha-text: var(--white-500); + --redesign-button-overlay-background: var(--white-500); + --redesign-button-overlay-pressed-background: var(--primary-230); + --redesign-button-overlay-text: var(--primary-860); + --redesign-button-positive-background: var(--green-430); + --redesign-button-positive-pressed-background: var(--green-460); + --redesign-button-positive-text: var(--white-500); + --redesign-button-primary-alt-background: hsl(235 calc(1 * 85.6%) 64.7% / 0); + --redesign-button-primary-alt-border: var(--brand-360); + --redesign-button-primary-alt-on-blurple-background: hsl(235 calc(1 * 66.7%) 58.8% / 0); + --redesign-button-primary-alt-on-blurple-border: var(--white-500); + --redesign-button-primary-alt-on-blurple-pressed-background: var(--brand-530); + --redesign-button-primary-alt-on-blurple-pressed-border: var(--brand-360); + --redesign-button-primary-alt-on-blurple-text: var(--white-500); + --redesign-button-primary-alt-pressed-background: hsl(235 calc(1 * 47%) 25.9% / 0.16); + --redesign-button-primary-alt-pressed-border: hsl(235 calc(1 * 86.1%) 71.8% / 0.5); + --redesign-button-primary-alt-pressed-text: var(--brand-360); + --redesign-button-primary-alt-text: var(--brand-360); + --redesign-button-primary-background: var(--brand-500); + --redesign-button-primary-on-blurple-pressed-text: var(--brand-530); + --redesign-button-primary-overlay-background: var(--white-500); + --redesign-button-primary-overlay-pressed-background: var(--primary-230); + --redesign-button-primary-overlay-text: var(--primary-860); + --redesign-button-primary-pressed-background: var(--brand-560); + --redesign-button-primary-text: var(--white-500); + --redesign-button-secondary-background: var(--primary-460); + --redesign-button-secondary-border: hsl(0 calc(1 * 0%) 100% / 0.08); + --redesign-button-secondary-overlay-background: hsl(0 calc(1 * 0%) 0% / 0.54); + --redesign-button-secondary-overlay-pressed-background: hsl(0 calc(1 * 0%) 0% / 0.64); + --redesign-button-secondary-overlay-text: var(--white-500); + --redesign-button-secondary-pressed-background: var(--primary-500); + --redesign-button-secondary-pressed-border: hsl(0 calc(1 * 0%) 0% / 0); + --redesign-button-secondary-text: var(--primary-230); + --redesign-button-selected-background: hsl(235 calc(1 * 85.6%) 64.7% / 0.24); + --redesign-button-selected-pressed-background: hsl(235 calc(1 * 85.6%) 64.7% / 0.28); + --redesign-button-selected-text: var(--brand-500); + --redesign-button-tertiary-background: var(--primary-660); + --redesign-button-tertiary-pressed-background: var(--primary-560); + --redesign-button-tertiary-pressed-text: var(--primary-330); + --redesign-button-tertiary-text: var(--primary-230); + --redesign-channel-category-name-text: var(--primary-330); + --redesign-channel-message-preview-text: var(--primary-360); + --redesign-channel-name-muted-text: var(--primary-360); + --redesign-channel-name-text: var(--primary-130); + --redesign-chat-input-background: var(--primary-700); + --redesign-image-button-pressed-background: hsl(0 calc(1 * 0%) 0% / 0.08); + --redesign-input-control-active-bg: var(--primary-645); + --redesign-input-control-selected: var(--brand-500); + --redesign-only-background-active: var(--primary-530); + --redesign-only-background-default: var(--primary-600); + --redesign-only-background-overlay: var(--primary-645); + --redesign-only-background-raised: var(--primary-630); + --redesign-only-background-sunken: var(--primary-660); + --scrollbar-auto-scrollbar-color-thumb: var(--primary-730); + --scrollbar-auto-scrollbar-color-track: var(--primary-630); + --scrollbar-auto-thumb: var(--bg-1); + --scrollbar-auto-track: transparent; + --scrollbar-thin-thumb: var(--bg-1); + --scrollbar-thin-track: transparent; + --spoiler-hidden-background: var(--primary-700); + --spoiler-revealed-background: var(--primary-660); + --stage-card-pill-bg: var(--primary-630); + --status-danger: var(--pink); + --status-danger-background: var(--red-430); + --status-danger-text: var(--white-500); + --status-dnd: var(--red-400); + --status-idle: var(--yellow-300); + --status-offline: var(--primary-360); + --status-online: var(--green-360); + --status-positive: var(--green-360); + --status-positive-background: var(--green-430); + --status-positive-text: var(--white-500); + --status-speaking: var(--green-360); + --status-warning: var(--yellow-300); + --status-warning-background: var(--yellow-300); + --status-warning-text: var(--black-500); + --text-brand: var(--brand-360); + --text-danger: var(--red-345); + --text-link: var(--txt-link); + --text-link-low-saturation: var(--blue-330); + --text-low-contrast: var(--primary-360); + --text-message-preview-low-sat: var(--primary-360); + --text-muted: var(--txt-3); + --text-muted-on-default: var(--primary-330); + --text-normal: var(--txt-1); + --text-positive: var(--green); + --text-primary: var(--primary-230); + --text-secondary: var(--primary-330); + --text-warning: var(--yellow-300); + --textbox-markdown-syntax: var(--primary-360); + --theme-locked-blur-fallback: hsl(225 calc(1 * 6.3%) 12.5% / 0.96); + --thread-channel-spine: var(--primary-500); + --toast-bg: var(--primary-800); + --typing-indicator-bg: var(--primary-630); + --user-profile-header-overflow-background: hsl(225 calc(1 * 6.3%) 12.5% / 0.5); + --voice-video-video-tile-background: hsl(233 calc(1 * 9 / 0.3%) 19% / 0.4); + --voice-video-video-tile-blur-fallback: hsl(225 calc(1 * 6.3%) 12.5% / 0.48); + --white: var(--bg-0); + --you-bar-bg: var(--primary-800); + + --elevation-low: none; + --shadow-ledge: none; + + --brand-500: var(--acc-0); /* unread bar, accent buttons, spotify */ + --brand-530: var(--acc-0); /* hover highlight in context menu */ + --brand-560: var(--acc-1); /* accent button hover */ + --brand-600: var(--acc-2); /* accent button active */ + + --primary-500: var(--bg-2); /* neutral button background */ + --primary-800: var(--bg-0); /* call background */ + + --white-500: var(--txt-dark); /* THE BANE OF MY EXISTENCE */ + + --red-400: var(--pink); /* red outline buttons */ + --red-430: var(--pink); /* red buttons, outline button hover */ + --red-460: var(--pink-1); /* outline button active */ + --red-500: var(--pink-1); /* button hover */ + --red-530: var(--pink-2); /* button active */ + + --green-360: var(--green); /* vc icon on server */ + --green-430: var(--green); /* green buttons */ + --green-500: var(--green-1); + --green-530: var(--green-2); + + --twitch: var(--acc-1); +} + +/* begin 909 commits */ +::placeholder { + color: var(--txt-3) !important; +} +::selection { + color: var(--bg-0); + background: var(--txt-1); +} +.callContainer_cb9592 { + overflow: visible; + background: none !important; + overflow-x: hidden; + border-radius: var(--panel-roundness); + border: var(--border-width) solid var(--border-color); + transition: border-color var(--border-transition); + &:hover { + border-color: var(--border-hover-color); + &::after { + color: var(--border-hover-color); + } + } +} +.callContainer_cb9592 [class^='topControls_'] section { + border: none; + &::after { + content: ''; + } +} +.callContainer_cb9592::after { + content: 'call'; + display: block; + color: var(--txt-3); + font-weight: var(--label-font-weight); + position: absolute; + top: -8px; + left: 8px; + background-color: var(--bg-0); + padding: 0 4px; + z-index: 100; + transition: color var(--border-transition); +} + +.wrapper_ef3116.hidden_ef3116 { + display: none; +} + +[class^='gradientTop_'], +[class^='gradientBottom_'] { + display: none !important; +} +[class^='topControls_'], +[class^='bottomControls_'] { + transform: none !important; +} +/* end 909 commits */ + +/* begin Androser commits */ +.chatHeaderBar_dc83f5 { + padding: var(--txt-pad); + margin-bottom: var(--pad); + > :first-child { + color: var(--txt-2) !important; + font-weight: var(--label-font-weight); + overflow: hidden; + text-overflow: ellipsis; + text-wrap: nowrap; + } +} + +/* fix theming */ +[class^='circleIconButton_'] /* footer buttons */ { + background-color: var(--bg-1); + &[class*='selected_'] { + color: var(--white); + } +} +[class^='tooltip_'] { + background-color: var(--bg-0); + color: var(--txt-1); + > [class^='tooltipPointer_'] { + border-top-color: var(--bg-0); + } +} +[class*='tooltipGrey_'] { + background-color: var(--bg-1); + > [class^='tooltipPointer_'] { + border-top-color: var(--bg-1); + } +} +.drawerSizingWrapper__08434 /* gifs/emojis/stickers */ { + .contentWrapper__08434, + [class*='header_'], + [class*='wrapper_'], + .inspector_aeaaeb, + .container_d02962, + .stickerCategory__3ad28, + .categoryItemDefaultCategory_b9ee0c, + #gif-picker-tab-panel { + background-color: var(--bg-0); + box-shadow: unset; + } +} +.activeButtonChild_aa63ab /* send message button */ { + color: var(--interactive-normal); + transition: none; +} +.button_aa63ab { + &:hover, + &:focus { + .activeButtonChild_aa63ab { + color: var(--interactive-hover) !important; + } + } +} +.separator_aa63ab /* send message border */ { + background-color: var(--border-color); + width: var(--border-width); + height: 100%; +} + +/* rounding fixes */ +.members_c8ffbb /* member list */, +.messagesWrapper__36d07>[class^=scroller_] /* chat */, +.nowPlayingColumn__133bf>[class^='container_'] /* friends active now page outer */, +.nowPlayingColumn__133bf [class^='scroller'] /* friends active now page inner */, +.callContainer_cb9592 /* vc */, +.scroller__629e4 /* channel list */ { + border-radius: var(--panel-roundness) !important; +} +.privateChannels__35e86>[class^='scroller_'] /* dms */ { + border-radius: 0 0 var(--panel-roundness) var(--panel-roundness) !important; +} +.footer__214dc /* discover button */ { + margin-top: unset; + > .gradient__214dc { + background: var(--bg-overlay-app-frame, var(--background-tertiary)); + } +} +.container_a592e1 /* discover */ { + position: relative; + padding: 8px; + .backdrop__8a7fc, + .scroller__23746 { + border-radius: var(--panel-roundness); + } + /* add labels */ + &:has(.outerContainer_e1147e)::after { + content: 'apps'; + } + &:has(.container_d08938)::after { + content: 'servers'; + } + &:has(.container__955a3)::after { + content: 'quests'; + } +} +.overlay__8a7fc::after /* remove discover header separator */ { + display: none; +} + +/* remove extra space */ +.nowPlayingColumn__133bf [class^='scroller'] { + margin-left: 0; +} + +/* add discover label */ +.sidebar_c48ade > .container__551b0 { + position: relative; + &::after { + content: 'discover'; + } +} + +/* fix new thread */ +.channelTextArea_fb64c9 { + width: unset; +} +.textAreaThreadCreation__74017 { + height: unset !important; +} +/* end Androser commits */ + +/* scroll optimizations */ +[class*='scroll'] { + will-change: scroll-position; +} +.burstGlow__23977 { + display: none; +} diff --git a/desktopenvs/hyprlua/Vencord/themes/system24/src/unrounding.css b/desktopenvs/hyprlua/Vencord/themes/system24/src/unrounding.css new file mode 100644 index 0000000..0a6ecb7 --- /dev/null +++ b/desktopenvs/hyprlua/Vencord/themes/system24/src/unrounding.css @@ -0,0 +1,67 @@ +/* unrounding */ +::-webkit-scrollbar-thumb, +* { + border-radius: 0 !important; +} +/* hide round masks */ +[class^='listItem_'] [class^='wrapper_'] > [class^='svg_'] > mask, +[class^='bannerSVGWrapper_'] > mask > circle { + display: none; +} +[class^='mask_'] > foreignObject, +[class^='svg_'] > foreignObject { + mask-image: none; +} + +/* fiil circle mask on profile avatar */ +.overlay__75742:after, /* profile popup */ +.overlay_c0bea0:after { + /* user settings */ + border-radius: 0; +} + +/* hide status indicators */ +[class^='mask_'] > rect, +[class^='mask_'] > circle, +[class^='mask_'] > svg { + display: none; +} + +/* re-add status indicators */ +.wrapper__44b0c:has(rect)::after { + content: ''; + display: block; + position: absolute; + height: 8px; + width: 8px; + bottom: -4px; + right: -4px; + border: 2px solid var(--bg-0); +} +.wrapper__44b0c:has(rect[fill='#23a55a'])::after { + background: var(--online-dot) !important; +} +.wrapper__44b0c:has(rect[fill='#f23f43'])::after { + background: var(--dnd-dot) !important; +} +.wrapper__44b0c:has(rect[fill='#f0b232'])::after { + background: var(--idle-dot) !important; +} +.wrapper__44b0c:has(rect[fill='#80848e'])::after { + background: var(--txt-3) !important; +} +.wrapper__44b0c:has(rect[fill='#593695'])::after { + background: var(--streaming-dot); +} + +/* fix server list badges */ +[class^='lowerBadge_'] { + border: 2px solid var(--bg-0); + bottom: -4px; + right: -4px; +} +[class^='upperBadge_'] { + border: 2px solid var(--bg-0); + top: -4px; + right: -4px; +} diff --git a/desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/catppuccin-macchiato.theme.css b/desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/catppuccin-macchiato.theme.css new file mode 100644 index 0000000..1cc534f --- /dev/null +++ b/desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/catppuccin-macchiato.theme.css @@ -0,0 +1,87 @@ +/** + * @name system24 (catppuccin macchiato lavender) + * @description A tui-style discord theme. Based on the catppuccin maccchiato color palette. + * @author refact0r, bean + * @version 1.0.0 + * @invite nz87hXyvcy + * @website https://github.com/refact0r/system24 + * @source https://github.com/refact0r/system24/blob/master/flavors/catppuccin-mocha.theme.css + * @authorId 508863359777505290 + * @authorLink https://www.refact0r.dev +*/ + +/* import theme modules */ +@import url('https://refact0r.github.io/system24/src/main.css'); /* main theme css. DO NOT REMOVE */ +@import url('https://refact0r.github.io/system24/src/unrounding.css'); /* gets rid of all rounded corners. remove if you want rounded corners. */ + +/* customize things here */ +:root { + --font: 'DM Mono'; /* UI font name. it must be installed on your system. */ + letter-spacing: -0.05ch; /* decreases letter spacing for better readability. */ + font-weight: 300; /* UI font weight. */ + --label-font-weight: 500; /* font weight for panel labels. */ + --corner-text: 'macchiato24'; /* custom text to display in the corner. only works on windows. */ + --pad: 16px; /* padding between panels. */ + --txt-pad: 10px; /* padding inside panels to prevent labels from clipping */ + --panel-roundness: 0px; /* corner roundness of panels. ONLY WORKS IF unrounding.css IS REMOVED (see above). */ + + /* background colors */ + --bg-0: #24273a; /* main background color. */ + --bg-1: #1e2030; /* background color for secondary elements like code blocks, embeds, etc. */ + --bg-2: #363a4f; /* color of neutral buttons. */ + --bg-3: #494d64; /* color of neutral buttons when hovered. */ + + /* state modifiers */ + --hover: color-mix(in oklch, var(--txt-3), transparent 80%); /* color of hovered elements. */ + --active: color-mix(in oklch, var(--txt-3), transparent 60%); /* color of elements when clicked. */ + --selected: var(--active); /* color of selected elements. */ + + /* text colors */ + --txt-dark: var(--bg-0); /* color of dark text on colored backgrounds. */ + --txt-link: var(--cyan); /* color of links. */ + --txt-0: #eaeefa; /* color of bright/white text. */ + --txt-1: #cad3f5; /* main text color. */ + --txt-2: #939ab7; /* color of secondary text like channel list. */ + --txt-3: #5b6078; /* color of muted text. */ + + /* accent colors */ + --acc-0: var(--lavender); /* main accent color. */ + --acc-1: var(--lavender-1); /* color of accent buttons when hovered. */ + --acc-2: var(--lavender-2); /* color of accent buttons when clicked. */ + + /* borders */ + --border-width: 2px; /* panel border thickness. */ + --border-color: var(--bg-2); /* panel border color. */ + --border-hover-color: var(--acc-0); /* panel border color when hovered. */ + --border-transition: 0.2s ease; /* panel border transition. */ + + /* status dot colors */ + --online-dot: var(--cyan); /* color of online dot. */ + --dnd-dot: var(--pink); /* color of do not disturb dot. */ + --idle-dot: var(--yellow); /* color of idle dot. */ + --streaming-dot: var(--purple); /* color of streaming dot. */ + + /* mention/ping and message colors */ + --mention-txt: var(--acc-0); /* color of mention text. */ + --mention-bg: color-mix(in oklch, var(--acc-0), transparent 90%); /* background highlight of mention text. */ + --mention-overlay: color-mix(in oklch, var(--acc-0), transparent 90%); /* overlay color of messages that mention you. */ + --mention-hover-overlay: color-mix(in oklch, var(--acc-0), transparent 95%); /* overlay color of messages that mention you when hovered. */ + --reply-overlay: var(--active); /* overlay color of message you are replying to. */ + --reply-hover-overlay: var(--hover); /* overlay color of message you are replying to when hovered. */ + + /* color shades */ + --pink: oklch(73.7% 0.125 11.19); + --pink-1: oklch(63.7% 0.125 11.19); + --pink-2: oklch(53.7% 0.125 11.19); + --purple: oklch(77.15% 0.126 303.9); + --purple-1: oklch(67.15% 0.126 303.9); + --purple-2: oklch(57.15% 0.126 303.9); + --cyan: oklch(78.51% 0.085 228.38); + --yellow: oklch(87.9% 0.074 84.75); + --green: oklch(83.5% 0.108 138.15); + --green-1: oklch(73.5% 0.108 138.15); + --green-2: oklch(63.5% 0.108 138.15); + --lavender: oklch(81.66% 0.091 277.31); + --lavender-1: oklch(71.66% 0.091 277.31); + --lavender-2: oklch(61.66% 0.091 277.31); +} diff --git a/desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/catppuccin-mocha.theme.css b/desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/catppuccin-mocha.theme.css new file mode 100644 index 0000000..5320d89 --- /dev/null +++ b/desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/catppuccin-mocha.theme.css @@ -0,0 +1,84 @@ +/** + * @name system24 (catppuccin mocha) + * @description A tui-style discord theme. Based on the catppuccin mocha color palette. + * @author refact0r + * @version 1.0.0 + * @invite nz87hXyvcy + * @website https://github.com/refact0r/system24 + * @source https://github.com/refact0r/system24/blob/master/flavors/catppuccin-mocha.theme.css + * @authorId 508863359777505290 + * @authorLink https://www.refact0r.dev +*/ + +/* import theme modules */ +@import url('https://refact0r.github.io/system24/src/main.css'); /* main theme css. DO NOT REMOVE */ +@import url('https://refact0r.github.io/system24/src/unrounding.css'); /* gets rid of all rounded corners. remove if you want rounded corners. */ + +/* customize things here */ +:root { + --font: 'DM Mono'; /* UI font name. it must be installed on your system. */ + letter-spacing: -0.05ch; /* decreases letter spacing for better readability. */ + font-weight: 300; /* UI font weight. */ + --label-font-weight: 500; /* font weight for panel labels. */ + --corner-text: 'catppuccin24'; /* custom text to display in the corner. only works on windows. */ + --pad: 16px; /* padding between panels. */ + --txt-pad: 10px; /* padding inside panels to prevent labels from clipping */ + --panel-roundness: 0px; /* corner roundness of panels. ONLY WORKS IF unrounding.css IS REMOVED (see above). */ + + /* background colors */ + --bg-0: #1e1e2e; /* main background color. */ + --bg-1: #181825; /* background color for secondary elements like code blocks, embeds, etc. */ + --bg-2: #313244; /* color of neutral buttons. */ + --bg-3: #45475a; /* color of neutral buttons when hovered. */ + + /* state modifiers */ + --hover: color-mix(in oklch, var(--txt-3), transparent 80%); /* color of hovered elements. */ + --active: color-mix(in oklch, var(--txt-3), transparent 60%); /* color of elements when clicked. */ + --selected: var(--active); /* color of selected elements. */ + + /* text colors */ + --txt-dark: var(--bg-0); /* color of dark text on colored backgrounds. */ + --txt-link: var(--cyan); /* color of links. */ + --txt-0: #eaeefa; /* color of bright/white text. */ + --txt-1: #cdd6f4; /* main text color. */ + --txt-2: #9399b2; /* color of secondary text like channel list. */ + --txt-3: #585b70; /* color of muted text. */ + + /* accent colors */ + --acc-0: var(--purple); /* main accent color. */ + --acc-1: var(--purple-1); /* color of accent buttons when hovered. */ + --acc-2: var(--purple-2); /* color of accent buttons when clicked. */ + + /* borders */ + --border-width: 2px; /* panel border thickness. */ + --border-color: var(--bg-2); /* panel border color. */ + --border-hover-color: var(--acc-0); /* panel border color when hovered. */ + --border-transition: 0.2s ease; /* panel border transition. */ + + /* status dot colors */ + --online-dot: var(--green); /* color of online dot. */ + --dnd-dot: var(--pink); /* color of do not disturb dot. */ + --idle-dot: var(--yellow); /* color of idle dot. */ + --streaming-dot: var(--purple); /* color of streaming dot. */ + + /* mention/ping and message colors */ + --mention-txt: var(--acc-0); /* color of mention text. */ + --mention-bg: color-mix(in oklch, var(--acc-0), transparent 90%); /* background highlight of mention text. */ + --mention-overlay: color-mix(in oklch, var(--acc-0), transparent 90%); /* overlay color of messages that mention you. */ + --mention-hover-overlay: color-mix(in oklch, var(--acc-0), transparent 95%); /* overlay color of messages that mention you when hovered. */ + --reply-overlay: var(--active); /* overlay color of message you are replying to. */ + --reply-hover-overlay: var(--hover); /* overlay color of message you are replying to when hovered. */ + + /* color shades */ + --pink: #f38ba8; + --pink-1: #d16c89; + --pink-2: #af4e6c; + --purple: #cba6f7; + --purple-1: #ab87d6; + --purple-2: #8d69b5; + --cyan: #74c7ec; + --yellow: #f9e2af; + --green: #a6e3a1; + --green-1: #87c282; + --green-2: #68a364; +} diff --git a/desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/cyberqueer.theme.css b/desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/cyberqueer.theme.css new file mode 100644 index 0000000..9d579ba --- /dev/null +++ b/desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/cyberqueer.theme.css @@ -0,0 +1,84 @@ +/** + * @name system24 + * @description A tui-style discord theme. + * @author refact0r + * @version 1.0.0 + * @invite nz87hXyvcy + * @website https://github.com/refact0r/system24 + * @source https://github.com/refact0r/system24/blob/master/system24.theme.css + * @authorId 508863359777505290 + * @authorLink https://www.refact0r.dev +*/ + +/* import theme modules */ +@import url('https://refact0r.github.io/system24/src/main.css'); /* main theme css. DO NOT REMOVE */ +@import url('https://refact0r.github.io/system24/src/unrounding.css'); /* gets rid of all rounded corners. remove if you want rounded corners. */ + +/* customize things here */ +:root { + --font: 'Agave Nerd Font'; /* UI font name. it must be installed on your system. */ + letter-spacing: 0; /* decreases letter spacing for better readability. */ + font-weight: 400; /* UI font weight. */ + --label-font-weight: 400; /* font weight for panel labels. */ + --corner-text: 'system24'; /* custom text to display in the corner. only works on windows. */ + --pad: 18px; /* padding between panels. */ + --txt-pad: 10px; /* padding inside panels to prevent labels from clipping */ + --panel-roundness: 0px; /* corner roundness of panels. ONLY WORKS IF unrounding.css IS REMOVED (see above). */ + + /* background colors */ + --bg-0: #1a1a1a; /* main background color. */ + --bg-1: #1a1a1a; /* background color for secondary elements like code blocks, embeds, etc. */ + --bg-2: #1a1a1a; /* color of neutral buttons. */ + --bg-3: #641a1a; /* color of neutral buttons when hovered. */ + + /* state modifiers */ + --hover: #641a1a; /* color of hovered elements. */ + --active: #5018dd; /* color of elements when clicked. */ + --selected: #E40046; /* color of selected elements. */ + + /* text colors */ + --txt-dark: var(--bg-0); /* color of dark text on colored backgrounds. */ + --txt-link: var(--cyan); /* color of links. */ + --txt-0: #d6abab; /* color of bright/white text. */ + --txt-1: #d6abab;/* main text color. */ + --txt-2: #5018dd;/* color of secondary text like channel list. */ + --txt-3: #d6abab;/* color of muted text. */ + + /* accent colors */ + --acc-1: #E40046; /* main accent color. */ + --acc-0: #5018dd; /* color of accent buttons when hovered. */ + --acc-2: #5018dd; /* color of accent buttons when clicked. */ + + /* borders */ + --border-width: 1px; /* panel border thickness. */ + --border-color: #5018dd; /* panel border color. */ + --border-hover-color: #E40046; /* panel border color when hovered. */ + --border-transition: 0.2s ease; /* panel border transition. */ + + /* status dot colors */ + --online-dot: var(--green); /* color of online dot. */ + --dnd-dot: var(--pink); /* color of do not disturb dot. */ + --idle-dot: var(--yellow); /* color of idle dot. */ + --streaming-dot: var(--purple); /* color of streaming dot. */ + + /* mention/ping and message colors */ + --mention-txt: #f50505; /* color of mention text. */ + --mention-bg: #5018dd; /* background highlight of mention text. */ + --mention-overlay: color-mix(in oklch, var(--acc-0), transparent 90%); /* overlay color of messages that mention you. */ + --mention-hover-overlay: color-mix(in oklch, var(--acc-0), transparent 95%); /* overlay color of messages that mention you when hovered. */ + --reply-overlay: var(--active); /* overlay color of message you are replying to. */ + --reply-hover-overlay: var(--hover); /* overlay color of message you are replying to when hovered. */ + + /* color shades */ + --pink: oklch(73% 0.12 0); + --pink-1: oklch(63% 0.12 0); + --pink-2: oklch(53% 0.12 0); + --purple: oklch(73% 0.12 300); + --purple-1: oklch(63% 0.12 300); + --purple-2: oklch(53% 0.12 300); + --cyan: oklch(73% 0.12 200); + --yellow: oklch(78% 0.12 80); + --green: hsl(141, 76%, 48%); + --green-1: hsl(141, 73%, 42%); + --green-2: hsl(141, 73%, 36%); +} diff --git a/desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/gruvbox-material.theme.css b/desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/gruvbox-material.theme.css new file mode 100755 index 0000000..671fe3e --- /dev/null +++ b/desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/gruvbox-material.theme.css @@ -0,0 +1,78 @@ +/** + * @name system24 (gruvbox material) + * @description A tui-style discord theme. Based on the gruvbox material color palette. + * @author refact0r, Sophed + * @version 1.0.0 + * @invite nz87hXyvcy + * @website https://github.com/refact0r/system24 + * @authorId 508863359777505290 + * @authorLink https://www.refact0r.dev +*/ + +/* import theme modules */ +@import url('https://refact0r.github.io/system24/src/main.css'); /* main theme css. DO NOT REMOVE */ +@import url('https://refact0r.github.io/system24/src/unrounding.css'); /* gets rid of all rounded corners. remove if you want rounded corners. */ + +/* customize things here */ +:root { + --font: 'DM Mono'; /* UI font name. it must be installed on your system. */ + letter-spacing: -0.05ch; /* decreases letter spacing for better readability. */ + font-weight: 400; /* UI font weight. */ + --label-font-weight: 500; /* font weight for panel labels. */ + --corner-text: 'gruvbox material'; /* custom text to display in the corner. only works on windows. */ + --pad: 16px; /* padding between panels. */ + --txt-pad: 10px; /* padding inside panels to prevent labels from clipping */ + --panel-roundness: 0px; /* corner roundness of panels. ONLY WORKS IF unrounding.css IS REMOVED (see above). */ + + /* background colors */ + --bg-0: #282828; /* main background color. */ + --bg-1: #1d2021; /* background color for secondary elements like code blocks, embeds, etc. */ + --bg-2: #3c3836; /* color of neutral buttons. */ + --bg-3: #504945; /* color of neutral buttons when hovered. */ + + /* state modifiers */ + --hover: color-mix(in oklch, var(--txt-3), transparent 80%); /* color of hovered elements. */ + --active: color-mix(in oklch, var(--txt-3), transparent 60%); /* color of elements when clicked. */ + --selected: var(--active); /* color of selected elements. */ + + /* text colors */ + --txt-dark: var(--bg-0); /* color of dark text on colored backgrounds. */ + --txt-link: var(--aqua); /* color of links. */ + --txt-0: #d4be98; /* color of bright/white text. */ + --txt-1: #ddc7a1; /* main text color. */ + --txt-2: #d4be98; /* color of secondary text like channel list. */ + --txt-3: #928374; /* color of muted text. */ + + /* accent colors */ + --acc-0: var(--aqua); /* main accent color. */ + --acc-1: var(--green); /* color of accent buttons when hovered. */ + --acc-2: var(--blue); /* color of accent buttons when clicked. */ + + /* borders */ + --border-width: 2px; /* panel border thickness. */ + --border-color: var(--bg-2); /* panel border color. */ + --border-hover-color: var(--acc-0); /* panel border color when hovered. */ + --border-transition: 0.2s ease; /* panel border transition. */ + + /* status dot colors */ + --online-dot: var(--green); /* color of online dot. */ + --dnd-dot: var(--red); /* color of do not disturb dot. */ + --idle-dot: var(--yellow); /* color of idle dot. */ + --streaming-dot: var(--purple); /* color of streaming dot. */ + + /* mention/ping and message colors */ + --mention-txt: var(--acc-0); /* color of mention text. */ + --mention-bg: color-mix(in oklch, var(--acc-0), transparent 90%); /* background highlight of mention text. */ + --mention-overlay: color-mix(in oklch, var(--acc-0), transparent 90%); /* overlay color of messages that mention you. */ + --mention-hover-overlay: color-mix(in oklch, var(--acc-0), transparent 95%); /* overlay color of messages that mention you when hovered. */ + --reply-overlay: var(--active); /* overlay color of message you are replying to. */ + --reply-hover-overlay: var(--hover); /* overlay color of message you are replying to when hovered. */ + + /* color shades */ + --red: #ea6962; + --purple: #d3869b; + --yellow: #f9e2af; + --aqua: #89b482; + --blue: #7daea3; + --green: #a9b665; +} diff --git a/desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/light.theme.css b/desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/light.theme.css new file mode 100644 index 0000000..096aa70 --- /dev/null +++ b/desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/light.theme.css @@ -0,0 +1,88 @@ +/** + * @name system24 (light) + * @description A tui-style discord theme. light mode. + * @author refact0r + * @version 1.0.0 + * @invite nz87hXyvcy + * @website https://github.com/refact0r/system24 + * @source https://github.com/refact0r/system24/blob/master/flavors/light.theme.css + * @authorId 508863359777505290 + * @authorLink https://www.refact0r.dev +*/ + +/* import theme modules */ +@import url('https://refact0r.github.io/system24/src/main.css'); /* main theme css. DO NOT REMOVE */ +@import url('https://refact0r.github.io/system24/src/unrounding.css'); /* gets rid of all rounded corners. remove if you want rounded corners. */ + +/* customize things here */ +:root { + --font: 'DM Mono'; /* UI font name. it must be installed on your system. */ + letter-spacing: -0.05ch; /* decreases letter spacing for better readability. */ + font-weight: 300; /* UI font weight. */ + --label-font-weight: 500; /* font weight for panel labels. */ + --corner-text: 'system24'; /* custom text to display in the corner. only works on windows. */ + --pad: 16px; /* padding between panels. */ + --txt-pad: 10px; /* padding inside panels to prevent labels from clipping */ + --panel-roundness: 0px; /* corner roundness of panels. ONLY WORKS IF unrounding.css IS REMOVED (see above). */ + + /* background colors */ + --bg-0: oklch(97.6% 0 0); /* main background color. */ + --bg-1: oklch(92.6% 0 0); /* background color for secondary elements like code blocks, embeds, etc. */ + --bg-2: oklch(87.6% 0 0); /* color of neutral buttons. */ + --bg-3: oklch(82.6% 0 0); /* color of neutral buttons when hovered. */ + + /* state modifiers */ + --hover: oklch(40% 0 0 / 0.1); /* color of hovered elements. */ + --active: oklch(40% 0 0 / 0.2); /* color of elements when clicked. */ + --selected: var(--active); /* color of selected elements. */ + + /* text colors */ + --txt-dark: var(--bg-0); /* color of dark text on colored backgrounds. */ + --txt-link: var(--cyan); /* color of links. */ + --txt-0: oklch(100% 0 0); /* color of bright/white text. */ + --txt-1: oklch(30% 0 0); /* main text color. */ + --txt-2: oklch(50% 0 0); /* color of secondary text like channel list. */ + --txt-3: oklch(70% 0 0); /* color of muted text. */ + + /* accent colors */ + --acc-0: var(--purple); /* main accent color. */ + --acc-1: var(--purple-1); /* color of accent buttons when hovered. */ + --acc-2: var(--purple-2); /* color of accent buttons when clicked. */ + + /* borders */ + --border-width: 2px; /* panel border thickness. */ + --border-color: var(--bg-2); /* panel border color. */ + --border-hover-color: var(--acc-0); /* panel border color when hovered. */ + --border-transition: 0.2s ease; /* panel border transition. */ + + /* status dot colors */ + --online-dot: var(--green); /* color of online dot. */ + --dnd-dot: var(--pink); /* color of do not disturb dot. */ + --idle-dot: var(--yellow); /* color of idle dot. */ + --streaming-dot: var(--purple); /* color of streaming dot. */ + + /* mention/ping and message colors */ + --mention-txt: var(--acc-0); /* color of mention text. */ + --mention-bg: color-mix(in oklch, var(--acc-0), transparent 85%); /* background highlight of mention text. */ + --mention-overlay: color-mix(in oklch, var(--acc-0), transparent 85%); /* overlay color of messages that mention you. */ + --mention-hover-overlay: color-mix(in oklch, var(--acc-0), transparent 90%); /* overlay color of messages that mention you when hovered. */ + --reply-overlay: var(--active); /* overlay color of message you are replying to. */ + --reply-hover-overlay: var(--hover); /* overlay color of message you are replying to when hovered. */ + + /* color shades */ + --pink: oklch(57% 0.13 0); + --pink-1: oklch(50% 0.13 0); + --pink-2: oklch(43% 0.13 0); + --purple: oklch(57% 0.13 300); + --purple-1: oklch(50% 0.13 300); + --purple-2: oklch(43% 0.13 300); + --cyan: oklch(57% 0.13 200); + --yellow: oklch(71% 0.13 80); + --green: oklch(57% 0.13 160); + --green-1: oklch(50% 0.13 160); + --green-2: oklch(43% 0.13 160); +} + +[class^=jumpToPresentBar_] > button { + color: var(--txt-1); +} diff --git a/desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/monochrome.theme.css b/desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/monochrome.theme.css new file mode 100644 index 0000000..3c312b5 --- /dev/null +++ b/desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/monochrome.theme.css @@ -0,0 +1,86 @@ +/** + * @name system24 (monochrome) + * @description A tui-style discord theme. Has less colors and more neutral greys and whites. + * @author refact0r, DeadGrip + * @version 1.0.0 + * @invite nz87hXyvcy + * @website https://github.com/refact0r/system24 + * @authorId 508863359777505290 + * @authorLink https://refact0r.dev/ +*/ + +/* import theme modules */ +@import url('https://refact0r.github.io/system24/src/main.css'); /* main theme css. DO NOT REMOVE */ +@import url('https://refact0r.github.io/system24/src/unrounding.css'); /* gets rid of all rounded corners. remove if you want rounded corners. */ + +/* customize things here */ +:root { + --font: 'DM Mono'; /* UI font name. it must be installed on your system. */ + letter-spacing: -0.05ch; /* decreases letter spacing for better readability. */ + font-weight: 300; /* UI font weight. */ + --label-font-weight: 500; /* font weight for panel labels. */ + --corner-text: 'monochrome'; /* custom text to display in the corner. only works on windows. */ + --pad: 16px; /* padding between panels. */ + --txt-pad: 10px; /* padding inside panels to prevent labels from clipping */ + --panel-roundness: 0px; /* corner roundness of panels. ONLY WORKS IF unrounding.css IS REMOVED (see above). */ + + /* background colors */ + --bg-0: oklch(19% 0 0); /* main background color. */ + --bg-1: oklch(23% 0 0); /* background color for secondary elements like code blocks, embeds, etc. */ + --bg-2: oklch(27% 0 0); /* color of neutral buttons. */ + --bg-3: oklch(31% 0 0); /* color of neutral buttons when hovered. */ + + /* state modifiers */ + --hover: oklch(54% 0 0 / 0.1); /* color of hovered elements. */ + --active: oklch(54% 0 0 / 0.2); /* color of elements when clicked. */ + --selected: var(--active); /* color of selected elements. */ + + /* text colors */ + --txt-dark: var(--bg-0); /* color of dark text on colored backgrounds. */ + --txt-link: var(--shade-0); /* color of links. */ + --txt-0: oklch(90% 0 0); /* color of bright/white text. */ + --txt-1: oklch(80% 0 0); /* main text color. */ + --txt-2: oklch(60% 0 0); /* color of secondary text like channel list. */ + --txt-3: oklch(40% 0 0); /* color of muted text. */ + + /* accent colors */ + --acc-0: var(--shade-0); /* main accent color. */ + --acc-1: var(--shade-1); /* color of accent buttons when hovered. */ + --acc-2: var(--shade-2); /* color of accent buttons when clicked. */ + + /* borders */ + --border-width: 2px; /* panel border thickness. */ + --border-color: var(--bg-3); /* panel border color. */ + --border-hover-color: var(--acc-1); /* panel border color when hovered. */ + --border-transition: 0.2s ease; /* panel border transition. */ + + /* status dot colors */ + --online-dot: var(--shade-0); /* color of online dot. */ + --dnd-dot: oklch(80% 0.08 0); /* color of do not disturb dot. */ + --idle-dot: oklch(80% 0.08 100); /* color of idle dot. */ + --streaming-dot: oklch(80% 0.08 300); /* color of streaming dot. */ + + /* mention/ping and message colors */ + --mention-txt: var(--acc-0); /* color of mention text. */ + --mention-bg: color-mix(in oklch, var(--acc-0), transparent 90%); /* background highlight of mention text. */ + --mention-overlay: color-mix(in oklch, var(--acc-0), transparent 90%); /* overlay color of messages that mention you. */ + --mention-hover-overlay: color-mix(in oklch, var(--acc-0), transparent 95%); /* overlay color of messages that mention you when hovered. */ + --reply-overlay: var(--active); /* overlay color of message you are replying to. */ + --reply-hover-overlay: var(--hover); /* overlay color of message you are replying to when hovered. */ + + /* color shades */ + --pink: oklch(90% 0 0); + --pink-1: oklch(70% 0 0); + --pink-2: oklch(50% 0 0); + --purple: oklch(90% 0 0); + --purple-1: oklch(70% 0 0); + --purple-2: oklch(50% 0 0); + --cyan: oklch(90% 0 0); + --yellow: oklch(90% 0 0); + --green: oklch(90% 0 0); + --green-1: oklch(70% 0 0); + --green-2: oklch(50% 0 0); + --shade-0: oklch(90% 0 0); + --shade-1: oklch(70% 0 0); + --shade-2: oklch(50% 0 0); +} diff --git a/desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/rosepine.theme.css b/desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/rosepine.theme.css new file mode 100644 index 0000000..5d30105 --- /dev/null +++ b/desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/rosepine.theme.css @@ -0,0 +1,87 @@ +/** + * @name system24 + * @description A tui-style discord theme. + * @author refact0r + * @version 1.0.0 + * @invite nz87hXyvcy + * @website https://github.com/refact0r/system24 + * @source https://github.com/refact0r/system24/blob/master/system24.theme.css + * @authorId 508863359777505290 + * @authorLink https://www.refact0r.dev +*/ + +/* import theme modules */ +@import url('https://refact0r.github.io/system24/src/main.css'); /* main theme css. DO NOT REMOVE */ +@import url('https://refact0r.github.io/system24/src/unrounding.css'); /* gets rid of all rounded corners. remove if you want rounded corners. */ + +/* customize things here */ +:root { + --font: 'DM Mono'; /* UI font name. it must be installed on your system. */ + letter-spacing: 0; /* decreases letter spacing for better readability. */ + font-weight: 400; /* UI font weight. */ + --label-font-weight: 400; /* font weight for panel labels. */ + --corner-text: 'system24'; /* custom text to display in the corner. only works on windows. */ + --pad: 16px; /* padding between panels. */ + --txt-pad: 10px; /* padding inside panels to prevent labels from clipping */ + --panel-roundness: 0px; /* corner roundness of panels. ONLY WORKS IF unrounding.css IS REMOVED (see above). */ + + /* background colors */ + --bg-0: #191724; /* main background color. */ + --bg-1: #1f1d2e; /* background color for secondary elements like code blocks, embeds, etc. */ + --bg-2: #26233a; /* color of neutral buttons. */ + --bg-3: #403d52; /* color of neutral buttons when hovered. */ + + /* state modifiers */ + --hover: color-mix(in srgb, var(--bg-3), transparent 60%); /* color of hovered elements. */ + --active: color-mix(in srgb, var(--bg-3), transparent 80%); /* color of elements when clicked. */ + --selected: var(--active); /* color of selected elements. */ + + /* text colors */ + --txt-dark: var(--bg-0); /* color of dark text on colored backgrounds. */ + --txt-link: var(--rose); /* color of links. */ + --txt-0: #ffffff; /* color of bright/white text. */ + --txt-1: #e0def4; /* main text color. */ + --txt-2: #908caa; /* color of secondary text like channel list. */ + --txt-3: #6e6a86; /* color of muted text. */ + + /* accent colors */ + --acc-0: var(--rose); /* main accent color. */ + --acc-1: var(--rose-1); /* color of accent buttons when hovered. */ + --acc-2: var(--rose-2); /* color of accent buttons when clicked. */ + + /* borders */ + --border-width: 2px; /* panel border thickness. */ + --border-color: var(--bg-2); /* panel border color. */ + --border-hover-color: var(--acc-0); /* panel border color when hovered. */ + --border-transition: 0.2s ease; /* panel border transition. */ + + /* status dot colors */ + --online-dot: var(--green); /* color of online dot. */ + --dnd-dot: var(--pink); /* color of do not disturb dot. */ + --idle-dot: var(--yellow); /* color of idle dot. */ + --streaming-dot: var(--purple); /* color of streaming dot. */ + + /* mention/ping and message colors */ + --mention-txt: var(--acc-0); /* color of mention text. */ + --mention-bg: color-mix(in oklch, var(--acc-0), transparent 90%); /* background highlight of mention text. */ + --mention-overlay: color-mix(in oklch, var(--acc-0), transparent 90%); /* overlay color of messages that mention you. */ + --mention-hover-overlay: color-mix(in oklch, var(--acc-0), transparent 95%); /* overlay color of messages that mention you when hovered. */ + --reply-overlay: var(--active); /* overlay color of message you are replying to. */ + --reply-hover-overlay: var(--hover); /* overlay color of message you are replying to when hovered. */ + + /* color shades */ + --pink: oklch(69.77% 0.1565 4.22); + --pink-1: oklch(59.77% 0.1565 4.22); + --pink-2: oklch(49.77% 0.1565 4.22); + --purple: oklch(77.6% 0.0945 304.99); + --purple-1: oklch(67.6% 0.0945 304.99); + --purple-2: oklch(57.6% 0.0945 304.99); + --cyan: oklch(52.77% 0.0793 227.72); + --yellow: oklch(84.29% 0.11 74.6); + --green: oklch(82.19% 0.0543 209.56); + --green-1: oklch(72.19% 0.0543 209.56); + --green-2: oklch(62.19% 0.0543 209.56); + --rose: oklch(83.63% 0.0544 21.14); + --rose-1: oklch(73.63% 0.0544 21.14); + --rose-2: oklch(63.63% 0.0544 21.14); +} diff --git a/desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/spotify-text.theme.css b/desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/spotify-text.theme.css new file mode 100644 index 0000000..0d2067c --- /dev/null +++ b/desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/spotify-text.theme.css @@ -0,0 +1,84 @@ +/** + * @name system24 + * @description A tui-style discord theme. + * @author refact0r + * @version 1.0.0 + * @invite nz87hXyvcy + * @website https://github.com/refact0r/system24 + * @source https://github.com/refact0r/system24/blob/master/system24.theme.css + * @authorId 508863359777505290 + * @authorLink https://www.refact0r.dev +*/ + +/* import theme modules */ +@import url('https://refact0r.github.io/system24/src/main.css'); /* main theme css. DO NOT REMOVE */ +@import url('https://refact0r.github.io/system24/src/unrounding.css'); /* gets rid of all rounded corners. remove if you want rounded corners. */ + +/* customize things here */ +:root { + --font: 'DM Mono'; /* UI font name. it must be installed on your system. */ + letter-spacing: 0; /* decreases letter spacing for better readability. */ + font-weight: 400; /* UI font weight. */ + --label-font-weight: 400; /* font weight for panel labels. */ + --corner-text: 'system24'; /* custom text to display in the corner. only works on windows. */ + --pad: 18px; /* padding between panels. */ + --txt-pad: 10px; /* padding inside panels to prevent labels from clipping */ + --panel-roundness: 0px; /* corner roundness of panels. ONLY WORKS IF unrounding.css IS REMOVED (see above). */ + + /* background colors */ + --bg-0: hsl(0, 0%, 7%); /* main background color. */ + --bg-1: hsl(0, 0%, 10%); /* background color for secondary elements like code blocks, embeds, etc. */ + --bg-2: hsl(0, 0%, 13%); /* color of neutral buttons. */ + --bg-3: hsl(0, 0%, 16%); /* color of neutral buttons when hovered. */ + + /* state modifiers */ + --hover: hsla(0, 0%, 40%, 0.1); /* color of hovered elements. */ + --active: hsla(0, 0%, 40%, 0.2); /* color of elements when clicked. */ + --selected: var(--active); /* color of selected elements. */ + + /* text colors */ + --txt-dark: var(--bg-0); /* color of dark text on colored backgrounds. */ + --txt-link: var(--cyan); /* color of links. */ + --txt-0: hsl(0, 0%, 100%); /* color of bright/white text. */ + --txt-1: hsl(0, 0%, 70%); /* main text color. */ + --txt-2: hsl(0, 0%, 50%); /* color of secondary text like channel list. */ + --txt-3: hsl(0, 0%, 30%); /* color of muted text. */ + + /* accent colors */ + --acc-0: var(--green); /* main accent color. */ + --acc-1: var(--green-1); /* color of accent buttons when hovered. */ + --acc-2: var(--green-2); /* color of accent buttons when clicked. */ + + /* borders */ + --border-width: 1px; /* panel border thickness. */ + --border-color: #535353; /* panel border color. */ + --border-hover-color: #1ed760; /* panel border color when hovered. */ + --border-transition: 0.2s ease; /* panel border transition. */ + + /* status dot colors */ + --online-dot: var(--green); /* color of online dot. */ + --dnd-dot: var(--pink); /* color of do not disturb dot. */ + --idle-dot: var(--yellow); /* color of idle dot. */ + --streaming-dot: var(--purple); /* color of streaming dot. */ + + /* mention/ping and message colors */ + --mention-txt: var(--acc-0); /* color of mention text. */ + --mention-bg: color-mix(in oklch, var(--acc-0), transparent 90%); /* background highlight of mention text. */ + --mention-overlay: color-mix(in oklch, var(--acc-0), transparent 90%); /* overlay color of messages that mention you. */ + --mention-hover-overlay: color-mix(in oklch, var(--acc-0), transparent 95%); /* overlay color of messages that mention you when hovered. */ + --reply-overlay: var(--active); /* overlay color of message you are replying to. */ + --reply-hover-overlay: var(--hover); /* overlay color of message you are replying to when hovered. */ + + /* color shades */ + --pink: oklch(73% 0.12 0); + --pink-1: oklch(63% 0.12 0); + --pink-2: oklch(53% 0.12 0); + --purple: oklch(73% 0.12 300); + --purple-1: oklch(63% 0.12 300); + --purple-2: oklch(53% 0.12 300); + --cyan: oklch(73% 0.12 200); + --yellow: oklch(78% 0.12 80); + --green: hsl(141, 76%, 48%); + --green-1: hsl(141, 73%, 42%); + --green-2: hsl(141, 73%, 36%); +} diff --git a/desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/templates/pywal16.theme.css b/desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/templates/pywal16.theme.css new file mode 100644 index 0000000..59a167d --- /dev/null +++ b/desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/templates/pywal16.theme.css @@ -0,0 +1,84 @@ +/** + * @name system24 + * @description A tui-style discord theme. + * @author refact0r, Liyua + * @version 1.0.0 + * @invite nz87hXyvcy + * @website https://github.com/refact0r/system24 + * @source https://github.com/refact0r/system24/blob/master/system24.theme.css + * @authorId 508863359777505290 + * @authorLink https://www.refact0r.dev +*/ + +/* import theme modules */ +@import url('https://refact0r.github.io/system24/src/main.css'); /* main theme css. DO NOT REMOVE */ +@import url('https://refact0r.github.io/system24/src/unrounding.css'); /* gets rid of all rounded corners. remove if you want rounded corners. */ + +/* customize things here */ +:root {{ + --font: 'DM Mono'; /* UI font name. it must be installed on your system. */ + letter-spacing: -0.05ch; /* decreases letter spacing for better readability. */ + font-weight: 300; /* UI font weight. */ + --label-font-weight: 500; /* font weight for panel labels. */ + --corner-text: 'system24'; /* custom text to display in the corner. only works on windows. */ + --pad: 16px; /* padding between panels. */ + --txt-pad: 10px; /* padding inside panels to prevent labels from clipping */ + --panel-roundness: 0px; /* corner roundness of panels. ONLY WORKS IF unrounding.css IS REMOVED (see above). */ + + /* background colors */ + --bg-0: oklch(from {background} l c h); /* main background color. */ + --bg-1: oklch(from {background} calc(l + 0.04) c h); /* background color for secondary elements like code blocks, embeds, etc. */ + --bg-2: oklch(from {background} calc(l + 0.08) c h); /* color of neutral buttons. */ + --bg-3: oklch(from {background} calc(l + 0.12) c h); /* color of neutral buttons when hovered. */ + + /* state modifiers */ + --hover: oklch(54% 0 0 / 0.1); /* color of hovered elements. */ + --active: oklch(54% 0 0 / 0.2); /* color of elements when clicked. */ + --selected: var(--active); /* color of selected elements. */ + + /* text colors */ + --txt-dark: var(--bg-0); /* color of dark text on colored backgrounds. */ + --txt-link: var(--cyan); /* color of links. */ + --txt-0: oklch(from {foreground} 100% c h); /* color of bright/white text. */ + --txt-1: oklch(from {foreground} 80% c h); /* main text color. */ + --txt-2: oklch(from {foreground} 60% c h); /* color of secondary text like channel list. */ + --txt-3: oklch(from {foreground} 40% c h); /* color of muted text. */ + + /* accent colors */ + --acc-0: var(--purple); /* main accent color. */ + --acc-1: var(--purple-1); /* color of accent buttons when hovered. */ + --acc-2: var(--purple-2); /* color of accent buttons when clicked. */ + + /* borders */ + --border-width: 2px; /* panel border thickness. */ + --border-color: var(--bg-3); /* panel border color. */ + --border-hover-color: var(--acc-0); /* panel border color when hovered. */ + --border-transition: 0.2s ease; /* panel border transition. */ + + /* status dot colors */ + --online-dot: var(--green); /* color of online dot. */ + --dnd-dot: var(--pink); /* color of do not disturb dot. */ + --idle-dot: var(--yellow); /* color of idle dot. */ + --streaming-dot: var(--purple); /* color of streaming dot. */ + + /* mention/ping and message colors */ + --mention-txt: var(--acc-0); /* color of mention text. */ + --mention-bg: color-mix(in oklch, var(--acc-0), transparent 90%); /* background highlight of mention text. */ + --mention-overlay: color-mix(in oklch, var(--acc-0), transparent 90%); /* overlay color of messages that mention you. */ + --mention-hover-overlay: color-mix(in oklch, var(--acc-0), transparent 95%); /* overlay color of messages that mention you when hovered. */ + --reply-overlay: var(--active); /* overlay color of message you are replying to. */ + --reply-hover-overlay: var(--hover); /* overlay color of message you are replying to when hovered. */ + + /* color shades */ + --pink: oklch(from {color0} l c h); + --pink-1: oklch(from var(--pink) calc(l - 0.1) c h); + --pink-2: oklch(from var(--pink) calc(l - 0.2) c h); + --purple: oklch(from {color1} l c h); + --purple-1: oklch(from var(--purple) calc(l - 0.1) c h); + --purple-2: oklch(from var(--purple) calc(l - 0.2) c h); + --cyan: oklch(from {color2} l c h); + --yellow: oklch(from {color3} l c h); + --green: oklch(from {color4} l c h); + --green-1: oklch(from var(--green) calc(l - 0.1) c h); + --green-2: oklch(from var(--green) calc(l - 0.2) c h); +}} \ No newline at end of file diff --git a/desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/vencord.theme.css b/desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/vencord.theme.css new file mode 100644 index 0000000..51f4e38 --- /dev/null +++ b/desktopenvs/hyprlua/Vencord/themes/system24/theme/flavors/vencord.theme.css @@ -0,0 +1,83 @@ +/** + * @name system24 (vencord) + * @description A tui-style discord theme. Based on Vencord's color palette. (https://vencord.dev/) + * @author refact0r, makimwah + * @version 1.0.0 + * @invite nz87hXyvcy + * @website https://github.com/refact0r/system24 + * @source https://github.com/refact0r/system24/blob/master/system24.theme.css + * @authorId 508863359777505290 + * @authorLink https://www.refact0r.dev +*/ + +/* import theme modules */ +@import url('https://refact0r.github.io/system24/src/main.css'); /* main theme css. DO NOT REMOVE */ +@import url('https://refact0r.github.io/system24/src/unrounding.css'); /* gets rid of all rounded corners. remove if you want rounded corners. */ + +/* customize things here */ +:root { + --font: 'DM Mono'; /* UI font name. it must be installed on your system. */ + letter-spacing: -0.05ch; /* decreases letter spacing for better readability. */ + font-weight: 300; /* UI font weight. */ + --label-font-weight: 500; /* font weight for panel labels. */ + --corner-text: 'vencord24'; /* custom text to display in the corner. only works on windows. */ + --pad: 16px; /* padding between panels. */ + --txt-pad: 10px; /* padding inside panels to prevent labels from clipping */ + --panel-roundness: 0px; /* corner roundness of panels. ONLY WORKS IF unrounding.css IS REMOVED (see above). */ + + /* background colors */ + --bg-0: oklch(28% 0.002 48); /* main background color. */ + --bg-1: oklch(25% 0.001 48); /* background color for secondary elements like code blocks, embeds, etc. */ + --bg-2: oklch(34% 0.004 48); /* color of neutral buttons. */ + --bg-3: oklch(38% 0.006 48); /* color of neutral buttons when hovered. */ + + /* state modifiers */ + --hover: oklch(54% 0.006 48 / 0.1); /* color of hovered elements. */ + --active: oklch(54% 0.006 48 / 0.2); /* color of elements when clicked. */ + --selected: var(--active); /* color of selected elements. */ + + /* text colors */ + --txt-dark: var(--bg-0); /* color of dark text on colored backgrounds. */ + --txt-link: var(--cyan); /* color of links. */ + --txt-0: oklch(90% 0 0); /* color of bright/white text. */ + --txt-1: #ddc7a0; /* main text color. */ + --txt-2: #918274; /* color of secondary text like channel list. */ + --txt-3: #918274; /* color of muted text. */ + + /* accent colors */ + --acc-0: var(--purple); /* main accent color. */ + --acc-1: var(--purple-1); /* color of accent buttons when hovered. */ + --acc-2: var(--purple-1); /* color of accent buttons when clicked. */ + + /* borders */ + --border-width: 2px; /* panel border thickness. */ + --border-color: var(--bg-2); /* panel border color. */ + --border-hover-color: var(--acc-0); /* panel border color when hovered. */ + --border-transition: 0.2s ease; /* panel border transition. */ + + /* status dot colors */ + --online-dot: var(--green); /* color of online dot. */ + --dnd-dot: var(--pink); /* color of do not disturb dot. */ + --idle-dot: var(--yellow); /* color of idle dot. */ + --streaming-dot: var(--purple); /* color of streaming dot. */ + + /* mention/ping and message colors */ + --mention-txt: var(--acc-0); /* color of mention text. */ + --mention-bg: color-mix(in oklch, var(--acc-0), transparent 90%); /* background highlight of mention text. */ + --mention-overlay: color-mix(in oklch, var(--acc-0), transparent 90%); /* overlay color of messages that mention you. */ + --mention-hover-overlay: color-mix(in oklch, var(--acc-0), transparent 95%); /* overlay color of messages that mention you when hovered. */ + --reply-overlay: var(--active); /* overlay color of message you are replying to. */ + --reply-hover-overlay: var(--hover); /* overlay color of message you are replying to when hovered. */ + + /* color shades */ + --pink: #ea6962; + --pink-1: oklch(63% 0.12 0); + --pink-2: oklch(53% 0.12 0); + --purple: #d3869b; + --purple-1: #d27390; + --cyan: #7caea3; + --yellow: #d8a656; + --green: #a8b665; + --green-1: oklch(63% 0.12 160); + --green-2: oklch(53% 0.12 160); +} \ No newline at end of file diff --git a/desktopenvs/hyprlua/Vencord/themes/system24/theme/system24.theme.css b/desktopenvs/hyprlua/Vencord/themes/system24/theme/system24.theme.css new file mode 100644 index 0000000..71372ee --- /dev/null +++ b/desktopenvs/hyprlua/Vencord/themes/system24/theme/system24.theme.css @@ -0,0 +1,84 @@ +/** + * @name system24 + * @description A tui-style discord theme. + * @author refact0r + * @version 1.0.0 + * @invite nz87hXyvcy + * @website https://github.com/refact0r/system24 + * @source https://github.com/refact0r/system24/blob/master/system24.theme.css + * @authorId 508863359777505290 + * @authorLink https://www.refact0r.dev +*/ + +/* import theme modules */ +@import url('https://refact0r.github.io/system24/src/main.css'); /* main theme css. DO NOT REMOVE */ +@import url('https://refact0r.github.io/system24/src/unrounding.css'); /* gets rid of all rounded corners. remove if you want rounded corners. */ + +/* customize things here */ +:root { + --font: 'DM Mono'; /* UI font name. it must be installed on your system. */ + letter-spacing: -0.05ch; /* decreases letter spacing for better readability. */ + font-weight: 300; /* UI font weight. */ + --label-font-weight: 500; /* font weight for panel labels. */ + --corner-text: 'system24'; /* custom text to display in the corner. only works on windows. */ + --pad: 16px; /* padding between panels. */ + --txt-pad: 10px; /* padding inside panels to prevent labels from clipping */ + --panel-roundness: 0px; /* corner roundness of panels. ONLY WORKS IF unrounding.css IS REMOVED (see above). */ + + /* background colors */ + --bg-0: oklch(19% 0 0); /* main background color. */ + --bg-1: oklch(23% 0 0); /* background color for secondary elements like code blocks, embeds, etc. */ + --bg-2: oklch(27% 0 0); /* color of neutral buttons. */ + --bg-3: oklch(31% 0 0); /* color of neutral buttons when hovered. */ + + /* state modifiers */ + --hover: oklch(54% 0 0 / 0.1); /* color of hovered elements. */ + --active: oklch(54% 0 0 / 0.2); /* color of elements when clicked. */ + --selected: var(--active); /* color of selected elements. */ + + /* text colors */ + --txt-dark: var(--bg-0); /* color of dark text on colored backgrounds. */ + --txt-link: var(--cyan); /* color of links. */ + --txt-0: oklch(90% 0 0); /* color of bright/white text. */ + --txt-1: oklch(80% 0 0); /* main text color. */ + --txt-2: oklch(60% 0 0); /* color of secondary text like channel list. */ + --txt-3: oklch(40% 0 0); /* color of muted text. */ + + /* accent colors */ + --acc-0: var(--purple); /* main accent color. */ + --acc-1: var(--purple-1); /* color of accent buttons when hovered. */ + --acc-2: var(--purple-2); /* color of accent buttons when clicked. */ + + /* borders */ + --border-width: 2px; /* panel border thickness. */ + --border-color: var(--bg-3); /* panel border color. */ + --border-hover-color: var(--acc-0); /* panel border color when hovered. */ + --border-transition: 0.2s ease; /* panel border transition. */ + + /* status dot colors */ + --online-dot: var(--green); /* color of online dot. */ + --dnd-dot: var(--pink); /* color of do not disturb dot. */ + --idle-dot: var(--yellow); /* color of idle dot. */ + --streaming-dot: var(--purple); /* color of streaming dot. */ + + /* mention/ping and message colors */ + --mention-txt: var(--acc-0); /* color of mention text. */ + --mention-bg: color-mix(in oklch, var(--acc-0), transparent 90%); /* background highlight of mention text. */ + --mention-overlay: color-mix(in oklch, var(--acc-0), transparent 90%); /* overlay color of messages that mention you. */ + --mention-hover-overlay: color-mix(in oklch, var(--acc-0), transparent 95%); /* overlay color of messages that mention you when hovered. */ + --reply-overlay: var(--active); /* overlay color of message you are replying to. */ + --reply-hover-overlay: var(--hover); /* overlay color of message you are replying to when hovered. */ + + /* color shades */ + --pink: oklch(73% 0.12 0); + --pink-1: oklch(63% 0.12 0); + --pink-2: oklch(53% 0.12 0); + --purple: oklch(73% 0.12 300); + --purple-1: oklch(63% 0.12 300); + --purple-2: oklch(53% 0.12 300); + --cyan: oklch(73% 0.12 200); + --yellow: oklch(78% 0.12 80); + --green: oklch(73% 0.12 160); + --green-1: oklch(63% 0.12 160); + --green-2: oklch(53% 0.12 160); +} \ No newline at end of file diff --git a/desktopenvs/hyprlua/alacritty/alacritty b/desktopenvs/hyprlua/alacritty/alacritty new file mode 120000 index 0000000..624c74c --- /dev/null +++ b/desktopenvs/hyprlua/alacritty/alacritty @@ -0,0 +1 @@ +/home/themiro/Dotfiles/desktopenvs/hyprland/alacritty \ No newline at end of file diff --git a/desktopenvs/hyprlua/alacritty/alacritty.toml b/desktopenvs/hyprlua/alacritty/alacritty.toml new file mode 100644 index 0000000..606a177 --- /dev/null +++ b/desktopenvs/hyprlua/alacritty/alacritty.toml @@ -0,0 +1,10 @@ +[font] +normal = {family = "Agave NerdFont", style = "Regular"} + +[terminal] +[terminal.shell] +program = "/usr/bin/zsh" +args = ["-l"] + +[window] +opacity = 0.3 diff --git a/desktopenvs/hyprlua/btop/btop.conf b/desktopenvs/hyprlua/btop/btop.conf new file mode 100644 index 0000000..56c049c --- /dev/null +++ b/desktopenvs/hyprlua/btop/btop.conf @@ -0,0 +1,272 @@ +#? Config file for btop v.1.4.6 + +#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes. +#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes" +color_theme = "/usr/share/btop/themes/cyberqueer.theme" + +#* If the theme set background should be shown, set to False if you want terminal background transparency. +theme_background = true + +#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false. +truecolor = true + +#* Set to true to force tty mode regardless if a real tty has been detected or not. +#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols. +force_tty = false + +#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets. +#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box. +#* Use whitespace " " as separator between different presets. +#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty" +presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty" + +#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists. +#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift. +vim_keys = false + +#* Rounded corners on boxes, is ignored if TTY mode is ON. +rounded_corners = true + +#* Use terminal synchronized output sequences to reduce flickering on supported terminals. +terminal_sync = true + +#* Default symbols to use for graph creation, "braille", "block" or "tty". +#* "braille" offers the highest resolution but might not be included in all fonts. +#* "block" has half the resolution of braille but uses more common characters. +#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY. +#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view. +graph_symbol = "braille" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_cpu = "default" + +# Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty". +graph_symbol_gpu = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_mem = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_net = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_proc = "default" + +#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace. +shown_boxes = "cpu mem net proc" + +#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs. +update_ms = 100 + +#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct", +#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly. +proc_sorting = "cpu lazy" + +#* Reverse sorting order, True or False. +proc_reversed = false + +#* Show processes as a tree. +proc_tree = false + +#* Use the cpu graph colors in the process list. +proc_colors = true + +#* Use a darkening gradient in the process list. +proc_gradient = true + +#* If process cpu usage should be of the core it's running on or usage of the total available cpu power. +proc_per_core = false + +#* Show process memory as bytes instead of percent. +proc_mem_bytes = true + +#* Show cpu graph for each process. +proc_cpu_graphs = true + +#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate) +proc_info_smaps = false + +#* Show proc box on left side of screen instead of right. +proc_left = false + +#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop). +proc_filter_kernel = false + +#* In tree-view, always accumulate child process resources in the parent process. +proc_aggregate = false + +#* Should cpu and memory usage display be preserved for dead processes when paused. +keep_dead_proc_usage = false + +#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available. +#* Select from a list of detected attributes from the options menu. +cpu_graph_upper = "Auto" + +#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available. +#* Select from a list of detected attributes from the options menu. +cpu_graph_lower = "Auto" + +#* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off". +show_gpu_info = "Auto" + +#* Toggles if the lower CPU graph should be inverted. +cpu_invert_lower = true + +#* Set to True to completely disable the lower CPU graph. +cpu_single_graph = false + +#* Show cpu box at bottom of screen instead of top. +cpu_bottom = false + +#* Shows the system uptime in the CPU box. +show_uptime = true + +#* Shows the CPU package current power consumption in watts. Requires running `make setcap` or `make setuid` or running with sudo. +show_cpu_watts = true + +#* Show cpu temperature. +check_temp = true + +#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors. +cpu_sensor = "Auto" + +#* Show temperatures for cpu cores also if check_temp is True and sensors has been found. +show_coretemp = true + +#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core. +#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine. +#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries. +#* Example: "4:0 5:1 6:3" +cpu_core_map = "" + +#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine". +temp_scale = "celsius" + +#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024. +base_10_sizes = false + +#* Show CPU frequency. +show_cpu_freq = true + +#* How to calculate CPU frequency, available values: "first", "range", "lowest", "highest" and "average". +freq_mode = "first" + +#* Draw a clock at top of screen, formatting according to strftime, empty string to disable. +#* Special formatting: /host = hostname | /user = username | /uptime = system uptime +clock_format = "%X" + +#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort. +background_update = true + +#* Custom cpu model name, empty string to disable. +custom_cpu_name = "" + +#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ". +#* Only disks matching the filter will be shown. Prepend exclude= to only show disks not matching the filter. Examples: disk_filter="/boot /home/user", disks_filter="exclude=/boot /home/user" +disks_filter = "" + +#* Show graphs instead of meters for memory values. +mem_graphs = true + +#* Show mem box below net box instead of above. +mem_below_net = false + +#* Count ZFS ARC in cached and available memory. +zfs_arc_cached = true + +#* If swap memory should be shown in memory box. +show_swap = true + +#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk. +swap_disk = true + +#* If mem box should be split to also show disks info. +show_disks = true + +#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar. +only_physical = true + +#* Read disks list from /etc/fstab. This also disables only_physical. +use_fstab = true + +#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool) +zfs_hide_datasets = false + +#* Set to true to show available disk space for privileged users. +disk_free_priv = false + +#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view. +show_io_stat = true + +#* Toggles io mode for disks, showing big graphs for disk read/write speeds. +io_mode = false + +#* Set to True to show combined read/write io graphs in io mode. +io_graph_combined = false + +#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ". +#* Example: "/mnt/media:100 /:20 /boot:1". +io_graph_speeds = "" + +#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False. +net_download = 100 + +net_upload = 100 + +#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest. +net_auto = true + +#* Sync the auto scaling for download and upload to whichever currently has the highest scale. +net_sync = true + +#* Starts with the Network Interface specified here. +net_iface = "" + +#* "True" shows bitrates in base 10 (Kbps, Mbps). "False" shows bitrates in binary sizes (Kibps, Mibps, etc.). "Auto" uses base_10_sizes. +base_10_bitrate = "Auto" + +#* Show battery stats in top right if battery is present. +show_battery = true + +#* Which battery to use if multiple are present. "Auto" for auto detection. +selected_battery = "Auto" + +#* Show power stats of battery next to charge indicator. +show_battery_watts = true + +#* Set loglevel for "~/.local/state/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG". +#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info. +log_level = "WARNING" + +#* Automatically save current settings to config file on exit. +save_config_on_exit = true + +#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards. +nvml_measure_pcie_speeds = true + +#* Measure PCIe throughput on AMD cards, may impact performance on certain cards. +rsmi_measure_pcie_speeds = true + +#* Horizontally mirror the GPU graph. +gpu_mirror_graph = true + +#* Set which GPU vendors to show. Available values are "nvidia amd intel" +shown_gpus = "nvidia amd intel" + +#* Custom gpu0 model name, empty string to disable. +custom_gpu_name0 = "" + +#* Custom gpu1 model name, empty string to disable. +custom_gpu_name1 = "" + +#* Custom gpu2 model name, empty string to disable. +custom_gpu_name2 = "" + +#* Custom gpu3 model name, empty string to disable. +custom_gpu_name3 = "" + +#* Custom gpu4 model name, empty string to disable. +custom_gpu_name4 = "" + +#* Custom gpu5 model name, empty string to disable. +custom_gpu_name5 = "" diff --git a/desktopenvs/hyprlua/btop/themes/cyberqueer.theme b/desktopenvs/hyprlua/btop/themes/cyberqueer.theme new file mode 100644 index 0000000..92a4b8b --- /dev/null +++ b/desktopenvs/hyprlua/btop/themes/cyberqueer.theme @@ -0,0 +1,92 @@ +#Bashtop monokai theme +#by aristocratos + +# Colors should be in 6 or 2 character hexadecimal or single spaced rgb decimal: "#RRGGBB", "#BW" or "0-255 0-255 0-255" +# example for white: "#FFFFFF", "#ff" or "255 255 255". + +# All graphs and meters can be gradients +# For single color graphs leave "mid" and "end" variable empty. +# Use "start" and "end" variables for two color gradient +# Use "start", "mid" and "end" for three color gradient + +# Main background, empty for terminal default, need to be empty if you want transparent background +theme[main_bg]="#1a1a1a" + +# Main text color +theme[main_fg]="#E40046" + +# Title color for boxes +theme[title]="#d6abab" + +# Highlight color for keyboard shortcuts +theme[hi_fg]="#f50505" + +# Background color of selected item in processes box +theme[selected_bg]="#7a1137" + +# Foreground color of selected item in processes box +theme[selected_fg]="#F8F8F2" + +# Color of inactive/disabled text +theme[inactive_fg]="#5018dd" + +# Color of text appearing on top of graphs, i.e uptime and current network graph scaling +theme[graph_text]="#797667" + +# Misc colors for processes box including mini cpu graphs, details memory graph and details status text +theme[proc_misc]="#A6E22E" + +# Cpu box outline color +theme[cpu_box]="#5018dd" + +# Memory/disks box outline color +theme[mem_box]="#5018dd" + +# Net up/down box outline color +theme[net_box]="#5018dd" + +# Processes box outline color +theme[proc_box]="#5018dd" + +# Box divider line and small boxes line color +theme[div_line]="#5018dd" + +# Temperature graph colors +theme[temp_start]="#5018dd" +theme[temp_mid]="#E40046" +theme[temp_end]="#f50505" + +# CPU graph colors +theme[cpu_start]="#5018dd" +theme[cpu_mid]="#E40046" +theme[cpu_end]="#f50505" + +# Mem/Disk free meter +theme[free_start]="#5018dd" +theme[free_mid]="#E40046" +theme[free_end]="#f50505" + +# Mem/Disk cached meter +theme[cached_start]="#5018dd" +theme[cached_mid]="#E40046" +theme[cached_end]="#f50505" + +# Mem/Disk available meter +theme[available_start]="#5018dd" +theme[available_mid]="#E40046" +theme[available_end]="#f50505" + +# Mem/Disk used meter +theme[used_start]="#5018dd" +theme[used_mid]="#E40046" +theme[used_end]="#f50505" + +# Download graph colors +theme[download_start]="#5018dd" +theme[download_mid]="#E40046" +theme[download_end]="#f50505" + +# Upload graph colors +theme[upload_start]="#5018dd" +theme[upload_mid]="#E40046" +theme[upload_end]="#f50505" diff --git a/desktopenvs/hyprlua/config-updater/update-configs.sh b/desktopenvs/hyprlua/config-updater/update-configs.sh new file mode 100755 index 0000000..5321428 --- /dev/null +++ b/desktopenvs/hyprlua/config-updater/update-configs.sh @@ -0,0 +1,123 @@ +#!/usr/bin/env bash +# update-configs — sync dotfiles configs into ~/.config +# +# Config: ~/.config/config-updater/updater.conf +# Manifest: ~/.config/config-updater/manifest + +set -euo pipefail + +CONF_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/config-updater" +CONF_FILE="${CONF_DIR}/updater.conf" +MANIFEST="${CONF_DIR}/manifest" +TARGET="${XDG_CONFIG_HOME:-$HOME/.config}" + +RED='\033[0;31m'; YEL='\033[1;33m'; GRN='\033[0;32m'; DIM='\033[2m'; RST='\033[0m' +err() { printf "${RED}✖ %s${RST}\n" "$*" >&2; } +warn() { printf "${YEL}⚠ %s${RST}\n" "$*"; } +ok() { printf "${GRN}✔ %s${RST}\n" "$*"; } +note() { printf "${DIM} %s${RST}\n" "$*"; } +die() { err "$*"; exit 1; } + +[[ -f "$CONF_FILE" ]] || die "Config not found: $CONF_FILE" + +# ── parse updater.conf ──────────────────────────────────────────────────────── +SOURCE_BASE="" +declare -A ENTRY_TYPE # name → config | flat | ignore + +while IFS= read -r line; do + line="${line%%#*}" + line="${line#"${line%%[! ]*}"}" + line="${line%"${line##*[! ]}"}" + [[ -z "$line" ]] && continue + + if [[ "$line" =~ ^SOURCE_BASE[[:space:]]*=[[:space:]]*(.+)$ ]]; then + src="${BASH_REMATCH[1]%"${BASH_REMATCH[1]##*[! ]}"}" + SOURCE_BASE="${src/#\~/$HOME}" + continue + fi + + read -r type name _rest <<< "$line" + [[ -z "${name:-}" ]] && continue + case "$type" in + config|flat|ignore) ENTRY_TYPE["$name"]="$type" ;; + *) warn "Unknown type '$type' for '$name' — skipping" ;; + esac +done < "$CONF_FILE" + +[[ -n "$SOURCE_BASE" ]] || die "SOURCE_BASE not defined in $CONF_FILE" +[[ -d "$SOURCE_BASE" ]] || die "SOURCE_BASE not found: $SOURCE_BASE" + +# ── load previous manifest ──────────────────────────────────────────────────── +declare -A PREV_MANIFEST +if [[ -f "$MANIFEST" ]]; then + while IFS=: read -r mtype mname; do + [[ -n "${mtype:-}" && -n "${mname:-}" ]] && PREV_MANIFEST["$mname"]="$mtype" + done < "$MANIFEST" +fi + +warned=0 + +# ── warn: manifest entries no longer in updater.conf ───────────────────────── +for mname in "${!PREV_MANIFEST[@]}"; do + [[ -n "${ENTRY_TYPE[$mname]:-}" ]] && continue + warn "'$mname' was previously managed but is no longer in updater.conf" + note "Remove ~/.config/$mname manually if it is no longer needed" + warned=1 +done + +# ── warn: source items not covered by updater.conf ─────────────────────────── +while IFS= read -r -d '' item; do + name="$(basename "$item")" + [[ "$name" == .* ]] && continue + [[ -n "${ENTRY_TYPE[$name]:-}" ]] && continue + warn "Untracked source item: '$name' — add to updater.conf (config / flat / ignore)" + warned=1 +done < <(find "$SOURCE_BASE" -maxdepth 1 -mindepth 1 -print0 | sort -z) + +(( warned )) && printf '\n' + +# ── apply ───────────────────────────────────────────────────────────────────── +errors=0 +new_manifest=() + +for name in "${!ENTRY_TYPE[@]}"; do + type="${ENTRY_TYPE[$name]}" + [[ "$type" == ignore ]] && continue + + src="${SOURCE_BASE}/${name}" + if [[ ! -e "$src" ]]; then + err "Source missing: $src" + (( errors++ )) || true + continue + fi + + case "$type" in + config) + rm -rf "${TARGET:?}/${name}" + cp -r "$src" "$TARGET/$name" + ok "config $name" + ;; + flat) + [[ -d "$src" ]] || { + err "flat entry '$name' must be a directory: $src" + (( errors++ )) || true + continue + } + cp -r "${src}/." "$TARGET/" + ok "flat $name → (contents into ~/.config/)" + ;; + esac + + new_manifest+=("${type}:${name}") +done + +# ── write manifest ──────────────────────────────────────────────────────────── +printf '%s\n' "${new_manifest[@]}" | sort > "$MANIFEST" + +printf '\n' +if (( errors > 0 )); then + err "$errors error(s) — manifest may be incomplete" + exit 1 +else + ok "Done — manifest updated at $MANIFEST" +fi diff --git a/desktopenvs/hyprlua/config-updater/updater.conf b/desktopenvs/hyprlua/config-updater/updater.conf new file mode 100644 index 0000000..203880b --- /dev/null +++ b/desktopenvs/hyprlua/config-updater/updater.conf @@ -0,0 +1,42 @@ +# Config updater — defines which dotfiles configs are deployed to ~/.config +# +# SOURCE_BASE base directory containing all configs in the dotfiles +# +# config copy SOURCE_BASE/ to ~/.config/ +# flat copy contents of SOURCE_BASE/ directly into ~/.config/ +# (for installation-specific files that live at the ~/.config root) +# ignore present in source but intentionally not managed here + +SOURCE_BASE = ~/Dotfiles/desktopenvs/hyprland + +# ── deployed as ~/.config/ ───────────────────────────────────────────── +config alacritty +config btop +config dunst +config gtk-3.0 +config hypr +config kitty +config mimeapps.list +config nwg-dock-hyprland +config nwg-drawer +config nwg-panel +config scripts +config ulauncher +config vicinae +config walker +config wofi +config xfce4 + +# ── flat: directory contents copied directly into ~/.config/ ────────────────── +flat hypr-usr # installation-specific: binds, monitors, autostart, etc. + +# ── intentionally not managed here ─────────────────────────────────────────── +ignore config-updater # the updater itself +ignore CRT # referenced from dotfiles path directly in binds.conf +ignore eww # eww bar variant selected and installed separately +ignore eww-nobattery +ignore eww-touch +ignore greetd-tuigreet # deployed to /etc/greetd/ at install time +ignore spicetify # managed separately (spicetify handles its own config) +ignore Vencord # managed separately +ignore waybar # present but inactive; eww bar is used instead diff --git a/desktopenvs/hyprlua/dunst/dunst b/desktopenvs/hyprlua/dunst/dunst new file mode 120000 index 0000000..5b21566 --- /dev/null +++ b/desktopenvs/hyprlua/dunst/dunst @@ -0,0 +1 @@ +/home/themiro/Dotfiles/desktopenvs/hyprland/dunst/ \ No newline at end of file diff --git a/desktopenvs/hyprlua/dunst/dunstrc b/desktopenvs/hyprlua/dunst/dunstrc new file mode 100644 index 0000000..dc2970b --- /dev/null +++ b/desktopenvs/hyprlua/dunst/dunstrc @@ -0,0 +1,492 @@ +# See dunst(5) for all configuration options + +[global] + ### Display ### + + # Which monitor should the notifications be displayed on. + monitor = 0 + + # Display notification on focused monitor. Possible modes are: + # mouse: follow mouse pointer + # keyboard: follow window with keyboard focus + # none: don't follow anything + # + # "keyboard" needs a window manager that exports the + # _NET_ACTIVE_WINDOW property. + # This should be the case for almost all modern window managers. + # + # If this option is set to mouse or keyboard, the monitor option + # will be ignored. + follow = none + + ### Geometry ### + + # The width of the window, excluding the frame. + # dynamic width from 0 to 300 + # width = (0, 300) + # constant width of 300 + width = 300 + + # The height of a single notification, excluding the frame. + # dynamic height from 0 to 300 + height = (0, 300) + # constant height of 300 + # height = 300 + + # Position the notification in the top right corner + origin = top-center + + # Offset from the origin + offset = (10, 50) + + # Scale factor. It is auto-detected if value is 0. + scale = 0 + + # Maximum number of notification (0 means no limit) + notification_limit = 20 + + ### Progress bar ### + + # Turn on the progress bar. It appears when a progress hint is passed with + # for example dunstify -h int:value:12 + progress_bar = true + + # Set the progress bar height. This includes the frame, so make sure + # it's at least twice as big as the frame width. + progress_bar_height = 10 + + # Set the frame width of the progress bar + progress_bar_frame_width = 1 + + # Set the minimum width for the progress bar + progress_bar_min_width = 150 + + # Set the maximum width for the progress bar + progress_bar_max_width = 300 + + # Corner radius for the progress bar. 0 disables rounded corners. + progress_bar_corner_radius = 0 + + # Define which corners to round when drawing the progress bar. If progress_bar_corner_radius + # is set to 0 this option will be ignored. + progress_bar_corners = all + + # Corner radius for the image. + icon_corner_radius = 23 + + # Define which corners to round when drawing the icon image. If icon_corner_radius + # is set to 0 this option will be ignored. + icon_corners = all + + # Show how many messages are currently hidden (because of + # notification_limit). + indicate_hidden = yes + + # The transparency of the window. Range: [0; 100]. + # This option will only work if a compositing window manager is + # present (e.g. xcompmgr, compiz, etc.). (X11 only) + transparency = 0 + + # Draw a line of "separator_height" pixel height between two + # notifications. + # Set to 0 to disable. + # If gap_size is greater than 0, this setting will be ignored. + separator_height = 2 + + # Padding between text and separator. + padding = 4 + + # Horizontal padding. + horizontal_padding = 8 + + # Padding between text and icon. + text_icon_padding = 0 + + # Defines width in pixels of frame around the notification window. + # Set to 0 to disable. + frame_width = 3 + + # Defines color of the frame around the notification window. + frame_color = "#aaaaaa" + + # Size of gap to display between notifications - requires a compositor. + # If value is greater than 0, separator_height will be ignored and a border + # of size frame_width will be drawn around each notification instead. + # Click events on gaps do not currently propagate to applications below. + gap_size = 5 + + # Define a color for the separator. + # possible values are: + # * auto: dunst tries to find a color fitting to the background; + # * foreground: use the same color as the foreground; + # * frame: use the same color as the frame; + # * anything else will be interpreted as a X color. + separator_color = frame + + # Sort type. + # possible values are: + # * id: sort by id + # * urgency_ascending: sort by urgency (low then normal then critical) + # * urgency_descending: sort by urgency (critical then normal then low) + # * update: sort by update (most recent always at the top) + sort = yes + + # Don't remove messages, if the user is idle (no mouse or keyboard input) + # for longer than idle_threshold seconds. + # Set to 0 to disable. + # A client can set the 'transient' hint to bypass this. See the rules + # section for how to disable this if necessary + # idle_threshold = 120 + + ### Text ### + + font = Agave Nerd Font 12 + + # The spacing between lines. If the height is smaller than the + # font height, it will get raised to the font height. + line_height = 0 + + # Possible values are: + # full: Allow a small subset of html markup in notifications: + # bold + # italic + # strikethrough + # underline + # + # For a complete reference see + # . + # + # strip: This setting is provided for compatibility with some broken + # clients that send markup even though it's not enabled on the + # server. Dunst will try to strip the markup but the parsing is + # simplistic so using this option outside of matching rules for + # specific applications *IS GREATLY DISCOURAGED*. + # + # no: Disable markup parsing, incoming notifications will be treated as + # plain text. Dunst will not advertise that it has the body-markup + # capability if this is set as a global setting. + # + # It's important to note that markup inside the format option will be parsed + # regardless of what this is set to. + markup = full + + # The format of the message. Possible variables are: + # %a appname + # %s summary + # %b body + # %i iconname (including its path) + # %I iconname (without its path) + # %p progress value if set ([ 0%] to [100%]) or nothing + # %n progress value if set without any extra characters + # %% Literal % + # Markup is allowed + format = "%s\n%b" + + # Alignment of message text. + # Possible values are "left", "center" and "right". + alignment = center + + # Vertical alignment of message text and icon. + # Possible values are "top", "center" and "bottom". + vertical_alignment = center + + # Show age of message if message is older than show_age_threshold + # seconds. + # Set to -1 to disable. + show_age_threshold = 60 + + # Specify where to make an ellipsis in long lines. + # Possible values are "start", "middle" and "end". + ellipsize = middle + + # Ignore newlines '\n' in notifications. + ignore_newline = no + + # Stack together notifications with the same content + stack_duplicates = true + + # Hide the count of stacked notifications with the same content + hide_duplicate_count = false + + # Display indicators for URLs (U) and actions (A). + show_indicators = yes + + ### Icons ### + + # Recursive icon lookup. You can set a single theme, instead of having to + # define all lookup paths. + enable_recursive_icon_lookup = true + + # Set icon theme (only used for recursive icon lookup) + icon_theme = "Adwaita, breeze" + # You can also set multiple icon themes, with the leftmost one being used first. + # icon_theme = "Adwaita, breeze" + + # Align icons left/right/top/off + icon_position = top + + # Scale small icons up to this size, set to 0 to disable. Helpful + # for e.g. small files or high-dpi screens. In case of conflict, + # max_icon_size takes precedence over this. + min_icon_size = 32 + + # Scale larger icons down to this size, set to 0 to disable + max_icon_size = 128 + + # Paths to default icons (only necessary when not using recursive icon lookup) + icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/ + + ### History ### + + # Should a notification popped up from history be sticky or timeout + # as if it would normally do. + sticky_history = yes + + # Maximum amount of notifications kept in history + history_length = 20 + + ### Misc/Advanced ### + + # dmenu path. + dmenu = /usr/bin/dmenu -p dunst: + + # Browser for opening urls in context menu. + browser = /usr/bin/xdg-open + + # Always run rule-defined scripts, even if the notification is suppressed + always_run_script = true + + # Define the title of the windows spawned by dunst (X11 only) + title = Dunst + + # Define the class of the windows spawned by dunst (X11 only) + class = Dunst + + # Define the corner radius of the notification window + # in pixel size. If the radius is 0, you have no rounded + # corners. + # The radius will be automatically lowered if it exceeds half of the + # notification height to avoid clipping text and/or icons. + corner_radius = 20 + + # Define which corners to round when drawing the window. If the corner radius + # is set to 0 this option will be ignored. + # + # Comma-separated list of the corners. The accepted corner values are bottom-right, + # bottom-left, top-right, top-left, top, bottom, left, right or all. + corners = all + + # Ignore the dbus closeNotification message. + # Useful to enforce the timeout set by dunst configuration. Without this + # parameter, an application may close the notification sent before the + # user defined timeout. + ignore_dbusclose = false + + ### Wayland ### + # These settings are Wayland-specific. They have no effect when using X11 + + # Uncomment this if you want to let notifications appear under fullscreen + # applications (default: overlay) + # layer = top + + # Set this to true to use X11 output on Wayland. + force_xwayland = false + + ### Legacy + + # Use the Xinerama extension instead of RandR for multi-monitor support. + # This setting is provided for compatibility with older nVidia drivers that + # do not support RandR and using it on systems that support RandR is highly + # discouraged. + # + # By enabling this setting dunst will not be able to detect when a monitor + # is connected or disconnected which might break follow mode if the screen + # layout changes. + force_xinerama = false + + ### mouse + + # Defines list of actions for each mouse event + # Possible values are: + # * none: Don't do anything. + # * do_action: Invoke the action determined by the action_name rule. If there is no + # such action, open the context menu. + # * open_url: If the notification has exactly one url, open it. If there are multiple + # ones, open the context menu. + # * close_current: Close current notification. + # * close_all: Close all notifications. + # * context: Open context menu for the notification. + # * context_all: Open context menu for all notifications. + # These values can be strung together for each mouse event, and + # will be executed in sequence. + mouse_left_click = close_current + mouse_middle_click = do_action, close_current + mouse_right_click = close_all + +# Experimental features that may or may not work correctly. Do not expect them +# to have a consistent behaviour across releases. +[experimental] + # Calculate the dpi to use on a per-monitor basis. + # If this setting is enabled the Xft.dpi value will be ignored and instead + # dunst will attempt to calculate an appropriate dpi value for each monitor + # using the resolution and physical size. This might be useful in setups + # where there are multiple screens with very different dpi values. + per_monitor_dpi = false + + +[urgency_low] + # IMPORTANT: colors have to be defined in quotation marks. + # Otherwise the "#" and following would be interpreted as a comment. + background = "#1a1a1a" + foreground = "#5018dd" + frame_color = "#5018dd" + timeout = 10 + # Icon for notifications with low urgency + default_icon = dialog-information + +[urgency_normal] + background = "#1a1a1a" + foreground = "#E40046" + frame_color = "#5018dd" + timeout = 10 + override_pause_level = 30 + # Icon for notifications with normal urgency + default_icon = dialog-information + +[urgency_critical] + background = "#E40046" + foreground = "#5018dd" + frame_color = "#5018dd" + timeout = 0 + override_pause_level = 60 + # Icon for notifications with critical urgency + default_icon = dialog-warning + +# Every section that isn't one of the above is interpreted as a rules to +# override settings for certain messages. +# +# Messages can be matched by +# appname (discouraged, see desktop_entry) +# body +# category +# desktop_entry +# icon +# match_transient +# msg_urgency +# stack_tag +# summary +# +# and you can override the +# background +# foreground +# format +# frame_color +# fullscreen +# new_icon +# set_stack_tag +# set_transient +# set_category +# timeout +# urgency +# icon_position +# skip_display +# history_ignore +# action_name +# word_wrap +# ellipsize +# alignment +# hide_text +# override_pause_level +# +# Shell-like globbing will get expanded. +# +# Instead of the appname filter, it's recommended to use the desktop_entry filter. +# GLib based applications export their desktop-entry name. In comparison to the appname, +# the desktop-entry won't get localized. +# +# You can also allow a notification to appear even when paused. Notification will appear whenever notification's override_pause_level >= dunst's paused level. +# This can be used to set partial pause modes, where more urgent notifications get through, but less urgent stay paused. To do that, you can override the following in the rules: +# override_pause_level = X + +# SCRIPTING +# You can specify a script that gets run when the rule matches by +# setting the "script" option. +# The script will be called as follows: +# script appname summary body icon urgency +# where urgency can be "LOW", "NORMAL" or "CRITICAL". +# +# NOTE: It might be helpful to run dunst -print in a terminal in order +# to find fitting options for rules. + +# Disable the transient hint so that idle_threshold cannot be bypassed from the +# client +#[transient_disable] +# match_transient = yes +# set_transient = no +# +# Make the handling of transient notifications more strict by making them not +# be placed in history. +#[transient_history_ignore] +# match_transient = yes +# history_ignore = yes + +# fullscreen values +# show: show the notifications, regardless if there is a fullscreen window opened +# delay: displays the new notification, if there is no fullscreen window active +# If the notification is already drawn, it won't get undrawn. +# pushback: same as delay, but when switching into fullscreen, the notification will get +# withdrawn from screen again and will get delayed like a new notification +#[fullscreen_delay_everything] +# fullscreen = delay +#[fullscreen_show_critical] +# msg_urgency = critical +# fullscreen = show + +#[espeak] +# summary = "*" +# script = dunst_espeak.sh + +#[script-test] +# summary = "*script*" +# script = dunst_test.sh + +#[ignore] +# # This notification will not be displayed +# summary = "foobar" +# skip_display = true + +#[history-ignore] +# # This notification will not be saved in history +# summary = "foobar" +# history_ignore = yes + +#[skip-display] +# # This notification will not be displayed, but will be included in the history +# summary = "foobar" +# skip_display = yes + +#[signed_on] +# appname = Pidgin +# summary = "*signed on*" +# urgency = low +# +#[signed_off] +# appname = Pidgin +# summary = *signed off* +# urgency = low +# +#[says] +# appname = Pidgin +# summary = *says* +# urgency = critical +# +#[twitter] +# appname = Pidgin +# summary = *twitter.com* +# urgency = normal +# +#[stack-volumes] +# appname = "some_volume_notifiers" +# set_stack_tag = "volume" +# +# vim: ft=cfg diff --git a/desktopenvs/hyprlua/eww-nobattery/eww b/desktopenvs/hyprlua/eww-nobattery/eww new file mode 120000 index 0000000..8cc1b00 --- /dev/null +++ b/desktopenvs/hyprlua/eww-nobattery/eww @@ -0,0 +1 @@ +/home/themiro/Dotfiles/desktopenvs/hyprland/eww/ \ No newline at end of file diff --git a/desktopenvs/hyprlua/eww-nobattery/eww.scss b/desktopenvs/hyprlua/eww-nobattery/eww.scss new file mode 100644 index 0000000..da979e2 --- /dev/null +++ b/desktopenvs/hyprlua/eww-nobattery/eww.scss @@ -0,0 +1,104 @@ +* { + all: unset; // Unsets everything so you can style everything from scratch + font-family: Agave Nerd Font Mono, sans-serif; + font-size: 14pt; +} + +tooltip { + border: solid; + border-width: 3px; + background: #1a1a1a; + color: #5018dd; + border-radius: 25px; +} + + +// Global Styles +.bar { + + color: #b0b4bc; + padding: 10px; +} + +// Styles on classes (see eww.yuck for more information) + +.sidestuff slider { + all: unset; + color: #ffd5cd; +} + +.metric scale trough highlight { + all: unset; + background: #E40046; + + color: #000000; + border-radius: 10px; + +} + +.metric scale trough { + all: unset; + background-color: #5018dd; + border-radius: 50px; + min-height: 3px; + min-width: 50px; + margin-left: 10px; + margin-right: 20px; +} + +.label-ram { + font-size: large; +} + + + +.music,.metric,.clock,.workspace-button { + border: solid; + border-width: 3px; + background: #1a1a1a; + color: #5018dd; + + padding-top:5px; + margin-top:1px; + + padding-bottom:5px; + margin-bottom:1px; + + padding-left:5px; + margin-left:4px; + + padding-right:5px; + margin-right:4px; + + border-radius: 25px; +} + +.workspace-active { + color: #E40046; + +} + +menuitem { + border: solid; + border-width: 3px; + background: #1a1a1a; + color: #5018dd; + + padding-top:2px; + margin-top:3px; + + padding-bottom:2px; + margin-bottom:3px; + + padding-left:2px; + margin-left:3px; + + padding-right:2px; + margin-right:3px; + + border-radius: 25px; + +} +menuitem:hover { + color: #E40046; +} diff --git a/desktopenvs/hyprlua/eww-nobattery/eww.yuck b/desktopenvs/hyprlua/eww-nobattery/eww.yuck new file mode 100644 index 0000000..42bc66d --- /dev/null +++ b/desktopenvs/hyprlua/eww-nobattery/eww.yuck @@ -0,0 +1,114 @@ + +(defwindow bar [monitor] + :monitor monitor + :class "ewwbar" + :windowtype "dock" + :geometry (geometry :x "0%" + :y "1%" + :width "99%" + :height "20px" + :anchor "top center") + :exclusive true + (bar :monitor_ monitor)) + + +(defwidget bar [monitor_] + (centerbox :orientation "h" + (winsworks :monitor monitor_) + (music) + (sidestuff))) + +(defwidget winsworks [monitor] + (box :orientation "h" :space-evenly false :halign "start" + (workspaceWidget :monitor monitor) + (button :onclick "~/Dotfiles/desktopenvs/hyprland/scripts/drawer.sh" :class "music" {" ${activewindow}"}) + ) +) + +(defwidget sidestuff [] + (box :class "sidestuff" :orientation "h" :space-evenly false :halign "end" + (box :class "music" {"󰛳 ${IP}"}) + (metric :label "󰓃" + :value volume + :onchange "pactl set-sink-volume @DEFAULT_SINK@ {}%" + :onclick "killall pavucontrol || hyprctl dispatch exec \[tag +mixer\] pavucontrol") + (box + :tooltip {disks} + (metric :label "" + :value {round((1 - (EWW_DISK["/"].free / EWW_DISK["/"].total)) * 100, 0)} + :onchange "" + :onclick "")) + (clock) + (systray :class "music" :orientation "h" :spacing 2 :space-evenly true) + )) + +(defwidget music [] + (button :class "music" + :orientation "h" + :space-evenly false + :halign "center" + :onclick "~/Dotfiles/desktopenvs/hyprland/scripts/playpause.sh" + {music != "" ? " ${music}" : " None"})) + + +(defwidget metric [label value onchange onclick] + (box :orientation "h" + :class "metric" + :space-evenly false + (button :class "label" :onclick onclick label) + (scale :min 0 + :max 101 + :active {onchange != ""} + :value value + :onchange onchange))) + +(deflisten workspaces "hyprland-workspaces _") + +(defwidget workspaceWidget [monitor] + (eventbox :onscroll "hyprctl dispatch workspace `echo {} | sed 's/up/+/\' | sed 's/down/-/'`1" + (box :class "workspaces" + :space-evenly false + :width 20 + (for i in {workspaces[monitor].workspaces} + (button + :width 20 + :onclick "hyprctl dispatch workspace ${i.id}" + :class "${i.class}" + {i.name == "special:magic" ? "󱂬" : "󱂬${i.name}"}))))) + + +(deflisten workspace-old "~/Dotfiles/desktopenvs/hyprland/scripts/workspace") +(defwidget workspaces-old [] +(literal :content workspace-old)) + +(defpoll music :interval "0.5s" + "~/Dotfiles/desktopenvs/hyprland/scripts/playerget") + + +(defpoll activewindow :interval "0.5s" + "~/Dotfiles/desktopenvs/hyprland/scripts/activewindow") + + +(defpoll IP :interval "5s" + "~/Dotfiles/desktopenvs/hyprland/scripts/ip") + +(defpoll volume :interval "0.5s" + "~/Dotfiles/desktopenvs/hyprland/scripts/getvol") + +(defpoll time :interval "1s" + "date '+%H:%M:%S|%d.%m.%Y'") + +(defwidget clock [] + (box :class "clock" + :tooltip {calender} + (label :text {"${time}"}) + ) +) + +(defpoll calender :interval "600s" + "~/Dotfiles/desktopenvs/hyprland/scripts/calender-fix.sh") + + +(defpoll disks :interval "600s" + "~/Dotfiles/desktopenvs/hyprland/scripts/dysk-phydisks.sh") + diff --git a/desktopenvs/hyprlua/eww-touch/eww b/desktopenvs/hyprlua/eww-touch/eww new file mode 120000 index 0000000..8cc1b00 --- /dev/null +++ b/desktopenvs/hyprlua/eww-touch/eww @@ -0,0 +1 @@ +/home/themiro/Dotfiles/desktopenvs/hyprland/eww/ \ No newline at end of file diff --git a/desktopenvs/hyprlua/eww-touch/eww.scss b/desktopenvs/hyprlua/eww-touch/eww.scss new file mode 100644 index 0000000..90b6e66 --- /dev/null +++ b/desktopenvs/hyprlua/eww-touch/eww.scss @@ -0,0 +1,104 @@ +* { + all: unset; // Unsets everything so you can style everything from scratch + font-family: Agave Nerd Font Mono, sans-serif; + font-size: 27pt; +} + +tooltip { + border: solid; + border-width: 3px; + background: #1a1a1a; + color: #5018dd; + border-radius: 35px; +} + + +// Global Styles +.bar { + + color: #b0b4bc; + padding: 10px; +} + +// Styles on classes (see eww.yuck for more information) + +.sidestuff slider { + all: unset; + color: #ffd5cd; +} + +.metric scale trough highlight { + all: unset; + background: #E40046; + + color: #000000; + border-radius: 10px; + +} + +.metric scale trough { + all: unset; + background-color: #5018dd; + border-radius: 50px; + min-height: 3px; + min-width: 50px; + margin-left: 10px; + margin-right: 20px; +} + +.label-ram { + font-size: large; +} + + + +.music,.metric,.clock,.workspace-button { + border: solid; + border-width: 3px; + background: #1a1a1a; + color: #5018dd; + + padding-top:5px; + margin-top:1px; + + padding-bottom:5px; + margin-bottom:1px; + + padding-left:5px; + margin-left:4px; + + padding-right:5px; + margin-right:4px; + + border-radius: 25px; +} + +.workspace-active { + color: #E40046; + +} + +menuitem { + border: solid; + border-width: 3px; + background: #1a1a1a; + color: #5018dd; + + padding-top:2px; + margin-top:3px; + + padding-bottom:2px; + margin-bottom:3px; + + padding-left:2px; + margin-left:3px; + + padding-right:2px; + margin-right:3px; + + border-radius: 25px; + +} +menuitem:hover { + color: #E40046; +} diff --git a/desktopenvs/hyprlua/eww-touch/eww.yuck b/desktopenvs/hyprlua/eww-touch/eww.yuck new file mode 100644 index 0000000..ebb0cef --- /dev/null +++ b/desktopenvs/hyprlua/eww-touch/eww.yuck @@ -0,0 +1,161 @@ + +(defwindow bar [monitor] + :monitor monitor + :class "ewwbar" + :windowtype "dock" + :geometry (geometry :x "0%" + :y "1%" + :width "99%" + :height "5%" + :anchor "top center") + :exclusive true + (bar :monitor_ monitor)) + +(defpoll battery :interval "2s" + "~/.config/scripts/batteryperc") + + + +(defwidget bar [monitor_] + (centerbox :orientation "h" + (winsworks :monitor monitor_) + (screenrotate ) + (sidestuff))) + +(defwidget winsworks [monitor] + (box :orientation "h" :space-evenly false :halign "start" + (osk) + (box :class "music" {"${battery}"}) + (button :onclick "~/Dotfiles/desktopenvs/hyprland/scripts/drawer.sh" :class "music" {""}) + (metric :label "󰓃 " + :value volume + :onchange "pactl set-sink-volume @DEFAULT_SINK@ {}%" + :onclick "killall pavucontrol || hyprctl dispatch exec \[tag +mixer\] pavucontrol") + + ) +) + +(defwidget sidestuff [] + (box :class "sidestuff" :orientation "h" :space-evenly false :halign "end" + (clock) + (systray :class "music" :orientation "h" :spacing 2 :space-evenly true) + )) + + +(defwidget screenrotate [] +(box :orientation "h" :space-evenly false :halign "center" + (button :class "music" + :orientation "h" + :space-evenly false + :halign "center" + :onclick "hyprctl dispatch workspace -1" + {""} + ) + + (button :class "music" + :orientation "h" + :space-evenly false + :halign "center" + :onclick "~/.config/scripts/screenrotationacw.sh" + {"󱞧"} + ) + (button :class "music" + :orientation "h" + :space-evenly false + :halign "center" + :onclick "hyprctl dispatch killactive" + {""} + ) + (button :class "music" + :orientation "h" + :space-evenly false + :halign "center" + :onclick "~/.config/scripts/screenrotationwcw.sh" + {"󱞫"} + ) + + (button :class "music" + :orientation "h" + :space-evenly false + :halign "center" + :onclick "hyprctl dispatch workspace +1" + {""} + ) + +)) + +(defwidget music [] + (button :class "music" + :orientation "h" + :space-evenly false + :halign "center" + :onclick "~/Dotfiles/desktopenvs/hyprland/scripts/playpause.sh" + {music != "" ? " ${music}" : " None"})) + +(defwidget osk [] + (button :class "music" + :orientation "h" + :space-evenly false + :halign "center" + :onclick "~/.config/scripts/onscreenkb.sh" + {" 󰌌"} + ) +) + +(defwidget metric [label value onchange onclick] + (box :orientation "h" + :class "metric" + :space-evenly false + (button :class "label" :onclick onclick label) + (scale :min 0 + :max 101 + :active {onchange != ""} + :value value + :onchange onchange))) + +(deflisten workspaces "hyprland-workspaces _") + +(defwidget workspaceWidget [monitor] + (eventbox :onscroll "hyprctl dispatch workspace `echo {} | sed 's/up/+/\' | sed 's/down/-/'`1" + (box :class "workspaces" + :space-evenly false + :width 20 + (for i in {workspaces[monitor].workspaces} + (button + :width 20 + :onclick "hyprctl dispatch workspace ${i.id}" + :class "${i.class}" + {i.name == "special:magic" ? "󱂬" : "󱂬${i.name}"}))))) + + +(deflisten workspace-old "~/Dotfiles/desktopenvs/hyprland/scripts/workspace") +(defwidget workspaces-old [] +(literal :content workspace-old)) + +(defpoll music :interval "0.5s" + "~/Dotfiles/desktopenvs/hyprland/scripts/playerget") + + +(defpoll activewindow :interval "0.5s" + "~/Dotfiles/desktopenvs/hyprland/scripts/activewindow") + + +(defpoll IP :interval "5s" + "~/Dotfiles/desktopenvs/hyprland/scripts/ip") + +(defpoll volume :interval "0.5s" + "~/Dotfiles/desktopenvs/hyprland/scripts/getvol") + +(defpoll time :interval "1s" + "date '+%H:%M:%S|%d.%m.%Y'") + +(defwidget clock [] + (box :class "clock" + :tooltip {calender} + (label :text {"${time}"}) + ) +) + + +(defpoll calender :interval "600s" + "~/Dotfiles/desktopenvs/hyprland/scripts/calender-fix.sh") diff --git a/desktopenvs/hyprlua/eww-touch/eww.yuck.old b/desktopenvs/hyprlua/eww-touch/eww.yuck.old new file mode 100644 index 0000000..80642d6 --- /dev/null +++ b/desktopenvs/hyprlua/eww-touch/eww.yuck.old @@ -0,0 +1,150 @@ + +(defwindow bar [monitor] + :monitor monitor + :class "ewwbar" + :windowtype "dock" + :geometry (geometry :x "0%" + :y "1%" + :width "99%" + :height "5%" + :anchor "top center") + :exclusive true + (bar :monitor_ monitor)) + +(defpoll battery :interval "2s" + "~/.config/scripts/batteryperc") + + + +(defwidget bar [monitor_] + (centerbox :orientation "h" + (winsworks :monitor monitor_) + (screenrotate ) + (sidestuff))) + +(defwidget winsworks [monitor] + (box :orientation "h" :space-evenly false :halign "start" + (osk) + (box :class "music" {"${battery}"}) + (workspaceWidget :monitor monitor) + (button :onclick "~/Dotfiles/desktopenvs/hyprland/scripts/drawer.sh" :class "music" {" ${activewindow}"}) + ) +) + +(defwidget sidestuff [] + (box :class "sidestuff" :orientation "h" :space-evenly false :halign "end" + (metric :label "󰓃 " + :value volume + :onchange "pactl set-sink-volume @DEFAULT_SINK@ {}%" + :onclick "hyprctl dispatch exec \[tag +mixer\] hyprpwcenter") + (metric :label " " + :value {round((1 - (EWW_DISK["/"].free / EWW_DISK["/"].total)) * 100, 0)} + :onchange "" + :onclick "") + (clock) + (systray :class "music" :orientation "h" :spacing 2 :space-evenly true) + )) + + +(defwidget screenrotate [] +(box :orientation "h" :space-evenly false :halign "center" + (button :class "music" + :orientation "h" + :space-evenly false + :halign "center" + :onclick "~/.config/scripts/screenrotationacw.sh" + {"󱞧"} + ) + + + (button :class "music" + :orientation "h" + :space-evenly false + :halign "center" + :onclick "hyprctl dispatch killactive" + {""} + ) + (button :class "music" + :orientation "h" + :space-evenly false + :halign "center" + :onclick "~/.config/scripts/screenrotationwcw.sh" + {"󱞫"} + ) +)) + +(defwidget music [] + (button :class "music" + :orientation "h" + :space-evenly false + :halign "center" + :onclick "~/Dotfiles/desktopenvs/hyprland/scripts/playpause.sh" + {music != "" ? " ${music}" : " None"})) + +(defwidget osk [] + (button :class "music" + :orientation "h" + :space-evenly false + :halign "center" + :onclick "~/.config/scripts/onscreenkb.sh" + {" 󰌌"} + ) +) + +(defwidget metric [label value onchange onclick] + (box :orientation "h" + :class "metric" + :space-evenly false + (button :class "label" :onclick onclick label) + (scale :min 0 + :max 101 + :active {onchange != ""} + :value value + :onchange onchange))) + +(deflisten workspaces "hyprland-workspaces _") + +(defwidget workspaceWidget [monitor] + (eventbox :onscroll "hyprctl dispatch workspace `echo {} | sed 's/up/+/\' | sed 's/down/-/'`1" + (box :class "workspaces" + :space-evenly false + :width 20 + (for i in {workspaces[monitor].workspaces} + (button + :width 20 + :onclick "hyprctl dispatch workspace ${i.id}" + :class "${i.class}" + {i.name == "special:magic" ? "󱂬" : "󱂬${i.name}"}))))) + + +(deflisten workspace-old "~/Dotfiles/desktopenvs/hyprland/scripts/workspace") +(defwidget workspaces-old [] +(literal :content workspace-old)) + +(defpoll music :interval "0.5s" + "~/Dotfiles/desktopenvs/hyprland/scripts/playerget") + + +(defpoll activewindow :interval "0.5s" + "~/Dotfiles/desktopenvs/hyprland/scripts/activewindow") + + +(defpoll IP :interval "5s" + "~/Dotfiles/desktopenvs/hyprland/scripts/ip") + +(defpoll volume :interval "0.5s" + "~/Dotfiles/desktopenvs/hyprland/scripts/getvol") + +(defpoll time :interval "1s" + "date '+%H:%M:%S|%d.%m.%Y'") + +(defwidget clock [] + (box :class "clock" + :tooltip {calender} + (label :text {"${time}"}) + ) +) + + +(defpoll calender :interval "600s" + "~/Dotfiles/desktopenvs/hyprland/scripts/calender-fix.sh") diff --git a/desktopenvs/hyprlua/eww/eww b/desktopenvs/hyprlua/eww/eww new file mode 120000 index 0000000..8cc1b00 --- /dev/null +++ b/desktopenvs/hyprlua/eww/eww @@ -0,0 +1 @@ +/home/themiro/Dotfiles/desktopenvs/hyprland/eww/ \ No newline at end of file diff --git a/desktopenvs/hyprlua/eww/eww.scss b/desktopenvs/hyprlua/eww/eww.scss new file mode 100644 index 0000000..da979e2 --- /dev/null +++ b/desktopenvs/hyprlua/eww/eww.scss @@ -0,0 +1,104 @@ +* { + all: unset; // Unsets everything so you can style everything from scratch + font-family: Agave Nerd Font Mono, sans-serif; + font-size: 14pt; +} + +tooltip { + border: solid; + border-width: 3px; + background: #1a1a1a; + color: #5018dd; + border-radius: 25px; +} + + +// Global Styles +.bar { + + color: #b0b4bc; + padding: 10px; +} + +// Styles on classes (see eww.yuck for more information) + +.sidestuff slider { + all: unset; + color: #ffd5cd; +} + +.metric scale trough highlight { + all: unset; + background: #E40046; + + color: #000000; + border-radius: 10px; + +} + +.metric scale trough { + all: unset; + background-color: #5018dd; + border-radius: 50px; + min-height: 3px; + min-width: 50px; + margin-left: 10px; + margin-right: 20px; +} + +.label-ram { + font-size: large; +} + + + +.music,.metric,.clock,.workspace-button { + border: solid; + border-width: 3px; + background: #1a1a1a; + color: #5018dd; + + padding-top:5px; + margin-top:1px; + + padding-bottom:5px; + margin-bottom:1px; + + padding-left:5px; + margin-left:4px; + + padding-right:5px; + margin-right:4px; + + border-radius: 25px; +} + +.workspace-active { + color: #E40046; + +} + +menuitem { + border: solid; + border-width: 3px; + background: #1a1a1a; + color: #5018dd; + + padding-top:2px; + margin-top:3px; + + padding-bottom:2px; + margin-bottom:3px; + + padding-left:2px; + margin-left:3px; + + padding-right:2px; + margin-right:3px; + + border-radius: 25px; + +} +menuitem:hover { + color: #E40046; +} diff --git a/desktopenvs/hyprlua/eww/eww.yuck b/desktopenvs/hyprlua/eww/eww.yuck new file mode 100644 index 0000000..46c445a --- /dev/null +++ b/desktopenvs/hyprlua/eww/eww.yuck @@ -0,0 +1,119 @@ + +(defwindow bar [monitor] + :monitor monitor + :class "ewwbar" + :windowtype "dock" + :geometry (geometry :x "0%" + :y "1%" + :width "99%" + :height "20px" + :anchor "top center") + :exclusive true + (bar :monitor_ monitor)) + +(defpoll battery :interval "2s" + "~/Dotfiles/desktopenvs/hyprland/scripts/batteryperc") + + + +(defwidget bar [monitor_] + (centerbox :orientation "h" + (winsworks :monitor monitor_) + (music) + (sidestuff))) + +(defwidget winsworks [monitor] + (box :orientation "h" :space-evenly false :halign "start" + (box :class "music" {"${battery}"}) + (workspaceWidget :monitor monitor) + (button :onclick "~/Dotfiles/desktopenvs/hyprland/scripts/drawer.sh" :class "music" {" ${activewindow}"}) + ) +) + +(defwidget sidestuff [] + (box :class "sidestuff" :orientation "h" :space-evenly false :halign "end" + (box :class "music" {"󰛳 ${IP}"}) + (metric :label "󰓃" + :value volume + :onchange "pactl set-sink-volume @DEFAULT_SINK@ {}%" + :onclick "killall pavucontrol || hyprctl dispatch exec \[tag +mixer\] pavucontrol") + (box + :tooltip {disks} + (metric :label "" + :value {round((1 - (EWW_DISK["/"].free / EWW_DISK["/"].total)) * 100, 0)} + :onchange "" + :onclick "")) + + (clock) + (systray :class "music" :orientation "h" :spacing 2 :space-evenly true) +)) + +(defwidget music [] + (button :class "music" + :orientation "h" + :space-evenly false + :halign "center" + :onclick "~/Dotfiles/desktopenvs/hyprland/scripts/playpause.sh" + {music != "" ? " ${music}" : " None"})) + + +(defwidget metric [label value onchange onclick] + (box :orientation "h" + :class "metric" + :space-evenly false + (button :class "label" :onclick onclick label) + (scale :min 0 + :max 101 + :active {onchange != ""} + :value value + :onchange onchange))) + +(deflisten workspaces "hyprland-workspaces _") + +(defwidget workspaceWidget [monitor] + (eventbox :onscroll "hyprctl dispatch workspace `echo {} | sed 's/up/+/\' | sed 's/down/-/'`1" + (box :class "workspaces" + :space-evenly false + :width 20 + (for i in {workspaces[monitor].workspaces} + (button + :width 20 + :onclick "hyprctl dispatch workspace ${i.id}" + :class "${i.class}" + {i.name == "special:magic" ? "󱂬" : "󱂬${i.name}"}))))) + + +(deflisten workspace-old "~/Dotfiles/desktopenvs/hyprland/scripts/workspace") +(defwidget workspaces-old [] +(literal :content workspace-old)) + +(defpoll music :interval "0.5s" + "~/Dotfiles/desktopenvs/hyprland/scripts/playerget") + + +(defpoll activewindow :interval "0.5s" + "~/Dotfiles/desktopenvs/hyprland/scripts/activewindow") + + +(defpoll IP :interval "5s" + "~/Dotfiles/desktopenvs/hyprland/scripts/ip") + +(defpoll volume :interval "0.5s" + "~/Dotfiles/desktopenvs/hyprland/scripts/getvol") + +(defpoll time :interval "1s" + "date '+%H:%M:%S|%d.%m.%Y'") + +(defwidget clock [] + (box :class "clock" + :tooltip {calender} + (label :text {"${time}"}) + ) +) + +(defpoll calender :interval "600s" + "~/Dotfiles/desktopenvs/hyprland/scripts/calender-fix.sh") + +(defpoll disks :interval "600s" + "~/Dotfiles/desktopenvs/hyprland/scripts/dysk-phydisks.sh") + diff --git a/desktopenvs/hyprlua/greetd-tuigreet/config.toml b/desktopenvs/hyprlua/greetd-tuigreet/config.toml new file mode 100644 index 0000000..df24f86 --- /dev/null +++ b/desktopenvs/hyprlua/greetd-tuigreet/config.toml @@ -0,0 +1,16 @@ +[terminal] +# The VT to run the greeter on. Can be "next", "current" or a number +# designating the VT. +vt = 1 + +# The default session, also known as the greeter. +[default_session] + +# `agreety` is the bundled agetty/login-lookalike. You can replace `/bin/sh` +# with whatever you want started, such as `sway`. +command = "tuigreet --cmd Hyprland" + +# The user to run the command as. The privileges this user must have depends +# on the greeter. A graphical greeter may for example require the user to be +# in the `video` group. +user = "greeter" diff --git a/desktopenvs/hyprlua/gtk-3.0/bookmarks b/desktopenvs/hyprlua/gtk-3.0/bookmarks new file mode 100644 index 0000000..63e3635 --- /dev/null +++ b/desktopenvs/hyprlua/gtk-3.0/bookmarks @@ -0,0 +1 @@ +file://$HOME/Nextcloud diff --git a/desktopenvs/hyprlua/gtk-3.0/settings.ini b/desktopenvs/hyprlua/gtk-3.0/settings.ini new file mode 100644 index 0000000..9be50da --- /dev/null +++ b/desktopenvs/hyprlua/gtk-3.0/settings.ini @@ -0,0 +1,17 @@ +[Settings] +gtk-theme-name=cyberqueer +gtk-icon-theme-name=Papirus-Dark +gtk-font-name=Adwaita Sans 11 +gtk-cursor-theme-name=Nordzy-cursors-lefthand +gtk-cursor-theme-size=50 +gtk-toolbar-style=GTK_TOOLBAR_ICONS +gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR +gtk-button-images=0 +gtk-menu-images=0 +gtk-enable-event-sounds=1 +gtk-enable-input-feedback-sounds=0 +gtk-xft-antialias=1 +gtk-xft-hinting=1 +gtk-xft-hintstyle=hintslight +gtk-xft-rgba=rgb +gtk-application-prefer-dark-theme=0 diff --git a/desktopenvs/hyprlua/hypr-usr/autostart.lua b/desktopenvs/hyprlua/hypr-usr/autostart.lua new file mode 100644 index 0000000..a9c9756 --- /dev/null +++ b/desktopenvs/hyprlua/hypr-usr/autostart.lua @@ -0,0 +1,23 @@ +-- https://wiki.hypr.land/Configuring/Basics/Autostart/ +hl.on("hyprland.start", function() + -- monitorhandler (was exec-once in monitors.conf) + hl.exec_cmd("~/Dotfiles/desktopenvs/hyprlua/scripts/monitorhandler.sh") + + hl.exec_cmd("export QT_QPA_PLATFORMTHEME='' && vicinae server") + hl.exec_cmd("bash ~/Dotfiles/desktopenvs/hyprlua/scripts/bluetooth-applet.sh") + hl.exec_cmd("bash ~/Dotfiles/desktopenvs/hyprlua/scripts/ulwatchdog.sh") + hl.exec_cmd("bash ~/Dotfiles/desktopenvs/hyprlua/scripts/ewwstart.sh") + hl.exec_cmd("udiskie -t -m nested -n") + hl.exec_cmd("~/.config/scripts/unified-rotate.sh cw && sleep 0.3 && ~/.config/scripts/unified-rotate.sh ccw") + hl.exec_cmd("systemctl --user start hyprpolkitagent") + hl.exec_cmd("hyprsunset") + hl.exec_cmd("nm-applet") + hl.exec_cmd("dunst") + hl.exec_cmd("[workspace special:magic silent] kitty") + hl.exec_cmd("hyprctl setcursor Nordzy-cursors-lefthand 50") + hl.exec_cmd("hyprpaper") + hl.exec_cmd("GTK_THEME=Default nwg-dock-hyprland -mb 15 -r -p right -s style.css") + hl.exec_cmd("blueman-applet") + hl.exec_cmd("blueman-tray") + hl.exec_cmd("hypridle") +end) diff --git a/desktopenvs/hyprlua/hypr-usr/binds.lua b/desktopenvs/hyprlua/hypr-usr/binds.lua new file mode 100644 index 0000000..2f683f1 --- /dev/null +++ b/desktopenvs/hyprlua/hypr-usr/binds.lua @@ -0,0 +1,267 @@ +-- https://wiki.hypr.land/Configuring/Basics/Binds/ + +local mainMod = "SUPER" + +local terminal = "kitty" +local fileManager = "thunar" +local editor = "kitty nvim" +local menu = "vicinae toggle" +local winswitch = "" -- TODO: define your window switcher command + +-------------------- +---- LID SWITCH ---- +-------------------- + +hl.bind("switch:on:Lid Switch", hl.dsp.exec_cmd("systemctl suspend &"), { locked = true }) +hl.bind("switch:off:Lid Switch", hl.dsp.exec_cmd("hyprctl dispatch exec hyprlock"), { locked = true }) + +-------------------- +---- GESTURES ------ +-------------------- + +hl.gesture({ fingers = 3, direction = "horizontal", action = "workspace" }) +-- TODO: verify dispatcher syntax for non-built-in gesture actions in Lua: +-- gesture = 3, up, dispatcher, movetoworkspacesilent, special:magic +-- gesture = 3, down, special, magic +-- gesture = 3, pinchin, dispatcher, exec, $menu +-- gesture = 3, pinchout, float +-- gesture = 4, pinchout, close +-- gesture = 4, pinchin, dispatcher, exec, $terminal +-- gesture = 4, down, dispatcher, movetoworkspace, special:magic +-- gesture = 4, up, dispatcher, movetoworkspace, r+0 +-- gesture = 4, left, dispatcher, movetoworkspace, r+1 +-- gesture = 4, right, dispatcher, movetoworkspace, r-1 + +-------------------- +---- APPS ---------- +-------------------- + +hl.bind(mainMod .. " + T", hl.dsp.exec_cmd(terminal)) +hl.bind(mainMod .. " + SHIFT + T", hl.dsp.exec_cmd("cool-retro-term -p ~/Dotfiles/desktopenvs/hyprlua/CRT")) +hl.bind(mainMod .. " + M", hl.dsp.exec_cmd(editor)) +hl.bind(mainMod .. " + E", hl.dsp.exec_cmd(fileManager)) +hl.bind(mainMod .. " + ALT + E", hl.dsp.exec_cmd("pcmanfm-qt")) +hl.bind(mainMod .. " + X", hl.dsp.exec_cmd("wofi --show=run")) +hl.bind(mainMod .. " + N", hl.dsp.exec_cmd("nextcloud")) +hl.bind(mainMod .. " + I", hl.dsp.exec_cmd("iwmenu --launcher walker")) +hl.bind(mainMod .. " + ALT + I", hl.dsp.exec_cmd("bzmenu --launcher walker")) +hl.bind(mainMod .. " + SHIFT + I", hl.dsp.exec_cmd("[tag +mixer] nm-connection-editor")) +hl.bind(mainMod .. " + R", hl.dsp.exec_cmd(menu)) +hl.bind(mainMod .. " + RETURN", hl.dsp.exec_cmd(menu)) +hl.bind(mainMod .. " + SHIFT + RETURN", hl.dsp.exec_cmd(winswitch)) +hl.bind(mainMod .. " + SHIFT + R", hl.dsp.exec_cmd("wofi --show drun")) +hl.bind("CTRL + SHIFT + R", hl.dsp.exec_cmd(menu)) + +hl.bind(mainMod .. " + F", hl.dsp.exec_cmd("~/.config/scripts/wofi-file-search.sh")) +hl.bind(mainMod .. " + SHIFT + F", hl.dsp.exec_cmd("~/.config/scripts/foldersearch.sh")) +hl.bind(mainMod .. " + ALT + F", hl.dsp.exec_cmd("wofi-calc")) + +hl.bind(mainMod .. " + S", hl.dsp.exec_cmd("[tag +mixer] pavucontrol")) +hl.bind(mainMod .. " + U", hl.dsp.exec_cmd("[tag +centered-L] kitty btop")) +hl.bind(mainMod .. " + W", hl.dsp.exec_cmd("[tag +centered-L] kitty -e ~/.config/scripts/wallpaper-picker ~/Pictures")) +hl.bind(mainMod .. " + CTRL + R", hl.dsp.exec_cmd("[tag +centered-L] kitty -e ~/.config/scripts/amssh")) +hl.bind(mainMod .. " + F1", hl.dsp.exec_cmd("[tag +centered] kitty ~/.config/scripts/helpmenu.sh")) +hl.bind(mainMod .. " + CTRL + T", hl.dsp.exec_cmd("[tag +centered-S] kitty bash ~/.config/scripts/timer-pick")) +hl.bind(mainMod .. " + SHIFT + F1", hl.dsp.exec_cmd("[tag +centered-L] kitty nvim ~/.config/binds.lua")) + +hl.bind(mainMod .. " + CTRL + P", hl.dsp.exec_cmd("~/.config/scripts/screenrec.sh")) + +-------------------- +---- WINDOW MGMT --- +-------------------- + +hl.bind(mainMod .. " + Q", hl.dsp.window.close()) +hl.bind(mainMod .. " + V", hl.dsp.window.float({ action = "toggle" })) +hl.bind(mainMod .. " + C", hl.dsp.window.pseudo()) +hl.bind(mainMod .. " + SHIFT + V", hl.dsp.window.tag("+centered")) -- TODO: verify hl.dsp.window.tag() API +hl.bind(mainMod .. " + SHIFT + Q", hl.dsp.exec_cmd("hyprctl kill")) + +hl.bind(mainMod .. " + CTRL + M", hl.dsp.exec_cmd("~/.config/scripts/toggle-layout.sh")) + +-- lock/exit +hl.bind(mainMod .. " + O", hl.dsp.exec_cmd("hyprlock")) +hl.bind(mainMod .. " + SHIFT + O", hl.dsp.exec_cmd("hyprctl dispatch exit")) +hl.bind(mainMod .. " + CTRL + O", hl.dsp.exec_cmd("systemctl poweroff")) +hl.bind(mainMod .. " + ALT + O", hl.dsp.exec_cmd("~/.config/scripts/pwr-dmenu.sh")) +hl.bind(mainMod .. " + ALT + CTRL + SHIFT + END", hl.dsp.exit()) + +-- bar / ui +hl.bind(mainMod .. " + Z", hl.dsp.exec_cmd("~/.config/scripts/togglebar.sh")) +hl.bind(mainMod .. " + CTRL + B", hl.dsp.exec_cmd("eww reload")) + +-------------------- +---- FOCUS --------- +-------------------- + +hl.bind(mainMod .. " + h", hl.dsp.focus({ direction = "left" })) +hl.bind(mainMod .. " + l", hl.dsp.focus({ direction = "right" })) +hl.bind(mainMod .. " + k", hl.dsp.focus({ direction = "up" })) +hl.bind(mainMod .. " + j", hl.dsp.focus({ direction = "down" })) +hl.bind(mainMod .. " + left", hl.dsp.focus({ direction = "left" })) +hl.bind(mainMod .. " + right", hl.dsp.focus({ direction = "right" })) +hl.bind(mainMod .. " + up", hl.dsp.focus({ direction = "up" })) +hl.bind(mainMod .. " + down", hl.dsp.focus({ direction = "down" })) + +hl.bind(mainMod .. " + TAB", hl.dsp.focus({ cycle = true })) -- TODO: verify cycle focus API +hl.bind(mainMod .. " + SHIFT + TAB", hl.dsp.exec_cmd(winswitch)) + +-------------------- +---- MOVE WINDOW --- +-------------------- + +hl.bind(mainMod .. " + SHIFT + left", hl.dsp.window.move({ direction = "left" })) +hl.bind(mainMod .. " + SHIFT + right", hl.dsp.window.move({ direction = "right" })) +hl.bind(mainMod .. " + SHIFT + up", hl.dsp.window.move({ direction = "up" })) +hl.bind(mainMod .. " + SHIFT + down", hl.dsp.window.move({ direction = "down" })) +hl.bind(mainMod .. " + SHIFT + h", hl.dsp.window.move({ direction = "left" })) +hl.bind(mainMod .. " + SHIFT + l", hl.dsp.window.move({ direction = "right" })) +hl.bind(mainMod .. " + SHIFT + k", hl.dsp.window.move({ direction = "up" })) +hl.bind(mainMod .. " + SHIFT + j", hl.dsp.window.move({ direction = "down" })) + +-- mouse drag / resize +hl.bind(mainMod .. " + mouse:272", hl.dsp.window.drag(), { mouse = true }) +hl.bind(mainMod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true }) +hl.bind(mainMod .. " + SHIFT + mouse:272", hl.dsp.window.resize(), { mouse = true }) + +-------------------- +---- RESIZE -------- +-------------------- + +hl.bind(mainMod .. " + ALT + right", hl.dsp.window.resize({ delta = "10 0" }), { repeating = true }) -- TODO: verify resize delta API +hl.bind(mainMod .. " + ALT + left", hl.dsp.window.resize({ delta = "-10 0" }), { repeating = true }) +hl.bind(mainMod .. " + ALT + up", hl.dsp.window.resize({ delta = "0 -10" }), { repeating = true }) +hl.bind(mainMod .. " + ALT + down", hl.dsp.window.resize({ delta = "0 10" }), { repeating = true }) +hl.bind(mainMod .. " + ALT + l", hl.dsp.window.resize({ delta = "10 0" }), { repeating = true }) +hl.bind(mainMod .. " + ALT + h", hl.dsp.window.resize({ delta = "-10 0" }), { repeating = true }) +hl.bind(mainMod .. " + ALT + k", hl.dsp.window.resize({ delta = "0 -10" }), { repeating = true }) +hl.bind(mainMod .. " + ALT + j", hl.dsp.window.resize({ delta = "0 10" }), { repeating = true }) + +-------------------- +---- WORKSPACES ---- +-------------------- + +for i = 1, 9 do + hl.bind(mainMod .. " + " .. i, hl.dsp.focus({ workspace = i })) + hl.bind(mainMod .. " + SHIFT + " .. i, hl.dsp.window.move({ workspace = i })) +end +hl.bind(mainMod .. " + 0", hl.dsp.focus({ workspace = 10 })) +hl.bind(mainMod .. " + SHIFT + 0", hl.dsp.window.move({ workspace = 10 })) + +-- relative workspace nav — arrows +hl.bind(mainMod .. " + CTRL + right", hl.dsp.focus({ workspace = "r+1" })) +hl.bind(mainMod .. " + CTRL + left", hl.dsp.focus({ workspace = "r-1" })) +hl.bind(mainMod .. " + CTRL + SHIFT + right", hl.dsp.window.move({ workspace = "r+1" })) +hl.bind(mainMod .. " + CTRL + SHIFT + left", hl.dsp.window.move({ workspace = "r-1" })) + +-- relative workspace nav — vim +hl.bind(mainMod .. " + CTRL + l", hl.dsp.focus({ workspace = "r+1" })) +hl.bind(mainMod .. " + CTRL + h", hl.dsp.focus({ workspace = "r-1" })) +hl.bind(mainMod .. " + CTRL + SHIFT + l", hl.dsp.window.move({ workspace = "r+1" })) +hl.bind(mainMod .. " + CTRL + SHIFT + h", hl.dsp.window.move({ workspace = "r-1" })) + +-- scroll through workspaces +hl.bind(mainMod .. " + mouse_down", hl.dsp.focus({ workspace = "r+1" })) +hl.bind(mainMod .. " + mouse_up", hl.dsp.focus({ workspace = "r-1" })) + +-- volume keys as workspace nav (when mainMod held) +hl.bind(mainMod .. " + XF86AudioRaiseVolume", hl.dsp.focus({ workspace = "r+1" }), { repeating = true }) +hl.bind(mainMod .. " + XF86AudioLowerVolume", hl.dsp.focus({ workspace = "r-1" }), { repeating = true }) +hl.bind(mainMod .. " + SHIFT + XF86AudioRaiseVolume", hl.dsp.window.move({ workspace = "r+1" })) +hl.bind(mainMod .. " + SHIFT + XF86AudioLowerVolume", hl.dsp.window.move({ workspace = "r-1" })) + +-------------------- +---- SCRATCHPAD ---- +-------------------- + +hl.bind(mainMod .. " + SPACE", hl.dsp.workspace.toggle_special("magic")) +hl.bind(mainMod .. " + SHIFT + SPACE", hl.dsp.window.move({ workspace = "special:magic" })) +hl.bind(mainMod .. " + CTRL + up", hl.dsp.workspace.toggle_special("magic")) +hl.bind(mainMod .. " + CTRL + SHIFT + up", hl.dsp.window.move({ workspace = "special:magic" })) +hl.bind(mainMod .. " + CTRL + SHIFT + down", hl.dsp.window.move({ workspace = "empty" })) +hl.bind(mainMod .. " + CTRL + down", hl.dsp.window.move({ workspace = "special:magic", silent = true })) +hl.bind(mainMod .. " + CTRL + k", hl.dsp.workspace.toggle_special("magic")) +hl.bind(mainMod .. " + CTRL + j", hl.dsp.window.move({ workspace = "special:magic", silent = true })) +hl.bind(mainMod .. " + CTRL + SHIFT + j", hl.dsp.window.move({ workspace = "r+0" })) +hl.bind(mainMod .. " + CTRL + SHIFT + k", hl.dsp.window.move({ workspace = "special:magic" })) +hl.bind(mainMod .. " + XF86AudioMute", hl.dsp.workspace.toggle_special("magic"), { repeating = true }) +hl.bind(mainMod .. " + SHIFT + XF86AudioMute", hl.dsp.window.move({ workspace = "special:magic" }), { repeating = true }) + +-------------------- +---- GROUPS -------- +-------------------- + +hl.bind(mainMod .. " + ALT + C", hl.dsp.group.toggle()) -- TODO: verify hl.dsp.group API +hl.bind(mainMod .. " + CTRL + SHIFT + C", hl.dsp.group.lock_active("toggle")) +hl.bind(mainMod .. " + A", hl.dsp.group.change_active("f")) +hl.bind(mainMod .. " + Y", hl.dsp.group.change_active("b")) + +hl.bind(mainMod .. " + SHIFT + ALT + left", hl.dsp.group.move_window("l")) +hl.bind(mainMod .. " + SHIFT + ALT + right", hl.dsp.group.move_window("r")) +hl.bind(mainMod .. " + SHIFT + ALT + up", hl.dsp.group.move_window("u")) +hl.bind(mainMod .. " + SHIFT + ALT + down", hl.dsp.group.move_window("d")) +hl.bind(mainMod .. " + SHIFT + ALT + h", hl.dsp.group.move_window("l")) +hl.bind(mainMod .. " + SHIFT + ALT + l", hl.dsp.group.move_window("r")) +hl.bind(mainMod .. " + SHIFT + ALT + k", hl.dsp.group.move_window("u")) +hl.bind(mainMod .. " + SHIFT + ALT + j", hl.dsp.group.move_window("d")) + +-------------------- +---- NWG-DOCK ------ +-------------------- + +hl.bind(mainMod .. " + SHIFT + W", hl.dsp.exec_cmd("killall nwg-dock-hyprland && nwg-dock-hyprland -c ~/.config/scripts/drawer.sh -ml 15 -r -s style.css -p left")) +hl.bind(mainMod .. " + SHIFT + E", hl.dsp.exec_cmd("killall nwg-dock-hyprland && nwg-dock-hyprland -c ~/.config/scripts/drawer.sh -mr 15 -r -s style.css -p right")) +hl.bind(mainMod .. " + SHIFT + S", hl.dsp.exec_cmd("killall nwg-dock-hyprland && nwg-dock-hyprland -c ~/.config/scripts/drawer.sh -mt 80 -r -s style.css -p top")) +hl.bind(mainMod .. " + SHIFT + D", hl.dsp.exec_cmd("killall nwg-dock-hyprland && nwg-dock-hyprland -c ~/.config/scripts/drawer.sh -mb 15 -r -s style.css -p bottom")) +hl.bind(mainMod .. " + D", hl.dsp.exec_cmd("nwg-dock-hyprland"), { release = true }) +hl.bind(mainMod .. " + SHIFT + A", hl.dsp.exec_cmd("~/.config/scripts/drawer.sh")) + +-------------------- +---- SCREENSHOT ---- +-------------------- + +hl.bind("Print", hl.dsp.exec_cmd("~/.config/scripts/screenshot.sh")) +hl.bind(mainMod .. " + P", hl.dsp.exec_cmd("~/.config/scripts/screenshot.sh")) +hl.bind(mainMod .. " + SHIFT + P", hl.dsp.exec_cmd("hyprpicker | wl-copy")) +hl.bind(mainMod .. " + CTRL + P", hl.dsp.exec_cmd("~/.config/scripts/screenrec.sh")) + +-------------------- +---- AUDIO --------- +-------------------- + +hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%+"), { repeating = true }) +hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%-"), { repeating = true }) +hl.bind("XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle")) +hl.bind("XF86AudioMicMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle")) +hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("playerctl play-pause -p spotify,vlc"), { locked = true }) + +-------------------- +---- BRIGHTNESS ---- +-------------------- + +hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd("bri --up"), { locked = true, repeating = true }) +hl.bind("XF86MonBrightnessDown", hl.dsp.exec_cmd("bri --down"), { locked = true, repeating = true }) + +-------------------- +---- HYPRSUNSET ---- +-------------------- + +hl.bind(mainMod .. " + CTRL + W", hl.dsp.exec_cmd("hyprctl hyprsunset gamma +10")) +hl.bind(mainMod .. " + CTRL + S", hl.dsp.exec_cmd("hyprctl hyprsunset gamma -10")) +hl.bind(mainMod .. " + CTRL + A", hl.dsp.exec_cmd("hyprctl hyprsunset temperature +450")) +hl.bind(mainMod .. " + CTRL + Q", hl.dsp.exec_cmd("hyprctl hyprsunset temperature -450")) +hl.bind(mainMod .. " + CTRL + X", hl.dsp.exec_cmd("hyprctl hyprsunset identity")) + +-------------------- +---- MISC ---------- +-------------------- + +hl.bind(mainMod .. " + CTRL + I", hl.dsp.exec_cmd("chamel toggle")) +hl.bind(mainMod .. " + CTRL + U", hl.dsp.exec_cmd("chamel clear")) +hl.bind(mainMod .. " + CTRL + Z", hl.dsp.exec_cmd("chamel clear-and-deactivate")) +hl.bind(mainMod .. " + CTRL + C", hl.dsp.exec_cmd("dunstctl close-all")) +hl.bind(mainMod .. " + CTRL + G", hl.dsp.exec_cmd("~/.config/scripts/onscreenkb.sh")) +hl.bind(mainMod .. " + SHIFT + C", hl.dsp.exec_cmd("~/.config/scripts/caffeine.sh")) +hl.bind(mainMod .. " + SHIFT + X", hl.dsp.exec_cmd("~/.config/scripts/hyprland-toggle-touchpad.sh")) + +hl.bind(mainMod .. " + CTRL + E", hl.dsp.exec_cmd("~/.config/scripts/screenrotationwcw.sh")) +hl.bind(mainMod .. " + CTRL + D", hl.dsp.exec_cmd("~/.config/scripts/screenrotationacw.sh")) diff --git a/desktopenvs/hyprlua/hypr-usr/envvars.lua b/desktopenvs/hyprlua/hypr-usr/envvars.lua new file mode 100644 index 0000000..d3eb38a --- /dev/null +++ b/desktopenvs/hyprlua/hypr-usr/envvars.lua @@ -0,0 +1,7 @@ +hl.env("GTK_THEME", "cyberqueer") +hl.env("GDK_SCALE", "2") +hl.env("XCURSOR_SIZE", "40") +hl.env("HYPRCURSOR_SIZE", "40") +hl.env("QT_QPA_PLATFORMTHEME", "qt6ct") +hl.env("QT_STYLE_OVERRIDE", "Fusion") +hl.env("QT_STYLE_SHEET", "~/.config/qt6ct/qss/style.qss") diff --git a/desktopenvs/hyprlua/hypr-usr/input.lua b/desktopenvs/hyprlua/hypr-usr/input.lua new file mode 100644 index 0000000..7543226 --- /dev/null +++ b/desktopenvs/hyprlua/hypr-usr/input.lua @@ -0,0 +1,16 @@ +-- https://wiki.hypr.land/Configuring/Basics/Variables/ +hl.config({ + input = { + kb_layout = "de", + kb_variant = "", + kb_model = "", + kb_options = "caps:swapescape", + kb_rules = "", + left_handed = true, + follow_mouse = 1, + sensitivity = 0, + touchpad = { + natural_scroll = false, + }, + }, +}) diff --git a/desktopenvs/hyprlua/hypr-usr/monitors.lua b/desktopenvs/hyprlua/hypr-usr/monitors.lua new file mode 100644 index 0000000..259f532 --- /dev/null +++ b/desktopenvs/hyprlua/hypr-usr/monitors.lua @@ -0,0 +1,13 @@ +-- https://wiki.hypr.land/Configuring/Basics/Monitors/ +hl.monitor({ + output = "", + mode = "highres", + position = "auto", + scale = 2, +}) + +hl.config({ + xwayland = { + force_zero_scaling = true, + }, +}) diff --git a/desktopenvs/hyprlua/hypr-usr/wallpaper.conf b/desktopenvs/hyprlua/hypr-usr/wallpaper.conf new file mode 100644 index 0000000..b852451 --- /dev/null +++ b/desktopenvs/hyprlua/hypr-usr/wallpaper.conf @@ -0,0 +1,7 @@ +# template for ~/.config/wallpaper.conf — sourced by hypr/hyprpaper.conf, +# rewritten by ~/.config/scripts/wallpaper-picker +wallpaper { + monitor = + path = ~/Pictures/background.jpg + fit_mode = cover +} diff --git a/desktopenvs/hyprlua/hypr-usr/windowrules.conf.old b/desktopenvs/hyprlua/hypr-usr/windowrules.conf.old new file mode 100644 index 0000000..8d8d399 --- /dev/null +++ b/desktopenvs/hyprlua/hypr-usr/windowrules.conf.old @@ -0,0 +1,109 @@ +layerrule = ignorezero, nwg-dock +workspace = w[tv1]s[false], gapsout:0, gapsin:0 +workspace = f[1]s[false], gapsout:0, gapsin:0 +windowrule = bordersize 2, floating:0, onworkspace:w[tv1]s[false] +windowrule = rounding 4, floating:0, onworkspace:w[tv1]s[false] +windowrule = bordersize 2, floating:0, onworkspace:f[1]s[false] +windowrule = rounding 4, floating:0, onworkspace:f[1]s[false] +# Example windowrule v1 +#windowrule = float, ^(rofi)$ +# Example windowrule v2 +# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ +windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. +#windowrulev2 = noborder, class:wofi +windowrulev2 = float, class:wofi +windowrulev2 = pin, class:wofi +windowrulev2 = center, class:wofi +windowrulev2 = stayfocused, class:wofi +windowrulev2 = nomaxsize, class:wofi +windowrulev2 = minsize 5 5, class:wofi +windowrulev2 = noshadow, class:wofi +windowrulev2 = float, class:nm-connection-editor +windowrulev2 = pin, class:nm-connection-editor +windowrulev2 = center, class:nm-connection-editor +windowrulev2 = nomaxsize, class:nm-connection-editor +windowrulev2 = minsize 5 5, class:nm-connection-editor +windowrulev2 = noshadow, class:nm-connection-editor +windowrulev2 = opacity 1 0.8, class:kitty +windowrulev2 = opacity 0.8 0.3, initialTitle:Spotify +windowrulev2 = float, initialTitle:Spotify +windowrulev2 = noblur, initialTitle:Spotify +#windowrulev2 = float, class:Spaceengineers +#windowrulev2 = fullscreen, class:Spaceengineers +#windowrulev2 = stayfocused, class:Spaceengineers +#windowrule = float, class:steam_app_1133870 +windowrulev2 = tile, class:RimWorldLinux +windowrulev2 = float, class:Drill.+ +#windowrulev2 = fakefullscreen, title:Drill.+ +#windowrule = fakefullscreen, class:steam_app_1217060 +#windowrule = fakefullscreen, title:Gunfire Reborn +windowrule = float, class:steam_app_1217060 +windowrule = float, title:Gunfire Reborn +#windowrulev2 = fullscreen, class:steam_app_1217060 +#windowrulev2 = fullscreen, title:Gunfire Reborn +windowrulev2 = float, title:pico.+ +windowrulev2 = minsize 60 70, title:.+btop.+ +windowrulev2 = stayfocused, class:.+dmenu.+ +windowrulev2 = move 65% 10%, class:com.nextcloud.desktopclient.nextcloud +windowrulev2 = float, class:com.nextcloud.desktopclient.nextcloud +windowrulev2 = pin, class:com.nextcloud.desktopclient.nextcloud +windowrulev2 = size 30% 50%, class:com.nextcloud.desktopclient.nextcloud +windowrulev2 = move 65% 10%, tag:mixer +windowrulev2 = float, tag:mixer +windowrulev2 = pin, tag:mixer +windowrulev2 = size 30% 50%, tag:mixer + +windowrulev2 = move 65% 10%, class:blueman-manager +windowrulev2 = float, class:blueman-manager +windowrulev2 = pin, class:blueman-manager +windowrulev2 = size 30% 50%, class:blueman-manager + +windowrulev2 = opacity 1 1 override, class:firefox + +windowrulev2 = float, tag:centered +windowrulev2 = pin, tag:centered +windowrulev2 = center, tag:centered +windowrulev2 = stayfocused, tag:centered +windowrulev2 = size 40% 50%, tag:centered + +windowrulev2 = float, tag:centered-L +windowrulev2 = pin, tag:centered-L +windowrulev2 = center, tag:centered-L +windowrulev2 = stayfocused, tag:centered-L +windowrulev2 = size 70% 80%, tag:centered-L + +windowrulev2 = float, class:dev.benz.walker.+ +windowrulev2 = pin, class:dev.benz.walker.+ +windowrulev2 = center, class:dev.benz.walker.+ +windowrulev2 = stayfocused, class:dev.benz.walker.+ +windowrulev2 = minsize 180% 170%, class:dev.benz.walker.+ +windowrulev2 = noblur, class:dev.benz.walker.+ +windowrulev2 = noshadow, class:dev.benz.walker.+ +windowrulev2 = noborder, class:dev.benz.walker.+ +windowrulev2 = float, class:dev.benz.walker.+ + +windowrulev2 = float, class:dev.benz.walker +windowrulev2 = pin, class:dev.benz.walker +windowrulev2 = center, class:dev.benz.walker +windowrulev2 = stayfocused, class:dev.benz.walker +windowrulev2 = minsize 180% 170%, class:dev.benz.walker +windowrulev2 = noblur, class:dev.benz.walker +windowrulev2 = noshadow, class:dev.benz.walker +windowrulev2 = noborder, class:dev.benz.walker +windowrulev2 = float, class:dev.benz.walker + +windowrulev2 = float, class:ulauncher +windowrulev2 = pin, class:ulauncher +windowrulev2 = stayfocused, class:ulauncher +windowrulev2 = minsize 180% 170%, class:ulauncher +windowrulev2 = noblur, class:ulauncher +windowrulev2 = noshadow, class:ulauncher +windowrulev2 = noborder, class:ulauncher +windowrulev2 = float, class:ulauncher +windowrulev2 = move onscreen cursor -10% -10%, initialClass:ulauncher + +windowrulev2 = float, title:Quake 3: Arena +windowrulev2 = pin, title:Quake 3: Arena +windowrulev2 = center, title:Quake 3: Arena +windowrulev2 = stayfocused, title:Quake 3: Arena +windowrulev2 = minsize 80% 70%, title:Quake 3: Arena diff --git a/desktopenvs/hyprlua/hypr-usr/windowrules.lua b/desktopenvs/hyprlua/hypr-usr/windowrules.lua new file mode 100644 index 0000000..2f4e5d6 --- /dev/null +++ b/desktopenvs/hyprlua/hypr-usr/windowrules.lua @@ -0,0 +1,88 @@ +-- https://wiki.hypr.land/Configuring/Basics/Window-Rules/ + +-- launchers — float centred at cursor +hl.window_rule({ name = "ulauncher-launcher", match = { class = "ulauncher" }, tag = "+launcher" }) +hl.window_rule({ name = "vicinae-launcher", match = { class = "vicinae" }, tag = "+launcher" }) + +hl.window_rule({ + name = "launcher", + match = { tag = "launcher" }, + pin = true, + no_shadow = true, + no_blur = true, + border_size = 0, + move = "(cursor_x-(window_w/2)) (cursor_y-(window_h/2))", +}) + +hl.window_rule({ + name = "vicinae-server", + match = { class = "vicinae-server" }, + pin = true, + no_shadow = true, + no_blur = true, + border_size = 0, + move = "(cursor_x-(window_w/2)) (cursor_y-(window_h/2))", +}) + +-- firefox +hl.window_rule({ name = "firefox", match = { class = "firefox" }, opaque = true, render_unfocused = true }) + +-- vesktop (Discord) +hl.window_rule({ name = "vesktop", match = { class = "vesktop" }, render_unfocused = true, no_screen_share = true }) + +-- mixer tag — tag assignment +hl.window_rule({ name = "nextcloud-mixer", match = { class = "com.nextcloud.desktopclient.nextcloud" }, tag = "+mixer" }) +hl.window_rule({ name = "blueman-mixer", match = { class = "blueman-manager" }, tag = "+mixer" }) +hl.window_rule({ name = "nm-mixer", match = { class = "nm-connection-editor" }, tag = "+mixer" }) + +-- mixer tag — behaviour +hl.window_rule({ + name = "mixer-float", + match = { tag = "mixer" }, + float = true, + pin = true, + move = "(monitor_w*0.7) (monitor_h*0.05)", + size = "(monitor_w*0.2) (monitor_h*0.3)", +}) + +-- centred large +hl.window_rule({ + name = "large-centered-L", + match = { tag = "centered-L" }, + float = true, + move = "(monitor_w*0.1) (monitor_h*0.1)", + size = "(monitor_w*0.8) (monitor_h*0.8)", +}) + +-- centred medium +hl.window_rule({ + name = "large-centered", + match = { tag = "centered" }, + float = true, + move = "(monitor_w*0.2) (monitor_h*0.2)", + size = "(monitor_w*0.6) (monitor_h*0.6)", +}) + +-- centred small +hl.window_rule({ + name = "centered-small", + match = { tag = "centered-S" }, + float = true, + move = "(monitor_w*0.4) (monitor_h*0.4)", + size = "(monitor_w*0.2) (monitor_h*0.2)", +}) + +-- spotify floating +hl.window_rule({ + name = "spotify-float", + match = { class = "spotify", float = true }, + no_blur = true, + opacity = "0.5 0.05", +}) + +-- smart gaps +hl.workspace_rule({ workspace = "w[tv1]s[false]", gaps_out = 0, gaps_in = 0 }) +hl.workspace_rule({ workspace = "f[1]s[false]", gaps_out = 0, gaps_in = 0 }) + +hl.window_rule({ name = "smart-gaps-tiling-tv1", match = { float = false, workspace = "w[tv1]s[false]" }, border_size = 1, rounding = 3 }) +hl.window_rule({ name = "smart-gaps-tiling-f1", match = { float = false, workspace = "f[1]s[false]" }, border_size = 0, rounding = 0 }) diff --git a/desktopenvs/hyprlua/hypr/application-style.conf b/desktopenvs/hyprlua/hypr/application-style.conf new file mode 100644 index 0000000..e69de29 diff --git a/desktopenvs/hyprlua/hypr/deprecated/hyprland.conf.old b/desktopenvs/hyprlua/hypr/deprecated/hyprland.conf.old new file mode 100644 index 0000000..2a9f2e1 --- /dev/null +++ b/desktopenvs/hyprlua/hypr/deprecated/hyprland.conf.old @@ -0,0 +1,384 @@ + +source = ~/.config/input.conf +source = ~/.config/monitors.conf + + +# https://wiki.hyprland.org/Configuring/Variables/#gestures +gestures { + workspace_swipe = true +} + +# Example per-device config +# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more +device { + name = epic-mouse-v1 + sensitivity = -0.5 +} + + + +#autogenerated = 0 # remove this line to remove the warning + +# This is an example Hyprland config file. +# Refer to the wiki for more information. +# https://wiki.hyprland.org/Configuring/Configuring-Hyprland/ + +# Please note not all available settings / options are set here. +# For a full list, see the wiki + +# You can split this configuration into multiple files +# Create your files separately and then link them to this file like this: +# source = ~/.config/hypr/myColors.conf + + +################ +### MONITORS ### +################ + +# See https://wiki.hyprland.org/Configuring/Monitors/ +monitor=,preferred,auto,auto + +################ +### XWayland ### +################ + +# change monitor to high resolution, the last argument is the scale factor +#monitor = , highres, auto, 2 + +# unscale XWayland +xwayland { + force_zero_scaling = true +} + +# toolkit-specific scale +env = GDK_SCALE,2 +env = XCURSOR_SIZE,32 + +################### +### MY PROGRAMS ### +################### + +# See https://wiki.hyprland.org/Configuring/Keywords/ + +# Set programs that you use +$terminal = kitty +$fileManager = kitty -e yazi +$editor = kitty micro +$menu = wofi --show=drun + + +################# +### AUTOSTART ### +################# + +# Autostart necessary processes (like notifications daemons, status bars, etc.) +# Or execute your favorite apps at launch like this: + +exec-once=bash ~/.config/hypr/ewwstart.sh + +#exec-once = waybar +exec-once = dunst +# exec-once = nm-applet & +exec-once = swww-daemon & swww img /ast/bg.jpg & sleep 1s & swww restore + + +############################# +### ENVIRONMENT VARIABLES ### +############################# + +# See https://wiki.hyprland.org/Configuring/Environment-variables/ + +env = XCURSOR_SIZE,40 +env = HYPRCURSOR_SIZE,40 + + +##################### +### LOOK AND FEEL ### +##################### + +# Refer to https://wiki.hyprland.org/Configuring/Variables/ + +# https://wiki.hyprland.org/Configuring/Variables/#general +general { + gaps_in = 5 + gaps_out = 20 + + border_size = 4 + + # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors + col.active_border = rgb(E40046) rgb(fc0588) 40deg + col.inactive_border = rgb(5018dd) + + # Set to true enable resizing windows by clicking and dragging on borders and gaps + resize_on_border = false + + # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on + allow_tearing = false + + layout = dwindle +} + +# https://wiki.hyprland.org/Configuring/Variables/#decoration +decoration { + rounding = 20 + + # Change transparency of focused and unfocused windows + active_opacity = 1 + inactive_opacity = 0.8 + #drop_shadow = true + #shadow_range = 4 + #shadow_render_power = 3 + #col.shadow = rgba(1a1a1aee) + + # https://wiki.hyprland.org/Configuring/Variables/#blur + blur { + enabled = true + size = 3 + passes = 3 + + vibrancy = 0.1696 + } +} + +# https://wiki.hyprland.org/Configuring/Variables/#animations +animations { + enabled = true + + # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more + + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + + animation = windows, 1, 7, myBezier + animation = windowsOut, 1, 7, default, popin 80% + animation = border, 1, 10, default + animation = borderangle, 1, 8, default + animation = fade, 1, 7, default + #animation = workspaces, 1, 6, default + #animation = workspaces,1,5,default,slidevert + animation = specialWorkspace, 1, 10, default, slidevert +} + +# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more +dwindle { + pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = true # You probably want this +} + +# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more +master { + new_status = master +} + +# https://wiki.hyprland.org/Configuring/Variables/#misc +misc { + force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers + disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :( +} + + + +#################### +### KEYBINDINGSS ### +#################### + +# See https://wiki.hyprland.org/Configuring/Keywords/ +$mainMod = SUPER # Sets "Windows" key as main modifier + +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +bind = $mainMod, T, exec, $terminal +bind = $mainMod, Z, exec, $terminal btop +bind = $mainMod, K, killactive, +bind = $mainMod, M, exec, $editor +bind = $mainMod, F, exec, $fileManager +bind = $mainMod, V, togglefloating, +bind = $mainMod, H, movecurrentworkspacetomonitor +bind = $mainMod, D, pseudo, # dwindle +bind = $mainMod, J, togglesplit, # dwindle +bind = $mainMod, L, exec, hyprctl dispatch exit 1 +#bind = $mainMod, A, exec, killall waybar ; waybar +bind = $mainMod, A, exec, eww reload +bind = $mainMod, N, exec, nextcloud +bind = $mainMod, I, exec, kitty nmtui +bind = $mainMod, S, exec, kitty pulsemixer + + +# Move focus with mainMod + arrow keys +bind = $mainMod, left, movefocus, l +bind = $mainMod, right, movefocus, r +bind = $mainMod, up, movefocus, u +bind = $mainMod, down, movefocus, d + +# Switch workspaces with mainMod + [0-9] +bind = $mainMod, 1, workspace, 1 +bind = $mainMod, 2, workspace, 2 +bind = $mainMod, 3, workspace, 3 +bind = $mainMod, 4, workspace, 4 +bind = $mainMod, 5, workspace, 5 +bind = $mainMod, 6, workspace, 6 +bind = $mainMod, 7, workspace, 7 +bind = $mainMod, 8, workspace, 8 +bind = $mainMod, 9, workspace, 9 +bind = $mainMod, 0, workspace, 10 + +# Move active window to a workspace with mainMod + SHIFT + [0-9] +bind = $mainMod SHIFT, 1, movetoworkspace, 1 +bind = $mainMod SHIFT, 2, movetoworkspace, 2 +bind = $mainMod SHIFT, 3, movetoworkspace, 3 +bind = $mainMod SHIFT, 4, movetoworkspace, 4 +bind = $mainMod SHIFT, 5, movetoworkspace, 5 +bind = $mainMod SHIFT, 6, movetoworkspace, 6 +bind = $mainMod SHIFT, 7, movetoworkspace, 7 +bind = $mainMod SHIFT, 8, movetoworkspace, 8 +bind = $mainMod SHIFT, 9, movetoworkspace, 9 +bind = $mainMod SHIFT, 0, movetoworkspace, 10 + +# Example special workspace (scratchpad) +bind = $mainMod, SPACE, togglespecialworkspace, magic +bind = $mainMod SHIFT, SPACE, movetoworkspace, special:magic + +bind = $mainMod CTRL, up, togglespecialworkspace, magic +bind = $mainMod CTRL SHIFT, up, movetoworkspace, special:magic + + +# Scroll through existing workspaces with mainMod + scroll +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 + +binde = $mainMod, XF86AudioLowerVolume, workspace, e-1 +binde = $mainMod, XF86AudioRaiseVolume, workspace, e+1 + +bind = $mainMod SHIFT, XF86AudioLowerVolume, movetoworkspace, e-1 +bind = $mainMod SHIFT, XF86AudioRaiseVolume, movetoworkspace, e+1 + +bind = $mainMod CTRL, left, workspace, e-1 +bind = $mainMod CTRL, right, workspace, e+1 + +bind = $mainMod CTRL SHIFT, left, movetoworkspace, e-1 +bind = $mainMod CTRL SHIFT, right, movetoworkspace, e+1 + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow +bindm = $mainMod SHIFT, mouse:272, resizewindow + +# Move/rezie windows with Keyboard + +#rofi keybind +bind = $mainMod, R, exec, wofi --show drun +bind = CTRL SHIFT, R, exec, wofi --show drun + +#window location edit mode source: https://www.reddit.com/r/hyprland/comments/14jehzj/comment/jpl5c8f/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button + +#bind = $mainMod, A, submap, fastedit +#submap = fastedit +bind = $mainMod ALT, right, resizeactive, 10 0 +bind = $mainMod ALT, left, resizeactive, -10 0 +bind = $mainMod ALT, up, resizeactive, 0 -10 +bind = $mainMod ALT, down, resizeactive, 0 10 + +bind = $mainMod SHIFT, left, movewindow, l +bind = $mainMod SHIFT, right, movewindow, r +bind = $mainMod SHIFT, up, movewindow, u +bind = $mainMod SHIFT, down, movewindow, d +#bind = , escape, submap, reset +#submap = reset + +bind = $mainMod SHIFT, K , exec, hyprctl kill + + + +#flameshot +#monitor=eDP-1, preferred, 0x0, 1 +#monitor=DP-1, preferred, 1920x0, 1 +# +#windowrule=fakefullscreen, flameshot +#windowrule=float,flameshot +#windowrule=monitor 0,flameshot +#windowrule=move 0 0,flameshot +#windowrule=workspace 0,flameshot +#windowrule=stayfocused,flameshot + +#screenshot capture +bind = , Print, exec, grim -g "$(slurp -d)" - | wl-copy +bind = $mainMod, P, exec, grim -g "$(slurp -d)" - | wl-copy + +#audio controls +binde =, XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%+ + +binde =, XF86AudioLowerVolume, exec, wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%- + +bind =, XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle + +bindle=, XF86MonBrightnessUp, exec, bri --up +bindle=, XF86MonBrightnessDown, exec, bri --down + +bindl=, XF86AudioPlay, exec, playerctl play-pause -p spotify, vlc + +#exec-once = flameshot +#bind = $mainMod, Print, exec, flameshot gui +#bind = $mainMod, Print, exec, XDG_CURRENT_DESKTOP=hyprland flameshot gui -r | wl-copy + +############################## +### WINDOWS AND WORKSPACES ### +############################## + +# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more +# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules + +# Example windowrule v1 +windowrule = float, ^(rofi)$ + +# Example windowrule v2 +# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ + +windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. + +#windowrulev2 = noborder, class:wofi +windowrulev2 = float, class:wofi +windowrulev2 = pin, class:wofi +windowrulev2 = center, class:wofi +windowrulev2 = stayfocused, class:wofi +windowrulev2 = nomaxsize, class:wofi +windowrulev2 = minsize 5 5, class:wofi +windowrulev2 = noshadow, class:wofi + +windowrulev2 = opacity 1 0.8, class:kitty +windowrulev2 = opacity 0.8 0.3, initialTitle:Spotify +windowrulev2 = float, initialTitle:Spotify + + +#sefix +windowrulev2 = float, class:Spaceengineers +windowrulev2 = stayfocused, class:Spaceengineers + +#rwfix +windowrulev2 = tile, class:RimWorldLinux + +windowrulev2 = float, class:Drill.+ +#windowrulev2 = fakefullscreen, title:Drill.+ + +#windowrule = fakefullscreen, class:steam_app_1217060 +#windowrule = fakefullscreen, title:Gunfire Reborn + +windowrule = float, class:steam_app_1217060 +windowrule = float, title:Gunfire Reborn + +#windowrulev2 = fullscreen, class:steam_app_1217060 +#windowrulev2 = fullscreen, title:Gunfire Reborn + +windowrulev2 = float, title:pico.+ + +windowrulev2 = minsize 60 70, title:.+btop.+ + +windowrulev2 = stayfocused, class:.+dmenu.+ + +windowrulev2 = move 70% 10%, class:com.nextcloud.desktopclient.nextcloud +windowrulev2 = float, class:com.nextcloud.desktopclient.nextcloud +windowrulev2 = pin, class:com.nextcloud.desktopclient.nextcloud +windowrulev2 = size 28% 50%, class:com.nextcloud.desktopclient.nextcloud + +#exec-once = nextcloud +exec-once=bash swww img ~/Pictures/background.jpg && swww restore +#exec-once=bash dunst +#exec-once=bash nm-applet --indicator +#exec-once=exec, [workspace 2 silent; float; move 0 0] kitty diff --git a/desktopenvs/hyprlua/hypr/deprecated/hyprlock.conf.old b/desktopenvs/hyprlua/hypr/deprecated/hyprlock.conf.old new file mode 100644 index 0000000..eedf683 --- /dev/null +++ b/desktopenvs/hyprlua/hypr/deprecated/hyprlock.conf.old @@ -0,0 +1,142 @@ +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # +# Hyprlock +# Original config submitted by https://github.com/SherLock707 + +# Sourcing colors generated by wallust +source = $HOME/.config/hypr/wallust/wallust-hyprland.conf +$Scripts = $HOME/.config/hypr/scripts + +general { + grace = 2 + hide_cursor = true + ignore_empty_input = true + +} + +auth { + pam:module = sudo +} + +background { + monitor = + #path = screenshot # screenshot of your desktop + path = ~/Pictures/background.jpg # NOTE only png supported for now + #color = $color7 + + # all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations + blur_size = 5 + blur_passes = 1 # 0 disables blurring + noise = 0.0117 + contrast = 1.3000 # Vibrant!!! + brightness = 0.8000 + vibrancy = 0.2100 + vibrancy_darkness = 0.0 +} + +input-field { + monitor = + size = 250, 50 + outline_thickness = 8 + dots_size = 0.33 # Scale of input-field height, 0.2 - 0.8 + dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0 + dots_center = true + #fade_on_empty = true + placeholder_text = Password... # Text rendered in the input box when it's empty. + hide_input = false + + position = 0, 200 + halign = center + valign = bottom +} + +# Date +label { + monitor = + text = cmd[update:18000000] echo " "$(date +'%A, %-d %B %Y')" " + color = $color12 + font_size = 34 + font_family = Agave NerdFont 10 + + position = 0, -150 + halign = center + valign = top +} + +# Week +label { + monitor = + text = cmd[update:18000000] echo " "$(date +'Week %U')" " + color = $color5 + font_size = 24 + font_family = Agave NerdFont 10 + position = 0, -250 + halign = center + valign = top +} + +# Time +label { + monitor = + #text = cmd[update:1000] echo " $(date +"%I:%M:%S %p") " # AM/PM + text = cmd[update:1000] echo " $(date +"%H:%M:%S") " # 24H + color = $color15 + font_size = 94 + font_family = Agave NerdFont 10 + + position = 0, 0 + halign = center + valign = center +} + +# User +label { + monitor = + text =  $USER + color = $color12 + font_size = 18 + font_family = Agave NerdFont 10 + + position = 0, 100 + halign = center + valign = bottom +} + +# uptime +label { + monitor = + text = cmd[update:60000] echo " "$(uptime -p || $Scripts/UptimeNixOS.sh)" " + color = $color12 + font_size = 24 + font_family = Agave NerdFont 10 + + position = 0, 0 + halign = right + valign = bottom +} + +# weather edit specific location. Note, this cause a 2-4 seconds delay in locking +label { + monitor = + text = cmd[update:10000] sh ~/Dotfiles/desktopenvs/hyprland/eww/scripts/batteryperc + color = $color12 + font_size = 24 + font_family = Agave NerdFont 10 + position = 50, 0 + halign = left + valign = bottom +} + +# Put a picture of choice here. Default is the current wallpaper +image { + monitor = + path = $HOME/.config/hypr/wallpaper_effects/.wallpaper_current + size = 230 + rounding = -1 + border_size = 2 + border_color = $color11 + rotate = 0 + reload_time = -1 + position = 0, 300 + halign = center + valign = bottom +} diff --git a/desktopenvs/hyprlua/hypr/hypridle.conf b/desktopenvs/hyprlua/hypr/hypridle.conf new file mode 100644 index 0000000..dcc57d1 --- /dev/null +++ b/desktopenvs/hyprlua/hypr/hypridle.conf @@ -0,0 +1,22 @@ +#source ~/.config/idle.conf +general { + lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances. + before_sleep_cmd = loginctl lock-session # lock before suspend. + after_sleep_cmd = systemctl restart fprintd.service ;; hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display. + +} +listener { + timeout = 120 + on-timeout = loginctl lock-session # lock screen when timeout has passed +} + +listener { + timeout = 600 #10min + on-timeout = systemctl suspend-then-hibernate # suspend pc +} + + +#listener { +# timeout = 18000 #5h +# on-timeout = /usr/bin/reboot #reboot +#} diff --git a/desktopenvs/hyprlua/hypr/hyprland.lua b/desktopenvs/hyprlua/hypr/hyprland.lua new file mode 100644 index 0000000..d1a05ce --- /dev/null +++ b/desktopenvs/hyprlua/hypr/hyprland.lua @@ -0,0 +1,110 @@ +-- Hyprland Lua config — https://wiki.hypr.land/Configuring/Start/ +-- User-side files are required from ~/.config/hypr/ alongside this file. + +require("monitors") +require("envvars") +require("input") +require("binds") +require("windowrules") +require("autostart") + +-------------------- +---- MY PROGRAMS --- +-------------------- + +local terminal = "kitty" +local fileManager = "thunar" +local editor = "kitty nvim" +local menu = "vicinae toggle" + +--------------------- +---- LOOK & FEEL ---- +--------------------- + +hl.config({ + general = { + gaps_in = 3, + gaps_out = 6, + border_size = 4, + col = { + active_border = { colors = { "rgb(E40046)", "rgb(f50505)", "rgb(E40046)", "rgb(f50505)", "rgb(E40046)" }, angle = 35 }, + inactive_border = "rgb(5018dd)", + }, + resize_on_border = false, + allow_tearing = false, + layout = "dwindle", + }, + group = { + col = { + border_active = "rgb(E40046)", + border_inactive = "rgb(5018dd)", + border_locked_active = "rgb(f50505)", + border_locked_inactive = "rgb(5018dd)", + }, + groupbar = { + font_family = "Agave NerdFont", + font_size = 20, + height = 25, + round_only_edges = false, + indicator_height = 25, + stacked = false, + text_color = "rgb(E40046)", + priority = 3, + rounding = 13, + col = { + active = "rgb(E40046)", + inactive = "rgb(5018dd)", + locked_active = "rgb(E40046)", + locked_inactive = "rgb(5018dd)", + }, + }, + }, + decoration = { + rounding = 20, + active_opacity = 1, + inactive_opacity = 0.8, + blur = { + enabled = true, + size = 3, + passes = 3, + vibrancy = 0.1696, + }, + }, + animations = { + enabled = true, + }, + dwindle = { + preserve_split = true, + special_scale_factor = 0.95, + }, + master = { + new_status = "master", + special_scale_factor = 0.95, + }, + misc = { + force_default_wallpaper = 0, + disable_hyprland_logo = true, + }, +}) + +----------------- +---- ANIMATIONS -- +----------------- + +hl.curve("myBezier", { type = "bezier", points = { {0.05, 0.9}, {0.1, 1.05} } }) + +hl.animation({ leaf = "windows", enabled = true, speed = 7, bezier = "myBezier" }) +hl.animation({ leaf = "windowsOut", enabled = true, speed = 7, bezier = "default", style = "popin 80%" }) +hl.animation({ leaf = "border", enabled = true, speed = 10, bezier = "default" }) +hl.animation({ leaf = "borderangle", enabled = true, speed = 8, bezier = "default" }) +hl.animation({ leaf = "fade", enabled = true, speed = 7, bezier = "default" }) +hl.animation({ leaf = "specialWorkspace", enabled = true, speed = 10, bezier = "default", style = "slidevert" }) + +-------------- +---- DEVICE --- +-------------- + +hl.device({ + name = "epic-mouse-v1", + sensitivity = -0.5, +}) diff --git a/desktopenvs/hyprlua/hypr/hyprlock.conf b/desktopenvs/hyprlua/hypr/hyprlock.conf new file mode 100644 index 0000000..a732edf --- /dev/null +++ b/desktopenvs/hyprlua/hypr/hyprlock.conf @@ -0,0 +1,115 @@ +# Hyprlock Themed Config 💫 Matching EWW + + +general { + grace = 2 + hide_cursor = true + ignore_empty_input = true +} + +auth { + pam:module = sudo + fingerprint:enabled = true +} + +background { + monitor = + path = ~/Pictures/background.jpg + blur_size = 6 + blur_passes = 2 + noise = 0.015 + contrast = 1.25 + brightness = 0.85 + vibrancy = 0.2 + vibrancy_darkness = 0.1 +} + +input-field { + monitor = + size = 300, 60 + outline_thickness = 4 + dots_size = 0.5 + dots_spacing = 0.2 + dots_center = true + hide_input = false + placeholder_text = Password... + + position = 0, 20% + halign = center + valign = bottom + + # Accent border & color matching EWW + inner_color = rgb(1a1a1a) + font_color = rgb(b0b4bc) + font_family = Agave Nerd Font Mono +} + +# DATE +label { + text = cmd[update:18000000] sh ~/Dotfiles/desktopenvs/hyprland/scripts/date.sh + color = rgb(5018dd) + font_size = 34 + font_family = Agave Nerd Font Mono + position = 0, 40% + halign = center + valign = center +} + +# TIME +label { + text = cmd[update:1000] sh ~/Dotfiles/desktopenvs/hyprland/scripts/time.sh + color = rgb(E40046) + font_size = 95 + font_family = Agave Nerd Font Mono + position = 0, 25% + halign = center + valign = center +} + +# USER +label { + text =  $USER + color = rgb(5018dd) + font_size = 18 + font_family = Agave Nerd Font Mono + position = 0, 10% + halign = center + valign = bottom +} + +# UPTIME +label { + text = cmd[update:60000] sh ~/Dotfiles/desktopenvs/hyprland/scripts/uptime.sh + font_size = 24 + color = rgb(5018dd) + font_family = Agave Nerd Font Mono + position = 0, 0 + halign = right + valign = bottom +} + +# BATTERY +label { + text = cmd[update:10000] sh ~/Dotfiles/desktopenvs/hyprland/scripts/batteryperc + color = rgb(5018dd) + font_size = 24 + font_family = Agave Nerd Font Mono + position = 50, 0 + halign = left + valign = bottom +} + +# PROFILE PICTURE OR LOGO +image { + path = ~/Pictures/profile.jpg + size = 230 + rounding = 110 + border_size = 4 + border_color = rgb(5018dd) + rotate = 0 + position = 0, 40% + halign = center + valign = bottom +} + + diff --git a/desktopenvs/hyprlua/hypr/hyprpaper.conf b/desktopenvs/hyprlua/hypr/hyprpaper.conf new file mode 100644 index 0000000..22a683b --- /dev/null +++ b/desktopenvs/hyprlua/hypr/hyprpaper.conf @@ -0,0 +1,11 @@ +splash = false + +# fallback if no per-monitor entries exist (first boot) +wallpaper { + monitor = + path = ~/Pictures/background.jpg + fit_mode = cover +} + +# per-monitor state, written by ~/.config/scripts/wallpaper-picker +source = ~/.config/wallpaper.conf diff --git a/desktopenvs/hyprlua/hypr/hyprtoolkit.conf b/desktopenvs/hyprlua/hypr/hyprtoolkit.conf new file mode 100644 index 0000000..ae65999 --- /dev/null +++ b/desktopenvs/hyprlua/hypr/hyprtoolkit.conf @@ -0,0 +1,15 @@ +background = rgb(1A1A1A) +base = rgb(5018DD) +font_family = Agave Nerd Font Mono +font_family_monospace = Agave Nerd Font Mono +text = rgb(D6ABAB) +alternate_base = rgb(E40046) +bright_text = rgb(F50505) +accent = rgb(E40046) +accent_secondary = rgb(5018DD) +icon_theme = Papirus +h1_size = 15 +h1_size = 20 +h1_size = 30 +font_size = 10 +small_font_size = 5 diff --git a/desktopenvs/hyprlua/hypr/monitorhandler.sh b/desktopenvs/hyprlua/hypr/monitorhandler.sh new file mode 100644 index 0000000..d588dd5 --- /dev/null +++ b/desktopenvs/hyprlua/hypr/monitorhandler.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +swww restore + +"$(dirname "$(readlink -f "$0")")/ewwstart.sh" diff --git a/desktopenvs/hyprlua/kitty/bash-remoteconf b/desktopenvs/hyprlua/kitty/bash-remoteconf new file mode 100644 index 0000000..899f0c6 --- /dev/null +++ b/desktopenvs/hyprlua/kitty/bash-remoteconf @@ -0,0 +1,63 @@ +# +# ~/.bashrc +# + +# If not running interactively, don't do anything +[[ $- != *i* ]] && return + +alias ls='ls --color=auto' +alias grep='grep --color=auto' +PS1='[\u@\h \W]\$ ' + +alias ll="ls -la" +alias l="ll" + +alias ..="cd .." + +alias m="micro" +alias sm="sudo micro" + +alias n="nano" +alias sn="sudo nano" + +alias gita="git add ." +alias gitc="git commit -m" +alias gitp="git push" + + +function gitf() { + + if [ -z $1 ]; then + echo "no commit message, doing nothing" + else + echo "directly commiting with message \"$1\"" + git add . + git commit -m $1 + git push + fi +} + +alias icat="kitten icat" +alias cls="clear" + +alias ssh="kitten ssh" +alias ssk="kitten ssh" + +alias t="wd" + +function y() { + local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd + yazi "$@" --cwd-file="$tmp" + if cwd="$(command cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then + builtin cd -- "$cwd" + fi + rm -f -- "$tmp" +} + +export TERM=xterm-256color + +#eval "$(starship init bash)" + +#fastfetch --logo-color-1 red --logo-color-2 red --color red -l ~/Dotfiles/pin.txt + +export PS1="\u@\H>\t " diff --git a/desktopenvs/hyprlua/kitty/current-theme.conf b/desktopenvs/hyprlua/kitty/current-theme.conf new file mode 100644 index 0000000..a7b99ca --- /dev/null +++ b/desktopenvs/hyprlua/kitty/current-theme.conf @@ -0,0 +1,106 @@ +# vim:ft=kitty +#: This is a template that can be used to create new kitty themes. +#: Theme files should start with a metadata block consisting of +#: lines beginning with ##. All metadata fields are optional. + +## name: The name of the theme (if not present, derived from filename) +## author: The name of the theme author +## license: The license information +## upstream: A URL pointing to the location of this file upstream for auto-updates +## blurb: A description of this theme. This must be the +## last item in the metadata and can continue over multiple lines. + +#: All the settings below are colors, which you can choose to modify, or use the +#: defaults. You can also add non-color based settings if needed but note that +#: these will not work with using kitty @ set-colors with this theme. For a +#: reference on what these settings do see https://sw.kovidgoyal.net/kitty/conf/ + +#: The basic colors + +foreground #d6abab +background #000000 +selection_foreground #E40046 +selection_background #5018dd + + +#: Cursor colors + +cursor #E40046 +cursor_text_color #5018dd + + +#: URL underline color when hovering with mouse + +url_color #f50505 + + +#: kitty window border colors and terminal bell colors + +# active_border_color #00ff00 +# inactive_border_color #cccccc +# bell_border_color #ff5a00 +# visual_bell_color none + + +#: OS Window titlebar colors + +# wayland_titlebar_color system +# macos_titlebar_color system + + +#: Tab bar colors + +active_tab_foreground #5018dd +active_tab_background #E40046 +inactive_tab_foreground #E40046 +inactive_tab_background #5018dd +# tab_bar_background none +# tab_bar_margin_color none + + +#: Colors for marks (marked text in the terminal) + +# mark1_foreground black +# mark1_background #98d3cb +# mark2_foreground black +# mark2_background #f2dcd3 +# mark3_foreground black +# mark3_background #f274bc + + +#: The basic 16 colors + +#: black +# color0 #000000 +# color8 #767676 + +#: red +# color1 #cc0403 +# color9 #f2201f + +#: green +# color2 #19cb00 +# color10 #23fd00 + +#: yellow +# color3 #cecb00 +# color11 #fffd00 + +#: blue +# color4 #0d73cc +# color12 #1a8fff + +#: magenta +# color5 #cb1ed1 +# color13 #fd28ff + +#: cyan +# color6 #0dcdcd +# color14 #14ffff + +#: white +# color7 #dddddd +# color15 #ffffff + + +#: You can set the remaining 240 colors as color16 to color255. diff --git a/desktopenvs/hyprlua/kitty/kitty.conf b/desktopenvs/hyprlua/kitty/kitty.conf new file mode 100644 index 0000000..2e3a30a --- /dev/null +++ b/desktopenvs/hyprlua/kitty/kitty.conf @@ -0,0 +1,36 @@ +font_family Agave Nerd Font +font_size 13.0 +shell_integration no-cursor +cursor_shape beam +cursor_beam_thickness 2 +cursor_trail 3 +cursor_text_color #E40046 +cursor_trail_decay 0.1 0.7 +cursor #5018dd +cursor_trail_start_threshold 0 +cursor_blink_interval -1 +window_padding_width 4 +scrollback_lines 20000 +background_opacity 0.4 +background_blur 1 +editor nvim +confirm_os_window_close 0 + +map f1 new_tab_with_cwd + +map f2 previous_tab +map f3 next_tab +map ctrl+f2 new_tab +map ctrl+f3 close_tab + +tab_bar_style powerline +# active_tab_foreground #5018dd +# active_tab_background #E40046 +# inactive_tab_foreground #E40046 +# inactive_tab_background #5018dd + + +# BEGIN_KITTY_THEME +# Cyberqueer +include current-theme.conf +# END_KITTY_THEME diff --git a/desktopenvs/hyprlua/kitty/kitty.conf.old b/desktopenvs/hyprlua/kitty/kitty.conf.old new file mode 100644 index 0000000..550bc1b --- /dev/null +++ b/desktopenvs/hyprlua/kitty/kitty.conf.old @@ -0,0 +1,25 @@ +font_family Agave Nerd Font +font_size 13.0 +shell_integration enabled +cursor_shape block +cursor_blink_interval 4 +window_padding_width 4 +scrollback_lines 20000 +background_opacity 0.4 +background_blur 1 +editor micro +confirm_os_window_close 0 + +map f1 new_tab_with_cwd + +map f2 previous_tab +map f3 next_tab +map ctrl+f2 new_tab +map ctrl+f3 close_tab + +tab_bar_style powerline + +active_tab_foreground #5018dd +active_tab_background #E40046 +inactive_tab_foreground #E40046 +inactive_tab_background #5018dd diff --git a/desktopenvs/hyprlua/kitty/ssh.conf b/desktopenvs/hyprlua/kitty/ssh.conf new file mode 100644 index 0000000..689163d --- /dev/null +++ b/desktopenvs/hyprlua/kitty/ssh.conf @@ -0,0 +1,6 @@ +remote_dir .local/share/kitty-ssh-kitten +copy --dest .bashrc Dotfiles/desktopenvs/hyprland/kitty/bash-remoteconf +shell_integration inherited +remote_kitty if-needed +share_connections yes +askpass native diff --git a/desktopenvs/hyprlua/kitty/themes/cyberqueer.conf b/desktopenvs/hyprlua/kitty/themes/cyberqueer.conf new file mode 100644 index 0000000..7d18731 --- /dev/null +++ b/desktopenvs/hyprlua/kitty/themes/cyberqueer.conf @@ -0,0 +1,106 @@ +# vim:ft=kitty +#: This is a template that can be used to create new kitty themes. +#: Theme files should start with a metadata block consisting of +#: lines beginning with ##. All metadata fields are optional. + +## name: The name of the theme (if not present, derived from filename) +## author: The name of the theme author +## license: The license information +## upstream: A URL pointing to the location of this file upstream for auto-updates +## blurb: A description of this theme. This must be the +## last item in the metadata and can continue over multiple lines. + +#: All the settings below are colors, which you can choose to modify, or use the +#: defaults. You can also add non-color based settings if needed but note that +#: these will not work with using kitty @ set-colors with this theme. For a +#: reference on what these settings do see https://sw.kovidgoyal.net/kitty/conf/ + +#: The basic colors + +foreground #d6abab +background #000000 +selection_foreground #E40046 +selection_background #5018dd + + +#: Cursor colors + +cursor #E40046 +cursor_text_color #5018dd + + +#: URL underline color when hovering with mouse + +url_color #f50505 + + +#: kitty window border colors and terminal bell colors + +# active_border_color #00ff00 +# inactive_border_color #cccccc +# bell_border_color #ff5a00 +# visual_bell_color none + + +#: OS Window titlebar colors + +# wayland_titlebar_color system +# macos_titlebar_color system + + +#: Tab bar colors + +active_tab_foreground #5018dd +active_tab_background #E40046 +inactive_tab_foreground #E40046 +inactive_tab_background #5018dd +# tab_bar_background none +# tab_bar_margin_color none + + +#: Colors for marks (marked text in the terminal) + +# mark1_foreground black +# mark1_background #98d3cb +# mark2_foreground black +# mark2_background #f2dcd3 +# mark3_foreground black +# mark3_background #f274bc + + +#: The basic 16 colors + +#: black +# color0 #000000 +# color8 #767676 + +#: red +# color1 #cc0403 +# color9 #f2201f + +#: green +# color2 #19cb00 +# color10 #23fd00 + +#: yellow +# color3 #cecb00 +# color11 #fffd00 + +#: blue +# color4 #0d73cc +# color12 #1a8fff + +#: magenta +# color5 #cb1ed1 +# color13 #fd28ff + +#: cyan +# color6 #0dcdcd +# color14 #14ffff + +#: white +# color7 #dddddd +# color15 #ffffff + + +#: You can set the remaining 240 colors as color16 to color255. diff --git a/desktopenvs/hyprlua/mimeapps.list b/desktopenvs/hyprlua/mimeapps.list new file mode 100644 index 0000000..a1ff681 --- /dev/null +++ b/desktopenvs/hyprlua/mimeapps.list @@ -0,0 +1,47 @@ +[Default Applications] +text/plain=nvim.desktop +image/svg+xml=org.inkscape.Inkscape.desktop +image/jpeg=pinta.desktop +image/png=pinta.desktop +x-scheme-handler/discord=vesktop.desktop +x-scheme-handler/ror2mm=gale-handler.desktop +x-scheme-handler/gale=gale-handler.desktop +application/zip=org.gnome.FileRoller.desktop +terminal=kitty.desktop +TerminalEmulator=kitty.desktop +inode/directory=thunar.desktop +x-scheme-handler/http=firefox.desktop +x-scheme-handler/https=firefox.desktop +x-scheme-handler/chrome=firefox.desktop +text/html=firefox.desktop +application/x-extension-htm=firefox.desktop +application/x-extension-html=firefox.desktop +application/x-extension-shtml=firefox.desktop +application/xhtml+xml=firefox.desktop +application/x-extension-xhtml=firefox.desktop +application/x-extension-xht=firefox.desktop +text/x-python=nvim.desktop +x-scheme-handler/opendeck=opendeck-handler.desktop +x-scheme-handler/openaction=opendeck-handler.desktop +x-scheme-handler/streamdeck=opendeck-handler.desktop +x-scheme-handler/claude-cli=claude-code-url-handler.desktop + +[Added Associations] +application/zip=org.gnome.FileRoller.desktop;org.kde.ark.desktop;thunar.desktop; +application/x-compressed-tar=thunar.desktop; +image/jpeg=pinta.desktop; +text/x-emacs-lisp=vim.desktop; +x-scheme-handler/http=firefox.desktop; +x-scheme-handler/https=firefox.desktop; +x-scheme-handler/chrome=firefox.desktop; +text/html=firefox.desktop; +application/x-extension-htm=firefox.desktop; +application/x-extension-html=firefox.desktop; +application/x-extension-shtml=firefox.desktop; +application/xhtml+xml=firefox.desktop; +application/x-extension-xhtml=firefox.desktop; +application/x-extension-xht=firefox.desktop; +application/xml=nvim.desktop; +text/x-python=nvim.desktop; +video/mp4=firefox.desktop;vlc.desktop; +application/x-shellscript=nvim.desktop; diff --git a/desktopenvs/hyprlua/nwg-dock-hyprland/style.css b/desktopenvs/hyprlua/nwg-dock-hyprland/style.css new file mode 100644 index 0000000..93caeee --- /dev/null +++ b/desktopenvs/hyprlua/nwg-dock-hyprland/style.css @@ -0,0 +1,45 @@ +* { + all: unset; + font-family: Agave Nerd Font Mono, Arial, sans-serif; + border-radius: 60px; + font-size: 10pt; + } + +window { + color: #E40046; + margin-bottom: 10px; + padding: 5px +} + +#box { + /* Define attributes of the box surrounding icons here */ + padding: 10px; + border: solid; + border-width: 4px; + background-color: #1a1a1a; +} + + +button, image { + background: none; + border-style: none; + box-shadow: none; + color: #999 +} + +button { + padding: 4px; + margin-left: 4px; + margin-right: 4px; + color: #eee; + font-size: 12px +} + +button:hover { + background-color: rgba(255, 255, 255, 0.15); + border-radius: 2px; +} + +button:focus { + box-shadow: none +} diff --git a/desktopenvs/hyprlua/nwg-drawer/drawer.css b/desktopenvs/hyprlua/nwg-drawer/drawer.css new file mode 100644 index 0000000..a84262e --- /dev/null +++ b/desktopenvs/hyprlua/nwg-drawer/drawer.css @@ -0,0 +1,49 @@ +* { + all: unset; + font-family: Agave Nerd Font Mono, Arial, sans-serif; + border-radius: 60px; + font-size: 10pt; + } + +window { + color: #E40046; + border: solid; + border-width: 4px; + background-color: #1a1a1a; + margin-bottom: 10px; + padding: 5px +} + +#box { + /* Define attributes of the box surrounding icons here */ + padding: 25px; +} + +#active { + background-color: #5018dd; + color: #f50505; +} + +button, image { + background: none; + border-style: none; + box-shadow: none; + color: #d6abab; +} + +button { + padding: 4px; + margin-left: 4px; + margin-right: 4px; + color: #d6abab; + font-size: 12px; +} + +button:hover { + background-color: #5018dd; +} + +button:focus { + background-color: #E40046; + color: #5018dd; +} diff --git a/desktopenvs/hyprlua/nwg-drawer/drawer.css.old b/desktopenvs/hyprlua/nwg-drawer/drawer.css.old new file mode 100644 index 0000000..605a183 --- /dev/null +++ b/desktopenvs/hyprlua/nwg-drawer/drawer.css.old @@ -0,0 +1,40 @@ +window { + background-color: rgba(36, 47, 79, 0.95); + color: #eeeeee +} + +/* search entry */ +entry { + background-color: rgba(0, 0, 0, 0.2) +} + +button, image { + background: none; + border: none +} + +button:hover { + background-color: rgba(255, 255, 255, 0.1) +} + +/* in case you wanted to give category buttons a different look */ +#category-button { + margin: 0 10px 0 10px +} + +#pinned-box { + padding-bottom: 5px; + border-bottom: 1px dotted gray +} + +#files-box { + padding: 5px; + border: 1px dotted gray; + border-radius: 15px +} + +/* math operation result label */ +#math-label { + font-weight: bold; + font-size: 16px +} diff --git a/desktopenvs/hyprlua/nwg-panel/common-settings.json b/desktopenvs/hyprlua/nwg-panel/common-settings.json new file mode 100644 index 0000000..70914d0 --- /dev/null +++ b/desktopenvs/hyprlua/nwg-panel/common-settings.json @@ -0,0 +1,8 @@ +{ + "restart-on-display": true, + "restart-delay": 500, + "processes-background-only": false, + "processes-own-only": true, + "processes-interval-ms": 2000, + "run-through-compositor": true +} \ No newline at end of file diff --git a/desktopenvs/hyprlua/nwg-panel/config b/desktopenvs/hyprlua/nwg-panel/config new file mode 100644 index 0000000..7c5847a --- /dev/null +++ b/desktopenvs/hyprlua/nwg-panel/config @@ -0,0 +1,466 @@ +[ + { + "name": "", + "output": "", + "run-if-output-exist": [], + "run-if-output-absent": [], + "layer": "bottom", + "position": "top", + "controls": "off", + "menu-start": "off", + "width": "auto", + "height": 0, + "margin-top": 0, + "margin-bottom": 0, + "padding-horizontal": 0, + "padding-vertical": 0, + "spacing": 0, + "icons": "", + "css-name": "", + "modules-left": [], + "modules-center": [], + "modules-right": [], + "controls-settings": { + "components": [ + "brightness", + "volume", + "battery" + ], + "commands": { + "battery": "" + }, + "show-brightness": false, + "show-volume": false, + "show-battery": true, + "interval": 1, + "icon-size": 16, + "hover-opens": false, + "leave-closes": true, + "click-closes": false, + "root-css-name": "controls-overview", + "css-name": "controls-window", + "battery-low-level": 20, + "battery-low-interval": 3, + "custom-items": [ + { + "name": "Panel settings", + "icon": "nwg-panel", + "cmd": "nwg-panel-config" + } + ], + "menu": { + "name": "unnamed", + "icon": "", + "items": [] + } + }, + "menu-start-settings": { + "cmd-lock": "swaylock -f -c 000000", + "cmd-logout": "swaymsg exit", + "cmd-restart": "systemctl reboot", + "cmd-shutdown": "systemctl -i poweroff", + "autohide": true, + "file-manager": "thunar", + "height": 0, + "icon-size-large": 32, + "icon-size-small": 16, + "icon-size-button": 16, + "margin-bottom": 0, + "margin-left": 0, + "margin-right": 0, + "margin-top": 0, + "padding": 2, + "terminal": "foot", + "width": 0 + }, + "sway-taskbar": { + "workspace-menu": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8" + ], + "name-max-len": 20, + "image-size": 16, + "workspaces-spacing": 0, + "task-padding": 0, + "show-app-icon": true, + "show-app-name": true, + "show-layout": true, + "workspace-buttons": true, + "all-workspaces": true, + "mark-autotiling": true, + "mark-xwayland": true, + "all-outputs": false + }, + "hyprland-taskbar": { + "name-max-len": 24, + "icon-size": 16, + "workspaces-spacing": 0, + "client-padding": 0, + "show-app-icon": true, + "show-app-name": true, + "show-layout": true, + "all-outputs": false, + "mark-xwayland": true, + "angle": 0.0 + }, + "sway-workspaces": { + "numbers": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8" + ], + "show-icon": true, + "image-size": 16, + "show-name": true, + "name-length": 40, + "mark-autotiling": true, + "mark-content": true, + "hide-empty": false, + "show-layout": true + }, + "hyprland-workspaces": { + "num-ws": 10, + "show-icon": true, + "image-size": 16, + "show-name": true, + "name-length": 40, + "show-empty": true, + "mark-content": true, + "show-names": true, + "mark-floating": true, + "mark-xwayland": true, + "angle": 0.0 + }, + "clock": { + "format": "%a, %d. %b %H:%M:%S", + "tooltip-text": "", + "tooltip-date-format": false, + "on-left-click": "", + "on-middle-click": "", + "on-right-click": "", + "on-scroll-up": "", + "on-scroll-down": "", + "root-css-name": "root-clock", + "css-name": "clock", + "interval": 1, + "angle": 0.0 + }, + "playerctl": { + "buttons-position": "left", + "icon-size": 16, + "chars": 30, + "scroll": false, + "button-css-name": "", + "label-css-name": "", + "interval": 1 + }, + "scratchpad": { + "css-name": "", + "icon-size": 16 + }, + "dwl-tags": { + "tag-names": "1 2 3 4 5 6 7 8 9", + "title-limit": 55 + }, + "openweather": { + "appid": "", + "weatherbit-api-key": "", + "lat": null, + "long": null, + "lang": "en", + "units": "metric", + "interval": 1800, + "loc-name": "", + "weather-icons": "color", + "on-right-click": "", + "on-middle-click": "", + "on-scroll": "", + "icon-placement": "start", + "icon-size": 24, + "css-name": "weather", + "show-name": false, + "angle": 0.0, + "ow-popup-icons": "light", + "popup-icon-size": 24, + "popup-text-size": "medium", + "popup-css-name": "weather-forecast", + "popup-placement": "right", + "popup-margin-horizontal": 0, + "popup-margin-top": 0, + "popup-margin-bottom": 0, + "show-humidity": true, + "show-wind": true, + "show-pressure": true, + "show-cloudiness": true, + "show-visibility": true, + "show-pop": true, + "show-volume": true + }, + "brightness-slider": { + "show-values": true, + "icon-size": 16, + "interval": 10, + "hover-opens": false, + "leave-closes": false, + "root-css-name": "brightness-module", + "css-name": "brightness-popup", + "angle": 0.0, + "icon-placement": "start", + "backlight-device": "", + "backlight-controller": "brightnessctl", + "slider-orientation": "horizontal", + "slider-inverted": false, + "popup-icon-placement": "start", + "popup-horizontal-alignment": "left", + "popup-vertical-alignment": "top", + "popup-width": 256, + "popup-height": 64, + "popup-horizontal-margin": 0, + "popup-vertical-margin": 0, + "step-size": 1 + } + }, + { + "name": "", + "output": "", + "run-if-output-exist": [], + "run-if-output-absent": [], + "layer": "bottom", + "position": "top", + "controls": "off", + "menu-start": "off", + "width": "auto", + "height": 0, + "margin-top": 0, + "margin-bottom": 0, + "padding-horizontal": 0, + "padding-vertical": 0, + "spacing": 0, + "icons": "", + "css-name": "", + "modules-left": [], + "modules-center": [], + "modules-right": [], + "controls-settings": { + "components": [ + "brightness", + "volume", + "battery" + ], + "commands": { + "battery": "" + }, + "show-brightness": false, + "show-volume": false, + "show-battery": true, + "interval": 1, + "icon-size": 16, + "hover-opens": false, + "leave-closes": true, + "click-closes": false, + "root-css-name": "controls-overview", + "css-name": "controls-window", + "battery-low-level": 20, + "battery-low-interval": 3, + "custom-items": [ + { + "name": "Panel settings", + "icon": "nwg-panel", + "cmd": "nwg-panel-config" + } + ], + "menu": { + "name": "unnamed", + "icon": "", + "items": [] + } + }, + "menu-start-settings": { + "cmd-lock": "swaylock -f -c 000000", + "cmd-logout": "swaymsg exit", + "cmd-restart": "systemctl reboot", + "cmd-shutdown": "systemctl -i poweroff", + "autohide": true, + "file-manager": "thunar", + "height": 0, + "icon-size-large": 32, + "icon-size-small": 16, + "icon-size-button": 16, + "margin-bottom": 0, + "margin-left": 0, + "margin-right": 0, + "margin-top": 0, + "padding": 2, + "terminal": "foot", + "width": 0 + }, + "sway-taskbar": { + "workspace-menu": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8" + ], + "name-max-len": 20, + "image-size": 16, + "workspaces-spacing": 0, + "task-padding": 0, + "show-app-icon": true, + "show-app-name": true, + "show-layout": true, + "workspace-buttons": true, + "all-workspaces": true, + "mark-autotiling": true, + "mark-xwayland": true, + "all-outputs": false + }, + "hyprland-taskbar": { + "name-max-len": 24, + "icon-size": 16, + "workspaces-spacing": 0, + "client-padding": 0, + "show-app-icon": true, + "show-app-name": true, + "show-layout": true, + "all-outputs": false, + "mark-xwayland": true, + "angle": 0.0 + }, + "sway-workspaces": { + "numbers": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8" + ], + "show-icon": true, + "image-size": 16, + "show-name": true, + "name-length": 40, + "mark-autotiling": true, + "mark-content": true, + "hide-empty": false, + "show-layout": true + }, + "hyprland-workspaces": { + "num-ws": 10, + "show-icon": true, + "image-size": 16, + "show-name": true, + "name-length": 40, + "show-empty": true, + "mark-content": true, + "show-names": true, + "mark-floating": true, + "mark-xwayland": true, + "angle": 0.0 + }, + "clock": { + "format": "%a, %d. %b %H:%M:%S", + "tooltip-text": "", + "tooltip-date-format": false, + "on-left-click": "", + "on-middle-click": "", + "on-right-click": "", + "on-scroll-up": "", + "on-scroll-down": "", + "root-css-name": "root-clock", + "css-name": "clock", + "interval": 1, + "angle": 0.0 + }, + "playerctl": { + "buttons-position": "left", + "icon-size": 16, + "chars": 30, + "scroll": false, + "button-css-name": "", + "label-css-name": "", + "interval": 1 + }, + "scratchpad": { + "css-name": "", + "icon-size": 16 + }, + "dwl-tags": { + "tag-names": "1 2 3 4 5 6 7 8 9", + "title-limit": 55 + }, + "openweather": { + "appid": "", + "weatherbit-api-key": "", + "lat": null, + "long": null, + "lang": "en", + "units": "metric", + "interval": 1800, + "loc-name": "", + "weather-icons": "color", + "on-right-click": "", + "on-middle-click": "", + "on-scroll": "", + "icon-placement": "start", + "icon-size": 24, + "css-name": "weather", + "show-name": false, + "angle": 0.0, + "ow-popup-icons": "light", + "popup-icon-size": 24, + "popup-text-size": "medium", + "popup-css-name": "weather-forecast", + "popup-placement": "right", + "popup-margin-horizontal": 0, + "popup-margin-top": 0, + "popup-margin-bottom": 0, + "show-humidity": true, + "show-wind": true, + "show-pressure": true, + "show-cloudiness": true, + "show-visibility": true, + "show-pop": true, + "show-volume": true + }, + "brightness-slider": { + "show-values": true, + "icon-size": 16, + "interval": 10, + "hover-opens": false, + "leave-closes": false, + "root-css-name": "brightness-module", + "css-name": "brightness-popup", + "angle": 0.0, + "icon-placement": "start", + "backlight-device": "", + "backlight-controller": "brightnessctl", + "slider-orientation": "horizontal", + "slider-inverted": false, + "popup-icon-placement": "start", + "popup-horizontal-alignment": "left", + "popup-vertical-alignment": "top", + "popup-width": 256, + "popup-height": 64, + "popup-horizontal-margin": 0, + "popup-vertical-margin": 0, + "step-size": 1 + } + } +] \ No newline at end of file diff --git a/desktopenvs/hyprlua/nwg-panel/menu-start.css b/desktopenvs/hyprlua/nwg-panel/menu-start.css new file mode 100644 index 0000000..cc74c6f --- /dev/null +++ b/desktopenvs/hyprlua/nwg-panel/menu-start.css @@ -0,0 +1,56 @@ +* { + all: unset; + font-family: Agave Nerd Font Mono, Arial, sans-serif; + border-radius: 30px; + font-size: 10pt; + color: #d6abab; +} + +window { + background-color: #1a1a1a; + color: #E40046; + border: solid; + border-width: 4px; + margin-bottom: 10px; + padding: 5px; +} + +list { + background: none; + border-radius: 25px; + padding: 5px; + margin: 5px; +} + +entry { + background-color: #1a1a1a; + padding: 2px 2px; + border-radius: 15px; + color: #5018dd; +} + +button, image { + background: none; + border: none; + box-shadow: none; + color: #d6abab; +} + +button { + padding: 2px; + margin-left: 4px; + margin-right: 4px; + font-size: 12px; + border-radius: 2px; + color: #d6abab; +} + +button:hover { + background-color: #1a1a1a; + color: #E40046; +} + +button:focus { + box-shadow: none; + color: #E40046; +} diff --git a/desktopenvs/hyprlua/nwg-panel/style.css b/desktopenvs/hyprlua/nwg-panel/style.css new file mode 100644 index 0000000..0386c60 --- /dev/null +++ b/desktopenvs/hyprlua/nwg-panel/style.css @@ -0,0 +1,111 @@ +/***** SUGGESTED TO CHANGE CAREFULLY *****/ + +/* Recommended if panel "height" unset or smaller then your theme default button height */ +button { + margin: 2px +} + +/* SwayTaskBar and SwayWorkspaces use custom widgets, that need this and the next name + to highlight currently focused task / workspace. */ +#task-box { + padding-left: 4px; + padding-right: 4px +} + +#task-box-focused { + background-color: rgba (255, 255, 255, 0.12); + padding-left: 4px; + padding-right: 4px +} + + +/***** MODIFY TO YOUR TASTE *****/ + +/* Sample button in sample config w/ no background nor border */ +#button-custom { + background: rgba (0, 0, 0, 0.0); + border: 0 +} + +/* Top panel in sample config uses this name */ +#panel-top { + background: #101010; + color: #eeeeee +} + +/* Bottom panel in sample config uses this name */ +#panel-bottom { + background: #101010; + color: #eeeeee +} + +/* Controls window in sample config uses this name */ +#controls-window { + border-radius: 15px; + background: #36364f; + color: #eeeeee +} +#controls-window scale value { + color: #eeeeee +} + +/* Brightness slider popup window in sample config uses this name */ +#brightness-popup { + border-radius: 15px; + background: #36364f; + color: #eeeeee +} +#brightness-popup box { + padding: 15px; +} + +/* Executors usually behave better in monospace fonts */ +#executor-label { + font-family: monospace +} + +/* and so does the Clock */ +#clock { + font-family: monospace; + font-size: 16px +} + +/* Sample executor-weather uses "css-name": "weather" */ +#weather { + font-size: 16px +} + +/* dwl-tags module */ +#dwl-tag-box { + padding-top: 4px; + padding-bottom: 4px +} + +#dwl-tag-occupied { + font-family: monospace; + color: #eee; + background-color: #006699; + padding-left: 3px; + padding-right: 3px; +} + +#dwl-tag-free { + font-family: monospace; + color: #eee; + background-color: rgba (32, 50, 90, 1.0); + padding-left: 3px; + padding-right: 3px; +} + +#dwl-tag-urgent { + font-family: monospace; + color: #eee; + background-color: #ee6600; + padding-left: 3px; + padding-right: 3px; +} + +#dwl-tag-selected { + border: solid 2px; + border-color: #81a1c1 +} diff --git a/desktopenvs/hyprlua/scripts/_toggle_Template.tmplsh b/desktopenvs/hyprlua/scripts/_toggle_Template.tmplsh new file mode 100755 index 0000000..bcdc56b --- /dev/null +++ b/desktopenvs/hyprlua/scripts/_toggle_Template.tmplsh @@ -0,0 +1,15 @@ +#!/bin/bash + +statecon=$( echo "example" | grep x) +#notify-send $statecon +if [ "$statecon" != '' ]; then + + echo "ex" + +else + + echo "nx" + +fi + + diff --git a/desktopenvs/hyprlua/scripts/activewindow b/desktopenvs/hyprlua/scripts/activewindow new file mode 100755 index 0000000..8b16732 --- /dev/null +++ b/desktopenvs/hyprlua/scripts/activewindow @@ -0,0 +1,18 @@ +#!/bin/bash +trunc=16 +sample=$(hyprctl activewindow | grep title: | awk -F: '{print $2}') + +#echo ${sample} + +if [ ${#sample} -gt $trunc ]; then + echo $sample | head -c $trunc | sed 's/$/…/' +else + if [ ${#sample} -ne 0 ]; then + echo $sample + else + echo None + fi +fi + +#hyprctl activewindow | grep title: | awk -F: '{print $2}' | head -c $trunc | sed 's/$/.../' + diff --git a/desktopenvs/hyprlua/scripts/amssh b/desktopenvs/hyprlua/scripts/amssh new file mode 100755 index 0000000..0d65b93 --- /dev/null +++ b/desktopenvs/hyprlua/scripts/amssh @@ -0,0 +1,659 @@ +#!/usr/bin/env bash +# amssh — encrypted SSH login manager +# Storage : ~/.amssh (AES-256-CBC · PBKDF2-SHA256 · 600 000 iterations) +# Modes : --tui (default, fzf TUI) | --drun (wofi launcher mode) +# Auth : master passphrase; FIDO2/PAM layer if pam_u2f + pamtester present + +set -euo pipefail + +# ── constants ──────────────────────────────────────────────────────────────── +STORE="${AMSSH_STORE:-$HOME/.amssh}" +CONF_DIR="${HOME}/.config/amssh" +AUTH_CONF="${CONF_DIR}/auth" +ITERS=600000 +TERM_CMD="${AMSSH_TERM:-kitty}" +MODE="tui" +VERSION="#amssh:v1" + +_TMP=$(mktemp -d /tmp/amssh.XXXXXX) +trap 'rm -rf "$_TMP"' EXIT + +# ── usage ──────────────────────────────────────────────────────────────────── +_usage() { + cat >&2 <<'EOF' +amssh — encrypted SSH login manager + +Usage: + amssh [--tui] Interactive fzf TUI (default) + amssh --drun Wofi launcher mode + +TUI keys: + Enter Connect to selected host + Ctrl-A Add new entry + Ctrl-E Edit selected entry + Ctrl-D Delete selected entry + Esc Quit + +Store: ~/.amssh (AES-256-CBC, PBKDF2-SHA256) +EOF +} + +# ── argument parsing ───────────────────────────────────────────────────────── +while [[ $# -gt 0 ]]; do + case "$1" in + --tui|-t) MODE="tui" ;; + --drun|-d) MODE="drun" ;; + --help|-h) _usage; exit 0 ;; + *) printf '[amssh] Unknown option: %s\n' "$1" >&2; _usage; exit 1 ;; + esac + shift +done + +# ── crypto ─────────────────────────────────────────────────────────────────── +_decrypt() { + AMSSH_PASS="$1" openssl enc -aes-256-cbc -pbkdf2 -iter "$ITERS" -d \ + -in "$STORE" -pass env:AMSSH_PASS 2>/dev/null +} + +_encrypt_stdin() { + AMSSH_PASS="$1" openssl enc -aes-256-cbc -pbkdf2 -iter "$ITERS" \ + -out "$STORE" -pass env:AMSSH_PASS +} + +# ── passphrase helpers ──────────────────────────────────────────────────────── +_ask_tty() { + local p + printf '%s' "${1:-Passphrase: }" >&2 + IFS= read -rs p &2 + printf '%s' "$p" +} + +_ask_pinentry() { + local cmd + cmd=$(command -v pinentry-qt 2>/dev/null \ + || command -v pinentry-gtk-2 2>/dev/null \ + || command -v pinentry 2>/dev/null) || return 1 + + local out + out=$(printf 'SETPROMPT amssh master passphrase\nSETDESC Enter master passphrase for the encrypted SSH store\nGETPIN\n' \ + | "$cmd" 2>/dev/null) || return 1 + + printf '%s\n' "$out" | grep -q '^ERR' && return 1 + printf '%s\n' "$out" | awk '/^D /{sub(/^D /,""); print; exit}' +} + +# ── FIDO2 / PAM detection ──────────────────────────────────────────────────── +PAM_SVC=amssh +PAM_SVC_FILE="/etc/pam.d/${PAM_SVC}" + +_find_pam_u2f() { + local f + for f in /lib/security/pam_u2f.so \ + /usr/lib/security/pam_u2f.so \ + /lib/x86_64-linux-gnu/security/pam_u2f.so \ + /usr/lib/x86_64-linux-gnu/security/pam_u2f.so \ + /usr/lib/aarch64-linux-gnu/security/pam_u2f.so; do + [[ -f "$f" ]] && printf '%s' "$f" && return 0 + done + return 1 +} + +_fido_keys_file() { + local f + for f in "$HOME/.config/Yubico/u2f_keys" "$HOME/.config/pam-u2f/keys"; do + [[ -f "$f" ]] && printf '%s' "$f" && return 0 + done + return 1 +} + +# Hardware + tool present — enough to offer FIDO setup in the dialog. +_fido_hardware_available() { + _find_pam_u2f >/dev/null && command -v pamtester &>/dev/null +} + +# Fully configured — all four prerequisites ready to authenticate. +_fido_pam_available() { + _fido_hardware_available \ + && _fido_keys_file >/dev/null \ + && [[ -f "$PAM_SVC_FILE" ]] +} + +# Creates /etc/pam.d/amssh — requires sudo once. +_ensure_pam_service() { + [[ -f "$PAM_SVC_FILE" ]] && return 0 + printf '[amssh] Creating PAM service %s (requires sudo)\n' "$PAM_SVC_FILE" >&2 + sudo tee "$PAM_SVC_FILE" >/dev/null <<'PAM' +#%PAM-1.0 +auth required pam_u2f.so cue +PAM +} + +# Registers a FIDO key into ~/.config/Yubico/u2f_keys if not already present. +_register_fido_key() { + local keys_file="$HOME/.config/Yubico/u2f_keys" + if [[ -f "$keys_file" ]]; then + printf '[amssh] Key file already exists at %s\n' "$keys_file" >&2 + printf '[amssh] To add another key run: pamu2fcfg -n >> %s\n' "$keys_file" >&2 + return 0 + fi + mkdir -p "$(dirname "$keys_file")" + printf '[amssh] Insert your FIDO key, then press Enter...\n' >&2 + read -r -s < /dev/tty + printf '[amssh] Touch your FIDO key when it blinks...\n' >&2 + if pamu2fcfg > "$keys_file" 2>/dev/tty; then + printf '[amssh] Key registered at %s\n' "$keys_file" >&2 + else + rm -f "$keys_file" + printf '[amssh] Registration failed — check key and retry\n' >&2 + return 1 + fi +} + +_pam_authenticate() { + # Both stdout and stderr must go to /dev/tty: pamtester prints its success + # message to stdout, which would contaminate pass=$(_get_passphrase) if left + # uncaptured. stderr carries the pam_u2f tap prompt. + pamtester "$PAM_SVC" "$USER" authenticate >/dev/tty 2>&1 +} + +# ── master auth (passphrase + optional FIDO2 PAM layer) ───────────────────── +_get_passphrase() { + # FIDO2/PAM second-factor: opt-in via AMSSH_PAM=1 + if [[ "${AMSSH_PAM:-}" == "1" ]] && _fido_pam_available; then + printf '[amssh] FIDO2/PAM authentication required\n' >&2 + _pam_authenticate || { printf '[amssh] PAM auth failed\n' >&2; exit 1; } + printf '[amssh] PAM OK\n' >&2 + fi + + local pass + if [[ "$MODE" == "drun" ]]; then + pass=$(_ask_pinentry) || pass=$(_ask_tty "amssh passphrase: ") + else + pass=$(_ask_tty "amssh passphrase: ") + fi + [[ -z "$pass" ]] && { printf '[amssh] No passphrase provided\n' >&2; exit 1; } + printf '%s' "$pass" +} + +# ── store helpers ───────────────────────────────────────────────────────────── +# Entry format: alias|user|host|port|identity|description +# (port defaults to 22; identity and description may be empty) + +_init_store() { + printf '%s\n' "$VERSION" | _encrypt_stdin "$1" +} + +_verify_pass() { + _decrypt "$1" 2>/dev/null | grep -q "^${VERSION}" || return 1 +} + +_load_entries() { + _decrypt "$1" | grep -v '^#' | grep -v '^[[:space:]]*$' || true +} + +_save_entries() { + # reads entry lines from stdin, prepends version header, encrypts + local pass="$1" + { printf '%s\n' "$VERSION"; cat; } | grep -v '^[[:space:]]*$' | _encrypt_stdin "$pass" +} + +# ── display formatting ──────────────────────────────────────────────────────── +# Entry format: alias|user|host|port|identity|description|password (7 fields) +# password is stored in plaintext inside the AES-256 encrypted store. + +_entry_to_display() { + awk -F'|' '{ + addr = $2 "@" $3 + if ($4 != "" && $4 != "22") addr = addr ":" $4 + line = $1 " \342\200\224 " addr + if ($7 != "") line = line " [*]" + if ($6 != "") line = line " \342\200\224 " $6 + print line + }' +} + +# ── SSH connector ───────────────────────────────────────────────────────────── +_connect() { + local entry="$1" + local alias user host port identity desc password + IFS='|' read -r alias user host port identity desc password <<< "$entry" + + local args=() + [[ -n "$port" && "$port" != "22" ]] && args+=(-p "$port") + [[ -n "$identity" ]] && args+=(-i "$identity") + args+=("${user}@${host}") + + printf '[amssh] Connecting: ssh %s\n' "${args[*]}" >&2 + + if [[ -n "$password" ]]; then + # Use SSH_ASKPASS_REQUIRE=force so SSH calls our script for the password + # instead of prompting interactively — works with OpenSSH 8.4+ + local askpass="$_TMP/askpass" + printf '#!/bin/sh\nprintf "%%s" "$AMSSH_CONN_PW"\n' > "$askpass" + chmod 700 "$askpass" + AMSSH_CONN_PW="$password" SSH_ASKPASS="$askpass" \ + SSH_ASKPASS_REQUIRE=force ssh "${args[@]}" + else + ssh "${args[@]}" + fi +} + +# ── prompt for entry (drun / zenity) ───────────────────────────────────────── +_prompt_entry_zenity() { + local result + result=$(zenity --forms \ + --title="amssh — Add Entry" \ + --text="SSH login details" \ + --add-entry="user@host[:port]" \ + --add-entry="Alias" \ + --add-password="SSH password (optional)" \ + --separator='|' 2>/dev/null) || return 1 + + local target alias password + IFS='|' read -r target alias password <<< "$result" + + local user hostport host port + user="${target%%@*}"; hostport="${target#*@}" + if [[ "$hostport" == *:* ]]; then + host="${hostport%%:*}"; port="${hostport##*:}" + else + host="$hostport"; port="22" + fi + + [[ -z "$alias" || -z "$user" || -z "$host" ]] && { + zenity --error --text="user@host and alias are required" 2>/dev/null || true + return 1 + } + printf '%s|%s|%s|%s||%s|%s' "$alias" "$user" "$host" "$port" "$alias" "$password" +} + +# ── TUI mode (fzf with execute+reload — stays inside fzf on add/delete) ────── +_tui_mode() { + local pass="$1" + local passfile="$_TMP/.pass" + local list_sh="$_TMP/list.sh" + local add_sh="$_TMP/add.sh" + local del_sh="$_TMP/del.sh" + local prev_sh="$_TMP/prev.sh" + + # Secure passphrase file — readable only by owner + printf '%s' "$pass" > "$passfile" + chmod 600 "$passfile" + + # Snapshot constants into local vars for script generation + local S="$STORE" I="$ITERS" V="$VERSION" + + # ── list.sh: decrypt + format for fzf display ──────────────────────────── + { printf '#!/usr/bin/env bash\n' + printf '_P=$(cat %q); _S=%q; _I=%q\n' "$passfile" "$S" "$I" + cat << 'LIST' +AMSSH_PASS="$_P" openssl enc -aes-256-cbc -pbkdf2 -iter "$_I" -d \ + -in "$_S" -pass env:AMSSH_PASS 2>/dev/null \ +| awk -F'|' '!/^#/ && NF>0 { + addr=$2"@"$3; if($4!=""&&$4!="22") addr=addr":"$4 + line=$1" \342\200\224 "addr + if($7!="") line=line" [*]" + if($6!="") line=line" \342\200\224 "$6 + print line +}' 2>/dev/null || true +LIST + } > "$list_sh"; chmod +x "$list_sh" + + # ── add.sh: full-screen TUI form (alternate screen, hidden password) ──────── + { printf '#!/usr/bin/env bash\n' + printf '_P=$(cat %q); _S=%q; _I=%q; _V=%q\n' "$passfile" "$S" "$I" "$V" + cat << 'ADD' +# ── terminal setup ──────────────────────────────────────────────────────────── +_stty=$(stty -g 2>/dev/null) +_cleanup() { stty "$_stty" 2>/dev/null; tput rmcup 2>/dev/null; tput cnorm 2>/dev/null; } +trap '_cleanup; exit 1' INT TERM +trap '_cleanup' EXIT + +tput smcup 2>/dev/null # switch to alternate screen +tput civis # hide cursor while drawing +tput clear + +cols=$(tput cols 2>/dev/null || printf '80') +rows=$(tput lines 2>/dev/null || printf '24') + +BW=66; BH=14 +BX=$(( (cols - BW) / 2 )); [[ $BX -lt 0 ]] && BX=0 +BY=$(( (rows - BH) / 2 )); [[ $BY -lt 0 ]] && BY=0 + +# colour / style shortcuts +_b=$(tput bold); _r=$(tput sgr0); _di=$(tput dim) +_HL=$'\033[38;2;228;0;70m' # Highlights #E40046 +_DK=$'\033[38;2;80;24;221m' # Dark #5018DD +_QW=$'\033[38;2;214;171;171m' # Quasi-White #D6ABAB +_RH=$'\033[38;2;245;5;5m' # Red-Hivis #F50505 + +# ── draw box ────────────────────────────────────────────────────────────────── +tput cup $BY $BX +printf "${_b}${_HL}╔$(printf '═%.0s' $(seq 1 $((BW-2))))╗${_r}" +for (( i=1; i/dev/null \ + | grep -v '^#' | grep -v '^[[:space:]]*$' || true) + +if printf '%s\n' "$_ex" | grep -q "^${_alias}|" 2>/dev/null; then + _err "alias \"${_alias}\" already exists" +fi + +# ── save ────────────────────────────────────────────────────────────────────── +{ printf '%s\n' "$_V" + printf '%s\n' "$_ex" + printf '%s|%s|%s|%s||%s|%s\n' "$_alias" "$_user" "$_host" "$_port" "$_alias" "$_pw" +} | grep -v '^[[:space:]]*$' \ + | AMSSH_PASS="$_P" openssl enc -aes-256-cbc -pbkdf2 -iter "$_I" \ + -out "$_S" -pass env:AMSSH_PASS + +tput cup $((BY+BH-2)) $((BX+3)) +printf "${_QW}${_b}✓ Added:${_r} %s → %s@%s:%s" "$_alias" "$_user" "$_host" "$_port" +sleep 0.8 +ADD + } > "$add_sh"; chmod +x "$add_sh" + + # ── del.sh: delete entry by alias ──────────────────────────────────────── + { printf '#!/usr/bin/env bash\n' + printf '_P=$(cat %q); _S=%q; _I=%q; _V=%q\n' "$passfile" "$S" "$I" "$V" + cat << 'DEL' +_alias="$1"; [[ -z "$_alias" ]] && exit 0 +_ex=$(AMSSH_PASS="$_P" openssl enc -aes-256-cbc -pbkdf2 -iter "$_I" -d \ + -in "$_S" -pass env:AMSSH_PASS 2>/dev/null \ + | grep -v '^#' | grep -v '^[[:space:]]*$' || true) +{ printf '%s\n' "$_V" + printf '%s\n' "$_ex" | grep -v "^${_alias}|" +} | grep -v '^[[:space:]]*$' \ + | AMSSH_PASS="$_P" openssl enc -aes-256-cbc -pbkdf2 -iter "$_I" \ + -out "$_S" -pass env:AMSSH_PASS +printf ' Deleted: %s\n' "$_alias" >&2 +DEL + } > "$del_sh"; chmod +x "$del_sh" + + # ── prev.sh: preview panel ──────────────────────────────────────────────── + { printf '#!/usr/bin/env bash\n' + printf '_P=$(cat %q); _S=%q; _I=%q\n' "$passfile" "$S" "$I" + cat << 'PREV' +_line="$1" +_a=$(printf '%s' "$_line" | awk -F' \342\200\224 ' '{gsub(/^[[:space:]]+|[[:space:]]+$/,"",$1);print $1}') +[[ -z "$_a" ]] && exit 0 +AMSSH_PASS="$_P" openssl enc -aes-256-cbc -pbkdf2 -iter "$_I" -d \ + -in "$_S" -pass env:AMSSH_PASS 2>/dev/null \ +| awk -F'|' -v a="$_a" '$1==a { + addr=$3; if($4!=""&&$4!="22") addr=addr":"$4 + printf " Alias : %s\n User : %s\n Host : %s\n Port : %s\n Identity : %s\n Password : %s\n Note : %s\n", + $1,$2,addr,($4?$4:"22"),($5?$5:"(default)"),($7?"stored":"none"),($6?$6:"-") +}' 2>/dev/null || true +PREV + } > "$prev_sh"; chmod +x "$prev_sh" + + # ── fzf loop: stay open after SSH session ends ──────────────────────────── + while true; do + local sel + sel=$(bash "$list_sh" \ + | fzf \ + --prompt="SSH › " \ + --color='fg:#D6ABAB,hl:#E40046,fg+:#D6ABAB,bg+:#1A1A1A,hl+:#F50505,info:#5018DD,prompt:#E40046,pointer:#E40046,marker:#5018DD,spinner:#E40046,header:#D6ABAB' \ + --header=$' \e[1m\e[38;2;228;0;70mEnter\e[0m connect \e[1m\e[38;2;228;0;70ma\e[0m add \e[1m\e[38;2;228;0;70md\e[0m delete \e[1m\e[38;2;228;0;70mq\e[0m quit\n \e[2m\e[38;2;80;24;221mj/k\e[0m down/up \e[2m\e[38;2;80;24;221mg/G\e[0m top/bottom \e[2m\e[38;2;80;24;221m/\e[0m filter' \ + --bind="a:execute(bash '$add_sh')+reload(bash '$list_sh')" \ + --bind="d:execute(bash '$del_sh' {1})+reload(bash '$list_sh')" \ + --preview="bash '$prev_sh' {}" \ + --preview-window="right:50%:wrap" \ + --no-sort --ansi \ + --bind="j:down,k:up,g:first,G:last,/:toggle-search,q:abort" \ + 2>/dev/null || true) + + [[ -z "$sel" ]] && break + + local alias + alias=$(printf '%s' "$sel" \ + | awk -F' \342\200\224 ' '{gsub(/^[[:space:]]+|[[:space:]]+$/,"",$1); print $1}') + [[ -z "$alias" ]] && break + + local entry + entry=$(AMSSH_PASS="$pass" openssl enc -aes-256-cbc -pbkdf2 -iter "$ITERS" -d \ + -in "$STORE" -pass env:AMSSH_PASS 2>/dev/null \ + | awk -F'|' -v a="$alias" '$1==a' || true) + [[ -z "$entry" ]] && { printf '[amssh] Entry not found: %s\n' "$alias" >&2; continue; } + + _connect "$entry" + # fzf reopens after SSH session ends + done +} + +# ── drun mode (wofi) ────────────────────────────────────────────────────────── +_drun_mode() { + local pass="$1" + + local raw_entries display_list + raw_entries=$(_load_entries "$pass") + + if [[ -z "$raw_entries" ]]; then + display_list="(no entries — add via amssh --tui)" + else + display_list=$(printf '%s\n' "$raw_entries" | _entry_to_display) + fi + + local selected + selected=$(printf '%s\n' "$display_list" \ + | wofi --show=dmenu --prompt="SSH: " --dmenu \ + 2>/dev/null) || exit 0 + + [[ -z "$selected" || "$selected" == "(no entries"* ]] && exit 0 + + local alias + alias=$(printf '%s' "$selected" | awk -F' — ' '{gsub(/^[[:space:]]+|[[:space:]]+$/,"",\$1); print $1}') + + local entry + entry=$(printf '%s\n' "$raw_entries" | awk -F'|' -v a="$alias" '$1==a') + [[ -z "$entry" ]] && exit 1 + + local e_alias e_user e_host e_port e_identity e_desc + IFS='|' read -r e_alias e_user e_host e_port e_identity e_desc <<< "$entry" + + local args=() + [[ -n "$e_port" && "$e_port" != "22" ]] && args+=(-p "$e_port") + [[ -n "$e_identity" ]] && args+=(-i "$e_identity") + args+=("${e_user}@${e_host}") + + # Launch SSH in a terminal window + "$TERM_CMD" -e ssh "${args[@]}" +} + +# ── FIDO2 info on startup (TUI only) ───────────────────────────────────────── +_print_fido_status() { + [[ "$MODE" != "tui" ]] && return + if _fido_pam_available; then + if [[ "${AMSSH_PAM:-}" == "1" ]]; then + printf '[amssh] FIDO2/PAM: active (second factor enabled)\n' >&2 + else + printf '[amssh] FIDO2/PAM: available — set AMSSH_PAM=1 to require as second factor\n' >&2 + fi + fi +} + +# ── auth config (persisted choice from first-launch dialog) ────────────────── +_load_auth_config() { + [[ ! -f "$AUTH_CONF" ]] && return + local method + method=$(cat "$AUTH_CONF") + if [[ "$method" == "fido" ]] && _fido_pam_available; then + export AMSSH_PAM=1 + fi +} + +_first_launch_dialog() { + mkdir -p "$CONF_DIR" + + # FIDO2 hardware unavailable — silently default to passphrase + if ! _fido_hardware_available; then + printf 'passphrase' > "$AUTH_CONF" + return + fi + + local choice + if [[ "$MODE" == "drun" ]]; then + choice=$(zenity --list \ + --radiolist \ + --title="amssh — Authentication Setup" \ + --text="Choose how to unlock your SSH store:" \ + --column="" --column="Method" --column="Description" \ + TRUE "passphrase" "Master passphrase (recommended)" \ + FALSE "fido" "FIDO2 hardware key (second factor)" \ + --height=210 --width=500 2>/dev/null) || choice="passphrase" + else + # whiptail writes selection to stderr; swap fds so $() captures it + choice=$(whiptail \ + --title "amssh — Authentication Setup" \ + --menu "Choose how to unlock your SSH store:" \ + 13 62 2 \ + "passphrase" "Master passphrase" \ + "fido" "FIDO2 hardware key (second factor)" \ + 3>&1 1>&2 2>&3) || choice="passphrase" + fi + + [[ -z "$choice" ]] && choice="passphrase" + printf '%s' "$choice" > "$AUTH_CONF" + + if [[ "$choice" == "fido" ]]; then + printf '\n[amssh] FIDO2 selected — setting up...\n' >&2 + _register_fido_key || { printf 'passphrase' > "$AUTH_CONF"; return; } + _ensure_pam_service || { printf 'passphrase' > "$AUTH_CONF"; return; } + printf '[amssh] FIDO2 ready — your key will be required on each unlock.\n' >&2 + fi +} + +# ── main ───────────────────────────────────────────────────────────────────── +main() { + _load_auth_config + + if [[ ! -f "$STORE" ]]; then + _first_launch_dialog + _load_auth_config # apply choice made in dialog + fi + + _print_fido_status + + local pass + pass=$(_get_passphrase) + + if [[ ! -f "$STORE" ]]; then + printf '[amssh] Creating new store at %s\n' "$STORE" >&2 + local confirm + if [[ "$MODE" == "drun" ]]; then + confirm=$(_ask_pinentry) || { printf '[amssh] Cancelled\n' >&2; exit 1; } + else + confirm=$(_ask_tty "Confirm passphrase: ") + fi + [[ "$pass" != "$confirm" ]] && { printf '[amssh] Passphrases do not match\n' >&2; exit 1; } + _init_store "$pass" + printf '[amssh] Store initialised\n' >&2 + [[ "$MODE" == "drun" ]] && exit 0 + else + _verify_pass "$pass" || { printf '[amssh] Wrong passphrase or corrupted store\n' >&2; exit 1; } + fi + + case "$MODE" in + tui) _tui_mode "$pass" ;; + drun) _drun_mode "$pass" ;; + esac +} + +main diff --git a/desktopenvs/hyprlua/scripts/batteryperc b/desktopenvs/hyprlua/scripts/batteryperc new file mode 100755 index 0000000..bba88e6 --- /dev/null +++ b/desktopenvs/hyprlua/scripts/batteryperc @@ -0,0 +1,44 @@ +#!/bin/bash + +# Get percentage and remove the % sign cleanly +perc=$(upower -i /org/freedesktop/UPower/devices/battery_BAT1 | awk '/percentage/ {gsub("%",""); print $2}') +state=$(upower -i /org/freedesktop/UPower/devices/battery_BAT1 | awk '/state/ {print $2}') + +# Check if values are not empty +if [ -z "$perc" ] || [ -z "$state" ]; then + echo "Battery info unavailable" + exit 1 +fi + +# Convert to integer +num=${perc%%.*} # In case perc is float + +if [ "$state" == "charging" ]; then + echo "󰂄 ${perc}%" +else + if [ "$num" -gt 95 ]; then + echo "󰁹 ${perc}%" + elif [ "$num" -gt 90 ]; then + echo "󰂂 ${perc}%" + elif [ "$num" -gt 80 ]; then + echo "󰂁 ${perc}%" + elif [ "$num" -gt 70 ]; then + echo "󰂀 ${perc}%" + elif [ "$num" -gt 60 ]; then + echo "󰁿 ${perc}%" + elif [ "$num" -gt 50 ]; then + echo "󰁾 ${perc}%" + elif [ "$num" -gt 40 ]; then + echo "󰁽 ${perc}%" + elif [ "$num" -gt 30 ]; then + echo "󰁼 ${perc}%" + elif [ "$num" -gt 20 ]; then + echo "󰁻 ${perc}%" + elif [ "$num" -gt 10 ]; then + echo "󰁺 ${perc}%" + else + notify-send --urgency=critical -t 2000 "󱃍 low battery, please charge" + echo "󰂎 ${perc}%" + fi +fi + diff --git a/desktopenvs/hyprlua/scripts/bluetooth-applet.sh b/desktopenvs/hyprlua/scripts/bluetooth-applet.sh new file mode 100755 index 0000000..223e251 --- /dev/null +++ b/desktopenvs/hyprlua/scripts/bluetooth-applet.sh @@ -0,0 +1,2 @@ +#!/bin/bash +hyprctl dispatch exec blueman-applet diff --git a/desktopenvs/hyprlua/scripts/caffeine.sh b/desktopenvs/hyprlua/scripts/caffeine.sh new file mode 100755 index 0000000..0fb1eb7 --- /dev/null +++ b/desktopenvs/hyprlua/scripts/caffeine.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +statecon=$( pidof hypridle | grep "[1234567890]" ) +#echo $statecon +if [ "$statecon" != "" ]; then + + notify-send -t 1000 "caffeine mode on" + killall hypridle + +else + + notify-send -t 1000 "caffeine mode off" + hyprctl dispatch exec hypridle + +fi + + diff --git a/desktopenvs/hyprlua/scripts/calender-fix.sh b/desktopenvs/hyprlua/scripts/calender-fix.sh new file mode 100755 index 0000000..9afcecf --- /dev/null +++ b/desktopenvs/hyprlua/scripts/calender-fix.sh @@ -0,0 +1,26 @@ +#!/bin/bash +today=$(date +%-d) +weekdaynum=$(date +%u) +weekday="" +if [[ $weekdaynum -eq 1 ]]; then + weekday="Mo" +elif [[ $weekdaynum -eq 2 ]]; then + weekday="Tu" +elif [[ $weekdaynum -eq 3 ]]; then + weekday="We" +elif [[ $weekdaynum -eq 4 ]]; then + weekday="Th" +elif [[ $weekdaynum -eq 5 ]]; then + weekday="Fr" +elif [[ $weekdaynum -eq 6 ]]; then + weekday="Sa" +elif [[ $weekdaynum -eq 7 ]]; then + weekday="Su" +fi + +echo ====================== +date '+%A, %d.%m.%Y' +echo ====================== +cal -m | sed -e 's/^/ /' | sed "s/ $today /[$today]/" | sed "s/ $weekday /[$weekday]/" + + diff --git a/desktopenvs/hyprlua/scripts/date.sh b/desktopenvs/hyprlua/scripts/date.sh new file mode 100755 index 0000000..0c66d4b --- /dev/null +++ b/desktopenvs/hyprlua/scripts/date.sh @@ -0,0 +1,2 @@ +#!/bin/bash +echo " "$(date +'%A, %-d %B %Y')" " diff --git a/desktopenvs/hyprlua/scripts/deprecated/batteryperc.old b/desktopenvs/hyprlua/scripts/deprecated/batteryperc.old new file mode 100644 index 0000000..d72cb8b --- /dev/null +++ b/desktopenvs/hyprlua/scripts/deprecated/batteryperc.old @@ -0,0 +1,37 @@ +#!/bin/bash + +perc=$(upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep percentage | awk -F: '{print $2}' | xargs) +state=$(upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep state | awk -F: '{print $2}' | xargs) + +num=$(echo ${perc::-1}) + +if [ $state == "charging" ]; then + echo "󰂄 ${perc}" +else + #echo "󰁹 ${perc}" + + if [ $num -gt 95 ]; then + echo "󰁹 ${perc}" + elif [ $num -gt 90 ]; then + echo "󰂂 ${perc}" + elif [ $num -gt 80 ]; then + echo "󰂁 ${perc}" + elif [ $num -gt 70 ]; then + echo "󰂀 ${perc}" + elif [ $num -gt 60 ]; then + echo "󰁿 ${perc}" + elif [ $num -gt 50 ]; then + echo "󰁾 ${perc}" + elif [ $num -gt 40 ]; then + echo "󰁽 ${perc}" + elif [ $num -gt 30 ]; then + echo "󰁼 ${perc}" + elif [ $num -gt 20 ]; then + echo "󰁻 ${perc}" + elif [ $num -gt 10 ]; then + echo "󰁺 ${perc}" + else + notify-send --urgency=critical -t 2000 "󱃍 low battery, please charge" + echo "󰂎 ${perc}" + fi +fi diff --git a/desktopenvs/hyprlua/scripts/deprecated/hyprland-toggle-touchpad.sh.old b/desktopenvs/hyprlua/scripts/deprecated/hyprland-toggle-touchpad.sh.old new file mode 100755 index 0000000..d5f65d0 --- /dev/null +++ b/desktopenvs/hyprlua/scripts/deprecated/hyprland-toggle-touchpad.sh.old @@ -0,0 +1,40 @@ + +#!/usr/bin/env bash + +STATUS_FILE="$XDG_RUNTIME_DIR/touchpad.status" + +# Detect touchpad name dynamically +TOUCHPAD_NAME=$(hyprctl devices | awk '/type: touchpad/{getline; print $2; exit}') +TOUCHPAD_KEYWORD="device:${TOUCHPAD_NAME}:enabled" + +# Functions +enable_touchpad() { + printf "true" >"$STATUS_FILE" + notify-send -u normal "Touchpad Enabled" + hyprctl keyword "$TOUCHPAD_KEYWORD" "true" -r +} + +disable_touchpad() { + printf "false" >"$STATUS_FILE" + notify-send -u normal "Touchpad Disabled" + hyprctl keyword "$TOUCHPAD_KEYWORD" "false" -r +} + +# Get current state from Hyprland (1 = enabled, 0 = disabled) +CURRENT_STATE=$(hyprctl getoption "$TOUCHPAD_KEYWORD" | grep "int:" | awk '{print $2}') + +# Initialize status file if missing +if ! [ -f "$STATUS_FILE" ]; then + if [ "$CURRENT_STATE" -eq 1 ]; then + printf "true" >"$STATUS_FILE" + else + printf "false" >"$STATUS_FILE" + fi +fi + +# Toggle based on status file +if [ "$(cat "$STATUS_FILE")" = "true" ]; then + disable_touchpad +else + enable_touchpad +fi diff --git a/desktopenvs/hyprlua/scripts/deprecated/screenrotationacw.sh.old b/desktopenvs/hyprlua/scripts/deprecated/screenrotationacw.sh.old new file mode 100755 index 0000000..a6c0e9d --- /dev/null +++ b/desktopenvs/hyprlua/scripts/deprecated/screenrotationacw.sh.old @@ -0,0 +1,15 @@ +#!/bin/bash +curmon=$(hyprctl monitors | grep -B11 "focused: yes" | head -n1 | awk '{print $2}') +currot=$(hyprctl monitors | grep -B1 "focused: yes" | head -n1 | awk '{print $2}') + +newrot="" +if [ $currot == "3" ]; then + newrot="0" +else + newrot=$(($currot + 1)) +fi +echo $newrot + +hyprctl keyword monitor $curmon,preferred,auto,1,transform,$newrot + +eww reload diff --git a/desktopenvs/hyprlua/scripts/deprecated/screenrotationacw.sh.proto b/desktopenvs/hyprlua/scripts/deprecated/screenrotationacw.sh.proto new file mode 100755 index 0000000..ea1cf10 --- /dev/null +++ b/desktopenvs/hyprlua/scripts/deprecated/screenrotationacw.sh.proto @@ -0,0 +1,22 @@ +#!/bin/bash +curmon=$(hyprctl monitors | grep -B11 "focused: yes" | head -n1 | awk '{print $2}') +currot=$(hyprctl monitors | grep -B1 "focused: yes" | head -n1 | awk '{print $2}') +touchdev=$(hyprctl devices | grep -A1 "Touch Device" | tail -n1 | xargs) + +newrot="" +if [ $currot == "3" ]; then + newrot="0" +else + newrot=$(($currot + 1)) +fi +echo $newrot + +hyprctl keyword monitor $curmon,preferred,auto,1,transform,$newrot + +eww reload + +if [ "$touchdev" != '' ]; then + hyprctl keyword device:$touchdev:transform $newrot +fi + + diff --git a/desktopenvs/hyprlua/scripts/deprecated/screenrotationwcw.sh.old b/desktopenvs/hyprlua/scripts/deprecated/screenrotationwcw.sh.old new file mode 100755 index 0000000..05ac3c8 --- /dev/null +++ b/desktopenvs/hyprlua/scripts/deprecated/screenrotationwcw.sh.old @@ -0,0 +1,15 @@ +#!/bin/bash +curmon=$(hyprctl monitors | grep -B11 "focused: yes" | head -n1 | awk '{print $2}') +currot=$(hyprctl monitors | grep -B1 "focused: yes" | head -n1 | awk '{print $2}') + +newrot="" +if [ $currot == "0" ]; then + newrot="3" +else + newrot=$(($currot - 1)) +fi +echo $newrot + +hyprctl keyword monitor $curmon,preferred,auto,1,transform,$newrot + +eww reload diff --git a/desktopenvs/hyprlua/scripts/deprecated/screenrotationwcw.sh.proto b/desktopenvs/hyprlua/scripts/deprecated/screenrotationwcw.sh.proto new file mode 100755 index 0000000..54ab0df --- /dev/null +++ b/desktopenvs/hyprlua/scripts/deprecated/screenrotationwcw.sh.proto @@ -0,0 +1,21 @@ +#!/bin/bash +curmon=$(hyprctl monitors | grep -B11 "focused: yes" | head -n1 | awk '{print $2}') +currot=$(hyprctl monitors | grep -B1 "focused: yes" | head -n1 | awk '{print $2}') +touchdev=$(hyprctl devices | grep -A1 "Touch Device" | tail -n1 | xargs) + +newrot="" +if [ $currot == "0" ]; then + newrot="3" +else + newrot=$(($currot - 1)) +fi +echo $newrot + + +hyprctl keyword monitor $curmon,preferred,auto,1,transform,$newrot + +eww reload + +if [ "$touchdev" != '' ]; then + hyprctl keyword device:$touchdev:transform $newrot +fi diff --git a/desktopenvs/hyprlua/scripts/drawer.sh b/desktopenvs/hyprlua/scripts/drawer.sh new file mode 100755 index 0000000..90d7420 --- /dev/null +++ b/desktopenvs/hyprlua/scripts/drawer.sh @@ -0,0 +1,3 @@ +#!/bin/bash +nwg-drawer -fm "kitty -e yazi" -term kitty -wm hyprland -mb 20 -ml 20 -mr 20 -mt 20 -pblock hyprlock -pbpoweroff poweroff -pbexit "hyprctl dispatch exit" -pbreboot reboot + diff --git a/desktopenvs/hyprlua/scripts/dysk-phydisks.sh b/desktopenvs/hyprlua/scripts/dysk-phydisks.sh new file mode 100755 index 0000000..44510a1 --- /dev/null +++ b/desktopenvs/hyprlua/scripts/dysk-phydisks.sh @@ -0,0 +1,3 @@ +#!/bin/bash +rawdiskstr=$(dysk -a -f 'disk=ssd | disk=hdd') +echo "$rawdiskstr" | sed '$d' diff --git a/desktopenvs/hyprlua/scripts/ewwstart-niri.sh b/desktopenvs/hyprlua/scripts/ewwstart-niri.sh new file mode 100755 index 0000000..7f42015 --- /dev/null +++ b/desktopenvs/hyprlua/scripts/ewwstart-niri.sh @@ -0,0 +1,14 @@ +#!/bin/bash +/usr/bin/eww daemon + +GTK_THEME=cyberqueer + +monitorsum=$(niri msg outputs | grep Scale | wc -l) +monitorsum-- +for i in $(seq 1 $monitorsum); +do + declare -i curmon=$i-1 + /usr/bin/eww open bar --id bar$curmon --arg monitor=$curmon +done + +#/usr/bin/eww open bar --id primary --arg monitor=0 diff --git a/desktopenvs/hyprlua/scripts/ewwstart.sh b/desktopenvs/hyprlua/scripts/ewwstart.sh new file mode 100755 index 0000000..699fce9 --- /dev/null +++ b/desktopenvs/hyprlua/scripts/ewwstart.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +killall eww +/usr/bin/eww daemon +GTK_THEME=cyberqueer +monitorsum=$(hyprctl monitors | grep ID | wc -l) + +for i in $(seq 1 $monitorsum); +do + declare -i curmon=$i-1 + /usr/bin/eww open bar --id bar$curmon --arg monitor=$curmon +done + +#/usr/bin/eww open bar --id primary --arg monitor=1 +#/usr/bin/eww open bar --id secondary --arg monitor=0 diff --git a/desktopenvs/hyprlua/scripts/foldersearch.sh b/desktopenvs/hyprlua/scripts/foldersearch.sh new file mode 100755 index 0000000..5550f62 --- /dev/null +++ b/desktopenvs/hyprlua/scripts/foldersearch.sh @@ -0,0 +1,2 @@ +#!/bin/bash +kitty --directory="$(cat ~/.z | cut -d"|" -f1 | wofi --show=dmenu)" diff --git a/desktopenvs/hyprlua/scripts/frequentcommands.list b/desktopenvs/hyprlua/scripts/frequentcommands.list new file mode 100755 index 0000000..5cfc086 --- /dev/null +++ b/desktopenvs/hyprlua/scripts/frequentcommands.list @@ -0,0 +1,27 @@ +wg-quick up wg0 +wg-quick down wg0 +hyprshutdown +hyprshutdown && reboot +poweroff +hyprctl kill +reboot +systemctl soft-reboot +systemctl suspend-then-hibernate +systemctl hibernate +systemctl sleep +systemctl restart fprintd.service +systemctl hybrid-sleep +hyprctl dispatch exit +hyprlock +hyprctl reload +kitty ~/Dotfiles/desktopenvs/hyprland/scripts/helpmenu.sh +kitty nvim ~/.config/binds.conf +~/Dotfiles/desktopenvs/hyprland/scripts/caffeine.sh +~/Dotfiles/desktopenvs/hyprland/scripts/hyprland-toggle-touchpad.sh +eww reload +chamel stroke-color "#00BFFF" +chamel stroke-color "#000000" +chamel stroke-color "#FFFFFF" +chamel stroke-color "#00FF00" +chamel stroke-color "#0000FF" +chamel stroke-color "#FF00FF" diff --git a/desktopenvs/hyprlua/scripts/getispeed.sh b/desktopenvs/hyprlua/scripts/getispeed.sh new file mode 100755 index 0000000..4e5ddb9 --- /dev/null +++ b/desktopenvs/hyprlua/scripts/getispeed.sh @@ -0,0 +1,3 @@ +#!/bin/bash +speedvar=$(~/.config/python-script/bin/python ~/Dotfiles/desktopenvs/hyprland/scripts/python/ispeedtest.py b) +notify-send -t 200000 "$speedvar" diff --git a/desktopenvs/hyprlua/scripts/getvol b/desktopenvs/hyprlua/scripts/getvol new file mode 100755 index 0000000..86b6270 --- /dev/null +++ b/desktopenvs/hyprlua/scripts/getvol @@ -0,0 +1,5 @@ +#!/bin/sh + +perc=$(pactl get-sink-volume @DEFAULT_SINK@ | awk -F/ '{print $2}' | xargs) +num=$(echo ${perc::-1}) +echo $num diff --git a/desktopenvs/hyprlua/scripts/helpmenu.sh b/desktopenvs/hyprlua/scripts/helpmenu.sh new file mode 100755 index 0000000..33e8adc --- /dev/null +++ b/desktopenvs/hyprlua/scripts/helpmenu.sh @@ -0,0 +1,3 @@ +#!/bin/bash +cat ~/Dotfiles/desktopenvs/hyprland/hypr-usr/binds.conf | less + diff --git a/desktopenvs/hyprlua/scripts/hyprland-toggle-touchpad.sh b/desktopenvs/hyprlua/scripts/hyprland-toggle-touchpad.sh new file mode 100755 index 0000000..cafa8e4 --- /dev/null +++ b/desktopenvs/hyprlua/scripts/hyprland-toggle-touchpad.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash + +export STATUS_FILE="$XDG_RUNTIME_DIR/keyboard.status" + +enable_keyboard() { + printf "true" >"$STATUS_FILE" + notify-send -u normal "Enabling Touchpad" + hyprctl keyword '$LAPTOP_KB_ENABLED' "true" -r +} + +disable_keyboard() { + printf "false" >"$STATUS_FILE" + notify-send -u normal "Disabling Touchpad" + hyprctl keyword '$LAPTOP_KB_ENABLED' "false" -r +} + +if ! [ -f "$STATUS_FILE" ]; then + enable_keyboard +else + if [ $(cat "$STATUS_FILE") = "true" ]; then + disable_keyboard + elif [ $(cat "$STATUS_FILE") = "false" ]; then + enable_keyboard + fi +fi diff --git a/desktopenvs/hyprlua/scripts/ip b/desktopenvs/hyprlua/scripts/ip new file mode 100755 index 0000000..cf1aded --- /dev/null +++ b/desktopenvs/hyprlua/scripts/ip @@ -0,0 +1,3 @@ +#!/bin/bash +hostname -i | tr ' ' '\n' | head -n1 | tail -n1 + diff --git a/desktopenvs/hyprlua/scripts/journal.sh b/desktopenvs/hyprlua/scripts/journal.sh new file mode 100755 index 0000000..bbda91e --- /dev/null +++ b/desktopenvs/hyprlua/scripts/journal.sh @@ -0,0 +1,3 @@ +#!/bin/bash +cat ~/journal.txt | less + diff --git a/desktopenvs/hyprlua/scripts/menu.sh b/desktopenvs/hyprlua/scripts/menu.sh new file mode 100755 index 0000000..1e9ca4d --- /dev/null +++ b/desktopenvs/hyprlua/scripts/menu.sh @@ -0,0 +1,2 @@ +#!/bin/bash +nwg-menu -wm hyprland -term kitty --ml 15 -mb 15 -mr 15 -mt 15 -cmd-lock hyprlock -cmd-logout "hyprctl dispatch exit" -cmd-restart reboot -cmd-shutdown poweroff -fm "kitty -e yazi" diff --git a/desktopenvs/hyprlua/scripts/monitorhandler.sh b/desktopenvs/hyprlua/scripts/monitorhandler.sh new file mode 100755 index 0000000..1ddc98d --- /dev/null +++ b/desktopenvs/hyprlua/scripts/monitorhandler.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +hyprpaper -c ~/.config/wallpaper.conf +~/Dotfiles/desktopenvs/hyprland/scripts/ewwstart.sh diff --git a/desktopenvs/hyprlua/scripts/onscreenkb.sh b/desktopenvs/hyprlua/scripts/onscreenkb.sh new file mode 100755 index 0000000..504de0a --- /dev/null +++ b/desktopenvs/hyprlua/scripts/onscreenkb.sh @@ -0,0 +1,4 @@ +#!/bin/bash +if ! $(killall wvkbd-mobintl); then + wvkbd-mobintl -L 250 --fn AgaveNerdFont --bg 1a1a1a --fg 5018dd --fg-sp 5018dd --press E40046 --press-sp E40046 --text d6abab --text-sp d6abab -R 20 +fi diff --git a/desktopenvs/hyprlua/scripts/playerget b/desktopenvs/hyprlua/scripts/playerget new file mode 100755 index 0000000..80a5e01 --- /dev/null +++ b/desktopenvs/hyprlua/scripts/playerget @@ -0,0 +1,31 @@ +#!/bin/bash +truncs=13 +trunca=10 +song=$(playerctl metadata --format '{{ title }}') +artist=$(playerctl metadata --format '{{ artist }}') +#echo ${sample} + +if [ ${#song} -gt $truncs ]; then + songt=$(echo $song | head -c $truncs | sed 's/$/…/') +else + if [ ${#song} -ne 0 ]; then + songt=$(echo ${song}) + else + songt=$(echo None) + fi +fi + +if [ ${#artist} -gt $trunca ]; then + artistt=$(echo $artist | head -c $trunca | sed 's/$/…/') +else + if [ ${#artist} -ne 0 ]; then + artistt=$(echo ${artist}) + else + artistt=$(echo None) + fi +fi +echo "${songt}|${artistt}" + + +#hyprctl activewindow | grep title: | awk -F: '{print $2}' | head -c $trunc | sed 's/$/.../' + diff --git a/desktopenvs/hyprlua/scripts/playpause.sh b/desktopenvs/hyprlua/scripts/playpause.sh new file mode 100755 index 0000000..bb8d075 --- /dev/null +++ b/desktopenvs/hyprlua/scripts/playpause.sh @@ -0,0 +1,2 @@ +#!/bin/bash +playerctl play-pause -p spotify, vlc, firefox diff --git a/desktopenvs/hyprlua/scripts/pwr-dmenu.sh b/desktopenvs/hyprlua/scripts/pwr-dmenu.sh new file mode 100755 index 0000000..04df4dd --- /dev/null +++ b/desktopenvs/hyprlua/scripts/pwr-dmenu.sh @@ -0,0 +1,3 @@ +#!/bin/zsh +cat ~/.config/scripts/frequentcommands.list | wofi --show=dmenu | zsh + diff --git a/desktopenvs/hyprlua/scripts/python/boilerplate.py b/desktopenvs/hyprlua/scripts/python/boilerplate.py new file mode 100644 index 0000000..923f6a1 --- /dev/null +++ b/desktopenvs/hyprlua/scripts/python/boilerplate.py @@ -0,0 +1,7 @@ +import sys + +def main(): + + +if __name__=="__main__": + main() diff --git a/desktopenvs/hyprlua/scripts/python/ispeedtest.py b/desktopenvs/hyprlua/scripts/python/ispeedtest.py new file mode 100644 index 0000000..37e5eba --- /dev/null +++ b/desktopenvs/hyprlua/scripts/python/ispeedtest.py @@ -0,0 +1,18 @@ +import sys +import speedtest + +def main(): + s = speedtest.Speedtest(secure=True) + + if (sys.argv[1] == 'd') or (sys.argv[1] == 'b'): + gbdl = round( s.download() / (1024*1024) , 2) + print("󰛴", gbdl, "Mb/S") + + if (sys.argv[1] == 'u') or (sys.argv[1] == 'b'): + gbul = round( s.upload() / (1024*1024) , 2) + print("󰛶", gbul, "Mb/S") + +if __name__=="__main__": + main() + + diff --git a/desktopenvs/hyprlua/scripts/screenrec.sh b/desktopenvs/hyprlua/scripts/screenrec.sh new file mode 100755 index 0000000..9f63495 --- /dev/null +++ b/desktopenvs/hyprlua/scripts/screenrec.sh @@ -0,0 +1,25 @@ +#!/bin/bash + + +endrec () { + killall -s SIGINT wf-recorder + dunstctl close $nid + notify-send "recording ended - output to $outfile" +} + +mkdir -p ~/Videos +statecon=$( pidof wf-recorder ) + + +outfile="$HOME/Videos/$(date +'%Y%m%d%H%M%S').mp4" +#$outfile +nid="" +if [ "$statecon" == '' ]; then + wf-recorder -g "$(slurp)" -f $outfile & + $nid=$(notify-send -p -u critical -t 0 "recording started" --action="goto endrecplace" +) +else + endrec +fi + +pidof wf-recorder && endrec diff --git a/desktopenvs/hyprlua/scripts/screenrotationacw.sh b/desktopenvs/hyprlua/scripts/screenrotationacw.sh new file mode 100755 index 0000000..0791ee2 --- /dev/null +++ b/desktopenvs/hyprlua/scripts/screenrotationacw.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +~/.config/scripts/unified-rotate.sh cw \ No newline at end of file diff --git a/desktopenvs/hyprlua/scripts/screenrotationwcw.sh b/desktopenvs/hyprlua/scripts/screenrotationwcw.sh new file mode 100755 index 0000000..7737194 --- /dev/null +++ b/desktopenvs/hyprlua/scripts/screenrotationwcw.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +~/.config/scripts/unified-rotate.sh ccw \ No newline at end of file diff --git a/desktopenvs/hyprlua/scripts/screenshot.sh b/desktopenvs/hyprlua/scripts/screenshot.sh new file mode 100755 index 0000000..c246361 --- /dev/null +++ b/desktopenvs/hyprlua/scripts/screenshot.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +grim -g "$(slurp -d)" - | wl-copy diff --git a/desktopenvs/hyprlua/scripts/time.sh b/desktopenvs/hyprlua/scripts/time.sh new file mode 100755 index 0000000..e8e8095 --- /dev/null +++ b/desktopenvs/hyprlua/scripts/time.sh @@ -0,0 +1,2 @@ +#!/bin/bash +echo " $(date +"%H:%M:%S") " diff --git a/desktopenvs/hyprlua/scripts/timer-notify.sh.old b/desktopenvs/hyprlua/scripts/timer-notify.sh.old new file mode 100755 index 0000000..756bb07 --- /dev/null +++ b/desktopenvs/hyprlua/scripts/timer-notify.sh.old @@ -0,0 +1,58 @@ +#!/usr/bin/env bash +# Background timer: sleeps, notifies, rings thrice in 30s unless dismissed +# Usage: timer-notify.sh

      + + + + + + + + + + + + +

      + +Customize your Spotify client directly from within [Spicetify](https://github.com/spicetify/cli)! + +Marketplace allows you to **browse, download, and install** extensions, themes, and CSS snippets with ease. You can also browse custom apps, but will need to do some manual installation to get them working. + +Made with [Spicetify Creator](https://github.com/spicetify/spicetify-creator) + +Head to the [wiki](https://github.com/spicetify/marketplace/wiki) to get started! + +--- + +## Links +- [Overview](https://github.com/spicetify/marketplace/wiki) +- [Installation](https://github.com/spicetify/marketplace/wiki/Installation) +- [Publishing to Marketplace](https://github.com/spicetify/marketplace/wiki/Publishing-to-Marketplace) +- [Contributions](https://github.com/spicetify/marketplace/wiki/Contributions) +- [Development](https://github.com/spicetify/marketplace/wiki/Development) +- [Translating/Localizing Marketplace](https://github.com/spicetify/marketplace/wiki/Localizing-Marketplace) + diff --git a/desktopenvs/hyprlua/spicetify/CustomApps/marketplace/extension.js b/desktopenvs/hyprlua/spicetify/CustomApps/marketplace/extension.js new file mode 100644 index 0000000..d6443ce --- /dev/null +++ b/desktopenvs/hyprlua/spicetify/CustomApps/marketplace/extension.js @@ -0,0 +1,10 @@ +!async function(){for(;!Spicetify.React||!Spicetify.ReactDOM;)await new Promise(e=>setTimeout(e,10));(()=>{function _(e,t,r){var a=3"string"==typeof e,F=()=>{let r,a;var e=new Promise((e,t)=>{r=e,a=t});return e.resolve=r,e.reject=a,e},T=e=>null==e?"":""+e,V=(e,t,r)=>{e.forEach(e=>{t[e]&&(r[e]=t[e])})},B=/###/g,D=e=>e&&-1!e||P(e),q=(e,t,r)=>{var a=P(t)?t.split("."):t;let s=0;for(;s{var{obj:e,k:t}=q(a,s,Object);if(void 0!==e||1===s.length)e[t]=n;else{let e=s[s.length-1],t=s.slice(0,s.length-1),r=q(a,t,Object);for(;void 0===r.obj&&t.length;)e=t[t.length-1]+"."+e,t=t.slice(0,t.length-1),(r=q(a,t,Object))?.obj&&void 0!==r.obj[r.k+"."+e]&&(r.obj=void 0);r.obj[r.k+"."+e]=n}},W=(e,t,r,a)=>{var{obj:e,k:t}=q(e,t,Object);e[t]=e[t]||[],e[t].push(r)},H=(e,t)=>{var{obj:e,k:t}=q(e,t);if(e&&Object.prototype.hasOwnProperty.call(e,t))return e[t]},Y=(e,t,r)=>{e=H(e,r);return void 0!==e?e:H(t,r)},G=(e,t,r)=>{for(const a in t)"__proto__"!==a&&"constructor"!==a&&(a in e?P(e[a])||e[a]instanceof String||P(t[a])||t[a]instanceof String?r&&(e[a]=t[a]):G(e[a],t[a],r):e[a]=t[a]);return e},b=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),J={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"},X=e=>P(e)?e.replace(/[&<>"'\/]/g,e=>J[e]):e,Z=[" ",",","?","!",";"],Q=new class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){var t=this.regExpMap.get(e);return void 0!==t||(t=new RegExp(e),this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,t),this.regExpQueue.push(e)),t}}(20),ee=(e,t,r)=>{t=t||"",r=r||"";var a=Z.filter(e=>t.indexOf(e)<0&&r.indexOf(e)<0);if(0===a.length)return!0;var s,a=Q.getRegExp(`(${a.map(e=>"?"===e?"\\?":e).join("|")})`);let n=!a.test(e);return n||0<(s=e.indexOf(r))&&!a.test(e.substring(0,s))&&(n=!0),n},te=function(e,t){var n=2e?.replace("_","-"),ae={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console?.[e]?.apply?.(console,t)}},se=class{constructor(e){this.init(e,1{this.observers[e]||(this.observers[e]=new Map);var t=this.observers[e].get(r)||0;this.observers[e].set(r,t+1)}),this}off(e,t){this.observers[e]&&(t?this.observers[e].delete(t):delete this.observers[e])}emit(a){for(var e=arguments.length,s=new Array(1{var[t,r]=e;for(let e=0;e{var[t,r]=e;for(let e=0;et[e]&&0{t=this.processors[e]?.process(t,r,a,s)??t}),t}},ie={},le=e=>!P(e)&&"boolean"!=typeof e&&"number"!=typeof e,ce=class extends e{constructor(e){var t=1{r=m&&r!==h?r:R;this.options.missingKeyHandler?this.options.missingKeyHandler(e,i,t,r,N,a):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(e,i,t,r,N,a),this.emit("missingKey",e,i,t,h)};this.options.saveMissing&&(this.options.saveMissingPlurals&&g?t.forEach(t=>{var e=this.pluralResolver.getSuffixes(t,a);y&&a[`defaultValue${this.options.pluralSeparator}zero`]&&e.indexOf(this.options.pluralSeparator+"zero")<0&&e.push(this.options.pluralSeparator+"zero"),e.forEach(e=>{C([t],o+e,a["defaultValue"+e]||w)})}):C(t,o,w))}h=this.extendTranslation(h,r,a,c,s),t&&h===o&&this.options.appendNamespaceToMissingKey&&(h=i+":"+o),(t||e)&&this.options.parseMissingKeyHandler&&(h=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?i+":"+o:o,e?h:void 0))}else{if(!a.returnObjects&&!this.options.returnObjects)return this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!"),v=this.options.returnedObjectHandler?this.options.returnedObjectHandler(u,k,{...a,ns:t}):`key '${o} (${this.language})' returned an object instead of string.`,e?(c.res=v,c.usedParams=this.getUsedParamsDetails(a),c):v;if(n){var S,p=Array.isArray(k),L=p?[]:{},O=p?f:u;for(const j in k)Object.prototype.hasOwnProperty.call(k,j)&&(S=""+O+n+j,m&&!h?L[j]=this.translate(S,{...a,defaultValue:le(w)?w[j]:void 0,joinArrays:!1,ns:t}):L[j]=this.translate(S,{...a,joinArrays:!1,ns:t}),L[j]===S)&&(L[j]=k[j]);h=L}}return e?(c.res=h,c.usedParams=this.getUsedParamsDetails(a),c):h}extendTranslation(r,a,s,n,o){var i=this;if(this.i18nFormat?.parse)r=this.i18nFormat.parse(r,{...this.options.interpolation.defaultVariables,...s},s.lng||this.language||n.usedLng,n.usedNS,n.usedKey,{resolved:n});else if(!s.skipInterpolation){s.interpolation&&this.interpolator.init({...s,interpolation:{...this.options.interpolation,...s.interpolation}});var l=P(r)&&(void 0!==s?.interpolation?.skipOnVariables?s:this.options).interpolation.skipOnVariables;let e,t=(l&&(c=r.match(this.interpolator.nestingRegexp),e=c&&c.length),s.replace&&!P(s.replace)?s.replace:s);this.options.interpolation.defaultVariables&&(t={...this.options.interpolation.defaultVariables,...t}),r=this.interpolator.interpolate(r,t,s.lng||this.language||n.usedLng,s),l&&(l=(c=r.match(this.interpolator.nestingRegexp))&&c.length,e{if(!this.isValidLookup(f)){t=this.extractFromKey(t,u);const i=t.key;a=i;let e=t.namespaces;this.options.fallbackNS&&(e=e.concat(this.options.fallbackNS));const l=void 0!==u.count&&!P(u.count),c=l&&!u.ordinal&&0===u.count,h=void 0!==u.context&&(P(u.context)||"number"==typeof u.context)&&""!==u.context,r=u.lngs||this.languageUtils.toResolveHierarchy(u.lng||this.language,u.fallbackLng);e.forEach(o=>{this.isValidLookup(f)||(s=o,ie[r[0]+"-"+o]||!this.utils?.hasLoadedNamespace||this.utils?.hasLoadedNamespace(s)||(ie[r[0]+"-"+o]=!0,this.logger.warn(`key "${a}" for languages "${r.join(", ")}" won't get resolved as namespace "${s}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),r.forEach(t=>{if(!this.isValidLookup(f)){p=t;var e,r=[i];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(r,i,t,o,u);else{let e;l&&(e=this.pluralResolver.getSuffix(t,u.count,u));var a,s=this.options.pluralSeparator+"zero",n=this.options.pluralSeparator+"ordinal"+this.options.pluralSeparator;l&&(r.push(i+e),u.ordinal&&0===e.indexOf(n)&&r.push(i+e.replace(n,this.options.pluralSeparator)),c)&&r.push(i+s),h&&(a=""+i+this.options.contextSeparator+u.context,r.push(a),l)&&(r.push(a+e),u.ordinal&&0===e.indexOf(n)&&r.push(a+e.replace(n,this.options.pluralSeparator)),c)&&r.push(a+s)}for(;e=r.pop();)this.isValidLookup(f)||(d=e,f=this.getResource(t,o,e,u))}}))})}}),{res:f,usedKey:a,exactUsedKey:d,usedLng:p,usedNS:s}}isValidLookup(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}getResource(e,t,r){var a=3{r||(e=this.formatLanguageCode(e),this.options.supportedLngs&&!this.isSupportedCode(e))||(r=e)}),!r&&this.options.supportedLngs&&e.forEach(e=>{if(!r){const t=this.getLanguagePartFromCode(e);if(this.isSupportedCode(t))return r=t;r=this.options.supportedLngs.find(e=>e===t||!(e.indexOf("-")<0&&t.indexOf("-")<0)&&(0{e&&(this.isSupportedCode(e)?r.push(e):this.logger.warn("rejecting language code not found in supportedLngs: "+e))};return P(e)&&(-1{r.indexOf(e)<0&&a(this.formatLanguageCode(e))}),r}},ue={zero:0,one:1,two:2,few:3,many:4,other:5},fe={select:e=>1===e?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})},de=class{constructor(e){var t=1""+t+e)}getSuffixes(e){let t=1ue[e]-ue[t]).map(e=>""+this.options.prepend+(t.ordinal?"ordinal"+this.options.prepend:"")+e):[]}getSuffix(e,t){var r=2e.replace(/\$/g,"$$$$"),ge=class{constructor(){var e=0e),this.init(e)}init(){var e=0e?.source===t?(e.lastIndex=0,e):new RegExp(t,"g");this.regexp=e(this.regexp,this.prefix+"(.+?)"+this.suffix),this.regexpUnescape=e(this.regexpUnescape,""+this.prefix+this.unescapePrefix+"(.+?)"+this.unescapeSuffix+this.suffix),this.nestingRegexp=e(this.nestingRegexp,this.nestingPrefix+"(.+?)"+this.nestingSuffix)}interpolate(a,r,s,n){let o,i,l;const c=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},h=e=>{var t;return e.indexOf(this.formatSeparator)<0?(t=_(r,c,e,this.options.keySeparator,this.options.ignoreJSONStructure),this.alwaysFormat?this.format(t,void 0,s,{...n,...r,interpolationkey:e}):t):(e=(t=e.split(this.formatSeparator)).shift().trim(),t=t.join(this.formatSeparator).trim(),this.format(_(r,c,e,this.options.keySeparator,this.options.ignoreJSONStructure),t,s,{...n,...r,interpolationkey:e}))},u=(this.resetRegExp(),n?.missingInterpolationHandler||this.options.missingInterpolationHandler),f=(void 0!==n?.interpolation?.skipOnVariables?n:this.options).interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>pe(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?pe(this.escape(e)):pe(e)}].forEach(e=>{for(l=0;o=e.regex.exec(a);){var t=o[1].trim();if(void 0===(i=h(t)))if("function"==typeof u){var r=u(a,o,n);i=P(r)?r:""}else{if(!n||!Object.prototype.hasOwnProperty.call(n,t)){if(f){i=o[0];continue}this.logger.warn(`missed to pass in variable ${t} for interpolating `+a)}i=""}else P(i)||this.useRawValueToEscape||(i=T(i));r=e.safeValue(i);if(a=a.replace(o[0],r),f?(e.regex.lastIndex+=i.length,e.regex.lastIndex-=o[0].length):e.regex.lastIndex=0,++l>=this.maxReplaces)break}}),a}nest(r,a){let s=2{var a=this.nestingOptionsSeparator;if(!(r.indexOf(a)<0)){var s=r.split(new RegExp(a+"[ ]*{"));let t="{"+s[1];r=s[0];var s=(t=this.interpolate(t,i)).match(/'/g),n=t.match(/"/g);((s?.length??0)%2!=0||n)&&n.length%2==0||(t=t.replace(/'/g,'"'));try{i=JSON.parse(t),e&&(i={...e,...i})}catch(e){return this.logger.warn("failed parsing options string in nesting for key "+r,e),""+r+a+t}i.defaultValue&&-1e.trim()),n[1]=l.shift(),e=l,t=!0),(o=a(c.call(this,n[1].trim(),i),i))&&n[0]===r&&!P(o))return o;(o=P(o)?o:T(o))||(this.logger.warn(`missed to resolve ${n[1]} for nesting `+r),o=""),t&&(o=e.reduce((e,t)=>this.format(e,t,s.lng,{...s,interpolationkey:n[1].trim()}),o.trim())),r=r.replace(n[0],o),this.regexp.lastIndex=0}return r}},me=e=>{let t=e.toLowerCase().trim();const r={};return-1{var t;e&&([e,...t]=e.split(":"),t=t.join(":").trim().replace(/^'+|'+$/g,""),e=e.trim(),r[e]||(r[e]=t),"false"===t&&(r[e]=!1),"true"===t&&(r[e]=!0),isNaN(t)||(r[e]=parseInt(t,10)))})),{formatName:t,formatOptions:r}},r=o=>{const i={};return(e,t,r)=>{let a=r;r&&r.interpolationkey&&r.formatParams&&r.formatParams[r.interpolationkey]&&r[r.interpolationkey]&&(a={...a,[r.interpolationkey]:void 0});var s=t+JSON.stringify(a);let n=i[s];return n||(n=o(re(t),r),i[s]=n),n(e)}},be=class{constructor(){var e=0{const r=new Intl.NumberFormat(e,{...t});return e=>r.format(e)}),currency:r((e,t)=>{const r=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>r.format(e)}),datetime:r((e,t)=>{const r=new Intl.DateTimeFormat(e,{...t});return e=>r.format(e)}),relativetime:r((e,t)=>{const r=new Intl.RelativeTimeFormat(e,{...t});return e=>r.format(e,t.range||"day")}),list:r((e,t)=>{const r=new Intl.ListFormat(e,{...t});return e=>r.format(e)})},this.init(e)}init(e){this.formatSeparator=(1-1-1{var{formatName:r,formatOptions:a}=me(r);if(this.formats[r]){let e=t;try{var s=i?.formatParams?.[i.interpolationkey]||{},n=s.locale||s.lng||i.locale||i.lng||o;e=this.formats[r](t,n,{...a,...i,...s})}catch(e){this.logger.warn(e)}return e}return this.logger.warn("there was no format function for "+r),t},e));return r}},ve=(e,t)=>{void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)},ye=class extends e{constructor(e,t,r){var a=3{let a=!0;t.forEach(e=>{var t=r+"|"+e;!s.reload&&this.store.hasResourceBundle(r,e)?this.state[t]=2:this.state[t]<0||(1===this.state[t]?void 0===o[t]&&(o[t]=!0):(this.state[t]=1,a=!1,void 0===o[t]&&(o[t]=!0),void 0===n[t]&&(n[t]=!0),void 0===l[e]&&(l[e]=!0)))}),a||(i[r]=!0)}),(Object.keys(n).length||Object.keys(o).length)&&this.queue.push({pending:o,pendingCount:Object.keys(o).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(n),pending:Object.keys(o),toLoadLanguages:Object.keys(i),toLoadNamespaces:Object.keys(l)}}loaded(e,t,r){var a=e.split("|");const s=a[0],n=a[1],o=(t&&this.emit("failedLoading",s,n,t),!t&&r&&this.store.addResourceBundle(s,n,r,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&r&&(this.state[e]=0),{});this.queue.forEach(r=>{W(r.loaded,[s],n),ve(r,e),t&&r.errors.push(t),0!==r.pendingCount||r.done||(Object.keys(r.loaded).forEach(t=>{o[t]||(o[t]={});var e=r.loaded[t];e.length&&e.forEach(e=>{void 0===o[t][e]&&(o[t][e]=!0)})}),r.done=!0,r.errors.length?r.callback(r.errors):r.callback())}),this.emit("loaded",o),this.queue=this.queue.filter(e=>!e.done)}read(a,s,n){let o=3=this.maxParallelReads)this.waitingReads.push({lng:a,ns:s,fcName:n,tried:o,wait:i,callback:l});else{this.readingCalls++;const r=(e,t)=>{var r;this.readingCalls--,0{this.read.call(this,a,s,n,o+1,2*i,l)},i):l(e,t)};var e=this.backend[n].bind(this.backend);if(2!==e.length)return e(a,s,r);try{var t=e(a,s);t&&"function"==typeof t.then?t.then(e=>r(null,e)).catch(r):r(null,t)}catch(e){r(e)}}}prepareLoading(e,t){var r=2{this.loadOne(e)})}load(e,t,r){this.prepareLoading(e,t,{},r)}reload(e,t,r){this.prepareLoading(e,t,{reload:!0},r)}loadOne(r){let a=1{e&&this.logger.warn(`${a}loading namespace ${n} for language ${s} failed`,e),!e&&t&&this.logger.log(`${a}loaded namespace ${n} for language `+s,t),this.loaded(r,e,t)})}saveMissing(t,r,a,s,n){var o=5{};if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(r))this.logger.warn(`did not save key "${a}" as the namespace "${r}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");else if(null!=a&&""!==a){if(this.backend?.create){o={...o,isUpdate:n},n=this.backend.create.bind(this.backend);if(n.length<6)try{let e;(e=5===n.length?n(t,r,a,s,o):n(t,r,a,s))&&"function"==typeof e.then?e.then(e=>i(null,e)).catch(i):i(null,e)}catch(e){i(e)}else n(t,r,a,s,i,o)}t&&t[0]&&this.store.addResource(t[0],r,a,s)}}},we=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let t={};if("object"==typeof e[1]&&(t=e[1]),P(e[1])&&(t.defaultValue=e[1]),P(e[2])&&(t.tDescription=e[2]),"object"==typeof e[2]||"object"==typeof e[3]){const r=e[3]||e[2];Object.keys(r).forEach(e=>{t[e]=r[e]})}return t},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}),ke=e=>(P(e.ns)&&(e.ns=[e.ns]),P(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),P(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs?.indexOf?.("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),"boolean"==typeof e.initImmediate&&(e.initAsync=e.initImmediate),e),xe=()=>{},Se=t=>{Object.getOwnPropertyNames(Object.getPrototypeOf(t)).forEach(e=>{"function"==typeof t[e]&&(t[e]=t[e].bind(t))})},Le=class extends e{constructor(){let e=0{this.init(e,t)},0)}}init(){var s=this;let e=0e?"function"==typeof e?new e:e:null);if(!this.options.isClone){this.modules.logger?l.init(a(this.modules.logger),this.options):l.init(null,this.options);let e;e=this.modules.formatter||be;var n=new he(this.options),o=(this.store=new ne(this.options.resources,this.options),this.services);o.logger=l,o.resourceStore=this.store,o.languageUtils=n,o.pluralResolver=new de(n,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),!e||this.options.interpolation.format&&this.options.interpolation.format!==t.interpolation.format||(o.formatter=a(e),o.formatter.init(o,this.options),this.options.interpolation.format=o.formatter.format.bind(o.formatter)),o.interpolator=new ge(this.options),o.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},o.backendConnector=new ye(a(this.modules.backend),o.resourceStore,o,this.options),o.backendConnector.on("*",function(e){for(var t=arguments.length,r=new Array(1{e.init&&e.init(this)})}this.format=this.options.interpolation.format,r=r||xe,!this.options.fallbackLng||this.services.languageDetector||this.options.lng||0<(n=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng)).length&&"dev"!==n[0]&&(this.options.lng=n[0]),this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined");["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(e=>{this[e]=function(){return s.store[e](...arguments)}});["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(e=>{this[e]=function(){return s.store[e](...arguments),s}});const i=F();t=()=>{var e=(e,t)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),i.resolve(t),r(e,t)};if(this.languages&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initAsync?t():setTimeout(t,0),i}loadResources(e){let t=1{e&&"cimode"!==e&&this.services.languageUtils.toResolveHierarchy(e).forEach(e=>{"cimode"!==e&&a.indexOf(e)<0&&a.push(e)})};r?s(r):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(e=>s(e)),this.options.preload?.forEach?.(e=>s(e)),this.services.backendConnector.load(a,this.options.ns,e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),t(e)})}else t(null)}reloadResources(e,t,r){const a=F();return"function"==typeof e&&(r=e,e=void 0),"function"==typeof t&&(r=t,t=void 0),e=e||this.languages,t=t||this.options.ns,r=r||xe,this.services.backendConnector.reload(e,t,e=>{a.resolve(),r(e)}),a}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(e.type)return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&oe.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this;throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()")}setResolvedLanguage(e){if(e&&this.languages&&!(-1<["cimode","dev"].indexOf(e)))for(let e=0;e{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)}),i=(e,t)=>{t?(o(t),this.translator.changeLanguage(t),this.isLanguageChangingTo=void 0,this.emit("languageChanged",t),this.logger.log("languageChanged",t)):this.isLanguageChangingTo=void 0,n.resolve(function(){return s.t(...arguments)}),a&&a(e,function(){return s.t(...arguments)})};var e=e=>{r||e||!this.services.languageDetector||(e=[]);const t=P(e)?e:this.services.languageUtils.getBestMatchFromCodes(e);t&&(this.language||o(t),this.translator.language||this.translator.changeLanguage(t),this.services.languageDetector?.cacheUserLanguage?.(t)),this.loadResources(t,e=>{i(e,t)})};return r||!this.services.languageDetector||this.services.languageDetector.async?!r&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(e):this.services.languageDetector.detect(e):e(r):e(this.services.languageDetector.detect()),n}getFixedT(e,t,l){var c=this;function h(e,t){let r;if("object"!=typeof t){for(var a=arguments.length,s=new Array(2""+r.keyPrefix+o+e):r.keyPrefix?""+r.keyPrefix+o+e:e,c.t(i,r)}return P(e)?h.lng=e:h.lngs=e,h.ns=t,h.keyPrefix=l,h}t(){for(var e=arguments.length,t=new Array(e),r=0;r{e=this.services.backendConnector.state[e+"|"+t];return-1===e||0===e||2===e};if(t.precheck){t=t.precheck(this,n);if(void 0!==t)return t}return!!this.hasResourceBundle(r,e)||!(this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages)&&(!n(r,e)||a&&!n(s,e)))}loadNamespaces(e,t){const r=F();return this.options.ns?((e=P(e)?[e]:e).forEach(e=>{this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}),this.loadResources(e=>{r.resolve(),t&&t(e)}),r):(t&&t(),Promise.resolve())}loadLanguages(e,t){const r=F(),a=(P(e)&&(e=[e]),this.options.preload||[]);e=e.filter(e=>a.indexOf(e)<0&&this.services.languageUtils.isSupportedCode(e));return e.length?(this.options.preload=a.concat(e),this.loadResources(e=>{r.resolve(),t&&t(e)}),r):(t&&t(),Promise.resolve())}dir(e){var t;return!(e=e||this.resolvedLanguage||(0{s[e]=this[e]}),s.services={...this.services},s.services.utils={hasLoadedNamespace:s.hasLoadedNamespace.bind(s)},r&&(e=Object.keys(this.store.data).reduce((r,a)=>(r[a]={...this.store.data[a]},Object.keys(r[a]).reduce((e,t)=>(e[t]={...r[a][t]},e),{})),{}),s.store=new ne(e,a),s.services.resourceStore=s.store),s.translator=new ce(s.services,a),s.translator.on("*",function(e){for(var t=arguments.length,r=new Array(1Ne(Ce(t,e),r),je=t=>{t._clipped=!1,t._unclipped=t.slice(0);for(let e=0;e<=3;e++)e<3?((t[e]<0||2553<=t.length?Array.prototype.slice.call(t):"object"==O(t[0])&&e?e.split("").filter(e=>void 0!==t[0][e]).map(e=>t[0][e]):t[0].slice(0),c=e=>{var t;return!(e.length<2)&&"string"==O(e[t=e.length-1])?e[t].toLowerCase():null},{PI:e,min:Me,max:Ee}=Math,a=e=>Math.round(100*e)/100,$e=e=>Math.round(100*e)/100,u=2*e,Ae=e/3,Ie=e/180,_e=180/e,o={format:{},autodetect:[]},m=class{constructor(...e){if("object"===O(e[0])&&e[0].constructor&&e[0].constructor===this.constructor)return e[0];let t=c(e),r=!1;if(!t){r=!0,o.sorted||(o.autodetect=o.autodetect.sort((e,t)=>t.p-e.p),o.sorted=!0);for(var a of o.autodetect)if(t=a.test(...e))break}if(!o.format[t])throw new Error("unknown format: "+e);var s=o.format[t].apply(null,r?e:e.slice(0,-1));this._rgb=je(s),3===this._rgb.length&&this._rgb.push(1)}toString(){return"function"==O(this.hex)?this.hex():`[${this._rgb.join(",")}]`}},e=(...e)=>new m(...e),R=(e.version="3.1.1",e),s={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",laserlemon:"#ffff54",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrod:"#fafad2",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",maroon2:"#7f0000",maroon3:"#b03060",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",purple2:"#7f007f",purple3:"#a020f0",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},Ue=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,Fe=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,Te=e=>{var t;if(e.match(Ue))return 3===(e=4!==e.length&&7!==e.length?e:e.substr(1)).length&&(e=(e=e.split(""))[0]+e[0]+e[1]+e[1]+e[2]+e[2]),[(t=parseInt(e,16))>>16,t>>8&255,255&t,1];if(e.match(Fe))return 4===(e=5!==e.length&&9!==e.length?e:e.substr(1)).length&&(e=(e=e.split(""))[0]+e[0]+e[1]+e[1]+e[2]+e[2]+e[3]+e[3]),[(t=parseInt(e,16))>>24&255,t>>16&255,t>>8&255,Math.round((255&t)/255*100)/100];throw new Error("unknown hex color: "+e)},Ve=Math["round"],Be=(...e)=>{let[t,r,a,s]=p(e,"rgba"),n=c(e)||"auto";void 0===s&&(s=1),"auto"===n&&(n=s<1?"rgba":"rgb");let o="000000"+(Ve(t)<<16|Ve(r)<<8|Ve(a)).toString(16),i=(o=o.substr(o.length-6),"0"+Ve(255*s).toString(16));switch(i=i.substr(i.length-2),n.toLowerCase()){case"rgba":return"#"+o+i;case"argb":return"#"+i+o;default:return"#"+o}},De=(m.prototype.name=function(){var e,t=Be(this._rgb,"rgb");for(e of Object.keys(s))if(s[e]===t)return e.toLowerCase();return t},o.format.named=e=>{if(e=e.toLowerCase(),s[e])return Te(s[e]);throw new Error("unknown color name: "+e)},o.autodetect.push({p:5,test:(e,...t)=>{if(!t.length&&"string"===O(e)&&s[e.toLowerCase()])return"named"}}),m.prototype.alpha=function(e,t=!1){return void 0!==e&&"number"===O(e)?t?(this._rgb[3]=e,this):new m([this._rgb[0],this._rgb[1],this._rgb[2],e],"rgb"):this._rgb[3]},m.prototype.clipped=function(){return this._rgb._clipped||!1},{Kn:18,labWhitePoint:"d65",Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452,kE:216/24389,kKE:8,kK:24389/27,RefWhiteRGB:{X:.95047,Y:1,Z:1.08883},MtxRGB2XYZ:{m00:.4124564390896922,m01:.21267285140562253,m02:.0193338955823293,m10:.357576077643909,m11:.715152155287818,m12:.11919202588130297,m20:.18043748326639894,m21:.07217499330655958,m22:.9503040785363679},MtxXYZ2RGB:{m00:3.2404541621141045,m01:-.9692660305051868,m02:.055643430959114726,m10:-1.5371385127977166,m11:1.8760108454466942,m12:-.2040259135167538,m20:-.498531409556016,m21:.041556017530349834,m22:1.0572251882231791},As:.9414285350000001,Bs:1.040417467,Cs:1.089532651,MtxAdaptMa:{m00:.8951,m01:-.7502,m02:.0389,m10:.2664,m11:1.7135,m12:-.0685,m20:-.1614,m21:.0367,m22:1.0296},MtxAdaptMaI:{m00:.9869929054667123,m01:.43230526972339456,m02:-.008528664575177328,m10:-.14705425642099013,m11:.5183602715367776,m12:.04004282165408487,m20:.15996265166373125,m21:.0492912282128556,m22:.9684866957875502}}),w=De,Ke=new Map([["a",[1.0985,.35585]],["b",[1.0985,.35585]],["c",[.98074,1.18232]],["d50",[.96422,.82521]],["d55",[.95682,.92149]],["d65",[.95047,1.08883]],["e",[1,1,1]],["f2",[.99186,.67393]],["f7",[.95041,1.08747]],["f11",[1.00962,.6435]],["icc",[.96422,.82521]]]);function i(e){var t=Ke.get(String(e).toLowerCase());if(!t)throw new Error("unknown Lab illuminant "+e);De.labWhitePoint=e,De.Xn=t[0],De.Zn=t[1]}function qe(){return De.labWhitePoint}var ze=e=>{var t=Math.sign(e);return((e=Math.abs(e))<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)*t},We=(e,t,r)=>{var{MtxAdaptMa:a,MtxAdaptMaI:s,MtxXYZ2RGB:n,RefWhiteRGB:o,Xn:i,Yn:l,Zn:c}=w,h=i*a.m00+l*a.m10+c*a.m20,u=i*a.m01+l*a.m11+c*a.m21,i=i*a.m02+l*a.m12+c*a.m22,l=o.X*a.m00+o.Y*a.m10+o.Z*a.m20,c=o.X*a.m01+o.Y*a.m11+o.Z*a.m21,o=o.X*a.m02+o.Y*a.m12+o.Z*a.m22,l=(e*a.m00+t*a.m10+r*a.m20)*(l/h),h=(e*a.m01+t*a.m11+r*a.m21)*(c/u),c=(e*a.m02+t*a.m12+r*a.m22)*(o/i),u=l*s.m00+h*s.m10+c*s.m20,e=l*s.m01+h*s.m11+c*s.m21,t=l*s.m02+h*s.m12+c*s.m22;return[255*ze(u*n.m00+e*n.m10+t*n.m20),255*ze(u*n.m01+e*n.m11+t*n.m21),255*ze(u*n.m02+e*n.m12+t*n.m22)]},He=(...e)=>{var[t,r,a]=e=p(e,"lab"),[t,r,a]=((e,t,r)=>{const{kE:a,kK:s,kKE:n,Xn:o,Yn:i,Zn:l}=w,c=(e+16)/116,h=.002*t+c,u=c-.005*r,f=h*h*h,d=u*u*u,p=f>a?f:(116*h-16)/s,g=e>n?Math.pow((e+16)/116,3):e/s,m=d>a?d:(116*u-16)/s,b=p*o,v=g*i,y=m*l;return[b,v,y]})(t,r,a),[t,r,a]=We(t,r,a);return[t,r,a,3{e=Ye(e/255),t=Ye(t/255),r=Ye(r/255);var{MtxRGB2XYZ:a,MtxAdaptMa:s,MtxAdaptMaI:n,Xn:o,Yn:i,Zn:l,As:c,Bs:h,Cs:u}=w,f=e*a.m00+t*a.m10+r*a.m20,d=e*a.m01+t*a.m11+r*a.m21,e=e*a.m02+t*a.m12+r*a.m22,t=o*s.m00+i*s.m10+l*s.m20,r=o*s.m01+i*s.m11+l*s.m21,a=o*s.m02+i*s.m12+l*s.m22,o=f*s.m00+d*s.m10+e*s.m20,i=f*s.m01+d*s.m11+e*s.m21,l=f*s.m02+d*s.m12+e*s.m22;return[(o*=t/c)*n.m00+(i*=r/h)*n.m10+(l*=a/u)*n.m20,o*n.m01+i*n.m11+l*n.m21,o*n.m02+i*n.m12+l*n.m22]},Je=(...e)=>{var[e,t,r,...a]=p(e,"rgb"),[e,t,r]=Ge(e,t,r),[e,t,r]=function(e,t,r){var{Xn:a,Yn:s,Zn:n,kE:o,kK:i}=w,e=e/a,a=t/s,t=r/n,s=onew m(...e,"lab"),getLabWhitePoint:qe,setLabWhitePoint:i}),o.format.lab=He,o.autodetect.push({p:2,test:(...e)=>{if("array"===O(e=p(e,"lab"))&&3===e.length)return"lab"}}),m.prototype.darken=function(e=1){var t=this.lab();return t[0]-=w.Kn*e,new m(t,"lab").alpha(this.alpha(),!0)},m.prototype.brighten=function(e=1){return this.darken(-e)},m.prototype.darker=m.prototype.darken,m.prototype.brighter=m.prototype.brighten,m.prototype.get=function(e){var[e,t]=e.split("."),r=this[e]();if(t){var a=e.indexOf(t)-("ok"===e.substr(0,2)?2:0);if(-1{var r=e.interpolate(t,.5,o),a=r.luminance();return Math.abs(n-a)<1e-7||!s--?r:n.2126*(e=Qe(e))+.7152*(t=Qe(t))+.0722*(r=Qe(r))),Qe=e=>(e/=255)<=.03928?e/12.92:Xe((e+.055)/1.055,2.4),n={},h=(e,t,r=.5,...a)=>{let s=a[0]||"lrgb";if(n[s]||a.length||(s=Object.keys(n)[0]),n[s])return"object"!==O(e)&&(e=new m(e)),"object"!==O(t)&&(t=new m(t)),n[s](e,t,r).alpha(e.alpha()+r*(t.alpha()-e.alpha()));throw new Error(`interpolation mode ${s} is not defined`)},{sin:et,cos:tt}=(m.prototype.mix=m.prototype.interpolate=function(e,t=.5,...r){return h(this,e,t,...r)},m.prototype.premultiply=function(e=!1){var t=this._rgb,r=t[3];return e?(this._rgb=[t[0]*r,t[1]*r,t[2]*r,r],this):new m([t[0]*r,t[1]*r,t[2]*r,r],"rgb")},Math),rt=(...e)=>{let[t,r,a]=p(e,"lch");return isNaN(a)&&(a=0),a*=Ie,[t,tt(a)*r,et(a)*r]},at=(...e)=>{var[t,r,a]=e=p(e,"lch"),[t,r,a]=rt(t,r,a),[t,r,a]=He(t,r,a);return[t,r,a,3{e=p(e,"hcl").reverse();return at(...e)},{sqrt:st,atan2:nt,round:ot}=Math,it=(...e)=>{var[e,t,r]=p(e,"lab"),a=st(t*t+r*r);let s=(nt(r,t)*_e+360)%360;return[e,a,s=0===ot(1e4*a)?Number.NaN:s]},lt=(...e)=>{var[e,t,r,...a]=p(e,"rgb"),[e,t,r]=Je(e,t,r),[e,t,r]=it(e,t,r);return[e,t,r,...0new m(...e,"lch"),hcl:(...e)=>new m(...e,"hcl")}),o.format.lch=at,o.format.hcl=e,["lch","hcl"].forEach(t=>o.autodetect.push({p:2,test:(...e)=>{if("array"===O(e=p(e,t))&&3===e.length)return t}})),m.prototype.saturate=function(e=1){var t=this.lch();return t[1]+=w.Kn*e,t[1]<0&&(t[1]=0),new m(t,"lch").alpha(this.alpha(),!0)},m.prototype.desaturate=function(e=1){return this.saturate(-e)},m.prototype.set=function(e,t,r=!1){var[e,a]=e.split("."),s=this[e]();if(a){var n=e.indexOf(a)-("ok"===e.substr(0,2)?2:0);if(-1{e=e._rgb,t=t._rgb;return new m(e[0]+r*(t[0]-e[0]),e[1]+r*(t[1]-e[1]),e[2]+r*(t[2]-e[2]),"rgb")},Math),d=(n.lrgb=(e,t,r)=>{var[e,a,s]=e._rgb,[t,n,o]=t._rgb;return new m(ct(f(e,2)*(1-r)+f(t,2)*r),ct(f(a,2)*(1-r)+f(n,2)*r),ct(f(s,2)*(1-r)+f(o,2)*r),"rgb")},n.lab=(e,t,r)=>{e=e.lab(),t=t.lab();return new m(e[0]+r*(t[0]-e[0]),e[1]+r*(t[1]-e[1]),e[2]+r*(t[2]-e[2]),"lab")},(e,t,r,a)=>{let s,n;"hsl"===a?(s=e.hsl(),n=t.hsl()):"hsv"===a?(s=e.hsv(),n=t.hsv()):"hcg"===a?(s=e.hcg(),n=t.hcg()):"hsi"===a?(s=e.hsi(),n=t.hsi()):"lch"===a||"hcl"===a?(a="hcl",s=e.hcl(),n=t.hcl()):"oklch"===a&&(s=e.oklch().reverse(),n=t.oklch().reverse());let o,i,l,c,h,u;"h"!==a.substr(0,1)&&"oklch"!==a||([o,l,h]=s,[i,c,u]=n);let f,d,p,g;return isNaN(o)||isNaN(i)?isNaN(o)?isNaN(i)?d=Number.NaN:(d=i,1!=h&&0!=h||"hsv"==a||(f=c)):(d=o,1!=u&&0!=u||"hsv"==a||(f=l)):(g=i>o&&180d(e,t,r,"lch"),e=(n.lch=e,n.hcl=e,e=>{if("number"==O(e)&&0<=e&&e<=16777215)return[e>>16,e>>8&255,255&e,1];throw new Error("unknown num color: "+e)}),ht=(...e)=>{var[e,t,r]=p(e,"rgb");return(e<<16)+(t<<8)+r},ut=(m.prototype.num=function(){return ht(this._rgb)},Object.assign(R,{num:(...e)=>new m(...e,"num")}),o.format.num=e,o.autodetect.push({p:5,test:(...e)=>{if(1===e.length&&"number"===O(e[0])&&0<=e[0]&&e[0]<=16777215)return"num"}}),(n.num=(e,t,r)=>{e=e.num(),t=t.num();return new m(e+r*(t-e),"num")},Math)["floor"]),e=(...e)=>{let[t,r,a]=e=p(e,"hcg"),s,n,o;a*=255;var i=255*r;if(0===r)s=n=o=a;else{360<(t=360===t?0:t)&&(t-=360),t<0&&(t+=360),t/=60;var l=ut(t),c=t-l,h=a*(1-r),u=h+i*(1-c),f=h+i*c,d=h+i;switch(l){case 0:[s,n,o]=[d,f,h];break;case 1:[s,n,o]=[u,d,h];break;case 2:[s,n,o]=[h,d,f];break;case 3:[s,n,o]=[h,u,d];break;case 4:[s,n,o]=[f,h,d];break;case 5:[s,n,o]=[d,h,u]}}return[s,n,o,3{var[e,t,r]=p(e,"rgb"),a=Me(e,t,r),s=Ee(e,t,r),n=s-a;let o;return 0==n?o=Number.NaN:(e===s&&(o=(t-r)/n),t===s&&(o=2+(r-e)/n),r===s&&(o=4+(e-t)/n),(o*=60)<0&&(o+=360)),[o,100*n/255,a/(255-n)*100]},v=(m.prototype.hcg=function(){return ft(this._rgb)},R.hcg=(...e)=>new m(...e,"hcg"),o.format.hcg=e,o.autodetect.push({p:1,test:(...e)=>{if("array"===O(e=p(e,"hcg"))&&3===e.length)return"hcg"}}),(n.hcg=(e,t,r)=>d(e,t,r,"hcg"),Math)["cos"]),e=(...e)=>{let[t,r,a]=e=p(e,"hsi"),s,n,o;return isNaN(t)&&(t=0),isNaN(r)&&(r=0),360{var[e,t,r]=p(e,"rgb");let a;var s=dt(e/=255,t/=255,r/=255),n=(e+t+r)/3,s=0new m(...e,"hsi"),o.format.hsi=e,o.autodetect.push({p:2,test:(...e)=>{if("array"===O(e=p(e,"hsi"))&&3===e.length)return"hsi"}}),n.hsi=(e,t,r)=>d(e,t,r,"hsi"),(...e)=>{var[t,r,a]=e=p(e,"hsl");let s,n,o;if(0===r)s=n=o=255*a;else{var i=[0,0,0],l=[0,0,0],c=a<.5?a*(1+r):a+r-a*r,h=2*a-c,r=t/360;i[0]=r+1/3,i[1]=r,i[2]=r-1/3;for(let e=0;e<3;e++)i[e]<0&&(i[e]+=1),1{var[t,r,a]=e=p(e,"rgba"),s=Me(t/=255,r/=255,a/=255),n=Ee(t,r,a),o=(n+s)/2;let i,l;return n===s?(i=0,l=Number.NaN):i=o<.5?(n-s)/(n+s):(n-s)/(2-n-s),t==n?l=(r-a)/(n-s):r==n?l=2+(a-t)/(n-s):a==n&&(l=4+(t-r)/(n-s)),(l*=60)<0&&(l+=360),3new m(...e,"hsl"),o.format.hsl=bt,o.autodetect.push({p:2,test:(...e)=>{if("array"===O(e=p(e,"hsl"))&&3===e.length)return"hsl"}}),(n.hsl=(e,t,r)=>d(e,t,r,"hsl"),Math)["floor"]),e=(...e)=>{let[t,r,a]=e=p(e,"hsv"),s,n,o;if(a*=255,0===r)s=n=o=a;else{360<(t=360===t?0:t)&&(t-=360),t<0&&(t+=360),t/=60;var i=yt(t),l=t-i,c=a*(1-r),h=a*(1-r*l),u=a*(1-r*(1-l));switch(i){case 0:[s,n,o]=[a,u,c];break;case 1:[s,n,o]=[h,a,c];break;case 2:[s,n,o]=[c,a,u];break;case 3:[s,n,o]=[c,h,a];break;case 4:[s,n,o]=[u,c,a];break;case 5:[s,n,o]=[a,c,h]}}return[s,n,o,3{var[e,t,r]=e=p(e,"rgb"),a=wt(e,t,r),s=kt(e,t,r),a=s-a;let n,o;return 0===s?(n=Number.NaN,o=0):(o=a/s,e===s&&(n=(t-r)/a),t===s&&(n=2+(r-e)/a),r===s&&(n=4+(e-t)/a),(n*=60)<0&&(n+=360)),[n,o,s/255]};m.prototype.hsv=function(){return xt(this._rgb)},R.hsv=(...e)=>new m(...e,"hsv"),o.format.hsv=e,o.autodetect.push({p:2,test:(...e)=>{if("array"===O(e=p(e,"hsv"))&&3===e.length)return"hsv"}});function St(e,r){var t=e.length,a=(Array.isArray(e[0])||(e=[e]),(r=Array.isArray(r[0])?r:r.map(e=>[e]))[0].length);let s=r[0].map((e,t)=>r.map(e=>e[t])),n=e.map(r=>s.map(a=>Array.isArray(r)?r.reduce((e,t,r)=>e+t*(a[r]||0),0):a.reduce((e,t)=>e+t*r,0)));return 1===t&&(n=n[0]),1===a?n.map(e=>e[0]):n}n.hsv=(e,t,r)=>d(e,t,r,"hsv");var Lt=(...e)=>{var[e,t,r,...a]=e=p(e,"lab"),[e,t,r]=function(e){e=St([[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],e);return St([[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],e.map(e=>e**3))}([e,t,r]),[e,t,r]=We(e,t,r);return[e,t,r,...0{var[e,t,r,...a]=p(e,"rgb");return[...function(e){e=St([[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],e);return St([[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],e.map(e=>Math.cbrt(e)))}(Ge(e,t,r)),...0new m(...e,"oklab")}),o.format.oklab=Lt,o.autodetect.push({p:2,test:(...e)=>{if("array"===O(e=p(e,"oklab"))&&3===e.length)return"oklab"}}),n.oklab=(e,t,r)=>{e=e.oklab(),t=t.oklab();return new m(e[0]+r*(t[0]-e[0]),e[1]+r*(t[1]-e[1]),e[2]+r*(t[2]-e[2]),"oklab")},n.oklch=(e,t,r)=>d(e,t,r,"oklch"),Math),Et=Math["pow"];function $t(n){let o="rgb",i=R("#ccc"),t=0,l=[0,1],c=[],h=[0,0],u=!1,f=[],r=!1,d=0,p=1,a,g={},m=!0,b=1;function s(t){if((t=t||["#fff","#000"])&&"string"===O(t)&&R.brewer&&R.brewer[t.toLowerCase()]&&(t=R.brewer[t.toLowerCase()]),"array"===O(t)){t=(t=1===t.length?[t[0],t[0]]:t).slice(0);for(let e=0;e=u[e];)e++;return e-1}};let y=e=>e,w=e=>e;function k(e,t){let r,a;if(null==t&&(t=!1),isNaN(e)||null===e)return i;if(a=t?e:u&&2=s&&e===c.length-1){r=f[e];break}if(a>s&&ag={};s(n);function S(e){return e=R(k(e)),r&&e[r]?e[r]():e}return S.classes=function(e){var t;return null!=e?("array"===O(e)?(u=e,l=[e[0],e[e.length-1]]):(t=R.analyze(l),u=0===e?[t.min,t.max]:R.limits(t,"e",e)),S):u},S.domain=function(r){if(!arguments.length)return l;d=r[0],p=r[r.length-1],c=[];var t=f.length;if(r.length===t&&d!==p)for(var e of Array.from(r))c.push((e-d)/(p-d));else{for(let e=0;et/(r.length-1)),s=r.map(e=>(e-d)/(p-d));s.every((e,t)=>a[t]===e)||(w=e=>{if(e<=0||1<=e)return e;let t=0;for(;e>=s[t+1];)t++;var r=(e-s[t])/(s[t+1]-s[t]);return a[t]+r*(a[t+1]-a[t])})}}return l=[d,p],S},S.mode=function(e){return arguments.length?(o=e,x(),S):o},S.range=function(e,t){return s(e),S},S.out=function(e){return r=e,S},S.spread=function(e){return arguments.length?(t=e,S):t},S.correctLightness=function(e){return null==e&&(e=!0),a=e,x(),y=a?function(e){var t=k(0,!0).lab()[0],r=k(1,!0).lab()[0];const a=re,S},S.padding=function(e){return null!=e?("number"===O(e)&&(e=[e,e]),h=e,S):h},S.colors=function(t,r){arguments.length<2&&(r="hex");let e=[];if(0===arguments.length)e=f.slice(0);else if(1===t)e=[S(.5)];else if(1n;s?e++:e--)a.push(e);return a}(0,t,!1).map(e=>S(a+e/(t-1)*s))}else{n=[];let a=[];if(u&&2t;r?e++:e--)a.push(.5*(u[e-1]+u[e]));else a=l;e=a.map(e=>S(e))}return e=R[r]?e.map(e=>e[r]()):e},S.cache=function(e){return null!=e?(m=e,S):m},S.gamma=function(e){return null!=e?(b=e,S):b},S.nodata=function(e){return null!=e?(i=R(e),S):i},S}var At=function(t){let r=[1,1];for(let e=1;e!(t<3)||!1===r?e:It(e))},Object.assign(R,{rgb:(...e)=>new m(...e,"rgb")}),o.format.rgb=(...e)=>{e=p(e,"rgba");return void 0===e[3]&&(e[3]=1),e},o.autodetect.push({p:3,test:(...e)=>{if("array"===O(e=p(e,"rgba"))&&(3===e.length||4===e.length&&"number"==O(e[3])&&0<=e[3]&&e[3]<=1))return"rgb"}}),(e,t,r)=>{if(y[r])return y[r](e,t);throw new Error("unknown blend mode "+r)}),e=r=>(e,t)=>{t=R(t).rgb(),e=R(e).rgb();return R.rgb(r(t,e))},t=a=>(e,t)=>{var r=[];return r[0]=a(e[0],t[0]),r[1]=a(e[1],t[1]),r[2]=a(e[2],t[2]),r},e=(y.normal=e(t(e=>e)),y.multiply=e(t((e,t)=>e*t/255)),y.screen=e(t((e,t)=>255*(1-(1-e/255)*(1-t/255)))),y.overlay=e(t((e,t)=>t<128?2*e*t/255:255*(1-2*(1-e/255)*(1-t/255)))),y.darken=e(t((e,t)=>tt255===e||255<(e=t/255*255/(1-e/255))?255:e)),y.burn=e(t((e,t)=>255*(1-(1-t/255)/(e/255)))),y),{pow:_t,sin:Ut,cos:Ft}=Math;var{floor:Tt,random:Vt}=Math,{log:Bt,pow:Dt,floor:Kt,abs:qt}=Math;function zt(e,t=null){const r={min:Number.MAX_VALUE,max:-1*Number.MAX_VALUE,sum:0,values:[],count:0};return(e="object"===O(e)?Object.values(e):e).forEach(e=>{null==(e=t&&"object"===O(e)?e[t]:e)||isNaN(e)||(r.values.push(e),r.sum+=e,er.max&&(r.max=e),r.count+=1)}),r.domain=[r.min,r.max],r.limits=(e,t)=>Wt(r,e,t),r}function Wt(e,t="equal",n=7){var{min:o,max:i}=e="array"==O(e)?zt(e):e,l=e.values.sort((e,t)=>e-t);if(1===n)return[o,i];var c=[];if("c"===t.substr(0,1)&&(c.push(o),c.push(i)),"e"===t.substr(0,1)){c.push(o);for(let e=1;e 0");var r=Math.LOG10E*Bt(o),a=Math.LOG10E*Bt(i);c.push(o);for(let e=1;ee-t),c.push(a[0]);for(let e=1;e[e.toLowerCase(),e])),rr="function"==typeof Proxy?new Proxy(rr,{get(e,t){t=t.toLowerCase();if(sr.has(t))return e[sr.get(t)]},getOwnPropertyNames(){return Object.getOwnPropertyNames(ar)}}):rr,S=(...e)=>{var[t,r,a,s]=e=p(e,"cmyk"),e=4{var[e,t,r]=p(e,"rgb"),a=1-nr(e/=255,nr(t/=255,r/=255)),s=a<1?1/(1-a):0;return[(1-e-a)*s,(1-t-a)*s,(1-r-a)*s,a]},ir=(m.prototype.cmyk=function(){return or(this._rgb)},Object.assign(R,{cmyk:(...e)=>new m(...e,"cmyk")}),o.format.cmyk=S,o.autodetect.push({p:2,test:(...e)=>{if("array"===O(e=p(e,"cmyk"))&&4===e.length)return"cmyk"}}),(...e)=>{var t=p(e,"hsla");let r=c(e)||"lsa";return t[0]=a(t[0]||0)+"deg",t[1]=a(100*t[1])+"%",t[2]=a(100*t[2])+"%","hsla"===r||3{var t=p(e,"lab"),e=c(e)||"lab";return t[0]=a(t[0])+"%",t[1]=a(t[1]),t[2]=a(t[2]),"laba"===e||3{var t=p(e,"lch"),e=c(e)||"lab";return t[0]=a(t[0])+"%",t[1]=a(t[1]),t[2]=isNaN(t[2])?"none":a(t[2])+"deg","lcha"===e||3{e=p(e,"lab");return e[0]=a(100*e[0])+"%",e[1]=$e(e[1]),e[2]=$e(e[2]),3{var[e,t,r,...a]=p(e,"rgb"),[e,t,r]=Ot(e,t,r),[e,t,r]=it(e,t,r);return[e,t,r,...0{e=p(e,"lch");return e[0]=a(100*e[0])+"%",e[1]=$e(e[1]),e[2]=isNaN(e[2])?"none":a(e[2])+"deg",3{var t,r=p(e,"rgba");let a=c(e)||"rgb";return"hsl"===a.substr(0,3)?ir(vt(r),a):"lab"===a.substr(0,3)?(e=qe(),i("d50"),t=lr(Je(r),a),i(e),t):"lch"===a.substr(0,3)?(e=qe(),i("d50"),t=cr(lt(r),a),i(e),t):"oklab"===a.substr(0,5)?hr(Ot(r)):"oklch"===a.substr(0,5)?fr(ur(r)):(r[0]=dr(r[0]),r[1]=dr(r[1]),r[2]=dr(r[2]),("rgba"===a||3{var[e,t,r,...a]=e=p(e,"lch"),[e,t,r]=rt(e,t,r),[e,t,r]=Lt(e,t,r);return[e,t,r,...0e.map((e,t)=>t<=2?L(Cr(e),0,255):e),$=(e,t=0,r=100,a=!1)=>("string"==typeof e&&e.endsWith("%")&&(e=parseFloat(e.substring(0,e.length-1))/100,e=a?t+.5*(e+1)*(r-t):t+e*(r-t)),+e),A=(e,t)=>"none"===e?t:e,S=e=>{if("transparent"===(e=e.toLowerCase().trim()))return[0,0,0,0];let r;if(o.format.named)try{return o.format.named(e)}catch(e){}if(r=(r=e.match(vr))||e.match(yr)){let t=r.slice(1,4);for(let e=0;e<3;e++)t[e]=+$(A(t[e],0),0,255);t=jr(t);var a=void 0!==r[4]?+$(r[4],0,1):1;return t[3]=a,t}if(r=e.match(wr)){var t=r.slice(1,5);for(let e=0;e<4;e++)t[e]=+$(t[e],0,255);return t}if(r=(r=e.match(kr))||e.match(xr))return(a=r.slice(1,4))[0]=+A(a[0].replace("deg",""),0),a[1]=.01*+$(A(a[1],0),0,100),a[2]=.01*+$(A(a[2],0),0,100),a=jr(bt(a)),s=void 0!==r[4]?+$(r[4],0,1):1,a[3]=s,a;if(r=e.match(Sr)){var s=r.slice(1,4),n=(s[1]*=.01,s[2]*=.01,bt(s));for(let e=0;e<3;e++)n[e]=Cr(n[e]);return n[3]=+r[4],n}return(r=e.match(Lr))?((a=r.slice(1,4))[0]=$(A(a[0],0),0,100),a[1]=$(A(a[1],0),-125,125,!0),a[2]=$(A(a[2],0),-125,125,!0),s=qe(),i("d50"),a=jr(He(a)),i(s),s=void 0!==r[4]?+$(r[4],0,1):1,a[3]=s,a):(r=e.match(Or))?((s=r.slice(1,4))[0]=$(s[0],0,100),s[1]=$(A(s[1],0),0,150,!1),s[2]=+A(s[2].replace("deg",""),0),a=qe(),i("d50"),s=jr(at(s)),i(a),a=void 0!==r[4]?+$(r[4],0,1):1,s[3]=a,s):(r=e.match(Rr))?((a=r.slice(1,4))[0]=$(A(a[0],0),0,1),a[1]=$(A(a[1],0),-.4,.4,!0),a[2]=$(A(a[2],0),-.4,.4,!0),s=jr(Lt(a)),a=void 0!==r[4]?+$(r[4],0,1):1,s[3]=a,s):(r=e.match(Nr))?((a=r.slice(1,4))[0]=$(A(a[0],0),0,1),a[1]=$(A(a[1],0),0,.4,!1),a[2]=+A(a[2].replace("deg",""),0),s=jr(gr(a)),e=void 0!==r[4]?+$(r[4],0,1):1,s[3]=e,s):void 0},Pr=(S.test=e=>vr.test(e)||kr.test(e)||Lr.test(e)||Or.test(e)||Rr.test(e)||Nr.test(e)||yr.test(e)||wr.test(e)||xr.test(e)||Sr.test(e)||"transparent"===e,S),Mr=(m.prototype.css=function(e){return pr(this._rgb,e)},R.css=(...e)=>new m(...e,"css"),o.format.css=Pr,o.autodetect.push({p:5,test:(e,...t)=>{if(!t.length&&"string"===O(e)&&Pr.test(e))return"css"}}),o.format.gl=(...e)=>{e=p(e,"rgba");return e[0]*=255,e[1]*=255,e[2]*=255,e},R.gl=(...e)=>new m(...e,"gl"),m.prototype.gl=function(){var e=this._rgb;return[e[0]/255,e[1]/255,e[2]/255,e[3]]},m.prototype.hex=function(e){return Be(this._rgb,e)},(R.hex=(...e)=>new m(...e,"hex"),o.format.hex=Te,o.autodetect.push({p:4,test:(e,...t)=>{if(!t.length&&"string"===O(e)&&0<=[3,4,5,6,7,8,9].indexOf(e.length))return"hex"}}),Math)["log"]),Er=e=>{e/=100;let t,r,a;return a=e<66?(t=255,r=e<6?0:-155.25485562709179-.44596950469579133*(r=e-2)+104.49216199393888*Mr(r),e<20?0:.8274096064007395*(a=e-10)-254.76935184120902+115.67994401066147*Mr(a)):(t=351.97690566805693+.114206453784165*(t=e-55)-40.25366309332127*Mr(t),r=325.4494125711974+.07943456536662342*(r=e-50)-28.0852963507957*Mr(r),255),[t,r,a,1]},$r=Math["round"],Ar=(...e)=>{var e=p(e,"rgb"),t=e[0],r=e[2];let a=1e3,s=4e4;let n;for(;.4=r/t?s=n:a=n}return $r(n)},C=(m.prototype.temp=m.prototype.kelvin=m.prototype.temperature=function(){return Ar(this._rgb)},(...e)=>new m(...e,"temp")),Ir=(Object.assign(R,{temp:C,kelvin:C,temperature:C}),o.format.temp=o.format.kelvin=o.format.temperature=Er,m.prototype.oklch=function(){return ur(this._rgb)},Object.assign(R,{oklch:(...e)=>new m(...e,"oklch")}),o.format.oklch=gr,o.autodetect.push({p:2,test:(...e)=>{if("array"===O(e=p(e,"oklch"))&&3===e.length)return"oklch"}}),Object.assign(R,{analyze:zt,average:(e,i="lrgb",l=null)=>{var t=e.length;const r=t/(l=l||Array.from(new Array(t)).map(()=>1)).reduce(function(e,t){return e+t});if(l.forEach((e,t)=>{l[t]*=r}),e=e.map(e=>new m(e)),"lrgb"===i){var a=e,s=l,n=a.length,o=[0,0,0,0];for(let e=0;e{var r,a=e.get(i);o+=e.alpha()*l[t+1];for(let e=0;e{const t=function(e){let a,s,n,o;if(2===(e=e.map(e=>new m(e))).length)[s,n]=e.map(e=>e.lab()),a=function(t){var e=[0,1,2].map(e=>s[e]+t*(n[e]-s[e]));return new m(e,"lab")};else if(3===e.length)[s,n,o]=e.map(e=>e.lab()),a=function(t){var e=[0,1,2].map(e=>(1-t)*(1-t)*s[e]+2*(1-t)*t*n[e]+t*t*o[e]);return new m(e,"lab")};else if(4===e.length){let r;[s,n,o,r]=e.map(e=>e.lab()),a=function(t){var e=[0,1,2].map(e=>(1-t)*(1-t)*(1-t)*s[e]+3*(1-t)*(1-t)*t*n[e]+3*(1-t)*t*t*o[e]+t*t*t*r[e]);return new m(e,"lab")}}else{if(!(5<=e.length))throw new RangeError("No point in running bezier with only one color.");{let t,o,i;t=e.map(e=>e.lab()),i=e.length-1,o=At(i),a=function(s){const n=1-s;var e=[0,1,2].map(a=>t.reduce((e,t,r)=>e+o[r]*n**(i-r)*s**r*t[a],0));return new m(e,"lab")}}}return a}(e);return t.scale=()=>$t(t),t},blend:e,brewer:rr,Color:m,colors:s,contrast:(e,t)=>{e=new m(e),t=new m(t);e=e.luminance(),t=t.luminance();return t{e=new m(e),t=new m(t);var e=Ht(...(e=e.alpha()<1?h(t,e,e.alpha(),"rgb"):e).rgb()),t=Ht(...t.rgb()),e=.022<=e?e:e+Math.pow(.022-e,1.414),t=.022<=t?t:t+Math.pow(.022-t,1.414),r=Math.pow(t,.56)-Math.pow(e,.57),a=Math.pow(t,.65)-Math.pow(e,.62),e=Math.abs(t-e)<5e-4?0:eR.scale(t),t.hue(o),t},deltaE:function(e,t,r=1,a=1,s=1){function n(e){return 360*e/(2*tr)}function o(e){return 2*tr*e/360}e=new m(e),t=new m(t);var[e,i,l]=Array.from(e.lab()),[t,c,h]=Array.from(t.lab()),u=(e+t)/2,f=(k(x(i,2)+x(l,2))+k(x(c,2)+x(h,2)))/2,f=.5*(1-k(x(f,7)/(x(f,7)+x(25,7)))),c=c*(1+f),f=k(x(i=i*(1+f),2)+x(l,2)),d=k(x(c,2)+x(h,2)),p=(f+d)/2,l=n(Jt(l,i)),i=n(Jt(h,c)),l=180{let t="#";for(let e=0;e<6;e++)t+="0123456789abcdef".charAt(Tt(16*Vt()));return new m(t,"hex")},scale:$t,scales:t,valid:(...e)=>{try{return new m(...e),!0}catch(e){return!1}}}),R),I=(t,e)=>{t=localStorage.getItem(t);if(!t)return e;try{return JSON.parse(t)}catch(e){return t}},_r=e=>{e=3===e.length?e.split("").map(e=>e+e).join(""):e;if(6!==e.length)throw"Only 3- or 6-digit hex colours are allowed.";if(e.match(/[^0-9a-f]/i))throw"Only hex colours are allowed.";e=e.match(/.{1,2}/g);if(e&&3===e.length)return[Number.parseInt(e[0],16),Number.parseInt(e[1],16),Number.parseInt(e[2],16)];throw"Could not parse hex colour."},Ur=(e,t)=>{let r=[];return e&&0({name:e.name,url:Hr(e.url)})):r.push({name:t,url:"https://github.com/"+t}),r},Fr=(...e)=>{console.debug("Resetting Marketplace");var t=[];if(0===e.length)for(const r in localStorage)r.startsWith("marketplace:")&&t.push(r);for(const a of e)switch(a){case"extensions":t.push(...I(g.installedExtensions,[])),t.push(g.installedExtensions);break;case"snippets":t.push(...I(g.installedSnippets,[])),t.push(g.installedSnippets);break;case"theme":t.push(...I(g.installedThemes,[])),t.push(g.installedThemes),t.push(g.themeInstalled);break;default:console.error("Unknown category: "+a)}for(const s of t)localStorage.removeItem(s),console.debug("Removed "+s);console.debug("Marketplace has been reset"),location.reload()},Tr=()=>{var e={};for(const t in localStorage)t.startsWith("marketplace:")&&(e[t]=localStorage.getItem(t));return e},Vr=t=>{var r=document.querySelector("style.marketplaceCSS.marketplaceScheme");if(r&&r.remove(),t){r=document.createElement("style");r.classList.add("marketplaceCSS"),r.classList.add("marketplaceScheme");let e=":root {";for(const a of Object.keys(t))e=(e+=`--spice-${a}: #${t[a]};`)+`--spice-rgb-${a}: ${_r(t[a])};`;e+="}",r.innerHTML=e,document.body.appendChild(r)}},Br=async e=>{let t=I(g.albumArtBasedColorVibrancy);return t=t.replace(/([A-Z])/g,"_$1").toUpperCase(),(await Spicetify.colorExtractor(e))[t].substring(1)},Dr=async(e,t)=>{var r=I(g.albumArtBasedColorMode).replace(/([A-Z])/g,"-$1").toLowerCase();return(await fetch(`https://www.thecolorapi.com/scheme?hex=${e}&mode=${r}&count=`+t).then(e=>e.json())).colors.map(e=>e.hex.value.substring(1))};var Kr=f=>{Spicetify.Player.addEventListener("songchange",async()=>{var t;t=1e3,await new Promise(e=>setTimeout(e,t));let r=Spicetify.Player.data?.item?.metadata?.image_xlarge_url;if(r=null==r?await new Promise(t=>{setInterval(()=>{var e=Spicetify.Player.data?.item?.metadata?.image_xlarge_url;e&&t(e)},50)}):r){var a,s,n=new Set(Object.values(f)).size,o=await Br(r),i=await Dr(o,n);let e=new Map;for([a,s]of Object.entries(f))e.has(s)?e.get(s).push(a):e.set(s,[a]);var l,o=new Map([...e.entries()].sort((e,t)=>{e=Ir(e[0]),t=Ir(t[0]);return e.get("lab.l")-t.get("lab.l")})),c={};for([,l]of(e=o).entries()){var h=i.shift();if(h)for(const u of l)c[u]=h}Vr(c)}})},qr=e=>{e=new URL(e);return e.host,"raw.githubusercontent.com"===e.host},zr=e=>{e=e.match(/https:\/\/raw\.githubusercontent\.com\/(?[^/]+)\/(?[^/]+)\/(?[^/]+)\/(?.+$)/);return{user:e?e.groups?.user:null,repo:e?e.groups?.repo:null,branch:e?e.groups?.branch:null,filePath:e?e.groups?.filePath:null}};function Wr(e,t){if(e)for(const s of e){var r=t||s.user+"-"+s.repo,a=window.sessionStorage.getItem(r),a=a?JSON.parse(a):[];a.push(s),window.sessionStorage.setItem(r,JSON.stringify(a))}}var Hr=e=>{var t=decodeURI(e).trim().toLowerCase();return t.startsWith("javascript:")||t.startsWith("data:")||t.startsWith("vbscript:")?"about:blank":e},Yr=e=>{e&&(e=e.split("/").pop())&&-1===Spicetify.Config.extensions.indexOf(e)&&Spicetify.Config.extensions.push(e)};async function Gr(){for(const e of["net","xyz"])try{if("opaqueredirect"===(await fetch("https://cdn.jsdelivr."+e,{redirect:"manual",cache:"no-cache"})).type)return e}catch(e){console.error(e)}}var mr=new Blob([` + self.addEventListener('message', async (event) => { + const url = event.data; + const response = await fetch(url); + const data = await response.json().catch(() => null); + self.postMessage(data); + }); +`],{type:"application/javascript"}),Jr=URL.createObjectURL(mr);async function Xr(e,t,r){var a=e+"-"+t,s=window.sessionStorage.getItem(a),n=JSON.parse(window.sessionStorage.getItem("noManifests")||"[]");if(s)return JSON.parse(s);s=`https://raw.githubusercontent.com/${e}/${t}/${r}/manifest.json`;if(n.includes(s))return null;let o=await async function(e){const a=new Worker(Jr);return new Promise(t=>{const r=e=>{a.terminate(),t(e)};a.postMessage(e),a.addEventListener("message",e=>r(e.data),{once:!0}),a.addEventListener("error",()=>r(null),{once:!0})})}(s);return o?(Wr(o=Array.isArray(o)?o:[o],a),o):Wr([s],"noManifests")}async function Zr(e,t){var r=await async function(e,t=1){const r=window.sessionStorage.getItem("marketplace:blacklist");let a=`https://api.github.com/search/repositories?per_page=${Re}&q=`+encodeURIComponent(`topic:spicetify-${e}s`);t&&(a+="&page="+t);var s=JSON.parse(window.sessionStorage.getItem(`spicetify-${e}s-page-`+t)||"null")||await fetch(a).then(e=>e.json()).catch(()=>null);return s?.items?(window.sessionStorage.setItem(`spicetify-${e}s-page-`+t,JSON.stringify(s)),{...s,page_count:s.items.length,items:s.items.filter(e=>!r?.includes(e.html_url))}):(Spicetify.showNotification(Oe("notifications.tooManyRequests"),!0,5e3),{items:[]})}(e,t),a=(!async function(e,t){for(const r of e.items)"theme"===t?await async function(e,a,s){try{var t=e.match(/https:\/\/api\.github\.com\/repos\/(?.+)\/(?.+)\/contents/);if(!t||!t.groups)return;const{user:n,repo:o}=t.groups;return(await Xr(n,o,a)).reduce((e,t)=>{var r;return t?.name&&t?.usercss&&t?.description&&(r=t.branch||a,r={manifest:t,title:t.name,subtitle:t.description,authors:Ur(t.authors,n),user:n,repo:o,branch:r,imageURL:t.preview?.startsWith("http")?t.preview:`https://raw.githubusercontent.com/${n}/${o}/${r}/`+t.preview,readmeURL:t.readme?.startsWith("http")?t.readme:`https://raw.githubusercontent.com/${n}/${o}/${r}/`+t.readme,stars:s,tags:t.tags,cssURL:t.usercss.startsWith("http")?t.usercss:`https://raw.githubusercontent.com/${n}/${o}/${r}/`+t.usercss,schemesURL:t.schemes?t.schemes.startsWith("http")?t.schemes:`https://raw.githubusercontent.com/${n}/${o}/${r}/`+t.schemes:null,include:t.include},e.push(r)),e},[])}catch{return}}(r.contents_url,r.default_branch,r.stargazers_count):"extension"===t?await async function(e,a,s,n=!1){try{var t=e.match(/https:\/\/api\.github\.com\/repos\/(?.+)\/(?.+)\/contents/);if(!t||!t.groups)return;const{user:o,repo:i}=t.groups;return(await Xr(o,i,a)).reduce((e,t)=>{var r;return t?.name&&t.description&&t.main&&(r=t.branch||a,r={manifest:t,title:t.name,subtitle:t.description,authors:Ur(t.authors,o),user:o,repo:i,branch:r,imageURL:t.preview?.startsWith("http")?t.preview:`https://raw.githubusercontent.com/${o}/${i}/${r}/`+t.preview,extensionURL:t.main.startsWith("http")?t.main:`https://raw.githubusercontent.com/${o}/${i}/${r}/`+t.main,readmeURL:t.readme?.startsWith("http")?t.readme:`https://raw.githubusercontent.com/${o}/${i}/${r}/`+t.readme,stars:s,tags:t.tags},n&&localStorage.getItem(`marketplace:installed:${o}/${i}/`+t.main)||e.push(r)),e},[])}catch{return}}(r.contents_url,r.default_branch,r.stargazers_count):"app"===t&&await async function(e,a,s){try{var t=e.match(/https:\/\/api\.github\.com\/repos\/(?.+)\/(?.+)\/contents/);if(!t||!t.groups)return;const{user:n,repo:o}=t.groups;return(await Xr(n,o,a)).reduce((e,t)=>{var r;return t?.name&&t.description&&!t.main&&!t.usercss&&(r=t.branch||a,r={manifest:t,title:t.name,subtitle:t.description,authors:Ur(t.authors,n),user:n,repo:o,branch:r,imageURL:t.preview?.startsWith("http")?t.preview:`https://raw.githubusercontent.com/${n}/${o}/${r}/`+t.preview,readmeURL:t.readme?.startsWith("http")?t.readme:`https://raw.githubusercontent.com/${n}/${o}/${r}/`+t.readme,stars:s,tags:t.tags},e.push(r)),e},[])}catch{return}}(r.contents_url,r.default_branch,r.stargazers_count)}(r,e),Re*t+r.page_count),s=(console.debug({pageOfRepos:r}),r.total_count-a);if(console.debug(`Parsed ${a}/${r.total_count} ${e}s`),0{t=I(t);if(t){if(console.debug("Initializing theme: ",t),t.schemes){var e=t.schemes[t.activeScheme];if(Vr(e),Spicetify.Config.color_scheme=t.activeScheme,"true"===localStorage.getItem(g.albumArtBasedColor))Kr(e);else if("true"===localStorage.getItem(g.colorShift)){var r=t.schemes;let e=0;const f=Object.keys(r).length;setInterval(()=>{e%=f,Vr(Object.values(r)[e]),e++},6e4)}}else console.warn("No schemes found for theme");e=document.querySelector("link.marketplaceCSS"),e=(e&&e.remove(),await(async(e,t)=>{if(!e.cssURL)throw new Error("No CSS URL provided");var t=t||await Gr(),t=qr(e.cssURL)?`https://cdn.jsdelivr.${t}/gh/${e.user}/${e.repo}@${e.branch}/`+e.manifest.usercss:e.cssURL,r=t.replace("/user.css","/assets/");console.debug("Parsing CSS: ",t);let a=await fetch(t+"?time="+Date.now()).then(e=>e.text());for(const o of a.matchAll(/url\(['|"](?.+?)['|"]\)/gm)||[]){var s,n=o?.groups?.path;!n||n.startsWith("http")||n.startsWith("data")||(s=r+n.replace(/\.\//g,""),a=a.replace(n,s))}return a})(t,p));try{var a,s,n=document.querySelector("link[href='user.css']"),o=(n&&n.remove(),document.querySelector("style.marketplaceCSS.marketplaceUserCSS"));o&&o.remove(),e?((a=document.createElement("style")).classList.add("marketplaceCSS"),a.classList.add("marketplaceUserCSS"),a.innerHTML=e,document.body.appendChild(a)):((s=document.createElement("link")).setAttribute("rel","stylesheet"),s.setAttribute("href","user.css"),s.classList.add("userCSS"),document.body.appendChild(s))}catch(e){console.warn(e)}if(Spicetify.Config.current_theme=t.manifest?.name,t.include?.length)for(const d of t.include){var i=document.createElement("script");let e=d;if(qr(d)){var{user:l,repo:c,branch:h,filePath:u}=zr(d);if(!(l&&c&&h&&u))return;e=`https://cdn.jsdelivr.${p}/gh/${l}/${c}@${h}/`+u,u.endsWith(".mjs")&&(i.type="module")}i.src=e+"?time="+Date.now(),i.classList.add("marketplaceScript"),document.body.appendChild(i),Yr(d)}}else console.debug("No theme manifest found")};console.log("Loaded Marketplace extension");var r=I(g.installedSnippets,[]).map(e=>I(e));if(r=r,(a=document.querySelector("style.marketplaceSnippets"))&&a.remove(),a=document.createElement("style"),r=r.reduce((e,t)=>`${e}/* ${t.title} - ${t.description} */ +${t.code} +`,""),a.innerHTML=r,a.classList.add("marketplaceSnippets"),document.body.appendChild(a),p){window.sessionStorage.setItem("marketplace-request-tld",p);for(const s of I(g.installedExtensions,[]))(e=>{e=I(e);if(e&&e.extensionURL){console.debug("Initializing extension: ",e);var t=document.createElement("script");if(t.defer=!0,t.src=e.extensionURL,qr(t.src)){var{user:r,repo:a,branch:s,filePath:n}=zr(e.extensionURL);if(!(r&&a&&s&&n))return;t.src=`https://cdn.jsdelivr.${p}/gh/${r}/${a}@${s}/`+n,n.endsWith(".mjs")&&(t.type="module")}t.src=t.src+"?time="+Date.now(),document.body.appendChild(t),Yr(e.manifest?.main)}})(s);var r=Spicetify.Config["current_theme"],a=(localStorage.setItem(g.localTheme,r),localStorage.getItem(g.themeInstalled));a&&("marketplace"!==r.toLocaleLowerCase()?Spicetify.showNotification(Oe("notifications.wrongLocalTheme"),!0,5e3):t(a))}else window.navigator.onLine?(console.error(new Error("Unable to connect to the CDN, please check your Internet configuration.")),Spicetify.showNotification(Oe("notifications.noCdnConnection"),!0,5e3)):window.addEventListener("online",e,{once:!0})}else setTimeout(e,100)}(),async function(){console.debug("Preloading extensions and themes..."),window.sessionStorage.clear();var e=await(await fetch("https://raw.githubusercontent.com/spicetify/marketplace/main/resources/blacklist.json").then(e=>e.json()).catch(()=>({}))).repos;window.sessionStorage.setItem("marketplace:blacklist",JSON.stringify(e)),await Promise.all([Zr("extension",0),Zr("theme",0),Zr("app",0)])}()})()}(); \ No newline at end of file diff --git a/desktopenvs/hyprlua/spicetify/CustomApps/marketplace/index.js b/desktopenvs/hyprlua/spicetify/CustomApps/marketplace/index.js new file mode 100644 index 0000000..9b19a30 --- /dev/null +++ b/desktopenvs/hyprlua/spicetify/CustomApps/marketplace/index.js @@ -0,0 +1,13 @@ +var marketplace=(()=>{var E,C=Object.create,A=Object.defineProperty,P=Object.getOwnPropertyDescriptor,L=Object.getOwnPropertyNames,D=Object.getPrototypeOf,R=Object.prototype.hasOwnProperty,e=(e,t)=>function(){return t||(0,e[L(e)[0]])((t={exports:{}}).exports,t),t.exports},M=(t,r,a,n)=>{if(r&&"object"==typeof r||"function"==typeof r)for(let e of L(r))R.call(t,e)||e===a||A(t,e,{get:()=>r[e],enumerable:!(n=P(r,e))||n.enumerable});return t},t=(e,t,r)=>(r=null!=e?C(D(e)):{},M(!t&&e&&e.__esModule?r:A(r,"default",{value:e,enumerable:!0}),e)),r=e({"external-global-plugin:react"(e,t){t.exports=Spicetify.React}}),j=e({"node_modules/.pnpm/void-elements@3.1.0/node_modules/void-elements/index.js"(e,t){t.exports={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}}}),G=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/internal/constants.js"(e,t){var r=Number.MAX_SAFE_INTEGER||9007199254740991;t.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:r,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}}),B=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/internal/debug.js"(e,t){var r="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};t.exports=r}}),H=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/internal/re.js"(e,t){var{MAX_SAFE_COMPONENT_LENGTH:r,MAX_SAFE_BUILD_LENGTH:a,MAX_LENGTH:n}=G(),o=B(),i=(e=t.exports={}).re=[],s=e.safeRe=[],l=e.src=[],c=e.t={},d=0,t="[a-zA-Z0-9-]",u=[["\\s",1],["\\d",n],[t,a]],n=(e,t,r)=>{var a=(e=>{for(var[t,r]of u)e=e.split(t+"*").join(`${t}{0,${r}}`).split(t+"+").join(`${t}{1,${r}}`);return e})(t),n=d++;o(e,n,t),c[e]=n,l[n]=t,i[n]=new RegExp(t,r?"g":void 0),s[n]=new RegExp(a,r?"g":void 0)};n("NUMERICIDENTIFIER","0|[1-9]\\d*"),n("NUMERICIDENTIFIERLOOSE","\\d+"),n("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${t}*`),n("MAINVERSION",`(${l[c.NUMERICIDENTIFIER]})\\.(${l[c.NUMERICIDENTIFIER]})\\.(${l[c.NUMERICIDENTIFIER]})`),n("MAINVERSIONLOOSE",`(${l[c.NUMERICIDENTIFIERLOOSE]})\\.(${l[c.NUMERICIDENTIFIERLOOSE]})\\.(${l[c.NUMERICIDENTIFIERLOOSE]})`),n("PRERELEASEIDENTIFIER",`(?:${l[c.NUMERICIDENTIFIER]}|${l[c.NONNUMERICIDENTIFIER]})`),n("PRERELEASEIDENTIFIERLOOSE",`(?:${l[c.NUMERICIDENTIFIERLOOSE]}|${l[c.NONNUMERICIDENTIFIER]})`),n("PRERELEASE",`(?:-(${l[c.PRERELEASEIDENTIFIER]}(?:\\.${l[c.PRERELEASEIDENTIFIER]})*))`),n("PRERELEASELOOSE",`(?:-?(${l[c.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${l[c.PRERELEASEIDENTIFIERLOOSE]})*))`),n("BUILDIDENTIFIER",t+"+"),n("BUILD",`(?:\\+(${l[c.BUILDIDENTIFIER]}(?:\\.${l[c.BUILDIDENTIFIER]})*))`),n("FULLPLAIN",`v?${l[c.MAINVERSION]}${l[c.PRERELEASE]}?${l[c.BUILD]}?`),n("FULL",`^${l[c.FULLPLAIN]}$`),n("LOOSEPLAIN",`[v=\\s]*${l[c.MAINVERSIONLOOSE]}${l[c.PRERELEASELOOSE]}?${l[c.BUILD]}?`),n("LOOSE",`^${l[c.LOOSEPLAIN]}$`),n("GTLT","((?:<|>)?=?)"),n("XRANGEIDENTIFIERLOOSE",l[c.NUMERICIDENTIFIERLOOSE]+"|x|X|\\*"),n("XRANGEIDENTIFIER",l[c.NUMERICIDENTIFIER]+"|x|X|\\*"),n("XRANGEPLAIN",`[v=\\s]*(${l[c.XRANGEIDENTIFIER]})(?:\\.(${l[c.XRANGEIDENTIFIER]})(?:\\.(${l[c.XRANGEIDENTIFIER]})(?:${l[c.PRERELEASE]})?${l[c.BUILD]}?)?)?`),n("XRANGEPLAINLOOSE",`[v=\\s]*(${l[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[c.XRANGEIDENTIFIERLOOSE]})(?:${l[c.PRERELEASELOOSE]})?${l[c.BUILD]}?)?)?`),n("XRANGE",`^${l[c.GTLT]}\\s*${l[c.XRANGEPLAIN]}$`),n("XRANGELOOSE",`^${l[c.GTLT]}\\s*${l[c.XRANGEPLAINLOOSE]}$`),n("COERCEPLAIN",`(^|[^\\d])(\\d{1,${r}})(?:\\.(\\d{1,${r}}))?(?:\\.(\\d{1,${r}}))?`),n("COERCE",l[c.COERCEPLAIN]+"(?:$|[^\\d])"),n("COERCEFULL",l[c.COERCEPLAIN]+`(?:${l[c.PRERELEASE]})?(?:${l[c.BUILD]})?(?:$|[^\\d])`),n("COERCERTL",l[c.COERCE],!0),n("COERCERTLFULL",l[c.COERCEFULL],!0),n("LONETILDE","(?:~>?)"),n("TILDETRIM",`(\\s*)${l[c.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",n("TILDE",`^${l[c.LONETILDE]}${l[c.XRANGEPLAIN]}$`),n("TILDELOOSE",`^${l[c.LONETILDE]}${l[c.XRANGEPLAINLOOSE]}$`),n("LONECARET","(?:\\^)"),n("CARETTRIM",`(\\s*)${l[c.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",n("CARET",`^${l[c.LONECARET]}${l[c.XRANGEPLAIN]}$`),n("CARETLOOSE",`^${l[c.LONECARET]}${l[c.XRANGEPLAINLOOSE]}$`),n("COMPARATORLOOSE",`^${l[c.GTLT]}\\s*(${l[c.LOOSEPLAIN]})$|^$`),n("COMPARATOR",`^${l[c.GTLT]}\\s*(${l[c.FULLPLAIN]})$|^$`),n("COMPARATORTRIM",`(\\s*)${l[c.GTLT]}\\s*(${l[c.LOOSEPLAIN]}|${l[c.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace="$1$2$3",n("HYPHENRANGE",`^\\s*(${l[c.XRANGEPLAIN]})\\s+-\\s+(${l[c.XRANGEPLAIN]})\\s*$`),n("HYPHENRANGELOOSE",`^\\s*(${l[c.XRANGEPLAINLOOSE]})\\s+-\\s+(${l[c.XRANGEPLAINLOOSE]})\\s*$`),n("STAR","(<|>)?=?\\s*\\*"),n("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),n("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}}),$=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/internal/parse-options.js"(e,t){var r=Object.freeze({loose:!0}),a=Object.freeze({});t.exports=e=>e?"object"!=typeof e?r:e:a}}),V=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/internal/identifiers.js"(e,t){var n=/^[0-9]+$/,r=(e,t)=>{var r=n.test(e),a=n.test(t);return r&&a&&(e=+e,t=+t),e===t?0:r&&!a||(!a||r)&&er(t,e)}}}),q=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/classes/semver.js"(e,t){var n=B(),{MAX_LENGTH:r,MAX_SAFE_INTEGER:a}=G(),{safeRe:o,t:i}=H(),s=$(),l=V()["compareIdentifiers"],c=class{constructor(e,t){if(t=s(t),e instanceof c){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>r)throw new TypeError(`version is longer than ${r} characters`);n("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;t=e.trim().match(t.loose?o[i.LOOSE]:o[i.FULL]);if(!t)throw new TypeError("Invalid Version: "+e);if(this.raw=e,this.major=+t[1],this.minor=+t[2],this.patch=+t[3],this.major>a||this.major<0)throw new TypeError("Invalid major version");if(this.minor>a||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>a||this.patch<0)throw new TypeError("Invalid patch version");t[4]?this.prerelease=t[4].split(".").map(e=>{if(/^[0-9]+$/.test(e)){var t=+e;if(0<=t&&t{if(e instanceof a)return e;try{return new a(e,t)}catch(e){if(r)throw e;return null}}}}),te=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/valid.js"(e,t){var r=ee();t.exports=(e,t)=>{e=r(e,t);return e?e.version:null}}}),re=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/clean.js"(e,t){var r=ee();t.exports=(e,t)=>{e=r(e.trim().replace(/^[=v]+/,""),t);return e?e.version:null}}}),ae=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/inc.js"(e,t){var o=q();t.exports=(e,t,r,a,n)=>{"string"==typeof r&&(n=a,a=r,r=void 0);try{return new o(e instanceof o?e.version:e,r).inc(t,a,n).version}catch(e){return null}}}}),ne=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/diff.js"(e,t){var o=ee();t.exports=(e,t)=>{var e=o(e,null,!0),t=o(t,null,!0),r=e.compare(t);if(0===r)return null;var r=0new r(e,t).major}}),ie=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/minor.js"(e,t){var r=q();t.exports=(e,t)=>new r(e,t).minor}}),se=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/patch.js"(e,t){var r=q();t.exports=(e,t)=>new r(e,t).patch}}),le=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/prerelease.js"(e,t){var r=ee();t.exports=(e,t)=>{e=r(e,t);return e&&e.prerelease.length?e.prerelease:null}}}),ce=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/compare.js"(e,t){var a=q();t.exports=(e,t,r)=>new a(e,r).compare(new a(t,r))}}),de=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/rcompare.js"(e,t){var a=ce();t.exports=(e,t,r)=>a(t,e,r)}}),ue=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/compare-loose.js"(e,t){var r=ce();t.exports=(e,t)=>r(e,t,!0)}}),pe=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/compare-build.js"(e,t){var a=q();t.exports=(e,t,r)=>{e=new a(e,r),t=new a(t,r);return e.compare(t)||e.compareBuild(t)}}}),me=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/sort.js"(e,t){var a=pe();t.exports=(e,r)=>e.sort((e,t)=>a(e,t,r))}}),he=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/rsort.js"(e,t){var a=pe();t.exports=(e,r)=>e.sort((e,t)=>a(t,e,r))}}),fe=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/gt.js"(e,t){var a=ce();t.exports=(e,t,r)=>0a(e,t,r)<0}}),be=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/eq.js"(e,t){var a=ce();t.exports=(e,t,r)=>0===a(e,t,r)}}),ve=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/neq.js"(e,t){var a=ce();t.exports=(e,t,r)=>0!==a(e,t,r)}}),ye=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/gte.js"(e,t){var a=ce();t.exports=(e,t,r)=>0<=a(e,t,r)}}),we=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/lte.js"(e,t){var a=ce();t.exports=(e,t,r)=>a(e,t,r)<=0}}),Se=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/cmp.js"(e,t){var n=be(),o=ve(),i=fe(),s=ye(),l=ge(),c=we();t.exports=(e,t,r,a)=>{switch(t){case"===":return(e="object"==typeof e?e.version:e)===(r="object"==typeof r?r.version:r);case"!==":return(e="object"==typeof e?e.version:e)!==(r="object"==typeof r?r.version:r);case"":case"=":case"==":return n(e,r,a);case"!=":return o(e,r,a);case">":return i(e,r,a);case">=":return s(e,r,a);case"<":return l(e,r,a);case"<=":return c(e,r,a);default:throw new TypeError("Invalid operator: "+t)}}}}),Ee=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/coerce.js"(e,t){var d=q(),u=ee(),{safeRe:p,t:m}=H();t.exports=(e,t)=>{if(e instanceof d)return e;if("string"!=typeof(e="number"==typeof e?String(e):e))return null;let r=null;if((t=t||{}).rtl){for(var a,n=t.includePrerelease?p[m.COERCERTLFULL]:p[m.COERCERTL];(a=n.exec(e))&&(!r||r.index+r[0].length!==e.length);)r&&a.index+a[0].length===r.index+r[0].length||(r=a),n.lastIndex=a.index+a[1].length+a[2].length;n.lastIndex=-1}else r=e.match(t.includePrerelease?p[m.COERCEFULL]:p[m.COERCE]);var o,i,s,l,c;return null===r?null:(o=r[2],i=r[3]||"0",s=r[4]||"0",l=t.includePrerelease&&r[5]?"-"+r[5]:"",c=t.includePrerelease&&r[6]?"+"+r[6]:"",u(o+`.${i}.`+s+l+c,t))}}}),F=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/internal/lrucache.js"(e,t){t.exports=class{constructor(){this.max=1e3,this.map=new Map}get(e){var t=this.map.get(e);if(void 0!==t)return this.map.delete(e),this.map.set(e,t),t}delete(e){return this.map.delete(e)}set(e,t){var r;return this.delete(e)||void 0===t||(this.map.size>=this.max&&(r=this.map.keys().next().value,this.delete(r)),this.map.set(e,t)),this}}}}),Ce=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/classes/range.js"(e,t){var a=/\s+/g,n=class{constructor(e,t){if(t=o(t),e instanceof n)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new n(e.raw,t);if(e instanceof l)return this.raw=e.value,this.set=[[e]],this.formatted=void 0,this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e.trim().replace(a," "),this.set=this.raw.split("||").map(e=>this.parseRange(e.trim())).filter(e=>e.length),!this.set.length)throw new TypeError("Invalid SemVer Range: "+this.raw);if(1!b(e[0])),0===this.set.length)this.set=[t];else if(1y(e,this.options)).join(" ").split(/\s+/).map(e=>O(e,this.options));r&&(n=n.filter(e=>(u("loose invalid filter",e,this.options),!!e.match(p[m.COMPARATORLOOSE])))),u("range list",n);var o=new Map;for(const i of n.map(e=>new l(e,this.options))){if(b(i))return[i];o.set(i.value,i)}1v(t,r)&&e.set.some(e=>v(e,r)&&t.every(t=>e.every(e=>t.intersects(e,r)))));throw new TypeError("a Range is required")}test(t){if(t){if("string"==typeof t)try{t=new r(t,this.options)}catch(e){return!1}for(let e=0;e"<0.0.0-0"===e.value,i=e=>""===e.value,v=(e,t)=>{let r=!0;var a=e.slice();let n=a.pop();for(;r&&a.length;)r=a.every(e=>n.intersects(e,t)),n=a.pop();return r},y=(e,t)=>(u("comp",e,t),e=C(e,t),u("caret",e),e=S(e,t),u("tildes",e),e=x(e,t),u("xrange",e),e=N(e,t),u("stars",e),e),w=e=>!e||"x"===e.toLowerCase()||"*"===e,S=(e,t)=>e.trim().split(/\s+/).map(e=>E(e,t)).join(" "),E=(i,e)=>{e=e.loose?p[m.TILDELOOSE]:p[m.TILDE];return i.replace(e,(e,t,r,a,n)=>{u("tilde",i,e,t,r,a,n);let o;return o=w(t)?"":w(r)?`>=${t}.0.0 <${+t+1}.0.0-0`:w(a)?`>=${t}.${r}.0 <${t}.${+r+1}.0-0`:n?(u("replaceTilde pr",n),`>=${t}.${r}.${a}-${n} <${t}.${+r+1}.0-0`):`>=${t}.${r}.${a} <${t}.${+r+1}.0-0`,u("tilde return",o),o})},C=(e,t)=>e.trim().split(/\s+/).map(e=>k(e,t)).join(" "),k=(i,e)=>{u("caret",i,e);var t=e.loose?p[m.CARETLOOSE]:p[m.CARET];const s=e.includePrerelease?"-0":"";return i.replace(t,(e,t,r,a,n)=>{u("caret",i,e,t,r,a,n);let o;return o=w(t)?"":w(r)?`>=${t}.0.0${s} <${+t+1}.0.0-0`:w(a)?"0"===t?`>=${t}.${r}.0${s} <${t}.${+r+1}.0-0`:`>=${t}.${r}.0${s} <${+t+1}.0.0-0`:n?(u("replaceCaret pr",n),"0"===t?"0"===r?`>=${t}.${r}.${a}-${n} <${t}.${r}.${+a+1}-0`:`>=${t}.${r}.${a}-${n} <${t}.${+r+1}.0-0`:`>=${t}.${r}.${a}-${n} <${+t+1}.0.0-0`):(u("no pr"),"0"===t?"0"===r?`>=${t}.${r}.${a}${s} <${t}.${r}.${+a+1}-0`:`>=${t}.${r}.${a}${s} <${t}.${+r+1}.0-0`:`>=${t}.${r}.${a} <${+t+1}.0.0-0`),u("caret return",o),o})},x=(e,t)=>(u("replaceXRanges",e,t),e.split(/\s+/).map(e=>I(e,t)).join(" ")),I=(c,d)=>{c=c.trim();var e=d.loose?p[m.XRANGELOOSE]:p[m.XRANGE];return c.replace(e,(e,t,r,a,n,o)=>{u("xRange",c,e,t,r,a,n,o);var i=w(r),s=i||w(a),l=s||w(n);return"="===t&&l&&(t=""),o=d.includePrerelease?"-0":"",i?e=">"===t||"<"===t?"<0.0.0-0":"*":t&&l?(s&&(a=0),n=0,">"===t?(t=">=",n=s?(r=+r+1,a=0):(a=+a+1,0)):"<="===t&&(t="<",s?r=+r+1:a=+a+1),e=t+r+`.${a}.`+n+(o="<"===t?"-0":o)):s?e=`>=${r}.0.0${o} <${+r+1}.0.0-0`:l&&(e=`>=${r}.${a}.0${o} <${r}.${+a+1}.0-0`),u("xRange return",e),e})},N=(e,t)=>(u("replaceStars",e,t),e.trim().replace(p[m.STAR],"")),O=(e,t)=>(u("replaceGTE0",e,t),e.trim().replace(p[t.includePrerelease?m.GTE0PRE:m.GTE0],"")),A=p=>(e,t,r,a,n,o,i,s,l,c,d,u)=>((t=w(r)?"":w(a)?`>=${r}.0.0`+(p?"-0":""):w(n)?`>=${r}.${a}.0`+(p?"-0":""):o?">="+t:">="+t+(p?"-0":""))+" "+(s=w(l)?"":w(c)?`<${+l+1}.0.0-0`:w(d)?`<${l}.${+c+1}.0-0`:u?`<=${l}.${c}.${d}-`+u:p?`<${l}.${c}.${+d+1}-0`:"<="+s)).trim(),T=(t,r,e)=>{for(let e=0;e")||!e.operator.startsWith(">"))&&!(this.operator.startsWith("<")&&e.operator.startsWith("<")||this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")||s(this.semver,"<",e.semver,t)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||s(this.semver,">",e.semver,t)&&this.operator.startsWith("<")&&e.operator.startsWith(">")));throw new TypeError("a Comparator is required")}},n=(t.exports=a,$()),{safeRe:o,t:i}=H(),s=Se(),l=B(),c=q(),d=Ce()}}),xe=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/satisfies.js"(e,t){var a=Ce();t.exports=(e,t,r)=>{try{t=new a(t,r)}catch(e){return!1}return t.test(e)}}}),Ie=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/ranges/to-comparators.js"(e,t){var r=Ce();t.exports=(e,t)=>new r(e,t).set.map(e=>e.map(e=>e.value).join(" ").trim().split(" "))}}),Ne=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/ranges/max-satisfying.js"(e,t){var i=q(),s=Ce();t.exports=(e,t,r)=>{let a=null,n=null,o=null;try{o=new s(t,r)}catch(e){return null}return e.forEach(e=>{!o.test(e)||a&&-1!==n.compare(e)||(a=e,n=new i(a,r))}),a}}}),Oe=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/ranges/min-satisfying.js"(e,t){var i=q(),s=Ce();t.exports=(e,t,r)=>{let a=null,n=null,o=null;try{o=new s(t,r)}catch(e){return null}return e.forEach(e=>{!o.test(e)||a&&1!==n.compare(e)||(a=e,n=new i(a,r))}),a}}}),Ae=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/ranges/min-version.js"(e,t){var o=q(),r=Ce(),i=fe();t.exports=(t,e)=>{t=new r(t,e);let a=new o("0.0.0");if(t.test(a))return a;if(a=new o("0.0.0-0"),t.test(a))return a;a=null;for(let e=0;e{var t=new o(e.semver.version);switch(e.operator){case">":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":r&&!i(t,r)||(r=t);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+e.operator)}}),!r||a&&!i(a,r)||(a=r)}return a&&t.test(a)?a:null}}}),Te=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/ranges/valid.js"(e,t){var r=Ce();t.exports=(e,t)=>{try{return new r(e,t).range||"*"}catch(e){return null}}}}),Pe=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/ranges/outside.js"(e,t){var r=q(),p=ke(),m=p["ANY"],h=Ce(),f=xe(),g=fe(),b=ge(),v=we(),y=ye();t.exports=(a,n,e,o)=>{a=new r(a,o),n=new h(n,o);let i,s,l,c,d;switch(e){case">":i=g,s=v,l=b,c=">",d=">=";break;case"<":i=b,s=y,l=g,c="<",d="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(f(a,n,o))return!1;for(let e=0;e{e.semver===m&&(e=new p(">=0.0.0")),t=t||e,r=r||e,i(e.semver,t.semver,o)?t=e:l(e.semver,r.semver,o)&&(r=e)}),t.operator===c||t.operator===d)return!1;if((!r.operator||r.operator===c)&&s(a,r.semver))return!1;if(r.operator===d&&l(a,r.semver))return!1}return!0}}}),Le=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/ranges/gtr.js"(e,t){var a=Pe();t.exports=(e,t,r)=>a(e,t,">",r)}}),De=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/ranges/ltr.js"(e,t){var a=Pe();t.exports=(e,t,r)=>a(e,t,"<",r)}}),Re=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/ranges/intersects.js"(e,t){var a=Ce();t.exports=(e,t,r)=>(e=new a(e,r),t=new a(t,r),e.intersects(t,r))}}),Me=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/ranges/simplify.js"(e,t){var m=xe(),h=ce();t.exports=(e,t,r)=>{var a=[];let n=null,o=null;var i=e.sort((e,t)=>h(e,t,r));for(const p of i){var s=m(p,t,r);n=s?(o=p,n||p):(o&&a.push([n,o]),o=null)}n&&a.push([n,null]);var l,c,d=[];for([l,c]of a)l===c?d.push(l):c||l!==i[0]?c?l===i[0]?d.push("<="+c):d.push(l+" - "+c):d.push(">="+l):d.push("*");var e=d.join(" || "),u="string"==typeof t.raw?t.raw:String(t);return e.length=0.0.0-0")],S=[new r(">=0.0.0")],E=(e,t,r)=>{return!e||!(0<(r=y(e.semver,t.semver,r)))&&(r<0||">"===t.operator&&">="===e.operator)?t:e},C=(e,t,r)=>{return!e||!((r=y(e.semver,t.semver,r))<0)&&(0{if(t!==r){t=new s(t,a),r=new s(r,a);let e=!1;e:for(const o of t.set){for(const i of r.set){var n=((s,l,c)=>{if(s!==l){if(1===s.length&&s[0].semver===b){if(1===l.length&&l[0].semver===b)return!0;s=c.includePrerelease?w:S}if(1===l.length&&l[0].semver===b){if(c.includePrerelease)return!0;l=S}var d=new Set,u,p;let e,t;for(const m of s)">"===m.operator||">="===m.operator?e=E(e,m,c):"<"===m.operator||"<="===m.operator?t=C(t,m,c):d.add(m.semver);if(1="!==e.operator||"<="!==t.operator))return null}for(const h of d){if(e&&!v(h,String(e),c))return null;if(t&&!v(h,String(t),c))return null;for(const f of l)if(!v(h,String(f),c))return!1;return!0}let a,n,o=!(!t||c.includePrerelease||!t.semver.prerelease.length)&&t.semver,i=!(!e||c.includePrerelease||!e.semver.prerelease.length)&&e.semver;o&&1===o.prerelease.length&&"<"===t.operator&&0===o.prerelease[0]&&(o=!1);for(const g of l){if(n=n||">"===g.operator||">="===g.operator,a=a||"<"===g.operator||"<="===g.operator,e)if(i&&g.semver.prerelease&&g.semver.prerelease.length&&g.semver.major===i.major&&g.semver.minor===i.minor&&g.semver.patch===i.patch&&(i=!1),">"===g.operator||">="===g.operator){if((u=E(e,g,c))===g&&u!==e)return!1}else if(">="===e.operator&&!v(e.semver,String(g),c))return!1;if(t)if(o&&g.semver.prerelease&&g.semver.prerelease.length&&g.semver.major===o.major&&g.semver.minor===o.minor&&g.semver.patch===o.patch&&(o=!1),"<"===g.operator||"<="===g.operator){if((p=C(t,g,c))===g&&p!==t)return!1}else if("<="===t.operator&&!v(t.semver,String(g),c))return!1;if(!g.operator&&(t||e)&&0!==r)return!1}if(e&&a&&!t&&0!==r)return!1;if(t&&n&&!e&&0!==r)return!1;if(i||o)return!1}return true})(o,i,a);if(e=e||null!==n,n)continue e}if(e)return!1}}return!0}}}),a=e({"node_modules/.pnpm/semver@7.7.0/node_modules/semver/index.js"(_,e){var t=H(),r=G(),a=q(),n=V(),o=ee(),i=te(),s=re(),l=ae(),c=ne(),d=oe(),u=ie(),p=se(),m=le(),h=ce(),f=de(),g=ue(),b=pe(),v=me(),y=he(),w=fe(),S=ge(),E=be(),C=ve(),k=ye(),x=we(),I=Se(),N=Ee(),O=ke(),A=Ce(),T=xe(),P=Ie(),L=Ne(),D=Oe(),R=Ae(),M=Te(),j=Pe(),B=Le(),$=De(),F=Re(),z=Me(),U=_e();e.exports={parse:o,valid:i,clean:s,inc:l,diff:c,major:d,minor:u,patch:p,prerelease:m,compare:h,rcompare:f,compareLoose:g,compareBuild:b,sort:v,rsort:y,gt:w,lt:S,eq:E,neq:C,gte:k,lte:x,cmp:I,coerce:N,Comparator:O,Range:A,satisfies:T,toComparators:P,maxSatisfying:L,minSatisfying:D,minVersion:R,validRange:M,outside:j,gtr:B,ltr:$,intersects:F,simplifyRange:z,subset:U,SemVer:a,re:t.re,src:t.src,tokens:t.t,SEMVER_SPEC_VERSION:r.SEMVER_SPEC_VERSION,RELEASE_TYPES:r.RELEASE_TYPES,compareIdentifiers:n.compareIdentifiers,rcompareIdentifiers:n.rcompareIdentifiers}}}),z=e({"node_modules/.pnpm/prismjs@1.29.0/node_modules/prismjs/components/prism-core.js"(e,t){var l,r,a,n,T,o="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},o=(r=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,a=0,n={},T={manual:(l=o).Prism&&l.Prism.manual,disableWorkerMessageHandler:l.Prism&&l.Prism.disableWorkerMessageHandler,util:{encode:function e(t){return t instanceof P?new P(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/=i.reach);v+=b.value.length,b=b.next){var y=b.value;if(r.length>t.length)return;if(!(y instanceof P)){var w,S=1;if(h){if(!(w=L(g,v,t,m))||w.index>=t.length)break;var E=w.index,C=w.index+w[0].length,k=v;for(k+=b.value.length;k<=E;)b=b.next,k+=b.value.length;if(k-=b.value.length,v=k,b.value instanceof P)continue;for(var x=b;x!==r.tail&&(ki.reach&&(i.reach=y),b.prev),N=(N&&(A=D(r,A,N),v+=N.length),R(r,A,S),new P(s,p?T.tokenize(I,p):I,f,I));b=D(r,A,N),O&&D(r,b,O),1i.reach&&(i.reach=I.reach)}}}}}(e,n,t,n.head,0),n),i=[],s=o.head.next;s!==o.tail;)i.push(s.value),s=s.next;return i},hooks:{all:{},add:function(e,t){var r=T.hooks.all;r[e]=r[e]||[],r[e].push(t)},run:function(e,t){var r=T.hooks.all[e];if(r&&r.length)for(var a,n=0;a=r[n++];)a(t)}},Token:P},l.Prism=T,P.stringify=function t(e,r){if("string"==typeof e)return e;var a;if(Array.isArray(e))return a="",e.forEach(function(e){a+=t(e,r)}),a;var n,o={type:e.type,content:t(e.content,r),tag:"span",classes:["token",e.type],attributes:{},language:r},e=e.alias,i=(e&&(Array.isArray(e)?Array.prototype.push.apply(o.classes,e):o.classes.push(e)),T.hooks.run("wrap",o),"");for(n in o.attributes)i+=" "+n+'="'+(o.attributes[n]||"").replace(/"/g,""")+'"';return"<"+o.tag+' class="'+o.classes.join(" ")+'"'+i+">"+o.content+""},l.document?((n=T.util.currentScript())&&(T.filename=n.src,n.hasAttribute("data-manual"))&&(T.manual=!0),T.manual||("loading"===(o=document.readyState)||"interactive"===o&&n&&n.defer?document.addEventListener("DOMContentLoaded",i):window.requestAnimationFrame?window.requestAnimationFrame(i):window.setTimeout(i,16))):l.addEventListener&&!T.disableWorkerMessageHandler&&l.addEventListener("message",function(e){var e=JSON.parse(e.data),t=e.language,r=e.code,e=e.immediateClose;l.postMessage(T.highlight(r,T.languages[t],t)),e&&l.close()},!1),T);function P(e,t,r,a){this.type=e,this.content=t,this.alias=r,this.length=0|(a||"").length}function L(e,t,r,a){e.lastIndex=t;t=e.exec(r);return t&&a&&t[1]&&(e=t[1].length,t.index+=e,t[0]=t[0].slice(e)),t}function c(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function D(e,t,r){var a=t.next,r={value:r,prev:t,next:a};return t.next=r,a.prev=r,e.length++,r}function R(e,t,r){for(var a=t.next,n=0;n"}}:{children:y})),$.createElement("textarea",{ref:function(e){return T.current=e},style:j(j(j({},H.editor),H.textarea),P),className:U+(x?" ".concat(x):""),id:N,value:O,onChange:function(e){var e=e.currentTarget,t=e.value,r=e.selectionStart,e=e.selectionEnd;D({value:t,selectionStart:r,selectionEnd:e},!0),v(t)},onKeyDown:function(e){var t,r,a,n,o,i,s,l,c,d,u,p;b&&(b(e),e.defaultPrevented)||("Escape"===e.key&&e.currentTarget.blur(),d=(r=e.currentTarget).value,t=r.selectionStart,r=r.selectionEnd,a=(g?" ":"\t").repeat(I),"Tab"===e.key&&!f&&L?(e.preventDefault(),e.shiftKey?(n=(c=m(d,t)).length-1,o=m(d,r).length-1,p=d.split("\n").map(function(e,t){return n<=t&&t<=o&&e.startsWith(a)?e.substring(a.length):e}).join("\n"),d!==p&&(u=c[n],h({value:p,selectionStart:null!=u&&u.startsWith(a)?t-a.length:t,selectionEnd:r-(d.length-p.length)}))):t!==r?(i=(c=m(d,t)).length-1,s=m(d,r).length-1,u=c[i],h({value:d.split("\n").map(function(e,t){return i<=t&&t<=s?a+e:e}).join("\n"),selectionStart:u&&/\S/.test(u)?t+a.length:t,selectionEnd:r+a.length*(s-i+1)})):(l=t+a.length,h({value:d.substring(0,t)+a+d.substring(r),selectionStart:l,selectionEnd:l}))):"Backspace"===e.key?(p=t!==r,d.substring(0,t).endsWith(a)&&!p&&(e.preventDefault(),l=t-a.length,h({value:d.substring(0,t-a.length)+d.substring(r),selectionStart:l,selectionEnd:l}))):"Enter"===e.key?t===r&&null!=(u=null==(c=m(d,t).pop())?void 0:c.match(/^\s+/))&&u[0]&&(e.preventDefault(),l=t+(p="\n"+u[0]).length,h({value:d.substring(0,t)+p+d.substring(r),selectionStart:l,selectionEnd:l})):57===e.keyCode||219===e.keyCode||222===e.keyCode||192===e.keyCode?(c=void 0,57===e.keyCode&&e.shiftKey?c=["(",")"]:219===e.keyCode?c=e.shiftKey?["{","}"]:["[","]"]:222===e.keyCode?c=e.shiftKey?['"','"']:["'","'"]:192!==e.keyCode||e.shiftKey||(c=["`","`"]),t!==r&&c&&(e.preventDefault(),h({value:d.substring(0,t)+c[0]+d.substring(t,r)+c[1]+d.substring(r),selectionStart:t,selectionEnd:r+2}))):(z?e.metaKey&&90===e.keyCode:e.ctrlKey&&90===e.keyCode)&&!e.shiftKey&&!e.altKey?(e.preventDefault(),u=A.current,p=u.stack,u=u.offset,(p=p[u-1])&&(M(p),A.current.offset=Math.max(u-1,0))):(z?e.metaKey&&90===e.keyCode&&e.shiftKey:F?e.ctrlKey&&89===e.keyCode:e.ctrlKey&&90===e.keyCode&&e.shiftKey)&&!e.altKey?(e.preventDefault(),l=A.current,c=l.stack,l=l.offset,(d=c[l+1])&&(M(d),A.current.offset=Math.min(l+1,c.length-1))):77!==e.keyCode||!e.ctrlKey||z&&!e.shiftKey||(e.preventDefault(),_(function(e){return!e})))},onClick:d,onKeyUp:p,onFocus:u,onBlur:c,disabled:a,form:n,maxLength:i,minLength:s,name:l,placeholder:w,readOnly:E,required:C,autoFocus:r,autoCapitalize:"off",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"data-gramm":!1}),$.createElement("style",{dangerouslySetInnerHTML:{__html:G}}))}),H={container:{position:"relative",textAlign:"left",boxSizing:"border-box",padding:0,overflow:"hidden"},textarea:{position:"absolute",top:0,left:0,height:"100%",width:"100%",resize:"none",color:"inherit",overflow:"hidden",MozOsxFontSmoothing:"grayscale",WebkitFontSmoothing:"antialiased",WebkitTextFillColor:"transparent"},highlight:{position:"relative",pointerEvents:"none"},editor:{margin:0,border:0,background:"none",boxSizing:"inherit",display:"inherit",fontFamily:"inherit",fontSize:"inherit",fontStyle:"inherit",fontVariantLigatures:"inherit",fontWeight:"inherit",letterSpacing:"inherit",lineHeight:"inherit",tabSize:"inherit",textIndent:"inherit",textRendering:"inherit",textTransform:"inherit",whiteSpace:"pre-wrap",wordBreak:"keep-all",overflowWrap:"break-word"}};e.default=t}}),je=e({"node_modules/.pnpm/classnames@2.3.2/node_modules/classnames/index.js"(e,t){!function(){"use strict";var i={}.hasOwnProperty;function s(){for(var e=[],t=0;tfunction(){return nh.default.createElement(ah,null)}};for(E in Ze)A(Xe,E,{get:Ze[E],enumerable:!0});function Qe(e,t,r){var a=3"string"==typeof e,et=()=>{let r,a;var e=new Promise((e,t)=>{r=e,a=t});return e.resolve=r,e.reject=a,e},tt=e=>null==e?"":""+e,rt=(e,t,r)=>{e.forEach(e=>{t[e]&&(r[e]=t[e])})},at=/###/g,nt=e=>e&&-1!e||T(e),it=(e,t,r)=>{var a=T(t)?t.split("."):t;let n=0;for(;n{var{obj:e,k:t}=it(a,n,Object);if(void 0!==e||1===n.length)e[t]=o;else{let e=n[n.length-1],t=n.slice(0,n.length-1),r=it(a,t,Object);for(;void 0===r.obj&&t.length;)e=t[t.length-1]+"."+e,t=t.slice(0,t.length-1),(r=it(a,t,Object))?.obj&&void 0!==r.obj[r.k+"."+e]&&(r.obj=void 0);r.obj[r.k+"."+e]=o}},lt=(e,t,r,a)=>{var{obj:e,k:t}=it(e,t,Object);e[t]=e[t]||[],e[t].push(r)},ct=(e,t)=>{var{obj:e,k:t}=it(e,t);if(e&&Object.prototype.hasOwnProperty.call(e,t))return e[t]},dt=(e,t,r)=>{e=ct(e,r);return void 0!==e?e:ct(t,r)},ut=(e,t,r)=>{for(const a in t)"__proto__"!==a&&"constructor"!==a&&(a in e?T(e[a])||e[a]instanceof String||T(t[a])||t[a]instanceof String?r&&(e[a]=t[a]):ut(e[a],t[a],r):e[a]=t[a]);return e},pt=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),mt={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"},ht=e=>T(e)?e.replace(/[&<>"'\/]/g,e=>mt[e]):e,ft=[" ",",","?","!",";"],gt=new class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){var t=this.regExpMap.get(e);return void 0!==t||(t=new RegExp(e),this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,t),this.regExpQueue.push(e)),t}}(20),bt=(e,t,r)=>{t=t||"",r=r||"";var a=ft.filter(e=>t.indexOf(e)<0&&r.indexOf(e)<0);if(0===a.length)return!0;var n,a=gt.getRegExp(`(${a.map(e=>"?"===e?"\\?":e).join("|")})`);let o=!a.test(e);return o||0<(n=e.indexOf(r))&&!a.test(e.substring(0,n))&&(o=!0),o},vt=function(e,t){var o=2e?.replace("_","-"),wt={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console?.[e]?.apply?.(console,t)}},St=class{constructor(e){this.init(e,1{this.observers[e]||(this.observers[e]=new Map);var t=this.observers[e].get(r)||0;this.observers[e].set(r,t+1)}),this}off(e,t){this.observers[e]&&(t?this.observers[e].delete(t):delete this.observers[e])}emit(a){for(var e=arguments.length,n=new Array(1{var[t,r]=e;for(let e=0;e{var[t,r]=e;for(let e=0;et[e]&&0{t=this.processors[e]?.process(t,r,a,n)??t}),t}},xt={},It=e=>!T(e)&&"boolean"!=typeof e&&"number"!=typeof e,Nt=class extends n{constructor(e){var t=1{r=g&&r!==d?r:I;this.options.missingKeyHandler?this.options.missingKeyHandler(e,s,t,r,N,a):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(e,s,t,r,N,a),this.emit("missingKey",e,s,t,d)};this.options.saveMissing&&(this.options.saveMissingPlurals&&f?t.forEach(t=>{var e=this.pluralResolver.getSuffixes(t,a);y&&a[`defaultValue${this.options.pluralSeparator}zero`]&&e.indexOf(this.options.pluralSeparator+"zero")<0&&e.push(this.options.pluralSeparator+"zero"),e.forEach(e=>{O([t],i+e,a["defaultValue"+e]||w)})}):O(t,i,w))}d=this.extendTranslation(d,r,a,c,n),t&&d===i&&this.options.appendNamespaceToMissingKey&&(d=s+":"+i),(t||e)&&this.options.parseMissingKeyHandler&&(d=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?s+":"+i:i,e?d:void 0))}else{if(!a.returnObjects&&!this.options.returnObjects)return this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!"),v=this.options.returnedObjectHandler?this.options.returnedObjectHandler(u,S,{...a,ns:t}):`key '${i} (${this.language})' returned an object instead of string.`,e?(c.res=v,c.usedParams=this.getUsedParamsDetails(a),c):v;if(o){var C,h=Array.isArray(S),k=h?[]:{},x=h?p:u;for(const A in S)Object.prototype.hasOwnProperty.call(S,A)&&(C=""+x+o+A,g&&!d?k[A]=this.translate(C,{...a,defaultValue:It(w)?w[A]:void 0,joinArrays:!1,ns:t}):k[A]=this.translate(C,{...a,joinArrays:!1,ns:t}),k[A]===C)&&(k[A]=S[A]);d=k}}return e?(c.res=d,c.usedParams=this.getUsedParamsDetails(a),c):d}extendTranslation(r,a,n,o,i){var s=this;if(this.i18nFormat?.parse)r=this.i18nFormat.parse(r,{...this.options.interpolation.defaultVariables,...n},n.lng||this.language||o.usedLng,o.usedNS,o.usedKey,{resolved:o});else if(!n.skipInterpolation){n.interpolation&&this.interpolator.init({...n,interpolation:{...this.options.interpolation,...n.interpolation}});var l=T(r)&&(void 0!==n?.interpolation?.skipOnVariables?n:this.options).interpolation.skipOnVariables;let e,t=(l&&(c=r.match(this.interpolator.nestingRegexp),e=c&&c.length),n.replace&&!T(n.replace)?n.replace:n);this.options.interpolation.defaultVariables&&(t={...this.options.interpolation.defaultVariables,...t}),r=this.interpolator.interpolate(r,t,n.lng||this.language||o.usedLng,n),l&&(l=(c=r.match(this.interpolator.nestingRegexp))&&c.length,e{if(!this.isValidLookup(p)){t=this.extractFromKey(t,u);const s=t.key;a=s;let e=t.namespaces;this.options.fallbackNS&&(e=e.concat(this.options.fallbackNS));const l=void 0!==u.count&&!T(u.count),c=l&&!u.ordinal&&0===u.count,d=void 0!==u.context&&(T(u.context)||"number"==typeof u.context)&&""!==u.context,r=u.lngs||this.languageUtils.toResolveHierarchy(u.lng||this.language,u.fallbackLng);e.forEach(i=>{this.isValidLookup(p)||(n=i,xt[r[0]+"-"+i]||!this.utils?.hasLoadedNamespace||this.utils?.hasLoadedNamespace(n)||(xt[r[0]+"-"+i]=!0,this.logger.warn(`key "${a}" for languages "${r.join(", ")}" won't get resolved as namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),r.forEach(t=>{if(!this.isValidLookup(p)){h=t;var e,r=[s];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(r,s,t,i,u);else{let e;l&&(e=this.pluralResolver.getSuffix(t,u.count,u));var a,n=this.options.pluralSeparator+"zero",o=this.options.pluralSeparator+"ordinal"+this.options.pluralSeparator;l&&(r.push(s+e),u.ordinal&&0===e.indexOf(o)&&r.push(s+e.replace(o,this.options.pluralSeparator)),c)&&r.push(s+n),d&&(a=""+s+this.options.contextSeparator+u.context,r.push(a),l)&&(r.push(a+e),u.ordinal&&0===e.indexOf(o)&&r.push(a+e.replace(o,this.options.pluralSeparator)),c)&&r.push(a+n)}for(;e=r.pop();)this.isValidLookup(p)||(m=e,p=this.getResource(t,i,e,u))}}))})}}),{res:p,usedKey:a,exactUsedKey:m,usedLng:h,usedNS:n}}isValidLookup(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}getResource(e,t,r){var a=3{r||(e=this.formatLanguageCode(e),this.options.supportedLngs&&!this.isSupportedCode(e))||(r=e)}),!r&&this.options.supportedLngs&&e.forEach(e=>{if(!r){const t=this.getLanguagePartFromCode(e);if(this.isSupportedCode(t))return r=t;r=this.options.supportedLngs.find(e=>e===t||!(e.indexOf("-")<0&&t.indexOf("-")<0)&&(0{e&&(this.isSupportedCode(e)?r.push(e):this.logger.warn("rejecting language code not found in supportedLngs: "+e))};return T(e)&&(-1{r.indexOf(e)<0&&a(this.formatLanguageCode(e))}),r}},At={zero:0,one:1,two:2,few:3,many:4,other:5},Tt={select:e=>1===e?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})},Pt=class{constructor(e){var t=1""+t+e)}getSuffixes(e){let t=1At[e]-At[t]).map(e=>""+this.options.prepend+(t.ordinal?"ordinal"+this.options.prepend:"")+e):[]}getSuffix(e,t){var r=2e.replace(/\$/g,"$$$$"),Dt=class{constructor(){var e=0e),this.init(e)}init(){var e=0e?.source===t?(e.lastIndex=0,e):new RegExp(t,"g");this.regexp=e(this.regexp,this.prefix+"(.+?)"+this.suffix),this.regexpUnescape=e(this.regexpUnescape,""+this.prefix+this.unescapePrefix+"(.+?)"+this.unescapeSuffix+this.suffix),this.nestingRegexp=e(this.nestingRegexp,this.nestingPrefix+"(.+?)"+this.nestingSuffix)}interpolate(a,r,n,o){let i,s,l;const c=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},d=e=>{var t;return e.indexOf(this.formatSeparator)<0?(t=Qe(r,c,e,this.options.keySeparator,this.options.ignoreJSONStructure),this.alwaysFormat?this.format(t,void 0,n,{...o,...r,interpolationkey:e}):t):(e=(t=e.split(this.formatSeparator)).shift().trim(),t=t.join(this.formatSeparator).trim(),this.format(Qe(r,c,e,this.options.keySeparator,this.options.ignoreJSONStructure),t,n,{...o,...r,interpolationkey:e}))},u=(this.resetRegExp(),o?.missingInterpolationHandler||this.options.missingInterpolationHandler),p=(void 0!==o?.interpolation?.skipOnVariables?o:this.options).interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>Lt(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?Lt(this.escape(e)):Lt(e)}].forEach(e=>{for(l=0;i=e.regex.exec(a);){var t=i[1].trim();if(void 0===(s=d(t)))if("function"==typeof u){var r=u(a,i,o);s=T(r)?r:""}else{if(!o||!Object.prototype.hasOwnProperty.call(o,t)){if(p){s=i[0];continue}this.logger.warn(`missed to pass in variable ${t} for interpolating `+a)}s=""}else T(s)||this.useRawValueToEscape||(s=tt(s));r=e.safeValue(s);if(a=a.replace(i[0],r),p?(e.regex.lastIndex+=s.length,e.regex.lastIndex-=i[0].length):e.regex.lastIndex=0,++l>=this.maxReplaces)break}}),a}nest(r,a){let n=2{var a=this.nestingOptionsSeparator;if(!(r.indexOf(a)<0)){var n=r.split(new RegExp(a+"[ ]*{"));let t="{"+n[1];r=n[0];var n=(t=this.interpolate(t,s)).match(/'/g),o=t.match(/"/g);((n?.length??0)%2!=0||o)&&o.length%2==0||(t=t.replace(/'/g,'"'));try{s=JSON.parse(t),e&&(s={...e,...s})}catch(e){return this.logger.warn("failed parsing options string in nesting for key "+r,e),""+r+a+t}s.defaultValue&&-1e.trim()),o[1]=l.shift(),e=l,t=!0),(i=a(c.call(this,o[1].trim(),s),s))&&o[0]===r&&!T(i))return i;(i=T(i)?i:tt(i))||(this.logger.warn(`missed to resolve ${o[1]} for nesting `+r),i=""),t&&(i=e.reduce((e,t)=>this.format(e,t,n.lng,{...n,interpolationkey:o[1].trim()}),i.trim())),r=r.replace(o[0],i),this.regexp.lastIndex=0}return r}},Rt=e=>{let t=e.toLowerCase().trim();const r={};return-1{var t;e&&([e,...t]=e.split(":"),t=t.join(":").trim().replace(/^'+|'+$/g,""),e=e.trim(),r[e]||(r[e]=t),"false"===t&&(r[e]=!1),"true"===t&&(r[e]=!0),isNaN(t)||(r[e]=parseInt(t,10)))})),{formatName:t,formatOptions:r}},Mt=i=>{const s={};return(e,t,r)=>{let a=r;r&&r.interpolationkey&&r.formatParams&&r.formatParams[r.interpolationkey]&&r[r.interpolationkey]&&(a={...a,[r.interpolationkey]:void 0});var n=t+JSON.stringify(a);let o=s[n];return o||(o=i(yt(t),r),s[n]=o),o(e)}},_t=class{constructor(){var e=0{const r=new Intl.NumberFormat(e,{...t});return e=>r.format(e)}),currency:Mt((e,t)=>{const r=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>r.format(e)}),datetime:Mt((e,t)=>{const r=new Intl.DateTimeFormat(e,{...t});return e=>r.format(e)}),relativetime:Mt((e,t)=>{const r=new Intl.RelativeTimeFormat(e,{...t});return e=>r.format(e,t.range||"day")}),list:Mt((e,t)=>{const r=new Intl.ListFormat(e,{...t});return e=>r.format(e)})},this.init(e)}init(e){this.formatSeparator=(1-1-1{var{formatName:r,formatOptions:a}=Rt(r);if(this.formats[r]){let e=t;try{var n=s?.formatParams?.[s.interpolationkey]||{},o=n.locale||n.lng||s.locale||s.lng||i;e=this.formats[r](t,o,{...a,...s,...n})}catch(e){this.logger.warn(e)}return e}return this.logger.warn("there was no format function for "+r),t},e));return r}},jt=(e,t)=>{void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)},Bt=class extends n{constructor(e,t,r){var a=3{let a=!0;t.forEach(e=>{var t=r+"|"+e;!n.reload&&this.store.hasResourceBundle(r,e)?this.state[t]=2:this.state[t]<0||(1===this.state[t]?void 0===i[t]&&(i[t]=!0):(this.state[t]=1,a=!1,void 0===i[t]&&(i[t]=!0),void 0===o[t]&&(o[t]=!0),void 0===l[e]&&(l[e]=!0)))}),a||(s[r]=!0)}),(Object.keys(o).length||Object.keys(i).length)&&this.queue.push({pending:i,pendingCount:Object.keys(i).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(o),pending:Object.keys(i),toLoadLanguages:Object.keys(s),toLoadNamespaces:Object.keys(l)}}loaded(e,t,r){var a=e.split("|");const n=a[0],o=a[1],i=(t&&this.emit("failedLoading",n,o,t),!t&&r&&this.store.addResourceBundle(n,o,r,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&r&&(this.state[e]=0),{});this.queue.forEach(r=>{lt(r.loaded,[n],o),jt(r,e),t&&r.errors.push(t),0!==r.pendingCount||r.done||(Object.keys(r.loaded).forEach(t=>{i[t]||(i[t]={});var e=r.loaded[t];e.length&&e.forEach(e=>{void 0===i[t][e]&&(i[t][e]=!0)})}),r.done=!0,r.errors.length?r.callback(r.errors):r.callback())}),this.emit("loaded",i),this.queue=this.queue.filter(e=>!e.done)}read(a,n,o){let i=3=this.maxParallelReads)this.waitingReads.push({lng:a,ns:n,fcName:o,tried:i,wait:s,callback:l});else{this.readingCalls++;const r=(e,t)=>{var r;this.readingCalls--,0{this.read.call(this,a,n,o,i+1,2*s,l)},s):l(e,t)};var e=this.backend[o].bind(this.backend);if(2!==e.length)return e(a,n,r);try{var t=e(a,n);t&&"function"==typeof t.then?t.then(e=>r(null,e)).catch(r):r(null,t)}catch(e){r(e)}}}prepareLoading(e,t){var r=2{this.loadOne(e)})}load(e,t,r){this.prepareLoading(e,t,{},r)}reload(e,t,r){this.prepareLoading(e,t,{reload:!0},r)}loadOne(r){let a=1{e&&this.logger.warn(`${a}loading namespace ${o} for language ${n} failed`,e),!e&&t&&this.logger.log(`${a}loaded namespace ${o} for language `+n,t),this.loaded(r,e,t)})}saveMissing(t,r,a,n,o){var i=5{};if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(r))this.logger.warn(`did not save key "${a}" as the namespace "${r}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");else if(null!=a&&""!==a){if(this.backend?.create){i={...i,isUpdate:o},o=this.backend.create.bind(this.backend);if(o.length<6)try{let e;(e=5===o.length?o(t,r,a,n,i):o(t,r,a,n))&&"function"==typeof e.then?e.then(e=>s(null,e)).catch(s):s(null,e)}catch(e){s(e)}else o(t,r,a,n,s,i)}t&&t[0]&&this.store.addResource(t[0],r,a,n)}}},$t=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let t={};if("object"==typeof e[1]&&(t=e[1]),T(e[1])&&(t.defaultValue=e[1]),T(e[2])&&(t.tDescription=e[2]),"object"==typeof e[2]||"object"==typeof e[3]){const r=e[3]||e[2];Object.keys(r).forEach(e=>{t[e]=r[e]})}return t},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}),Ft=e=>(T(e.ns)&&(e.ns=[e.ns]),T(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),T(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs?.indexOf?.("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),"boolean"==typeof e.initImmediate&&(e.initAsync=e.initImmediate),e),zt=()=>{},Ut=t=>{Object.getOwnPropertyNames(Object.getPrototypeOf(t)).forEach(e=>{"function"==typeof t[e]&&(t[e]=t[e].bind(t))})},Gt=class extends n{constructor(){let e=0{this.init(e,t)},0)}}init(){var n=this;let e=0e?"function"==typeof e?new e:e:null);if(!this.options.isClone){this.modules.logger?Et.init(a(this.modules.logger),this.options):Et.init(null,this.options);let e;e=this.modules.formatter||_t;var o=new Ot(this.options),i=(this.store=new Ct(this.options.resources,this.options),this.services);i.logger=Et,i.resourceStore=this.store,i.languageUtils=o,i.pluralResolver=new Pt(o,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),!e||this.options.interpolation.format&&this.options.interpolation.format!==t.interpolation.format||(i.formatter=a(e),i.formatter.init(i,this.options),this.options.interpolation.format=i.formatter.format.bind(i.formatter)),i.interpolator=new Dt(this.options),i.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},i.backendConnector=new Bt(a(this.modules.backend),i.resourceStore,i,this.options),i.backendConnector.on("*",function(e){for(var t=arguments.length,r=new Array(1{e.init&&e.init(this)})}this.format=this.options.interpolation.format,r=r||zt,!this.options.fallbackLng||this.services.languageDetector||this.options.lng||0<(o=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng)).length&&"dev"!==o[0]&&(this.options.lng=o[0]),this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined");["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(e=>{this[e]=function(){return n.store[e](...arguments)}});["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(e=>{this[e]=function(){return n.store[e](...arguments),n}});const s=et();t=()=>{var e=(e,t)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),s.resolve(t),r(e,t)};if(this.languages&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initAsync?t():setTimeout(t,0),s}loadResources(e){let t=1{e&&"cimode"!==e&&this.services.languageUtils.toResolveHierarchy(e).forEach(e=>{"cimode"!==e&&a.indexOf(e)<0&&a.push(e)})};r?n(r):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(e=>n(e)),this.options.preload?.forEach?.(e=>n(e)),this.services.backendConnector.load(a,this.options.ns,e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),t(e)})}else t(null)}reloadResources(e,t,r){const a=et();return"function"==typeof e&&(r=e,e=void 0),"function"==typeof t&&(r=t,t=void 0),e=e||this.languages,t=t||this.options.ns,r=r||zt,this.services.backendConnector.reload(e,t,e=>{a.resolve(),r(e)}),a}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(e.type)return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&kt.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this;throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()")}setResolvedLanguage(e){if(e&&this.languages&&!(-1<["cimode","dev"].indexOf(e)))for(let e=0;e{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)}),s=(e,t)=>{t?(i(t),this.translator.changeLanguage(t),this.isLanguageChangingTo=void 0,this.emit("languageChanged",t),this.logger.log("languageChanged",t)):this.isLanguageChangingTo=void 0,o.resolve(function(){return n.t(...arguments)}),a&&a(e,function(){return n.t(...arguments)})};var e=e=>{r||e||!this.services.languageDetector||(e=[]);const t=T(e)?e:this.services.languageUtils.getBestMatchFromCodes(e);t&&(this.language||i(t),this.translator.language||this.translator.changeLanguage(t),this.services.languageDetector?.cacheUserLanguage?.(t)),this.loadResources(t,e=>{s(e,t)})};return r||!this.services.languageDetector||this.services.languageDetector.async?!r&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(e):this.services.languageDetector.detect(e):e(r):e(this.services.languageDetector.detect()),o}getFixedT(e,t,l){var c=this;function d(e,t){let r;if("object"!=typeof t){for(var a=arguments.length,n=new Array(2""+r.keyPrefix+i+e):r.keyPrefix?""+r.keyPrefix+i+e:e,c.t(s,r)}return T(e)?d.lng=e:d.lngs=e,d.ns=t,d.keyPrefix=l,d}t(){for(var e=arguments.length,t=new Array(e),r=0;r{e=this.services.backendConnector.state[e+"|"+t];return-1===e||0===e||2===e};if(t.precheck){t=t.precheck(this,o);if(void 0!==t)return t}return!!this.hasResourceBundle(r,e)||!(this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages)&&(!o(r,e)||a&&!o(n,e)))}loadNamespaces(e,t){const r=et();return this.options.ns?((e=T(e)?[e]:e).forEach(e=>{this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}),this.loadResources(e=>{r.resolve(),t&&t(e)}),r):(t&&t(),Promise.resolve())}loadLanguages(e,t){const r=et(),a=(T(e)&&(e=[e]),this.options.preload||[]);e=e.filter(e=>a.indexOf(e)<0&&this.services.languageUtils.isSupportedCode(e));return e.length?(this.options.preload=a.concat(e),this.loadResources(e=>{r.resolve(),t&&t(e)}),r):(t&&t(),Promise.resolve())}dir(e){var t;return!(e=e||this.resolvedLanguage||(0{n[e]=this[e]}),n.services={...this.services},n.services.utils={hasLoadedNamespace:n.hasLoadedNamespace.bind(n)},r&&(e=Object.keys(this.store.data).reduce((r,a)=>(r[a]={...this.store.data[a]},Object.keys(r[a]).reduce((e,t)=>(e[t]={...r[a][t]},e),{})),{}),n.store=new Ct(e,a),n.services.resourceStore=n.store),n.translator=new Nt(n.services,a),n.translator.on("*",function(e){for(var t=arguments.length,r=new Array(1{if(e)for(const t in e)void 0===r[t]&&(r[t]=e[t])}),r}var Wt=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,Kt=function(e,t,r,a){var n=4{r=r||{},r.path=r.path||"/",t=encodeURIComponent(t);let a=e+"="+t;if(0{if(null===Zt)try{Zt="undefined"!==window&&null!==window.localStorage;var e="i18next.translate.boo";window.localStorage.setItem(e,"foo"),window.localStorage.removeItem(e)}catch(e){Zt=!1}return Zt},er={name:"localStorage",lookup(e){e=e.lookupLocalStorage;if(e&&Qt())return window.localStorage.getItem(e)||void 0},cacheUserLanguage(e,t){t=t.lookupLocalStorage;t&&Qt()&&window.localStorage.setItem(t,e)}},tr=null,rr=()=>{if(null===tr)try{tr="undefined"!==window&&null!==window.sessionStorage;var e="i18next.translate.boo";window.sessionStorage.setItem(e,"foo"),window.sessionStorage.removeItem(e)}catch(e){tr=!1}return tr},ar={name:"sessionStorage",lookup(e){e=e.lookupSessionStorage;if(e&&rr())return window.sessionStorage.getItem(e)||void 0},cacheUserLanguage(e,t){t=t.lookupSessionStorage;t&&rr()&&window.sessionStorage.setItem(t,e)}},nr={name:"navigator",lookup(e){var t=[];if("undefined"!=typeof navigator){var{languages:r,userLanguage:a,language:n}=navigator;if(r)for(let e=0;ee}}var cr,dr,ur=class{constructor(e){var t=1e.replace("-","_")),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=r,this.addDetector(Yt),this.addDetector(Xt),this.addDetector(er),this.addDetector(ar),this.addDetector(nr),this.addDetector(or),this.addDetector(ir),this.addDetector(sr)}addDetector(e){return this.detectors[e.name]=e,this}detect(e){e=e||this.options.order;let r=[];return e.forEach(t=>{if(this.detectors[t]){let e=this.detectors[t].lookup(this.options);(e=e&&"string"==typeof e?[e]:e)&&(r=r.concat(e))}}),r=r.map(e=>this.options.convertDetectedLanguage(e)),this.services.languageUtils.getBestMatchFromCodes?r:0{this.detectors[e]&&this.detectors[e].cacheUserLanguage(t,this.options)})}},pr=(ur.type="languageDetector",t(r())),mr=(t(r(),1),t(r(),1),t(j()),{}),hr=(e,t,r,a)=>{yr(r)&&mr[r]||(yr(r)&&(mr[r]=new Date),e=e,r=[r=r,{code:t,...a||{}}],e?.services?.logger?.forward?e.services.logger.forward(r,"warn","react-i18next::",!0):(yr(r[0])&&(r[0]="react-i18next:: "+r[0]),e?.services?.logger?.warn?e.services.logger.warn(...r):console?.warn&&console.warn(...r)))},fr=(t,r)=>()=>{if(t.isInitialized)r();else{const e=()=>{setTimeout(()=>{t.off("initialized",e)},0),r()};t.on("initialized",e)}},gr=(e,t,r)=>{e.loadNamespaces(t,fr(e,r))},br=(t,e,r,a)=>{if(yr(r)&&(r=[r]),t.options.preload&&-1{t.options.ns.indexOf(e)<0&&t.options.ns.push(e)}),t.loadLanguages(e,fr(t,a))},vr=(r,e,a={})=>e.languages&&e.languages.length?e.hasLoadedNamespace(r,{lng:a.lng,precheck:(e,t)=>{if(-1"string"==typeof e,wr=e=>"object"==typeof e&&null!==e,Sr=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,Er={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},Cr=e=>Er[e],kr={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:e=>e.replace(Sr,Cr)},xr=()=>kr,Ir=()=>cr,j={type:"3rdParty",init(e){var t;[t={}]=[e.options.react],kr={...kr,...t},cr=e}},Nr=(0,t(r(),1).createContext)(),Or=class{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach(e=>{this.usedNamespaces[e]||(this.usedNamespaces[e]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}},Ar=t(r(),1),Tr=(e,t)=>{const r=(0,Ar.useRef)();return(0,Ar.useEffect)(()=>{r.current=t?r.current:e},[e,t]),r.current},Pr=(e,t,r,a)=>e.getFixedT(t,r,a),Lr=(e,t,r,a)=>(0,Ar.useCallback)(Pr(e,t,r,a),[e,t,r,a]),Dr=t(r(),1),Rr=(i,s={})=>function(o){function r({forwardedRef:e,...t}){var[r,a,n]=((e,a)=>{var t=a["i18n"],{i18n:r,defaultNS:n}=(0,Ar.useContext)(Nr)||{};const o=t||r||Ir();if(o&&!o.reportNamespaces&&(o.reportNamespaces=new Or),!o)return hr(o,"NO_I18NEXT_INSTANCE","useTranslation: You will need to pass in an i18next instance by using initReactI18next"),(r=[t=(e,t)=>yr(t)?t:wr(t)&&yr(t.defaultValue)?t.defaultValue:Array.isArray(e)?e[e.length-1]:e,{},!1]).t=t,r.i18n={},r.ready=!1,r;o.options.react?.wait&&hr(o,"DEPRECATED_OPTION","useTranslation: It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const i={...xr(),...o.options.react,...a},{useSuspense:s,keyPrefix:l}=i;let c=e||n||o.options?.defaultNS;c=yr(c)?[c]:c||["translation"],o.reportNamespaces.addUsedNamespaces?.(c);const d=(o.isInitialized||o.initializedStoreOnce)&&c.every(e=>vr(e,o,i)),u=Lr(o,a.lng||null,"fallback"===i.nsMode?c:c[0],l),p=()=>u,m=()=>Pr(o,a.lng||null,"fallback"===i.nsMode?c:c[0],l),[h,f]=(0,Ar.useState)(p);let g=c.join();a.lng&&(g=""+a.lng+g);const b=Tr(g),v=(0,Ar.useRef)(!0);(0,Ar.useEffect)(()=>{const{bindI18n:e,bindI18nStore:t}=i,r=(v.current=!0,d||s||(a.lng?br(o,a.lng,c,()=>{v.current&&f(m)}):gr(o,c,()=>{v.current&&f(m)})),d&&b&&b!==g&&v.current&&f(m),()=>{v.current&&f(m)});return e&&o?.on(e,r),t&&o?.store.on(t,r),()=>{v.current=!1,o&&e?.split(" ").forEach(e=>o.off(e,r)),t&&o&&t.split(" ").forEach(e=>o.store.off(e,r))}},[o,g]),(0,Ar.useEffect)(()=>{v.current&&d&&f(p)},[o,l,d]);t=[h,o,d];if(t.t=h,t.i18n=o,(t.ready=d)||!d&&!s)return t;throw new Promise(e=>{a.lng?br(o,a.lng,c,()=>e()):gr(o,c,()=>e())})})(i,{...t,keyPrefix:s.keyPrefix}),t={...t,t:r,i18n:a,tReady:n};return s.withRef&&e?t.ref=e:!s.withRef&&e&&(t.forwardedRef=e),(0,Dr.createElement)(o,t)}var e;r.displayName=`withI18nextTranslation(${e=o,e.displayName||e.name||(yr(e)&&0(0,Dr.createElement)(r,Object.assign({},e,{forwardedRef:t}))):r},o=(t(r(),1),t(r(),1),t(r(),1),t(r())),Mr=t(a()),_r="1.0.4",a="marketplace",x={installedExtensions:a+":installed-extensions",installedSnippets:a+":installed-snippets",installedThemes:a+":installed-themes",activeTab:a+":active-tab",tabs:a+":tabs",sort:a+":sort",themeInstalled:a+":theme-installed",localTheme:a+":local-theme",albumArtBasedColor:a+":albumArtBasedColors",albumArtBasedColorMode:a+":albumArtBasedColorsMode",albumArtBasedColorVibrancy:a+":albumArtBasedColorsVibrancy",colorShift:a+":colorShift"},jr=[{name:"Extensions",enabled:!0},{name:"Themes",enabled:!0},{name:"Snippets",enabled:!0},{name:"Apps",enabled:!0},{name:"Installed",enabled:!0}],Br=100,$r="/marketplace",Fr="https://github.com/spicetify/marketplace/releases",zr="https://api.github.com/repos/spicetify/marketplace/releases/latest",{min:Ur,max:Gr}=Math,Hr=(e,t=0,r=1)=>Ur(Gr(t,e),r),Vr=t=>{t._clipped=!1,t._unclipped=t.slice(0);for(let e=0;e<=3;e++)e<3?((t[e]<0||2553<=t.length?Array.prototype.slice.call(t):"object"==k(t[0])&&e?e.split("").filter(e=>void 0!==t[0][e]).map(e=>t[0][e]):t[0].slice(0),Wr=e=>{var t;return!(e.length<2)&&"string"==k(e[t=e.length-1])?e[t].toLowerCase():null},{PI:a,min:Kr,max:Jr}=Math,Yr=e=>Math.round(100*e)/100,Xr=e=>Math.round(100*e)/100,Zr=2*a,Qr=a/3,ea=a/180,ta=180/a,i={format:{},autodetect:[]},g=class{constructor(...e){if("object"===k(e[0])&&e[0].constructor&&e[0].constructor===this.constructor)return e[0];let t=Wr(e),r=!1;if(!t){r=!0,i.sorted||(i.autodetect=i.autodetect.sort((e,t)=>t.p-e.p),i.sorted=!0);for(var a of i.autodetect)if(t=a.test(...e))break}if(!i.format[t])throw new Error("unknown format: "+e);var n=i.format[t].apply(null,r?e:e.slice(0,-1));this._rgb=Vr(n),3===this._rgb.length&&this._rgb.push(1)}toString(){return"function"==k(this.hex)?this.hex():`[${this._rgb.join(",")}]`}},a=(...e)=>new g(...e),I=(a.version="3.1.1",a),ra={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",laserlemon:"#ffff54",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrod:"#fafad2",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",maroon2:"#7f0000",maroon3:"#b03060",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",purple2:"#7f007f",purple3:"#a020f0",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},aa=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,na=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,oa=e=>{var t;if(e.match(aa))return 3===(e=4!==e.length&&7!==e.length?e:e.substr(1)).length&&(e=(e=e.split(""))[0]+e[0]+e[1]+e[1]+e[2]+e[2]),[(t=parseInt(e,16))>>16,t>>8&255,255&t,1];if(e.match(na))return 4===(e=5!==e.length&&9!==e.length?e:e.substr(1)).length&&(e=(e=e.split(""))[0]+e[0]+e[1]+e[1]+e[2]+e[2]+e[3]+e[3]),[(t=parseInt(e,16))>>24&255,t>>16&255,t>>8&255,Math.round((255&t)/255*100)/100];throw new Error("unknown hex color: "+e)},ia=Math["round"],sa=(...e)=>{let[t,r,a,n]=h(e,"rgba"),o=Wr(e)||"auto";void 0===n&&(n=1),"auto"===o&&(o=n<1?"rgba":"rgb");let i="000000"+(ia(t)<<16|ia(r)<<8|ia(a)).toString(16),s=(i=i.substr(i.length-6),"0"+ia(255*n).toString(16));switch(s=s.substr(s.length-2),o.toLowerCase()){case"rgba":return"#"+i+s;case"argb":return"#"+s+i;default:return"#"+i}},la=(g.prototype.name=function(){var e,t=sa(this._rgb,"rgb");for(e of Object.keys(ra))if(ra[e]===t)return e.toLowerCase();return t},i.format.named=e=>{if(e=e.toLowerCase(),ra[e])return oa(ra[e]);throw new Error("unknown color name: "+e)},i.autodetect.push({p:5,test:(e,...t)=>{if(!t.length&&"string"===k(e)&&ra[e.toLowerCase()])return"named"}}),g.prototype.alpha=function(e,t=!1){return void 0!==e&&"number"===k(e)?t?(this._rgb[3]=e,this):new g([this._rgb[0],this._rgb[1],this._rgb[2],e],"rgb"):this._rgb[3]},g.prototype.clipped=function(){return this._rgb._clipped||!1},{Kn:18,labWhitePoint:"d65",Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452,kE:216/24389,kKE:8,kK:24389/27,RefWhiteRGB:{X:.95047,Y:1,Z:1.08883},MtxRGB2XYZ:{m00:.4124564390896922,m01:.21267285140562253,m02:.0193338955823293,m10:.357576077643909,m11:.715152155287818,m12:.11919202588130297,m20:.18043748326639894,m21:.07217499330655958,m22:.9503040785363679},MtxXYZ2RGB:{m00:3.2404541621141045,m01:-.9692660305051868,m02:.055643430959114726,m10:-1.5371385127977166,m11:1.8760108454466942,m12:-.2040259135167538,m20:-.498531409556016,m21:.041556017530349834,m22:1.0572251882231791},As:.9414285350000001,Bs:1.040417467,Cs:1.089532651,MtxAdaptMa:{m00:.8951,m01:-.7502,m02:.0389,m10:.2664,m11:1.7135,m12:-.0685,m20:-.1614,m21:.0367,m22:1.0296},MtxAdaptMaI:{m00:.9869929054667123,m01:.43230526972339456,m02:-.008528664575177328,m10:-.14705425642099013,m11:.5183602715367776,m12:.04004282165408487,m20:.15996265166373125,m21:.0492912282128556,m22:.9684866957875502}}),ca=la,da=new Map([["a",[1.0985,.35585]],["b",[1.0985,.35585]],["c",[.98074,1.18232]],["d50",[.96422,.82521]],["d55",[.95682,.92149]],["d65",[.95047,1.08883]],["e",[1,1,1]],["f2",[.99186,.67393]],["f7",[.95041,1.08747]],["f11",[1.00962,.6435]],["icc",[.96422,.82521]]]);function ua(e){var t=da.get(String(e).toLowerCase());if(!t)throw new Error("unknown Lab illuminant "+e);la.labWhitePoint=e,la.Xn=t[0],la.Zn=t[1]}function pa(){return la.labWhitePoint}var ma=e=>{var t=Math.sign(e);return((e=Math.abs(e))<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)*t},ha=(e,t,r)=>{var{MtxAdaptMa:a,MtxAdaptMaI:n,MtxXYZ2RGB:o,RefWhiteRGB:i,Xn:s,Yn:l,Zn:c}=ca,d=s*a.m00+l*a.m10+c*a.m20,u=s*a.m01+l*a.m11+c*a.m21,s=s*a.m02+l*a.m12+c*a.m22,l=i.X*a.m00+i.Y*a.m10+i.Z*a.m20,c=i.X*a.m01+i.Y*a.m11+i.Z*a.m21,i=i.X*a.m02+i.Y*a.m12+i.Z*a.m22,l=(e*a.m00+t*a.m10+r*a.m20)*(l/d),d=(e*a.m01+t*a.m11+r*a.m21)*(c/u),c=(e*a.m02+t*a.m12+r*a.m22)*(i/s),u=l*n.m00+d*n.m10+c*n.m20,e=l*n.m01+d*n.m11+c*n.m21,t=l*n.m02+d*n.m12+c*n.m22;return[255*ma(u*o.m00+e*o.m10+t*o.m20),255*ma(u*o.m01+e*o.m11+t*o.m21),255*ma(u*o.m02+e*o.m12+t*o.m22)]},fa=(...e)=>{var[t,r,a]=e=h(e,"lab"),[t,r,a]=((e,t,r)=>{const{kE:a,kK:n,kKE:o,Xn:i,Yn:s,Zn:l}=ca,c=(e+16)/116,d=.002*t+c,u=c-.005*r,p=d*d*d,m=u*u*u,h=p>a?p:(116*d-16)/n,f=e>o?Math.pow((e+16)/116,3):e/n,g=m>a?m:(116*u-16)/n,b=h*i,v=f*s,y=g*l;return[b,v,y]})(t,r,a),[t,r,a]=ha(t,r,a);return[t,r,a,3{e=ga(e/255),t=ga(t/255),r=ga(r/255);var{MtxRGB2XYZ:a,MtxAdaptMa:n,MtxAdaptMaI:o,Xn:i,Yn:s,Zn:l,As:c,Bs:d,Cs:u}=ca,p=e*a.m00+t*a.m10+r*a.m20,m=e*a.m01+t*a.m11+r*a.m21,e=e*a.m02+t*a.m12+r*a.m22,t=i*n.m00+s*n.m10+l*n.m20,r=i*n.m01+s*n.m11+l*n.m21,a=i*n.m02+s*n.m12+l*n.m22,i=p*n.m00+m*n.m10+e*n.m20,s=p*n.m01+m*n.m11+e*n.m21,l=p*n.m02+m*n.m12+e*n.m22;return[(i*=t/c)*o.m00+(s*=r/d)*o.m10+(l*=a/u)*o.m20,i*o.m01+s*o.m11+l*o.m21,i*o.m02+s*o.m12+l*o.m22]},va=(...e)=>{var[e,t,r,...a]=h(e,"rgb"),[e,t,r]=ba(e,t,r),[e,t,r]=function(e,t,r){var{Xn:a,Yn:n,Zn:o,kE:i,kK:s}=ca,e=e/a,a=t/n,t=r/o,n=inew g(...e,"lab"),getLabWhitePoint:pa,setLabWhitePoint:ua}),i.format.lab=fa,i.autodetect.push({p:2,test:(...e)=>{if("array"===k(e=h(e,"lab"))&&3===e.length)return"lab"}}),g.prototype.darken=function(e=1){var t=this.lab();return t[0]-=ca.Kn*e,new g(t,"lab").alpha(this.alpha(),!0)},g.prototype.brighten=function(e=1){return this.darken(-e)},g.prototype.darker=g.prototype.darken,g.prototype.brighter=g.prototype.brighten,g.prototype.get=function(e){var[e,t]=e.split("."),r=this[e]();if(t){var a=e.indexOf(t)-("ok"===e.substr(0,2)?2:0);if(-1{var r=e.interpolate(t,.5,i),a=r.luminance();return Math.abs(o-a)<1e-7||!n--?r:o.2126*(e=Sa(e))+.7152*(t=Sa(t))+.0722*(r=Sa(r))),Sa=e=>(e/=255)<=.03928?e/12.92:ya((e+.055)/1.055,2.4),s={},Ea=(e,t,r=.5,...a)=>{let n=a[0]||"lrgb";if(s[n]||a.length||(n=Object.keys(s)[0]),s[n])return"object"!==k(e)&&(e=new g(e)),"object"!==k(t)&&(t=new g(t)),s[n](e,t,r).alpha(e.alpha()+r*(t.alpha()-e.alpha()));throw new Error(`interpolation mode ${n} is not defined`)},{sin:Ca,cos:ka}=(g.prototype.mix=g.prototype.interpolate=function(e,t=.5,...r){return Ea(this,e,t,...r)},g.prototype.premultiply=function(e=!1){var t=this._rgb,r=t[3];return e?(this._rgb=[t[0]*r,t[1]*r,t[2]*r,r],this):new g([t[0]*r,t[1]*r,t[2]*r,r],"rgb")},Math),xa=(...e)=>{let[t,r,a]=h(e,"lch");return isNaN(a)&&(a=0),a*=ea,[t,ka(a)*r,Ca(a)*r]},Ia=(...e)=>{var[t,r,a]=e=h(e,"lch"),[t,r,a]=xa(t,r,a),[t,r,a]=fa(t,r,a);return[t,r,a,3{e=h(e,"hcl").reverse();return Ia(...e)},{sqrt:Na,atan2:Oa,round:Aa}=Math,Ta=(...e)=>{var[e,t,r]=h(e,"lab"),a=Na(t*t+r*r);let n=(Oa(r,t)*ta+360)%360;return[e,a,n=0===Aa(1e4*a)?Number.NaN:n]},Pa=(...e)=>{var[e,t,r,...a]=h(e,"rgb"),[e,t,r]=va(e,t,r),[e,t,r]=Ta(e,t,r);return[e,t,r,...0new g(...e,"lch"),hcl:(...e)=>new g(...e,"hcl")}),i.format.lch=Ia,i.format.hcl=a,["lch","hcl"].forEach(t=>i.autodetect.push({p:2,test:(...e)=>{if("array"===k(e=h(e,t))&&3===e.length)return t}})),g.prototype.saturate=function(e=1){var t=this.lch();return t[1]+=ca.Kn*e,t[1]<0&&(t[1]=0),new g(t,"lch").alpha(this.alpha(),!0)},g.prototype.desaturate=function(e=1){return this.saturate(-e)},g.prototype.set=function(e,t,r=!1){var[e,a]=e.split("."),n=this[e]();if(a){var o=e.indexOf(a)-("ok"===e.substr(0,2)?2:0);if(-1{e=e._rgb,t=t._rgb;return new g(e[0]+r*(t[0]-e[0]),e[1]+r*(t[1]-e[1]),e[2]+r*(t[2]-e[2]),"rgb")},Math),Ra=(s.lrgb=(e,t,r)=>{var[e,a,n]=e._rgb,[t,o,i]=t._rgb;return new g(La(Da(e,2)*(1-r)+Da(t,2)*r),La(Da(a,2)*(1-r)+Da(o,2)*r),La(Da(n,2)*(1-r)+Da(i,2)*r),"rgb")},s.lab=(e,t,r)=>{e=e.lab(),t=t.lab();return new g(e[0]+r*(t[0]-e[0]),e[1]+r*(t[1]-e[1]),e[2]+r*(t[2]-e[2]),"lab")},(e,t,r,a)=>{let n,o;"hsl"===a?(n=e.hsl(),o=t.hsl()):"hsv"===a?(n=e.hsv(),o=t.hsv()):"hcg"===a?(n=e.hcg(),o=t.hcg()):"hsi"===a?(n=e.hsi(),o=t.hsi()):"lch"===a||"hcl"===a?(a="hcl",n=e.hcl(),o=t.hcl()):"oklch"===a&&(n=e.oklch().reverse(),o=t.oklch().reverse());let i,s,l,c,d,u;"h"!==a.substr(0,1)&&"oklch"!==a||([i,l,d]=n,[s,c,u]=o);let p,m,h,f;return isNaN(i)||isNaN(s)?isNaN(i)?isNaN(s)?m=Number.NaN:(m=s,1!=d&&0!=d||"hsv"==a||(p=c)):(m=i,1!=u&&0!=u||"hsv"==a||(p=l)):(f=s>i&&180Ra(e,t,r,"lch"),a=(s.lch=a,s.hcl=a,e=>{if("number"==k(e)&&0<=e&&e<=16777215)return[e>>16,e>>8&255,255&e,1];throw new Error("unknown num color: "+e)}),Ma=(...e)=>{var[e,t,r]=h(e,"rgb");return(e<<16)+(t<<8)+r},_a=(g.prototype.num=function(){return Ma(this._rgb)},Object.assign(I,{num:(...e)=>new g(...e,"num")}),i.format.num=a,i.autodetect.push({p:5,test:(...e)=>{if(1===e.length&&"number"===k(e[0])&&0<=e[0]&&e[0]<=16777215)return"num"}}),(s.num=(e,t,r)=>{e=e.num(),t=t.num();return new g(e+r*(t-e),"num")},Math)["floor"]),a=(...e)=>{let[t,r,a]=e=h(e,"hcg"),n,o,i;a*=255;var s=255*r;if(0===r)n=o=i=a;else{360<(t=360===t?0:t)&&(t-=360),t<0&&(t+=360),t/=60;var l=_a(t),c=t-l,d=a*(1-r),u=d+s*(1-c),p=d+s*c,m=d+s;switch(l){case 0:[n,o,i]=[m,p,d];break;case 1:[n,o,i]=[u,m,d];break;case 2:[n,o,i]=[d,m,p];break;case 3:[n,o,i]=[d,u,m];break;case 4:[n,o,i]=[p,d,m];break;case 5:[n,o,i]=[m,d,u]}}return[n,o,i,3{var[e,t,r]=h(e,"rgb"),a=Kr(e,t,r),n=Jr(e,t,r),o=n-a;let i;return 0==o?i=Number.NaN:(e===n&&(i=(t-r)/o),t===n&&(i=2+(r-e)/o),r===n&&(i=4+(e-t)/o),(i*=60)<0&&(i+=360)),[i,100*o/255,a/(255-o)*100]},Ba=(g.prototype.hcg=function(){return ja(this._rgb)},I.hcg=(...e)=>new g(...e,"hcg"),i.format.hcg=a,i.autodetect.push({p:1,test:(...e)=>{if("array"===k(e=h(e,"hcg"))&&3===e.length)return"hcg"}}),(s.hcg=(e,t,r)=>Ra(e,t,r,"hcg"),Math)["cos"]),a=(...e)=>{let[t,r,a]=e=h(e,"hsi"),n,o,i;return isNaN(t)&&(t=0),isNaN(r)&&(r=0),360{var[e,t,r]=h(e,"rgb");let a;var n=$a(e/=255,t/=255,r/=255),o=(e+t+r)/3,n=0new g(...e,"hsi"),i.format.hsi=a,i.autodetect.push({p:2,test:(...e)=>{if("array"===k(e=h(e,"hsi"))&&3===e.length)return"hsi"}}),s.hsi=(e,t,r)=>Ra(e,t,r,"hsi"),(...e)=>{var[t,r,a]=e=h(e,"hsl");let n,o,i;if(0===r)n=o=i=255*a;else{var s=[0,0,0],l=[0,0,0],c=a<.5?a*(1+r):a+r-a*r,d=2*a-c,r=t/360;s[0]=r+1/3,s[1]=r,s[2]=r-1/3;for(let e=0;e<3;e++)s[e]<0&&(s[e]+=1),1{var[t,r,a]=e=h(e,"rgba"),n=Kr(t/=255,r/=255,a/=255),o=Jr(t,r,a),i=(o+n)/2;let s,l;return o===n?(s=0,l=Number.NaN):s=i<.5?(o-n)/(o+n):(o-n)/(2-o-n),t==o?l=(r-a)/(o-n):r==o?l=2+(a-t)/(o-n):a==o&&(l=4+(t-r)/(o-n)),(l*=60)<0&&(l+=360),3new g(...e,"hsl"),i.format.hsl=Ga,i.autodetect.push({p:2,test:(...e)=>{if("array"===k(e=h(e,"hsl"))&&3===e.length)return"hsl"}}),(s.hsl=(e,t,r)=>Ra(e,t,r,"hsl"),Math)["floor"]),a=(...e)=>{let[t,r,a]=e=h(e,"hsv"),n,o,i;if(a*=255,0===r)n=o=i=a;else{360<(t=360===t?0:t)&&(t-=360),t<0&&(t+=360),t/=60;var s=Va(t),l=t-s,c=a*(1-r),d=a*(1-r*l),u=a*(1-r*(1-l));switch(s){case 0:[n,o,i]=[a,u,c];break;case 1:[n,o,i]=[d,a,c];break;case 2:[n,o,i]=[c,a,u];break;case 3:[n,o,i]=[c,d,a];break;case 4:[n,o,i]=[u,c,a];break;case 5:[n,o,i]=[a,c,d]}}return[n,o,i,3{var[e,t,r]=e=h(e,"rgb"),a=qa(e,t,r),n=Wa(e,t,r),a=n-a;let o,i;return 0===n?(o=Number.NaN,i=0):(i=a/n,e===n&&(o=(t-r)/a),t===n&&(o=2+(r-e)/a),r===n&&(o=4+(e-t)/a),(o*=60)<0&&(o+=360)),[o,i,n/255]};g.prototype.hsv=function(){return Ka(this._rgb)},I.hsv=(...e)=>new g(...e,"hsv"),i.format.hsv=a,i.autodetect.push({p:2,test:(...e)=>{if("array"===k(e=h(e,"hsv"))&&3===e.length)return"hsv"}});function Ja(e,r){var t=e.length,a=(Array.isArray(e[0])||(e=[e]),(r=Array.isArray(r[0])?r:r.map(e=>[e]))[0].length);let n=r[0].map((e,t)=>r.map(e=>e[t])),o=e.map(r=>n.map(a=>Array.isArray(r)?r.reduce((e,t,r)=>e+t*(a[r]||0),0):a.reduce((e,t)=>e+t*r,0)));return 1===t&&(o=o[0]),1===a?o.map(e=>e[0]):o}s.hsv=(e,t,r)=>Ra(e,t,r,"hsv");var Ya=(...e)=>{var[e,t,r,...a]=e=h(e,"lab"),[e,t,r]=function(e){e=Ja([[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],e);return Ja([[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],e.map(e=>e**3))}([e,t,r]),[e,t,r]=ha(e,t,r);return[e,t,r,...0{var[e,t,r,...a]=h(e,"rgb");return[...function(e){e=Ja([[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],e);return Ja([[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],e.map(e=>Math.cbrt(e)))}(ba(e,t,r)),...0new g(...e,"oklab")}),i.format.oklab=Ya,i.autodetect.push({p:2,test:(...e)=>{if("array"===k(e=h(e,"oklab"))&&3===e.length)return"oklab"}}),s.oklab=(e,t,r)=>{e=e.oklab(),t=t.oklab();return new g(e[0]+r*(t[0]-e[0]),e[1]+r*(t[1]-e[1]),e[2]+r*(t[2]-e[2]),"oklab")},s.oklch=(e,t,r)=>Ra(e,t,r,"oklch"),Math),nn=Math["pow"];function on(o){let i="rgb",s=I("#ccc"),t=0,l=[0,1],c=[],d=[0,0],u=!1,p=[],r=!1,m=0,h=1,a,f={},g=!0,b=1;function n(t){if((t=t||["#fff","#000"])&&"string"===k(t)&&I.brewer&&I.brewer[t.toLowerCase()]&&(t=I.brewer[t.toLowerCase()]),"array"===k(t)){t=(t=1===t.length?[t[0],t[0]]:t).slice(0);for(let e=0;e=u[e];)e++;return e-1}};let y=e=>e,w=e=>e;function S(e,t){let r,a;if(null==t&&(t=!1),isNaN(e)||null===e)return s;if(a=t?e:u&&2=n&&e===c.length-1){r=p[e];break}if(a>n&&af={};n(o);function C(e){return e=I(S(e)),r&&e[r]?e[r]():e}return C.classes=function(e){var t;return null!=e?("array"===k(e)?(u=e,l=[e[0],e[e.length-1]]):(t=I.analyze(l),u=0===e?[t.min,t.max]:I.limits(t,"e",e)),C):u},C.domain=function(r){if(!arguments.length)return l;m=r[0],h=r[r.length-1],c=[];var t=p.length;if(r.length===t&&m!==h)for(var e of Array.from(r))c.push((e-m)/(h-m));else{for(let e=0;et/(r.length-1)),n=r.map(e=>(e-m)/(h-m));n.every((e,t)=>a[t]===e)||(w=e=>{if(e<=0||1<=e)return e;let t=0;for(;e>=n[t+1];)t++;var r=(e-n[t])/(n[t+1]-n[t]);return a[t]+r*(a[t+1]-a[t])})}}return l=[m,h],C},C.mode=function(e){return arguments.length?(i=e,E(),C):i},C.range=function(e,t){return n(e),C},C.out=function(e){return r=e,C},C.spread=function(e){return arguments.length?(t=e,C):t},C.correctLightness=function(e){return null==e&&(e=!0),a=e,E(),y=a?function(e){var t=S(0,!0).lab()[0],r=S(1,!0).lab()[0];const a=re,C},C.padding=function(e){return null!=e?("number"===k(e)&&(e=[e,e]),d=e,C):d},C.colors=function(t,r){arguments.length<2&&(r="hex");let e=[];if(0===arguments.length)e=p.slice(0);else if(1===t)e=[C(.5)];else if(1o;n?e++:e--)a.push(e);return a}(0,t,!1).map(e=>C(a+e/(t-1)*n))}else{o=[];let a=[];if(u&&2t;r?e++:e--)a.push(.5*(u[e-1]+u[e]));else a=l;e=a.map(e=>C(e))}return e=I[r]?e.map(e=>e[r]()):e},C.cache=function(e){return null!=e?(g=e,C):g},C.gamma=function(e){return null!=e?(b=e,C):b},C.nodata=function(e){return null!=e?(s=I(e),C):s},C}var sn=function(t){let r=[1,1];for(let e=1;e!(t<3)||!1===r?e:ln(e))},Object.assign(I,{rgb:(...e)=>new g(...e,"rgb")}),i.format.rgb=(...e)=>{e=h(e,"rgba");return void 0===e[3]&&(e[3]=1),e},i.autodetect.push({p:3,test:(...e)=>{if("array"===k(e=h(e,"rgba"))&&(3===e.length||4===e.length&&"number"==k(e[3])&&0<=e[3]&&e[3]<=1))return"rgb"}}),(e,t,r)=>{if(cn[r])return cn[r](e,t);throw new Error("unknown blend mode "+r)}),a=r=>(e,t)=>{t=I(t).rgb(),e=I(e).rgb();return I.rgb(r(t,e))},dn=a=>(e,t)=>{var r=[];return r[0]=a(e[0],t[0]),r[1]=a(e[1],t[1]),r[2]=a(e[2],t[2]),r},a=(cn.normal=a(dn(e=>e)),cn.multiply=a(dn((e,t)=>e*t/255)),cn.screen=a(dn((e,t)=>255*(1-(1-e/255)*(1-t/255)))),cn.overlay=a(dn((e,t)=>t<128?2*e*t/255:255*(1-2*(1-e/255)*(1-t/255)))),cn.darken=a(dn((e,t)=>tt255===e||255<(e=t/255*255/(1-e/255))?255:e)),cn.burn=a(dn((e,t)=>255*(1-(1-t/255)/(e/255)))),cn),{pow:un,sin:pn,cos:mn}=Math;var{floor:hn,random:fn}=Math,{log:gn,pow:bn,floor:vn,abs:yn}=Math;function wn(e,t=null){const r={min:Number.MAX_VALUE,max:-1*Number.MAX_VALUE,sum:0,values:[],count:0};return(e="object"===k(e)?Object.values(e):e).forEach(e=>{null==(e=t&&"object"===k(e)?e[t]:e)||isNaN(e)||(r.values.push(e),r.sum+=e,er.max&&(r.max=e),r.count+=1)}),r.domain=[r.min,r.max],r.limits=(e,t)=>Sn(r,e,t),r}function Sn(e,t="equal",o=7){var{min:i,max:s}=e="array"==k(e)?wn(e):e,l=e.values.sort((e,t)=>e-t);if(1===o)return[i,s];var c=[];if("c"===t.substr(0,1)&&(c.push(i),c.push(s)),"e"===t.substr(0,1)){c.push(i);for(let e=1;e 0");var r=Math.LOG10E*gn(i),a=Math.LOG10E*gn(s);c.push(i);for(let e=1;ee-t),c.push(a[0]);for(let e=1;e[e.toLowerCase(),e])),Ln="function"==typeof Proxy?new Proxy(Ln,{get(e,t){t=t.toLowerCase();if(Rn.has(t))return e[Rn.get(t)]},getOwnPropertyNames(){return Object.getOwnPropertyNames(Dn)}}):Ln,l=(...e)=>{var[t,r,a,n]=e=h(e,"cmyk"),e=4{var[e,t,r]=h(e,"rgb"),a=1-Mn(e/=255,Mn(t/=255,r/=255)),n=a<1?1/(1-a):0;return[(1-e-a)*n,(1-t-a)*n,(1-r-a)*n,a]},jn=(g.prototype.cmyk=function(){return _n(this._rgb)},Object.assign(I,{cmyk:(...e)=>new g(...e,"cmyk")}),i.format.cmyk=l,i.autodetect.push({p:2,test:(...e)=>{if("array"===k(e=h(e,"cmyk"))&&4===e.length)return"cmyk"}}),(...e)=>{var t=h(e,"hsla");let r=Wr(e)||"lsa";return t[0]=Yr(t[0]||0)+"deg",t[1]=Yr(100*t[1])+"%",t[2]=Yr(100*t[2])+"%","hsla"===r||3{var t=h(e,"lab"),e=Wr(e)||"lab";return t[0]=Yr(t[0])+"%",t[1]=Yr(t[1]),t[2]=Yr(t[2]),"laba"===e||3{var t=h(e,"lch"),e=Wr(e)||"lab";return t[0]=Yr(t[0])+"%",t[1]=Yr(t[1]),t[2]=isNaN(t[2])?"none":Yr(t[2])+"deg","lcha"===e||3{e=h(e,"lab");return e[0]=Yr(100*e[0])+"%",e[1]=Xr(e[1]),e[2]=Xr(e[2]),3{var[e,t,r,...a]=h(e,"rgb"),[e,t,r]=Xa(e,t,r),[e,t,r]=Ta(e,t,r);return[e,t,r,...0{e=h(e,"lch");return e[0]=Yr(100*e[0])+"%",e[1]=Xr(e[1]),e[2]=isNaN(e[2])?"none":Yr(e[2])+"deg",3{var t,r=h(e,"rgba");let a=Wr(e)||"rgb";return"hsl"===a.substr(0,3)?jn(Ha(r),a):"lab"===a.substr(0,3)?(e=pa(),ua("d50"),t=Bn(va(r),a),ua(e),t):"lch"===a.substr(0,3)?(e=pa(),ua("d50"),t=$n(Pa(r),a),ua(e),t):"oklab"===a.substr(0,5)?Fn(Xa(r)):"oklch"===a.substr(0,5)?Un(zn(r)):(r[0]=Gn(r[0]),r[1]=Gn(r[1]),r[2]=Gn(r[2]),("rgba"===a||3{var[e,t,r,...a]=e=h(e,"lch"),[e,t,r]=xa(e,t,r),[e,t,r]=Ya(e,t,r);return[e,t,r,...0e.map((e,t)=>t<=2?Hr(so(e),0,255):e),u=(e,t=0,r=100,a=!1)=>("string"==typeof e&&e.endsWith("%")&&(e=parseFloat(e.substring(0,e.length-1))/100,e=a?t+.5*(e+1)*(r-t):t+e*(r-t)),+e),co=(e,t)=>"none"===e?t:e,l=e=>{if("transparent"===(e=e.toLowerCase().trim()))return[0,0,0,0];let r;if(i.format.named)try{return i.format.named(e)}catch(e){}if(r=(r=e.match(Xn))||e.match(Zn)){let t=r.slice(1,4);for(let e=0;e<3;e++)t[e]=+u(co(t[e],0),0,255);t=lo(t);var a=void 0!==r[4]?+u(r[4],0,1):1;return t[3]=a,t}if(r=e.match(Qn)){var t=r.slice(1,5);for(let e=0;e<4;e++)t[e]=+u(t[e],0,255);return t}if(r=(r=e.match(eo))||e.match(to))return(a=r.slice(1,4))[0]=+co(a[0].replace("deg",""),0),a[1]=.01*+u(co(a[1],0),0,100),a[2]=.01*+u(co(a[2],0),0,100),a=lo(Ga(a)),n=void 0!==r[4]?+u(r[4],0,1):1,a[3]=n,a;if(r=e.match(ro)){var n=r.slice(1,4),o=(n[1]*=.01,n[2]*=.01,Ga(n));for(let e=0;e<3;e++)o[e]=so(o[e]);return o[3]=+r[4],o}return(r=e.match(ao))?((a=r.slice(1,4))[0]=u(co(a[0],0),0,100),a[1]=u(co(a[1],0),-125,125,!0),a[2]=u(co(a[2],0),-125,125,!0),n=pa(),ua("d50"),a=lo(fa(a)),ua(n),n=void 0!==r[4]?+u(r[4],0,1):1,a[3]=n,a):(r=e.match(no))?((n=r.slice(1,4))[0]=u(n[0],0,100),n[1]=u(co(n[1],0),0,150,!1),n[2]=+co(n[2].replace("deg",""),0),a=pa(),ua("d50"),n=lo(Ia(n)),ua(a),a=void 0!==r[4]?+u(r[4],0,1):1,n[3]=a,n):(r=e.match(oo))?((a=r.slice(1,4))[0]=u(co(a[0],0),0,1),a[1]=u(co(a[1],0),-.4,.4,!0),a[2]=u(co(a[2],0),-.4,.4,!0),n=lo(Ya(a)),a=void 0!==r[4]?+u(r[4],0,1):1,n[3]=a,n):(r=e.match(io))?((a=r.slice(1,4))[0]=u(co(a[0],0),0,1),a[1]=u(co(a[1],0),0,.4,!1),a[2]=+co(a[2].replace("deg",""),0),n=lo(Vn(a)),e=void 0!==r[4]?+u(r[4],0,1):1,n[3]=e,n):void 0},uo=(l.test=e=>Xn.test(e)||eo.test(e)||ao.test(e)||no.test(e)||oo.test(e)||io.test(e)||Zn.test(e)||Qn.test(e)||to.test(e)||ro.test(e)||"transparent"===e,l),po=(g.prototype.css=function(e){return Hn(this._rgb,e)},I.css=(...e)=>new g(...e,"css"),i.format.css=uo,i.autodetect.push({p:5,test:(e,...t)=>{if(!t.length&&"string"===k(e)&&uo.test(e))return"css"}}),i.format.gl=(...e)=>{e=h(e,"rgba");return e[0]*=255,e[1]*=255,e[2]*=255,e},I.gl=(...e)=>new g(...e,"gl"),g.prototype.gl=function(){var e=this._rgb;return[e[0]/255,e[1]/255,e[2]/255,e[3]]},g.prototype.hex=function(e){return sa(this._rgb,e)},(I.hex=(...e)=>new g(...e,"hex"),i.format.hex=oa,i.autodetect.push({p:4,test:(e,...t)=>{if(!t.length&&"string"===k(e)&&0<=[3,4,5,6,7,8,9].indexOf(e.length))return"hex"}}),Math)["log"]),mo=e=>{e/=100;let t,r,a;return a=e<66?(t=255,r=e<6?0:-155.25485562709179-.44596950469579133*(r=e-2)+104.49216199393888*po(r),e<20?0:.8274096064007395*(a=e-10)-254.76935184120902+115.67994401066147*po(a)):(t=351.97690566805693+.114206453784165*(t=e-55)-40.25366309332127*po(t),r=325.4494125711974+.07943456536662342*(r=e-50)-28.0852963507957*po(r),255),[t,r,a,1]},ho=Math["round"],fo=(...e)=>{var e=h(e,"rgb"),t=e[0],r=e[2];let a=1e3,n=4e4;let o;for(;.4=r/t?n=o:a=o}return ho(o)},qn=(g.prototype.temp=g.prototype.kelvin=g.prototype.temperature=function(){return fo(this._rgb)},(...e)=>new g(...e,"temp")),N=(Object.assign(I,{temp:qn,kelvin:qn,temperature:qn}),i.format.temp=i.format.kelvin=i.format.temperature=mo,g.prototype.oklch=function(){return zn(this._rgb)},Object.assign(I,{oklch:(...e)=>new g(...e,"oklch")}),i.format.oklch=Vn,i.autodetect.push({p:2,test:(...e)=>{if("array"===k(e=h(e,"oklch"))&&3===e.length)return"oklch"}}),Object.assign(I,{analyze:wn,average:(e,s="lrgb",l=null)=>{var t=e.length;const r=t/(l=l||Array.from(new Array(t)).map(()=>1)).reduce(function(e,t){return e+t});if(l.forEach((e,t)=>{l[t]*=r}),e=e.map(e=>new g(e)),"lrgb"===s){var a=e,n=l,o=a.length,i=[0,0,0,0];for(let e=0;e{var r,a=e.get(s);i+=e.alpha()*l[t+1];for(let e=0;e{const t=function(e){let a,n,o,i;if(2===(e=e.map(e=>new g(e))).length)[n,o]=e.map(e=>e.lab()),a=function(t){var e=[0,1,2].map(e=>n[e]+t*(o[e]-n[e]));return new g(e,"lab")};else if(3===e.length)[n,o,i]=e.map(e=>e.lab()),a=function(t){var e=[0,1,2].map(e=>(1-t)*(1-t)*n[e]+2*(1-t)*t*o[e]+t*t*i[e]);return new g(e,"lab")};else if(4===e.length){let r;[n,o,i,r]=e.map(e=>e.lab()),a=function(t){var e=[0,1,2].map(e=>(1-t)*(1-t)*(1-t)*n[e]+3*(1-t)*(1-t)*t*o[e]+3*(1-t)*t*t*i[e]+t*t*t*r[e]);return new g(e,"lab")}}else{if(!(5<=e.length))throw new RangeError("No point in running bezier with only one color.");{let t,i,s;t=e.map(e=>e.lab()),s=e.length-1,i=sn(s),a=function(n){const o=1-n;var e=[0,1,2].map(a=>t.reduce((e,t,r)=>e+i[r]*o**(s-r)*n**r*t[a],0));return new g(e,"lab")}}}return a}(e);return t.scale=()=>on(t),t},blend:a,brewer:Ln,Color:g,colors:ra,contrast:(e,t)=>{e=new g(e),t=new g(t);e=e.luminance(),t=t.luminance();return t{e=new g(e),t=new g(t);var e=En(...(e=e.alpha()<1?Ea(t,e,e.alpha(),"rgb"):e).rgb()),t=En(...t.rgb()),e=.022<=e?e:e+Math.pow(.022-e,1.414),t=.022<=t?t:t+Math.pow(.022-t,1.414),r=Math.pow(t,.56)-Math.pow(e,.57),a=Math.pow(t,.65)-Math.pow(e,.62),e=Math.abs(t-e)<5e-4?0:eI.scale(t),t.hue(i),t},deltaE:function(e,t,r=1,a=1,n=1){function o(e){return 360*e/(2*Pn)}function i(e){return 2*Pn*e/360}e=new g(e),t=new g(t);var[e,s,l]=Array.from(e.lab()),[t,c,d]=Array.from(t.lab()),u=(e+t)/2,p=(Cn(b(s,2)+b(l,2))+Cn(b(c,2)+b(d,2)))/2,p=.5*(1-Cn(b(p,7)/(b(p,7)+b(25,7)))),c=c*(1+p),p=Cn(b(s=s*(1+p),2)+b(l,2)),m=Cn(b(c,2)+b(d,2)),h=(p+m)/2,l=o(In(l,s)),s=o(In(d,c)),l=180{let t="#";for(let e=0;e<6;e++)t+="0123456789abcdef".charAt(hn(16*fn()));return new g(t,"hex")},scale:on,scales:dn,valid:(...e)=>{try{return new g(...e),!0}catch(e){return!1}}}),(t,e)=>{t=localStorage.getItem(t);if(!t)return e;try{return JSON.parse(t)}catch(e){return t}}),go=e=>{var t,r,a={section:/^\s*\[\s*([^\]]*)\s*\]\s*$/,param:/^\s*([^=]+?)\s*=\s*(.*?)\s*$/,comment:/^\s*;.*$/},n={};let o=null;for(const i of e.split(/[\r\n]+/))a.comment.test(i)||(a.param.test(i)?i.includes("xrdb")||(t=i.match(a.param),o&&t&&3===t.length&&(r=t[1].trim(),t=t[2].split(";")[0].trim(),n[o]||(n[o]={}),n[o][r]=t)):a.section.test(i)&&(r=i.match(a.section))&&(n[o=r[1]]={}));return n},bo=e=>{var t=document.querySelector("style.marketplaceSnippets"),t=(t&&t.remove(),document.createElement("style")),e=e.reduce((e,t)=>`${e}/* ${t.title} - ${t.description} */ +${t.code} +`,"");t.innerHTML=e,t.classList.add("marketplaceSnippets"),document.body.appendChild(t)},vo=(e,t)=>{let r=[];return e&&0({name:e.name,url:Oo(e.url)})):r.push({name:t,url:"https://github.com/"+t}),r},yo=e=>e?Object.keys(e).map(e=>({key:e,value:e})):[],wo=e=>[{key:"stars",value:e("grid.sort.stars")},{key:"newest",value:e("grid.sort.newest")},{key:"oldest",value:e("grid.sort.oldest")},{key:"lastUpdated",value:e("grid.sort.lastUpdated")},{key:"mostStale",value:e("grid.sort.mostStale")},{key:"a-z",value:e("grid.sort.aToZ")},{key:"z-a",value:e("grid.sort.zToA")}],So=(...e)=>{console.debug("Resetting Marketplace");var t=[];if(0===e.length)for(const r in localStorage)r.startsWith("marketplace:")&&t.push(r);for(const a of e)switch(a){case"extensions":t.push(...N(x.installedExtensions,[])),t.push(x.installedExtensions);break;case"snippets":t.push(...N(x.installedSnippets,[])),t.push(x.installedSnippets);break;case"theme":t.push(...N(x.installedThemes,[])),t.push(x.installedThemes),t.push(x.themeInstalled);break;default:console.error("Unknown category: "+a)}for(const n of t)localStorage.removeItem(n),console.debug("Removed "+n);console.debug("Marketplace has been reset"),location.reload()},Eo=t=>{var r=document.querySelector("style.marketplaceCSS.marketplaceScheme");if(r&&r.remove(),t){r=document.createElement("style");r.classList.add("marketplaceCSS"),r.classList.add("marketplaceScheme");let e=":root {";for(const a of Object.keys(t))e=(e+=`--spice-${a}: #${t[a]};`)+`--spice-rgb-${a}: ${(e=>{e=3===e.length?e.split("").map(e=>e+e).join(""):e;if(6!==e.length)throw"Only 3- or 6-digit hex colours are allowed.";if(e.match(/[^0-9a-f]/i))throw"Only hex colours are allowed.";e=e.match(/.{1,2}/g);if(e&&3===e.length)return[Number.parseInt(e[0],16),Number.parseInt(e[1],16),Number.parseInt(e[2],16)];throw"Could not parse hex colour."})(t[a])};`;e+="}",r.innerHTML=e,document.body.appendChild(r)}},Co=e=>{try{var t,r,a=document.querySelector("link[href='user.css']"),n=(a&&a.remove(),document.querySelector("style.marketplaceCSS.marketplaceUserCSS"));n&&n.remove(),e?((t=document.createElement("style")).classList.add("marketplaceCSS"),t.classList.add("marketplaceUserCSS"),t.innerHTML=e,document.body.appendChild(t)):((r=document.createElement("link")).setAttribute("rel","stylesheet"),r.setAttribute("href","user.css"),r.classList.add("userCSS"),document.body.appendChild(r))}catch(e){console.warn(e)}},ko=async(e,t)=>{if(!e.cssURL)throw new Error("No CSS URL provided");var t=t||await async function(){for(const e of["net","xyz"])try{if("opaqueredirect"===(await fetch("https://cdn.jsdelivr."+e,{redirect:"manual",cache:"no-cache"})).type)return e}catch(e){console.error(e)}}(),t=(e=>{const t=new URL(e);return t.host,t.host==="raw.githubusercontent.com"})(e.cssURL)?`https://cdn.jsdelivr.${t}/gh/${e.user}/${e.repo}@${e.branch}/`+e.manifest.usercss:e.cssURL,r=t.replace("/user.css","/assets/");console.debug("Parsing CSS: ",t);let a=await fetch(t+"?time="+Date.now()).then(e=>e.text());for(const i of a.matchAll(/url\(['|"](?.+?)['|"]\)/gm)||[]){var n,o=i?.groups?.path;!o||o.startsWith("http")||o.startsWith("data")||(n=r+o.replace(/\.\//g,""),a=a.replace(o,n))}return a};function xo(e,t){if(e)for(const n of e){var r=t||n.user+"-"+n.repo,a=window.sessionStorage.getItem(r),a=a?JSON.parse(a):[];a.push(n),window.sessionStorage.setItem(r,JSON.stringify(a))}}async function Io(e,t,r){try{var a={text:e,context:t+"/"+r,mode:"gfm"},n=await fetch("https://api.github.com/markdown",{method:"POST",body:JSON.stringify(a)});if(n.ok)return await n.text();throw Spicetify.showNotification(y("notifications.markdownParsingError",{status:n.status}),!0)}catch(e){return null}}function No(e){var t="snippet"===e.type?"snippet:":`${e.item.user}/${e.item.repo}/`;let r;switch(e.type){case"snippet":r=e.item.title.replaceAll(" ","-");break;case"theme":r=e.item.manifest?.usercss||"";break;case"extension":r=e.item.manifest?.main||"";break;case"app":r=e.item.manifest?.name?.replaceAll(" ","-")||""}return"marketplace:installed:"+t+r}var Oo=e=>{var t=decodeURI(e).trim().toLowerCase();return t.startsWith("javascript:")||t.startsWith("data:")||t.startsWith("vbscript:")?"about:blank":e},Ao=(e,t)=>{e=e.title||e?.manifest?.name||"",t=t.title||t?.manifest?.name||"";return e.localeCompare(t)},To=(e,t)=>{return void 0===e.created||void 0===t.created?0:(e=new Date(e.created),new Date(t.created).getTime()-e.getTime())},Po=(e,t)=>{return void 0===e.lastUpdated||void 0===t.lastUpdated?0:(e=new Date(e.lastUpdated),new Date(t.lastUpdated).getTime()-e.getTime())},Lo=(e,t)=>{switch(t){case"a-z":e.sort((e,t)=>Ao(e,t));break;case"z-a":e.sort((e,t)=>Ao(t,e));break;case"newest":e.sort((e,t)=>To(e,t));break;case"oldest":e.sort((e,t)=>To(t,e));break;case"lastUpdated":e.sort((e,t)=>Po(e,t));break;case"mostStale":e.sort((e,t)=>Po(t,e));break;default:e.sort((e,t)=>t.stars-e.stars)}};async function Do(e,t=1,r=[],a=!1){let n=`https://api.github.com/search/repositories?q=${encodeURIComponent("topic:"+e)}&per_page=100`;t&&(n+="&page="+t);var o=JSON.parse(window.sessionStorage.getItem(e+"-page-"+t)||"null")||await fetch(n).then(e=>e.json()).catch(()=>null);return o?.items?(window.sessionStorage.setItem(e+"-page-"+t,JSON.stringify(o)),{...o,page_count:o.items.length,items:o.items.filter(e=>!r.includes(e.html_url)&&(a||!e.archived))}):(Spicetify.showNotification(y("notifications.tooManyRequests"),!0,5e3),{items:[]})}var Kn=new Blob([` + self.addEventListener('message', async (event) => { + const url = event.data; + const response = await fetch(url); + const data = await response.json().catch(() => null); + self.postMessage(data); + }); +`],{type:"application/javascript"}),Ro=URL.createObjectURL(Kn);async function Mo(e,t,r){var a=e+"-"+t,n=window.sessionStorage.getItem(a),o=JSON.parse(window.sessionStorage.getItem("noManifests")||"[]");if(n)return JSON.parse(n);n=`https://raw.githubusercontent.com/${e}/${t}/${r}/manifest.json`;if(o.includes(n))return null;let i=await async function(e){const a=new Worker(Ro);return new Promise(t=>{const r=e=>{a.terminate(),t(e)};a.postMessage(e),a.addEventListener("message",e=>r(e.data),{once:!0}),a.addEventListener("error",()=>r(null),{once:!0})})}(n);return i?(xo(i=Array.isArray(i)?i:[i],a),i):xo([n],"noManifests")}async function _o(e,a,n,o=!1){try{var t=e.match(/https:\/\/api\.github\.com\/repos\/(?.+)\/(?.+)\/contents/);if(!t||!t.groups)return null;const{user:i,repo:s}=t.groups;return(await Mo(i,s,a)).reduce((e,t)=>{var r;return t?.name&&t.description&&t.main&&(r=t.branch||a,r={manifest:t,title:t.name,subtitle:t.description,authors:vo(t.authors,i),user:i,repo:s,branch:r,imageURL:t.preview?.startsWith("http")?t.preview:`https://raw.githubusercontent.com/${i}/${s}/${r}/`+t.preview,extensionURL:t.main.startsWith("http")?t.main:`https://raw.githubusercontent.com/${i}/${s}/${r}/`+t.main,readmeURL:t.readme?.startsWith("http")?t.readme:`https://raw.githubusercontent.com/${i}/${s}/${r}/`+t.readme,stars:n,tags:t.tags},o&&localStorage.getItem(`marketplace:installed:${i}/${s}/`+t.main)||e.push(r)),e},[])}catch{return null}}async function jo(e,a,n){try{var t=e.match(/https:\/\/api\.github\.com\/repos\/(?.+)\/(?.+)\/contents/);if(!t||!t.groups)return null;const{user:o,repo:i}=t.groups;return(await Mo(o,i,a)).reduce((e,t)=>{var r;return t?.name&&t?.usercss&&t?.description&&(r=t.branch||a,r={manifest:t,title:t.name,subtitle:t.description,authors:vo(t.authors,o),user:o,repo:i,branch:r,imageURL:t.preview?.startsWith("http")?t.preview:`https://raw.githubusercontent.com/${o}/${i}/${r}/`+t.preview,readmeURL:t.readme?.startsWith("http")?t.readme:`https://raw.githubusercontent.com/${o}/${i}/${r}/`+t.readme,stars:n,tags:t.tags,cssURL:t.usercss.startsWith("http")?t.usercss:`https://raw.githubusercontent.com/${o}/${i}/${r}/`+t.usercss,schemesURL:t.schemes?t.schemes.startsWith("http")?t.schemes:`https://raw.githubusercontent.com/${o}/${i}/${r}/`+t.schemes:null,include:t.include},e.push(r)),e},[])}catch{return null}}async function Bo(e,a,n){try{var t=e.match(/https:\/\/api\.github\.com\/repos\/(?.+)\/(?.+)\/contents/);if(!t||!t.groups)return null;const{user:o,repo:i}=t.groups;return(await Mo(o,i,a)).reduce((e,t)=>{var r;return t?.name&&t.description&&!t.main&&!t.usercss&&(r=t.branch||a,r={manifest:t,title:t.name,subtitle:t.description,authors:vo(t.authors,o),user:o,repo:i,branch:r,imageURL:t.preview?.startsWith("http")?t.preview:`https://raw.githubusercontent.com/${o}/${i}/${r}/`+t.preview,readmeURL:t.readme?.startsWith("http")?t.readme:`https://raw.githubusercontent.com/${o}/${i}/${r}/`+t.readme,stars:n,tags:t.tags},e.push(r)),e},[])}catch{return null}}var $o=async()=>{return(await fetch("https://raw.githubusercontent.com/spicetify/marketplace/main/resources/blacklist.json").then(e=>e.json()).catch(()=>({}))).repos},Fo=async(r=!1)=>{var e=await fetch("https://raw.githubusercontent.com/spicetify/marketplace/main/resources/snippets.json").then(e=>e.json()).catch(()=>[]);return e.length?e.reduce((e,t)=>{t={...t};return t.preview&&(t.imageURL=t.preview.startsWith("http")?t.preview:"https://raw.githubusercontent.com/spicetify/spicetify-marketplace/main/"+t.preview,t.preview=void 0),r&&localStorage.getItem("marketplace:installed:snippet:"+t.title.replaceAll(" ","-"))||e.push(t),e},[]):[]},zo=t(r()),Uo=t(z()),Go=t(r()),Ho=t(U()),Vo=(Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},Prism.languages.webmanifest=Prism.languages.json,t(r())),qo="button-module__button___hf2qg_marketplace",Wo="button-module__circle___EZ88P_marketplace",Ko=e=>{var t=e.type||"round",r=[qo];return"circle"===t&&r.push(Wo),e.classes&&r.push(...e.classes),Vo.default.createElement("button",{className:r.join(" "),onClick:e.onClick,"aria-label":e.label||"",disabled:e.disabled},e.children)},Jo=()=>{const[e,t]=Go.default.useState("");const r=t=>{if(t){let e;try{e=JSON.parse(t)}catch(e){return void Spicetify.showNotification(y("backupModal.invalidJSON"))}var r=e;console.debug("Importing Marketplace"),So();for(const a in r)localStorage.setItem(a,r[a]),console.debug("Imported "+a);location.reload()}else Spicetify.showNotification(y("backupModal.noDataPasted"))};return Go.default.createElement("div",{id:"marketplace-backup-container"},Go.default.createElement("div",{className:"marketplace-backup-input-container"},Go.default.createElement("label",{htmlFor:"marketplace-backup"},y("backupModal.inputLabel")),Go.default.createElement("div",{className:"marketplace-code-editor-wrapper marketplace-code-editor"},Go.default.createElement(Ho.default,{value:e,onValueChange:e=>t(e),highlight:e=>(0,Uo.highlight)(e,Uo.languages.css),textareaId:"marketplace-import-text",textareaClassName:"import-textarea",readOnly:!1,className:"marketplace-code-editor-textarea",placeholder:y("backupModal.inputPlaceholder"),style:{}}))),Go.default.createElement(Go.default.Fragment,null,Go.default.createElement(Ko,{classes:["marketplace-backup-button"],onClick:()=>{var e=(()=>{var e={};for(const t in localStorage)t.startsWith("marketplace:")&&(e[t]=localStorage.getItem(t));return e})();Spicetify.Platform.ClipboardAPI.copy(JSON.stringify(e)),Spicetify.showNotification(y("backupModal.settingsCopied")),Spicetify.PopupModal.hide()}},y("backupModal.exportBtn")),Go.default.createElement(Ko,{classes:["marketplace-backup-button"],onClick:()=>{r(e)}},y("backupModal.importBtn")),Go.default.createElement(Ko,{classes:["marketplace-backup-button"],onClick:async()=>{var e=await(await(await window.showOpenFilePicker())[0].getFile()).text();r(e)}},y("backupModal.fileImportBtn"))))},Yo=t(r()),Xo=()=>Yo.default.createElement("div",{id:"marketplace-reload-container"},Yo.default.createElement("p",null,y("reloadModal.description")),Yo.default.createElement("div",{className:"marketplace-reload-modal__button-container"},Yo.default.createElement(Ko,{onClick:()=>{Spicetify.PopupModal.hide(),location.reload()}},y("reloadModal.reloadNow")),Yo.default.createElement(Ko,{onClick:()=>{Spicetify.PopupModal.hide()}},y("reloadModal.reloadLater")))),p=t(r()),Zo=t(r()),Qo=t(r()),ei=()=>Qo.default.createElement("svg",{height:"16",width:"16",className:"Svg-sc-ytk21e-0 uPxdw nW1RKQOkzcJcX6aDCZB4",viewBox:"0 0 16 16",role:"img","aria-label":"Tooltip Icon"},Qo.default.createElement("path",{d:"M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM0 8a8 8 0 1116 0A8 8 0 010 8z"}),Qo.default.createElement("path",{d:"M7.25 12.026v-1.5h1.5v1.5h-1.5zm.884-7.096A1.125 1.125 0 007.06 6.39l-1.431.448a2.625 2.625 0 115.13-.784c0 .54-.156 1.015-.503 1.488-.3.408-.7.652-.973.818l-.112.068c-.185.116-.26.203-.302.283-.046.087-.097.245-.097.57h-1.5c0-.47.072-.898.274-1.277.206-.385.507-.645.827-.846l.147-.092c.285-.177.413-.257.526-.41.169-.23.213-.397.213-.602 0-.622-.503-1.125-1.125-1.125z"})),ti=t(r()),ri=t(Be()),ai=t=>{var e=t.sortBoxOptions.map(e=>({value:e.key,label:e.value})),r=t.sortBoxOptions.find(t.sortBySelectedFn);return ti.default.createElement("div",{className:"marketplace-sortBox"},ti.default.createElement("div",{className:"marketplace-sortBox-header"},ti.default.createElement("div",{className:"marketplace-sortBox-header-title"}),ti.default.createElement(ri.default,{placeholder:"Select an option",options:e,value:r?.key,onChange:e=>{t.onChange(e.value)}})))},ni=t(r()),oi="toggle-module__toggle-wrapper___ocE5z_marketplace",ii="toggle-module__disabled___OYAYf_marketplace",si="toggle-module__toggle-input___ceLM4_marketplace",li="toggle-module__toggle-indicator-wrapper___6Lcp0_marketplace",ci="toggle-module__toggle-indicator___nCxwE_marketplace",di=e=>{var t="toggle:"+e.storageKey,r=[oi];return!1===e.clickable&&r.push(ii),ni.default.createElement("label",{className:r.join(" ")},ni.default.createElement("input",{className:si,type:"checkbox",checked:e.enabled,"data-storage-key":e.storageKey,id:t,title:"Toggle for "+e.storageKey,onChange:e.onChange}),ni.default.createElement("span",{className:li},ni.default.createElement("span",{className:ci})))},ui=window.Spicetify,pi=r=>{var e=r.type,t="dropdown"===e?"dropdown:"+r.storageKey:"toggle:"+r.storageKey,a=!!r.modalConfig.visual[r.storageKey];return void 0!==r.description&&null!==r.description||(r.description=""),"dropdown"===e&&r.options?Zo.default.createElement("div",{className:"settings-row"},Zo.default.createElement("label",{htmlFor:t,className:"col description"},r.name),Zo.default.createElement("div",{className:"col action"},Zo.default.createElement(ai,{sortBoxOptions:r.options.map(e=>({key:e,value:e})),onChange:e=>{return e=e,t=r.storageKey,r.modalConfig.visual[t]=e,localStorage.setItem("marketplace:"+t,String(e)),void r.updateConfig(r.modalConfig);var t},sortBySelectedFn:e=>e.key===r.modalConfig.visual[r.storageKey]}),Zo.default.createElement(ui.ReactComponent.TooltipWrapper,{label:r.description.split("\n").map(e=>Zo.default.createElement("span",{key:e},e,Zo.default.createElement("br",null))),renderInline:!0,showDelay:10,placement:"top",labelClassName:"marketplace-settings-tooltip",disabled:!1},Zo.default.createElement("div",{className:"marketplace-tooltip-icon"},Zo.default.createElement(ei,null))))):Zo.default.createElement("div",{className:"settings-row"},Zo.default.createElement("label",{htmlFor:t,className:"col description"},r.name),Zo.default.createElement("div",{className:"col action"},Zo.default.createElement(di,{name:r.name,storageKey:r.storageKey,enabled:a,onChange:e=>{var t=e.target.checked,e=e.target.dataset.storageKey;r.modalConfig.visual[e]=t,console.debug(`toggling ${e} to `+t),localStorage.setItem("marketplace:"+e,String(t)),r.updateConfig(r.modalConfig)}})))},mi=t(r()),W=t(r());function hi(e,t){return(hi=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function fi(e,t){e.prototype=Object.create(t.prototype),hi(e.prototype.constructor=e,t)}function _(){return(_=Object.assign?Object.assign.bind():function(e){for(var t=1;t. You may also pass a {context : MyContext} option to connect");var I=r;return function(w){var S,E,C,r,e;if((0,zi.isValidElementType)(w))return e=w.displayName||w.name||"Component",S=a(e),E=Bi({},l,{getDisplayName:a,methodName:n,renderCountProp:o,shouldHandleStateChanges:x,storeKey:i,displayName:S,wrappedComponentName:e,WrappedComponent:w}),e=l.pure,C=e?O.useMemo:function(e){return e()},(r=e?O.default.memo(t):t).WrappedComponent=w,r.displayName=t.displayName=S,s?((e=O.default.forwardRef(function(e,t){return O.default.createElement(r,Bi({},e,{reactReduxForwardedRef:t}))})).displayName=S,e.WrappedComponent=w,(0,Fi.default)(e,w)):(0,Fi.default)(r,w);throw new Error("You must pass a component to the function returned by "+n+". Instead received "+qi(w));function t(r){var e=(0,O.useMemo)(function(){var e=r.reactReduxForwardedRef,t=$i(r,Gi);return[r.context,e,t]},[r]),t=e[0],a=e[1],n=e[2],o=(0,O.useMemo)(function(){return t&&t.Consumer&&(0,zi.isContextConsumer)(O.default.createElement(t.Consumer,null))?t:I},[t,I]),i=(0,O.useContext)(o),s=Boolean(r.store)&&Boolean(r.store.getState)&&Boolean(r.store.dispatch),e=Boolean(i)&&Boolean(i.store);if(!s&&!e)throw new Error('Could not find "store" in the context of "'+S+'". Either wrap the root component in a , or pass a custom React context provider to and the corresponding React context consumer to '+S+" in connect options.");var l=(s?r:i).store,c=(0,O.useMemo)(function(){return k(l.dispatch,E)},[l]),e=(0,O.useMemo)(function(){var e,t;return x?(t=(e=Ri(l,s?null:i.subscription)).notifyNestedSubs.bind(e),[e,t]):Vi},[l,s,i]),d=e[0],e=e[1],u=(0,O.useMemo)(function(){return s?i:Bi({},i,{subscription:d})},[s,i,d]),p=(0,O.useReducer)(Wi,Hi,Xi),m=p[0][0],p=p[1];if(m&&m.error)throw m.error;var h=(0,O.useRef)(),f=(0,O.useRef)(n),g=(0,O.useRef)(),b=(0,O.useRef)(!1),v=C(function(){return g.current&&n===f.current?g.current:c(l.getState(),n)},[l,m,n]),y=(Ki(Ji,[f,h,b,n,v,g,e]),Ki(Yi,[x,l,d,c,f,h,b,g,e,p],[l,d,c]),(0,O.useMemo)(function(){return O.default.createElement(w,Bi({},v,{ref:a}))},[a,w,v]));return(0,O.useMemo)(function(){return x?O.default.createElement(o.Provider,{value:u},y):y},[o,y,u])}}}function Qi(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!=e&&t!=t}function es(e,t){if(!Qi(e,t)){if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var r=Object.keys(e),a=Object.keys(t);if(r.length!==a.length)return!1;for(var n=0;n")},r.setCallbacks=function(e){r.callbacks=e},r}function Qs(e,t){var r=e.droppableId===t.droppableId,a=ml(e.index),n=ml(t.index);return r?"\n You have moved the item from position "+a+"\n to position "+n+"\n ":"\n You have moved the item from position "+a+"\n in list "+e.droppableId+"\n to list "+t.droppableId+"\n in position "+n+"\n "}function el(e,t,r){return t.droppableId===r.droppableId?"\n The item "+e+"\n has been combined with "+r.draggableId:"\n The item "+e+"\n in list "+t.droppableId+"\n has been combined with "+r.draggableId+"\n in list "+r.droppableId+"\n "}function tl(e){return"\n The item has returned to its starting position\n of "+ml(e.index)+"\n"}function m(e,t){return{x:e.x+t.x,y:e.y+t.y}}function rl(e,t){return{x:e.x-t.x,y:e.y-t.y}}function al(e,t){return e.x===t.x&&e.y===t.y}function nl(e,t,r){var a;return void 0===r&&(r=0),(a={})[e]=t,a["x"===e?"y":"x"]=r,a}function ol(e,t){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))}function il(t,e){return Math.min.apply(Math,e.map(function(e){return ol(t,e)}))}function sl(t){return function(e){return{x:t(e.x),y:t(e.y)}}}function ll(e,t){return{top:e.top+t.y,left:e.left+t.x,bottom:e.bottom+t.y,right:e.right+t.x}}function cl(e){return[{x:e.left,y:e.top},{x:e.right,y:e.top},{x:e.left,y:e.bottom},{x:e.right,y:e.bottom}]}function dl(e,t){var r;return t&&t.shouldClipSubject?(t=t.pageMarginBox,r=e,(r=As({top:Math.max(r.top,t.top),right:Math.min(r.right,t.right),bottom:Math.min(r.bottom,t.bottom),left:Math.max(r.left,t.left)})).width<=0||r.height<=0?null:r):As(e)}function ul(e){var t,r,a=e.page,n=e.withPlaceholder,o=e.axis,e=e.frame,i=(t=a.marginBox,(i=e)?ll(t,i.scroll.diff.displacement):t),o=(t=i,i=o,(o=n)&&o.increasedBy?_({},t,((r={})[i.end]=t[i.end]+o.increasedBy[i.line],r)):t);return{page:a,withPlaceholder:n,active:dl(o,e)}}function pl(e,t){e.frame||Z(!1);var r=e.frame,a=rl(t,r.scroll.initial),n=fl(a),t=_({},r,{scroll:{initial:r.scroll.initial,current:t,diff:{value:a,displacement:n},max:r.scroll.max}});return _({},e,{frame:t,subject:ul({page:e.subject.page,withPlaceholder:e.subject.withPlaceholder,axis:e.axis,frame:t})})}var ml=function(e){return e+1},hl={dragHandleUsageInstructions:"\n Press space bar to start a drag.\n When dragging you can use the arrow keys to move the item around and escape to cancel.\n Some screen readers may require you to be in focus mode or to use your pass through key\n",onDragStart:function(e){return"\n You have lifted an item in position "+ml(e.source.index)+"\n"},onDragUpdate:function(e){var t=e.destination;return t?Qs(e.source,t):(t=e.combine)?el(e.draggableId,e.source,t):"You are over an area that cannot be dropped on"},onDragEnd:function(e){var t,r;return"CANCEL"===e.reason?"\n Movement cancelled.\n "+tl(e.source)+"\n ":(t=e.destination,r=e.combine,t?"\n You have dropped the item.\n "+Qs(e.source,t)+"\n ":r?"\n You have dropped the item.\n "+el(e.draggableId,e.source,r)+"\n ":"\n The item has been dropped while not over a drop area.\n "+tl(e.source)+"\n ")}},Q={x:0,y:0},fl=function(e){return{x:0!==e.x?-e.x:0,y:0!==e.y?-e.y:0}};function gl(t){return Object.values?Object.values(t):Object.keys(t).map(function(e){return t[e]})}function bl(e,t){if(e.findIndex)return e.findIndex(t);for(var r=0;rn.bottom,e=e.leftn.right,a&&e)||a&&r||e&&t}},jl={direction:"vertical",line:"y",crossAxisLine:"x",start:"top",end:"bottom",size:"height",crossAxisStart:"left",crossAxisEnd:"right",crossAxisSize:"width"},Bl={direction:"horizontal",line:"x",crossAxisLine:"y",start:"left",end:"right",size:"width",crossAxisStart:"top",crossAxisEnd:"bottom",crossAxisSize:"height"},$l=function(e){var t,r=e.target,a=e.destination,n=e.viewport,o=e.withDroppableDisplacement,e=e.isVisibleThroughFrameFn,o=o?function(e,t){t=t.frame?t.frame.scroll.diff.displacement:Q;return ll(e,t)}(r,a):r;return r=o,t=e,!!(a=a).subject.active&&t(a.subject.active)(r)&&(t=o,e(n)(t))};function Fl(e){var t=e.afterDragging,i=e.destination,s=e.displacedBy,l=e.viewport,c=e.forceShouldAnimate,d=e.last;return t.reduce(function(e,t){o=s,n=(n=t).page.marginBox,o={top:s.point.y,right:0,bottom:0,left:s.point.x};var r,a,n=As(ks(n,o)),o=t.descriptor.id;return e.all.push(o),$l(_({},{target:n,destination:i,viewport:l,withDroppableDisplacement:!0},{isVisibleThroughFrameFn:_l}))?(r=(n=o,r=d,"boolean"==typeof(a=c)?a:!r||(a=r.invisible,r=r.visible,!a[n]&&(!(a=r[n])||a.shouldAnimate))),e.visible[o]={draggableId:o,shouldAnimate:r}):e.invisible[t.descriptor.id]=!0,e},{all:[],visible:{},invisible:{}})}function zl(e){var t=e.insideDestination,r=e.inHomeList,a=e.displacedBy,e=e.destination,r=(r={inHomeList:r},(t=t).length?(t=t[t.length-1].descriptor.index,r.inHomeList?t:t+1):0);return{displaced:Rl,displacedBy:a,at:{type:"REORDER",destination:{droppableId:e.descriptor.id,index:r}}}}function Ul(e){var t,r=e.draggable,a=e.insideDestination,n=e.destination,o=e.viewport,i=e.displacedBy,s=e.last,l=e.index,e=e.forceShouldAnimate,c=Nl(r,n);return null!=l&&(t=vl(a,function(e){return e.descriptor.index===l}))?(r=Ll(r,a),t=a.indexOf(t),{displaced:Fl({afterDragging:r.slice(t),destination:n,displacedBy:i,last:s,viewport:o.frame,forceShouldAnimate:e}),displacedBy:i,at:{type:"REORDER",destination:{droppableId:n.descriptor.id,index:l}}}):zl({insideDestination:a,inHomeList:c,displacedBy:i,destination:n})}function Gl(e,t){return Boolean(t.effected[e])}function Hl(e){var t,r,a,n,o=e.isMovingForward,i=e.isInHomeList,s=e.draggable,l=e.draggables,c=e.destination,d=e.insideDestination,u=e.previousImpact,p=e.viewport,e=e.afterCritical,m=u.at;return m||Z(!1,"Cannot move in direction without previous impact location"),"REORDER"===m.type?(i={isMovingForward:o,isInHomeList:i,location:m.destination,insideDestination:d},n=i.isMovingForward,r=i.isInHomeList,a=i.insideDestination,i=i.location,null==(i=!a.length||(i=i.index,t=a[0].descriptor.index,a=a[a.length-1].descriptor.index,(n=n?i+1:i-1)t.left&&a.topt.top&&(!!fc(n)(o.center)||(a=e.axis,t=n.center[a.crossAxisLine],e=o[a.crossAxisStart],r=o[a.crossAxisEnd],a=(n=Ol(n[a.crossAxisStart],n[a.crossAxisEnd]))(e),n=n(r),!a&&!n)||(a?ee[c.start]+r&&pe[c.start]-d+r&&ue[c.start]+d+r&&pe[c.start]+r&&uv.descriptor.index?w.descriptor.index-1:w.descriptor.index:null,Ul({draggable:b,insideDestination:h,destination:r,viewport:y,last:a,displacedBy:t,index:f}))):Ml}function wc(e,t){return _({},e,((e={})[t.descriptor.id]=t,e))}function Sc(e){var t,r=e.previousImpact,a=e.impact,e=e.droppables,r=mc(r),a=mc(a);return r&&r!==a&&(a=e[r]).subject.withPlaceholder?((a=(r=a).subject.withPlaceholder)||Z(!1,"Cannot remove placeholder form subject when there was none"),a=(t=r.frame)?((a=a.oldFrameMaxScroll)||Z(!1,"Expected droppable with frame to have old max frame scroll when removing placeholder"),t=lc(t,a),_({},r,{subject:ul({page:r.subject.page,axis:r.axis,frame:t,withPlaceholder:null}),frame:t})):_({},r,{subject:ul({page:r.subject.page,axis:r.axis,frame:null,withPlaceholder:null})}),wc(e,a)):e}function Ec(e){var t,r,a,n,o=e.state,i=e.clientSelection,s=e.dimensions,l=e.viewport,c=e.impact,e=e.scrollJumpRequest,l=l||o.viewport,s=s||o.dimensions,i=i||o.current.client.selection,i={offset:d=rl(i,o.initial.client.selection),selection:i,borderBoxCenter:m(o.initial.client.borderBoxCenter,d)},d={selection:m(i.selection,l.scroll.current),borderBoxCenter:m(i.borderBoxCenter,l.scroll.current),offset:m(i.offset,l.scroll.diff.value)},i={client:i,page:d};return"COLLECTING"===o.phase?_({phase:"COLLECTING"},o,{dimensions:s,viewport:l,current:i}):(t=s.draggables[o.critical.draggable.id],c=c||yc({pageOffset:d.offset,draggable:t,draggables:s.draggables,droppables:s.droppables,previousImpact:o.impact,viewport:l,afterCritical:o.afterCritical}),d={draggable:t,impact:c,previousImpact:o.impact,draggables:s.draggables,droppables:s.droppables},t=d.draggable,r=d.draggables,a=d.droppables,n=d.previousImpact,d=d.impact,n=Sc({previousImpact:n,impact:d,droppables:a}),a=!(d=mc(d))||(a=a[d],Nl(t,a))||a.subject.withPlaceholder?n:(d=cc(a,t,r),wc(n,d)),_({},o,{current:i,dimensions:{draggables:s.draggables,droppables:a},impact:c,viewport:l,scrollJumpRequest:e||null,forceShouldAnimate:!e&&null}))}function Cc(e){var t,r,a=e.impact,n=e.viewport,o=e.draggables,i=e.destination,e=e.forceShouldAnimate,s=a.displaced;return t=s.all,r=o,_({},a,{displaced:Fl({afterDragging:t.map(function(e){return r[e]}),destination:i,displacedBy:a.displacedBy,viewport:n.frame,forceShouldAnimate:e,last:s})})}function kc(e){var t=e.impact,r=e.draggable,a=e.droppable,n=e.draggables,o=e.viewport,e=e.afterCritical,t=Zl({impact:t,draggable:r,draggables:n,droppable:a,afterCritical:e});return rc({pageBorderBoxCenter:t,draggable:r,viewport:o})}function xc(e){var t=e.state,r=e.dimensions,e=e.viewport,a=("SNAP"!==t.movementMode&&Z(!1),t.impact),e=e||t.viewport,n=(r=r||t.dimensions).draggables,o=r.droppables,i=n[t.critical.draggable.id],o=((s=mc(a))||Z(!1,"Must be over a destination in SNAP movement mode"),o[s]),s=Cc({impact:a,viewport:e,destination:o,draggables:n}),a=kc({impact:s,draggable:i,droppable:o,draggables:n,viewport:e,afterCritical:t.afterCritical});return Ec({impact:s,clientSelection:a,state:t,dimensions:r,viewport:e})}function Ic(e){var t=e.draggable,r=e.home,a=e.draggables,e=e.viewport,n=pc(r.axis,t.displaceBy),a=kl(r.descriptor.id,a);-1===(o=a.indexOf(t))&&Z(!1,"Expected draggable to be inside home list");var o=(a=a.slice(o+1)).reduce(function(e,t){return e[t.descriptor.id]=!0,e},{}),o={inVirtualList:"virtual"===r.descriptor.mode,displacedBy:n,effected:o};return{impact:{displaced:Fl({afterDragging:a,destination:r,displacedBy:n,last:null,viewport:e.frame,forceShouldAnimate:!1}),displacedBy:n,at:{type:"REORDER",destination:{index:(a=t.descriptor).index,droppableId:a.droppableId}}},afterCritical:o}}function Nc(e){var t=e.additions,a=e.updatedDroppables,n=e.viewport,o=n.scroll.diff.value;return t.map(function(e){var t,r=e.descriptor.droppableId,r=function(e){e=e.frame;return e||Z(!1,"Expected Droppable to have a frame"),e}(a[r]).scroll.diff.value,r=m(o,r);return e={draggable:e,offset:r,initialWindowScroll:n.scroll.initial},r=e.draggable,t=e.offset,e=e.initialWindowScroll,t=Rs(r.client,t),e=Is(t,e),_({},r,{placeholder:_({},r.placeholder,{client:t}),client:t,page:e})})}function Oc(e){return"SNAP"===e.movementMode}function Ac(e,t,r){var a={draggables:(a=e.dimensions).draggables,droppables:wc(a.droppables,t)};return(!Oc(e)||r?Ec:xc)({state:e,dimensions:a})}function Tc(e){return e.isDragging&&"SNAP"===e.movementMode?_({phase:"DRAGGING"},e,{scrollJumpRequest:null}):e}function Pc(e){return{type:"PUBLISH_WHILE_DRAGGING",payload:e}}function Lc(){return{type:"COLLECTION_STARTING",payload:null}}function Dc(e){return{type:"UPDATE_DROPPABLE_SCROLL",payload:e}}function Rc(e){return{type:"UPDATE_DROPPABLE_IS_ENABLED",payload:e}}function Mc(e){return{type:"UPDATE_DROPPABLE_IS_COMBINE_ENABLED",payload:e}}function _c(e){return{type:"MOVE",payload:e}}function jc(){return{type:"MOVE_UP",payload:null}}function Bc(){return{type:"MOVE_DOWN",payload:null}}function $c(){return{type:"MOVE_RIGHT",payload:null}}function Fc(){return{type:"MOVE_LEFT",payload:null}}function zc(){return{type:"FLUSH",payload:null}}function Uc(e){return{type:"DROP_COMPLETE",payload:e}}function Gc(e){return{type:"DROP",payload:e}}function Hc(){return{type:"DROP_ANIMATION_FINISHED",payload:null}}var Vc={phase:"IDLE",completed:null,shouldFlush:!1},qc=function(e,t){if(void 0===e&&(e=Vc),"FLUSH"===t.type)return _({},Vc,{shouldFlush:!0});var r,a,n,o,i,s;if("INITIAL_PUBLISH"===t.type)return"IDLE"!==e.phase&&Z(!1,"INITIAL_PUBLISH must come after a IDLE phase"),c=(r=t.payload).critical,l=r.clientSelection,d=r.viewport,s=r.dimensions,r=r.movementMode,n=s.draggables[c.draggable.id],o=s.droppables[c.droppable.id],{phase:"DRAGGING",isDragging:!0,critical:c,movementMode:r,dimensions:s,initial:r={client:c={selection:l,borderBoxCenter:n.client.borderBox.center,offset:Q},page:{selection:m(c.selection,d.scroll.initial),borderBoxCenter:m(c.selection,d.scroll.initial),offset:m(c.selection,d.scroll.diff.value)}},current:r,isWindowScrollAllowed:El(s.droppables).every(function(e){return!e.isFixedOnPage}),impact:c=(l=Ic({draggable:n,home:o,draggables:s.draggables,viewport:d})).impact,afterCritical:l.afterCritical,onLiftImpact:c,viewport:d,scrollJumpRequest:null,forceShouldAnimate:null};if("COLLECTION_STARTING"===t.type)return"COLLECTING"===e.phase||"DROP_PENDING"===e.phase?e:("DRAGGING"!==e.phase&&Z(!1,"Collection cannot start from phase "+e.phase),_({phase:"COLLECTING"},e,{phase:"COLLECTING"}));if("PUBLISH_WHILE_DRAGGING"===t.type)return"COLLECTING"!==e.phase&&"DROP_PENDING"!==e.phase&&Z(!1,"Unexpected "+t.type+" received in phase "+e.phase),r={state:e,published:t.payload},a=r.state,r=r.published,n=r.modified.map(function(e){var t=a.dimensions.droppables[e.droppableId];return pl(t,e.scroll)}),n=_({},a.dimensions.droppables,{},wl(n)),o=Sl(Nc({additions:r.additions,updatedDroppables:n,viewport:a.viewport})),i=_({},a.dimensions.draggables,{},o),r.removals.forEach(function(e){delete i[e]}),o={droppables:n,draggables:i},r=mc(a.impact),n=r?o.droppables[r]:null,r=o.draggables[a.critical.draggable.id],s=o.droppables[a.critical.droppable.id],r=Ic({draggable:r,home:s,draggables:i,viewport:a.viewport}),s=r.impact,r=r.afterCritical,n=n&&n.isCombineEnabled?a.impact:s,n=yc({pageOffset:a.current.page.offset,draggable:o.draggables[a.critical.draggable.id],draggables:o.draggables,droppables:o.droppables,previousImpact:n,viewport:a.viewport,afterCritical:r}),n=_({phase:"DRAGGING"},a,{phase:"DRAGGING",impact:n,onLiftImpact:s,dimensions:o,afterCritical:r,forceShouldAnimate:!1}),"COLLECTING"===a.phase?n:_({phase:"DROP_PENDING"},n,{phase:"DROP_PENDING",reason:a.reason,isWaiting:!1});if("MOVE"===t.type){if("DROP_PENDING"===e.phase)return e;hc(e)||Z(!1,t.type+" not permitted in phase "+e.phase);var l=t.payload.client;return al(l,e.current.client.selection)?e:Ec({state:e,clientSelection:l,impact:Oc(e)?e.impact:null})}if("UPDATE_DROPPABLE_SCROLL"===t.type){if("DROP_PENDING"===e.phase)return Tc(e);if("COLLECTING"===e.phase)return Tc(e);hc(e)||Z(!1,t.type+" not permitted in phase "+e.phase);var c=t.payload,d=c.id,l=c.newScroll,c=e.dimensions.droppables[d];return c?(d=pl(c,l),Ac(e,d,!1)):e}if("UPDATE_DROPPABLE_IS_ENABLED"===t.type){if("DROP_PENDING"===e.phase)return e;hc(e)||Z(!1,"Attempting to move in an unsupported phase "+e.phase);var c=t.payload,l=c.id,d=c.isEnabled,c=e.dimensions.droppables[l],l=(c||Z(!1,"Cannot find Droppable[id: "+l+"] to toggle its enabled state"),c.isEnabled===d&&Z(!1,"Trying to set droppable isEnabled to "+String(d)+"\n but it is already "+String(c.isEnabled)),_({},c,{isEnabled:d}));return Ac(e,l,!0)}if("UPDATE_DROPPABLE_IS_COMBINE_ENABLED"===t.type){if("DROP_PENDING"===e.phase)return e;hc(e)||Z(!1,"Attempting to move in an unsupported phase "+e.phase);var c=t.payload,d=c.id,l=c.isCombineEnabled,c=e.dimensions.droppables[d],d=(c||Z(!1,"Cannot find Droppable[id: "+d+"] to toggle its isCombineEnabled state"),c.isCombineEnabled===l&&Z(!1,"Trying to set droppable isCombineEnabled to "+String(l)+"\n but it is already "+String(c.isCombineEnabled)),_({},c,{isCombineEnabled:l}));return Ac(e,d,!0)}if("MOVE_BY_WINDOW_SCROLL"===t.type){if("DROP_PENDING"===e.phase||"DROP_ANIMATING"===e.phase)return e;hc(e)||Z(!1,"Cannot move by window in phase "+e.phase),e.isWindowScrollAllowed||Z(!1,"Window scrolling is currently not supported for fixed lists");c=t.payload.newScroll;return al(e.viewport.scroll.current,c)?Tc(e):(l=Ql(e.viewport,c),(Oc(e)?xc:Ec)({state:e,viewport:l}))}if("UPDATE_VIEWPORT_MAX_SCROLL"===t.type)return!hc(e)||(d=t.payload.maxScroll,al(d,e.viewport.scroll.max))?e:(c=_({},e.viewport,{scroll:_({},e.viewport.scroll,{max:d})}),_({phase:"DRAGGING"},e,{viewport:c}));if("MOVE_UP"!==t.type&&"MOVE_DOWN"!==t.type&&"MOVE_LEFT"!==t.type&&"MOVE_RIGHT"!==t.type)return"DROP_PENDING"===t.type?(l=t.payload.reason,"COLLECTING"!==e.phase&&Z(!1,"Can only move into the DROP_PENDING phase from the COLLECTING phase"),_({phase:"DROP_PENDING"},e,{phase:"DROP_PENDING",isWaiting:!0,reason:l})):"DROP_ANIMATE"===t.type?(c=(d=t.payload).completed,l=d.dropDuration,d=d.newHomeClientOffset,"DRAGGING"!==e.phase&&"DROP_PENDING"!==e.phase&&Z(!1,"Cannot animate drop from phase "+e.phase),{phase:"DROP_ANIMATING",completed:c,dropDuration:l,newHomeClientOffset:d,dimensions:e.dimensions}):"DROP_COMPLETE"===t.type?{phase:"IDLE",completed:t.payload.completed,shouldFlush:!1}:e;if("COLLECTING"===e.phase||"DROP_PENDING"===e.phase)return e;"DRAGGING"!==e.phase&&Z(!1,t.type+" received while not in DRAGGING phase");c=uc({state:e,type:t.type});return c?Ec({state:e,impact:c.impact,clientSelection:c.clientSelection,scrollJumpRequest:c.scrollJumpRequest}):e};function Wc(e,t){e=kl(e.droppable.id,t.draggables);if(!(e.length<=1)){for(var r=e.map(function(e){return e.descriptor.index}),a={},n=1;n indexes.\n\n (This can cause unexpected bugs)\n\n "+e+"\n "))}}function Kc(e){return al(e,Q)?null:"translate("+e.x+"px, "+e.y+"px)"}function Jc(){return{x:window.pageXOffset,y:window.pageYOffset}}var Yc=function(l){return function(e){var i=e.getState,s=e.dispatch;return function(o){return function(e){var t,r,a,n;"LIFT"!==e.type?o(e):(e=e.payload,r=e.id,t=e.clientSelection,e=e.movementMode,"DROP_ANIMATING"===(n=i()).phase&&s(Uc({completed:n.completed})),"IDLE"!==i().phase&&Z(!1,"Unexpected phase to start a drag"),s(zc()),s({type:"BEFORE_INITIAL_CAPTURE",payload:{draggableId:r,movementMode:e}}),n=l.startPublishing({draggableId:r,scrollOptions:{shouldPublishImmediately:"SNAP"===e}}),r=n.critical,a=n.dimensions,n=n.viewport,Wc(r,a),s({type:"INITIAL_PUBLISH",payload:{critical:r,dimensions:a,clientSelection:t,movementMode:e,viewport:n}}))}}}},Xc=function(r){return function(){return function(t){return function(e){"INITIAL_PUBLISH"===e.type&&r.dragging(),"DROP_ANIMATE"===e.type&&r.dropping(e.payload.completed.result.reason),"FLUSH"!==e.type&&"DROP_COMPLETE"!==e.type||r.resting(),t(e)}}}},Zc={outOfTheWay:"cubic-bezier(0.2, 0, 0, 1)",drop:"cubic-bezier(.2,1,.1,1)"},Qc={opacity:{drop:0,combining:.7},scale:{drop:.75}},qn=.33,a=.55,Ln=.2+"s "+Zc.outOfTheWay,ed={fluid:"opacity "+Ln,snap:"transform "+Ln+", opacity "+Ln,drop:function(e){e=e+"s "+Zc.drop;return"transform "+e+", opacity "+e},outOfTheWay:"transform "+Ln,placeholder:"height "+Ln+", width "+Ln+", margin "+Ln},td={moveTo:Kc,drop:function(e,t){e=Kc(e);return e?t?e+" scale("+Qc.scale.drop+")":e:null}},rd=qn,ad=a,nd=ad-rd,od=function(e){var p=e.getState,m=e.dispatch;return function(u){return function(e){var t,r,a,n,o,i,s,l,c,d;"DROP"!==e.type?u(e):(t=p(),e=e.payload.reason,"COLLECTING"===t.phase?m({type:"DROP_PENDING",payload:{reason:e}}):"IDLE"!==t.phase&&("DROP_PENDING"===t.phase&&t.isWaiting&&Z(!1,"A DROP action occurred while DROP_PENDING and still waiting"),"DRAGGING"!==t.phase&&"DROP_PENDING"!==t.phase&&Z(!1,"Cannot drop in phase: "+t.phase),s=t.critical,o=(l=t.dimensions).draggables[t.critical.draggable.id],c={reason:e,lastImpact:t.impact,afterCritical:t.afterCritical,onLiftImpact:t.onLiftImpact,home:t.dimensions.droppables[t.critical.droppable.id],viewport:t.viewport,draggables:t.dimensions.draggables},i=c.draggables,a=c.reason,r=c.lastImpact,d=c.home,n=c.viewport,c=c.onLiftImpact,r=(a=r.at&&"DROP"===a?"REORDER"===r.at.type?{impact:r,didDropInsideDroppable:!0}:{impact:_({},r,{displaced:Rl}),didDropInsideDroppable:!0}:{impact:Cc({draggables:i,impact:c,destination:d,viewport:n,forceShouldAnimate:!0}),didDropInsideDroppable:!1}).impact,c=(i=a.didDropInsideDroppable)?xl(r):null,d=i?Il(r):null,n={index:s.draggable.index,droppableId:s.droppable.id},a={draggableId:o.descriptor.id,type:o.descriptor.type,source:n,reason:e,mode:t.movementMode,destination:c,combine:d},i={impact:r,draggable:o,dimensions:l,viewport:t.viewport,afterCritical:t.afterCritical},s=i.impact,n=i.draggable,c=i.dimensions,d=i.viewport,i=i.afterCritical,o=c.draggables,c=c.droppables,l=(l=mc(s))?c[l]:null,c=c[n.descriptor.droppableId],s=kc({impact:s,draggable:n,draggables:o,afterCritical:i,droppable:l||c,viewport:d}),o=rl(s,n.client.borderBox.center),i={critical:t.critical,afterCritical:t.afterCritical,result:a,impact:r},!al(t.current.client.offset,o)||Boolean(a.combine)?(l={current:t.current.client.offset,destination:o,reason:e},c=l.current,d=l.destination,l=l.reason,s=(c=ol(c,d))<=0?rd:1500<=c?ad:(d=rd+nd*(c/1500),Number(("CANCEL"===l?.6*d:d).toFixed(2))),m({type:"DROP_ANIMATE",payload:{newHomeClientOffset:o,dropDuration:s,completed:i}})):m(Uc({completed:i}))))}}};function id(e){var t=e.onWindowScroll;var r,a=Bs(function(){t(Jc())}),n=(r=a,{eventName:"scroll",options:{passive:!0,capture:!1},fn:function(e){e.target!==window&&e.target!==window.document||r()}}),o=Vs;function i(){return o!==Vs}return{start:function(){i()&&Z(!1,"Cannot start scroll listener when already active"),o=qs(window,[n])},stop:function(){i()||Z(!1,"Cannot stop scroll listener when not active"),a.cancel(),o(),o=Vs},isActive:i}}function sd(t){function e(e){r?X("Announcement already made. Not making a second announcement"):a?X("\n Announcements cannot be made asynchronously.\n Default message has already been announced.\n "):(r=!0,t(e),clearTimeout(n))}var r=!1,a=!1,n=setTimeout(function(){a=!0});return e.wasCalled=function(){return r},e}function ld(){var a=[];return{add:function(e){var r=setTimeout(function(){return t=r,-1===(e=bl(a,function(e){return e.timerId===t}))&&Z(!1,"Could not find timer"),void a.splice(e,1)[0].callback();var t,e});a.push({timerId:r,callback:e})},flush:function(){var e;a.length&&(e=[].concat(a),a.length=0,e.forEach(function(e){clearTimeout(e.timerId),e.callback()}))}}}function cd(e,t){t()}function dd(e,t){return{draggableId:e.draggable.id,type:e.droppable.type,source:{droppableId:e.droppable.id,index:e.draggable.index},mode:t}}function ud(e,t,r,a){e&&(e(t,{announce:e=sd(r)}),e.wasCalled())||r(a(t))}function pd(c,d){function t(e){p||Z(!1,"Cannot fire onDragEnd when there is no matching onDragStart"),p=null,cd(0,function(){ud(c().onDragEnd,e,d,hl.onDragEnd)})}var u=ld(),p=null;return{beforeCapture:function(t,r){p&&Z(!1,"Cannot fire onBeforeCapture as a drag start has already been published"),cd(0,function(){var e=c().onBeforeCapture;e&&e({draggableId:t,mode:r})})},beforeStart:function(t,r){p&&Z(!1,"Cannot fire onBeforeDragStart as a drag start has already been published"),cd(0,function(){var e=c().onBeforeDragStart;e&&e(dd(t,r))})},start:function(e,t){p&&Z(!1,"Cannot fire onBeforeDragStart as a drag start has already been published");var r=dd(e,t);p={mode:t,lastCritical:e,lastLocation:r.source,lastCombine:null},u.add(function(){cd(0,function(){ud(c().onDragStart,r,d,hl.onDragStart)})})},update:function(e,t){var r,a,n,o=xl(t),t=Il(t),i=(p||Z(!1,"Cannot fire onDragMove when onDragStart has not been called"),s=e,i=p.lastCritical,!(s===i||(r=s.draggable.id===i.draggable.id&&s.draggable.droppableId===i.draggable.droppableId&&s.draggable.type===i.draggable.type&&s.draggable.index===i.draggable.index,s=s.droppable.id===i.droppable.id&&s.droppable.type===i.droppable.type,r&&s))),s=(i&&(p.lastCritical=e),r=p.lastLocation,s=o,!(null==r&&null==s||null!=r&&null!=s&&r.droppableId===s.droppableId&&r.index===s.index)),l=(s&&(p.lastLocation=o),l=p.lastCombine,a=t,!(null==l&&null==a||null!=l&&null!=a&&l.draggableId===a.draggableId&&l.droppableId===a.droppableId));l&&(p.lastCombine=t),(i||s||l)&&(n=_({},dd(e,p.mode),{combine:t,destination:o}),u.add(function(){cd(0,function(){ud(c().onDragUpdate,n,d,hl.onDragUpdate)})}))},flush:function(){p||Z(!1,"Can only flush responders while dragging"),u.flush()},drop:t,abort:function(){var e;p&&(e=_({},dd(p.lastCritical,p.mode),{combine:null,destination:null,reason:"CANCEL"}),t(e))}}}function md(e){var t=e.dimensionMarshal,r=e.focusMarshal,a=e.styleMarshal,n=e.getResponders,o=e.announce,e=e.autoScroller;return xi(qc,Cd(function(){for(var e=arguments.length,o=new Array(e),t=0;t(r=r).startScrollingFrom?0:t<=r.maxScrollValueAt?Fd:t===r.startScrollingFrom?1:(r=Dd({startOfRange:r.maxScrollValueAt,endOfRange:r.startScrollingFrom,current:t}),t=Fd*zd(1-r),Math.ceil(t)))?0:e?Math.max((t=r,e=a,a=Gd,e=Date.now()-e,Gd<=e?t:en.height,!(a=(o=o.width>n.width)||r?o&&r?null:{x:o?0:e.x,y:r?0:e.y}:e))||al(a,Q)?null:a}var jd=Y(function(e){return El(e).filter(function(e){return!!e.isEnabled&&!!e.frame})}),Bd=.25,$d=.05,Fd=28,zd=function(e){return Math.pow(e,2)},dn={stopDampeningAt:1200,accelerateAt:360},Ud=dn.accelerateAt,Gd=dn.stopDampeningAt,Hd=sl(function(e){return 0===e?0:e}),Vd=sl(function(e){return 0===e?0:0e.major||!(t.majore.minor||!(t.minor=e.patch)},Au="\n We expect a html5 doctype: \n This is to ensure consistent browser layout and measurement\n\n More information: https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/guides/doctype.md\n";function Tu(e){e()}function Pu(e,t){Tu(function(){(0,W.useEffect)(function(){try{e()}catch(e){Hs("\n A setup problem was encountered.\n\n > "+e.message+"\n ")}},t)})}function Lu(){Pu(function(){var e=xu,t=W.default.version,t=(e=Nu(e),t=Nu(t),Ou(e,t)||X("\n React version: ["+t.raw+"]\n does not satisfy expected peer dependency version: ["+e.raw+"]\n\n This can result in run time bugs, and even fatal crashes\n "),document);(t=t.doctype)?("html"!==t.name.toLowerCase()&&X("\n Unexpected found: ("+t.name+")\n\n "+Au+"\n "),""!==t.publicId&&X("\n Unexpected publicId found: ("+t.publicId+")\n A html5 doctype does not have a publicId\n\n "+Au+"\n ")):X("\n No found.\n\n "+Au+"\n ")},[])}function Du(e){var t=(0,W.useRef)(e);return(0,W.useEffect)(function(){t.current=e}),t}function Ru(){var t=null;function e(){t||Z(!1,"Cannot release lock when there is no lock"),t=null}return{isClaimed:function(){return Boolean(t)},isActive:function(e){return e===t},claim:function(e){return t&&Z(!1,"Cannot claim lock as it is already claimed"),t=e={abandon:e}},release:e,tryAbandon:function(){t&&(t.abandon(),e())}}}var Mu=27,_u=32,ju=37,Bu=38,$u=39,Fu=40,zu=((d={})[13]=!0,d[9]=!0,d),Uu=function(e){zu[e.keyCode]&&e.preventDefault()},Gu=(We="visibilitychange","undefined"!=typeof document&&vl([We,"ms"+We,"webkit"+We,"moz"+We,"o"+We],function(e){return"on"+e in document})||We),Hu=0,Vu=5;var qu={type:"IDLE"};function Wu(e){var r=e.cancel,a=e.completed,o=e.getPhase,i=e.setPhase;return[{eventName:"mousemove",fn:function(e){var t,r=e.button,a=e.clientX,n=e.clientY;r===Hu&&(r={x:a,y:n},"DRAGGING"===(a=o()).type?(e.preventDefault(),a.actions.move(r)):("PENDING"!==a.type&&Z(!1,"Cannot be IDLE"),n=a.point,n=n,t=r,(Math.abs(t.x-n.x)>=Vu||Math.abs(t.y-n.y)>=Vu)&&(e.preventDefault(),t=a.actions.fluidLift(r),i({type:"DRAGGING",actions:t}))))}},{eventName:"mouseup",fn:function(e){var t=o();("DRAGGING"!==t.type?r:(e.preventDefault(),t.actions.drop({shouldBlockNextClick:!0}),a))()}},{eventName:"mousedown",fn:function(e){"DRAGGING"===o().type&&e.preventDefault(),r()}},{eventName:"keydown",fn:function(e){"PENDING"===o().type?r():e.keyCode===Mu?(e.preventDefault(),r()):Uu(e)}},{eventName:"resize",fn:r},{eventName:"scroll",options:{passive:!0,capture:!1},fn:function(){"PENDING"===o().type&&r()}},{eventName:"webkitmouseforcedown",fn:function(e){var t=o();"IDLE"===t.type&&Z(!1,"Unexpected phase"),t.actions.shouldRespectForcePress()?r():e.preventDefault()}},{eventName:Gu,fn:r}]}function Ku(){}(Je={})[34]=!0,Je[33]=!0,Je[36]=!0,Je[35]=!0;var Ju=Je;function Yu(t,r){function a(){r(),t.cancel()}return[{eventName:"keydown",fn:function(e){e.keyCode===Mu?(e.preventDefault(),a()):e.keyCode===_u?(e.preventDefault(),r(),t.drop()):e.keyCode===Fu?(e.preventDefault(),t.moveDown()):e.keyCode===Bu?(e.preventDefault(),t.moveUp()):e.keyCode===$u?(e.preventDefault(),t.moveRight()):e.keyCode===ju?(e.preventDefault(),t.moveLeft()):Ju[e.keyCode]?e.preventDefault():Uu(e)}},{eventName:"mousedown",fn:a},{eventName:"mouseup",fn:a},{eventName:"click",fn:a},{eventName:"touchstart",fn:a},{eventName:"resize",fn:a},{eventName:"wheel",fn:a,options:{passive:!0}},{eventName:Gu,fn:a}]}var Xu={type:"IDLE"},Zu=.15;var Qu={input:!0,button:!0,textarea:!0,select:!0,option:!0,optgroup:!0,video:!0,audio:!0};function ep(e,t){t=t.target;return hu(t)&&function e(t,r){var a;return null!=r&&(!!Boolean(Qu[r.tagName.toLowerCase()])||"true"===(a=r.getAttribute("contenteditable"))||""===a||r!==t&&e(t,r.parentElement))}(e,t)}Wn="matches";var tp="undefined"!=typeof document&&vl([Wn,"msMatchesSelector","webkitMatchesSelector"],function(e){return e in Element.prototype})||Wn;function rp(e,t){return e.closest?e.closest(t):function e(t,r){return null==t?null:t[tp](r)?t:e(t.parentElement,r)}(e,t)}function ap(e,t){var t=t.target;return t instanceof mu(t).Element?(t=rp(t,"["+nu.contextId+'="'+e+'"]'))?hu(t)?t:(X("drag handle must be a HTMLElement"),null):null:(X("event.target must be a Element"),null)}function np(e){e.preventDefault()}function op(e){var t=e.expected,r=e.phase,a=e.isLockActive,e=e.shouldWarn;return a()?t===r||(e&&X("\n Cannot perform action.\n The actions you used belong to an outdated phase\n\n Current phase: "+t+"\n You called an action from outdated phase: "+r+"\n\n Tips:\n\n - Do not use preDragActions actions after calling preDragActions.lift()\n "),!1):(e&&X("\n Cannot perform action.\n The sensor no longer has an action lock.\n\n Tips:\n\n - Throw away your action handlers when forceStop() is called\n - Check actions.isActive() if you really need to\n "),!1)}function ip(e){var t=e.lockAPI,r=e.store,a=e.registry,e=e.draggableId;return!(t.isClaimed()||((t=a.draggable.findById(e))?!t.options.isEnabled||!Td(r.getState(),e):(X("Unable to find draggable with id: "+e),1)))}function sp(e){var t,r,a,n,o,i,s=e.lockAPI,l=e.contextId,c=e.store,d=e.registry,u=e.draggableId,p=e.forceSensorStop,e=e.sourceEvent;return ip({lockAPI:s,store:c,registry:d,draggableId:u})?(t=d.draggable.getById(u),d=l,a=t.descriptor.id,d="["+ou.contextId+'="'+d+'"]',(r=(d=vl(yl(document.querySelectorAll(d)),function(e){return e.getAttribute(ou.id)===a}))?hu(d)?d:(X("Draggable element is not a HTMLElement"),null):null)?e&&!t.options.canDragInteractiveElements&&ep(r,e)?null:(n=s.claim(p||Vs),o="PRE_DRAG",i=function(e,t){op({expected:e,phase:o,isLockActive:h,shouldWarn:!0})&&c.dispatch(t())}.bind(null,"DRAGGING"),{isActive:function(){return op({expected:"PRE_DRAG",phase:o,isLockActive:h,shouldWarn:!1})},shouldRespectForcePress:m,fluidLift:function(e){var t=Bs(function(e){i(function(){return _c({client:e})})});return _({},f({liftActionArgs:{id:u,clientSelection:e,movementMode:"FLUID"},cleanup:function(){return t.cancel()},actions:{move:t}}),{move:t})},snapLift:function(){var e={moveUp:function(){return i(jc)},moveRight:function(){return i($c)},moveDown:function(){return i(Bc)},moveLeft:function(){return i(Fc)}};return f({liftActionArgs:{id:u,clientSelection:As(r.getBoundingClientRect()).center,movementMode:"SNAP"},cleanup:Vs,actions:e})},abort:function(){op({expected:"PRE_DRAG",phase:o,isLockActive:h,shouldWarn:!0})&&s.release()}}):(X("Unable to find draggable element with id: "+u),null)):null;function m(){return t.options.shouldRespectForcePress}function h(){return s.isActive(n)}function f(r){function a(){s.release(),o="COMPLETED"}function t(e,t){void 0===t&&(t={shouldBlockNextClick:!1}),r.cleanup(),t.shouldBlockNextClick&&(t=qs(window,[{eventName:"click",fn:np,options:{once:!0,passive:!1,capture:!0}}]),setTimeout(t)),a(),c.dispatch(Gc({reason:e}))}return"PRE_DRAG"!==o&&(a(),"PRE_DRAG"!==o)&&Z(!1,"Cannot lift in phase "+o),c.dispatch({type:"LIFT",payload:r.liftActionArgs}),o="DRAGGING",_({isActive:function(){return op({expected:"DRAGGING",phase:o,isLockActive:h,shouldWarn:!1})},shouldRespectForcePress:m,drop:function(e){return t("DROP",e)},cancel:function(e){return t("CANCEL",e)}},r.actions)}}var lp=[function(a){var r=(0,W.useRef)(qu),n=(0,W.useRef)(Vs),e=K(function(){return{eventName:"mousedown",fn:function(e){var t;e.defaultPrevented||e.button!==Hu||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey||(t=a.findClosestDraggableId(e))&&(t=a.tryGetLock(t,i,{sourceEvent:e}))&&(e.preventDefault(),e={x:e.clientX,y:e.clientY},n.current(),c(t,e))}}},[a]),t=K(function(){return{eventName:"webkitmouseforcewillbegin",fn:function(e){var t,r;e.defaultPrevented||(t=a.findClosestDraggableId(e))&&(r=a.findOptionsForDraggable(t))&&!r.shouldRespectForcePress&&a.canGetLock(t)&&e.preventDefault()}}},[a]),o=J(function(){n.current=qs(window,[t,e],{passive:!1,capture:!0})},[t,e]),i=J(function(){"IDLE"!==r.current.type&&(r.current=qu,n.current(),o())},[o]),s=J(function(){var e=r.current;i(),"DRAGGING"===e.type&&e.actions.cancel({shouldBlockNextClick:!0}),"PENDING"===e.type&&e.actions.abort()},[i]),l=J(function(){var e=Wu({cancel:s,completed:i,getPhase:function(){return r.current},setPhase:function(e){r.current=e}});n.current=qs(window,e,{capture:!0,passive:!1})},[s,i]),c=J(function(e,t){"IDLE"!==r.current.type&&Z(!1,"Expected to move from IDLE to PENDING drag"),r.current={type:"PENDING",point:t,actions:e},l()},[l]);uu(function(){return o(),function(){n.current()}},[o])},function(n){var o=(0,W.useRef)(Ku),e=K(function(){return{eventName:"keydown",fn:function(e){var t,r;function a(){r||Z(!1,"Cannot stop capturing a keyboard drag when not capturing"),r=!1,o.current(),i()}e.defaultPrevented||e.keyCode===_u&&(t=n.findClosestDraggableId(e))&&(t=n.tryGetLock(t,a,{sourceEvent:e}))&&(e.preventDefault(),r=!0,e=t.snapLift(),o.current(),o.current=qs(window,Yu(e,a),{capture:!0,passive:!1}))}}},[n]),i=J(function(){o.current=qs(window,[e],{passive:!1,capture:!0})},[e]);uu(function(){return i(),function(){o.current()}},[i])},function(r){var t=(0,W.useRef)(Xu),c=(0,W.useRef)(Vs),d=J(function(){return t.current},[]),a=J(function(e){t.current=e},[]),e=K(function(){return{eventName:"touchstart",fn:function(e){var t;e.defaultPrevented||(t=r.findClosestDraggableId(e))&&(t=r.tryGetLock(t,u,{sourceEvent:e}))&&(e={x:(e=e.touches[0]).clientX,y:e.clientY},c.current(),s(t,e))}}},[r]),n=J(function(){c.current=qs(window,[e],{capture:!0,passive:!1})},[e]),u=J(function(){var e=t.current;"IDLE"!==e.type&&("PENDING"===e.type&&clearTimeout(e.longPressTimerId),a(Xu),c.current(),n())},[n,a]),p=J(function(){var e=t.current;u(),"DRAGGING"===e.type&&e.actions.cancel({shouldBlockNextClick:!0}),"PENDING"===e.type&&e.actions.abort()},[u]),o=J(function(){var a,r,n,t,o,e={capture:!0,passive:!1},i={cancel:p,completed:u,getPhase:d},s=qs(window,(a=i.cancel,r=i.completed,n=i.getPhase,[{eventName:"touchmove",options:{capture:!1},fn:function(e){var t,r=n();"DRAGGING"!==r.type?a():(r.hasMoved=!0,t={x:(t=e.touches[0]).clientX,y:t.clientY},e.preventDefault(),r.actions.move(t))}},{eventName:"touchend",fn:function(e){var t=n();("DRAGGING"!==t.type?a:(e.preventDefault(),t.actions.drop({shouldBlockNextClick:!0}),r))()}},{eventName:"touchcancel",fn:function(e){"DRAGGING"!==n().type||e.preventDefault(),a()}},{eventName:"touchforcechange",fn:function(e){var t=n(),r=("IDLE"===t.type&&Z(!1),e.touches[0]);if(r&&r.force>=Zu){r=t.actions.shouldRespectForcePress();if("PENDING"!==t.type)return!r||t.hasMoved?void e.preventDefault():void a();r&&a()}}},{eventName:Gu,fn:a}]),e),l=qs(window,(t=i.cancel,o=i.getPhase,[{eventName:"orientationchange",fn:t},{eventName:"resize",fn:t},{eventName:"contextmenu",fn:function(e){e.preventDefault()}},{eventName:"keydown",fn:function(e){"DRAGGING"!==o().type||e.keyCode===Mu&&e.preventDefault(),t()}},{eventName:Gu,fn:t}]),e);c.current=function(){s(),l()}},[p,d,u]),i=J(function(){var e=d(),e=("PENDING"!==e.type&&Z(!1,"Cannot start dragging from phase "+e.type),e.actions.fluidLift(e.point));a({type:"DRAGGING",actions:e,hasMoved:!1})},[d,a]),s=J(function(e,t){"IDLE"!==d().type&&Z(!1,"Expected to move from IDLE to PENDING drag");var r=setTimeout(i,120);a({type:"PENDING",point:t,actions:e,longPressTimerId:r}),o()},[o,d,a,i]);uu(function(){return n(),function(){c.current();var e=d();"PENDING"===e.type&&(clearTimeout(e.longPressTimerId),a(Xu))}},[d,n,a]),uu(function(){return qs(window,[{eventName:"touchmove",fn:function(){},options:{capture:!1,passive:!1}}])},[])}];function cp(e){var t,a=e.contextId,n=e.store,o=e.registry,r=e.customSensors,e=e.enableDefaultSensors,i=[].concat(e?lp:[],r||[]),s=(0,W.useState)(Ru)[0],l=J(function(e,t){e.isDragging&&!t.isDragging&&s.tryAbandon()},[s]),c=(uu(function(){var t=n.getState();return n.subscribe(function(){var e=n.getState();l(t,e),t=e})},[s,n,l]),uu(function(){return s.tryAbandon},[s.tryAbandon]),J(function(e){return ip({lockAPI:s,registry:o,store:n,draggableId:e})},[s,o,n])),d=J(function(e,t,r){return sp({lockAPI:s,registry:o,contextId:a,store:n,draggableId:e,forceSensorStop:t,sourceEvent:r&&r.sourceEvent?r.sourceEvent:null})},[a,s,o,n]),u=J(function(e){return(t=ap(t=a,e))?t.getAttribute(nu.draggableId):null;var t},[a]),p=J(function(e){e=o.draggable.findById(e);return e?e.options:null},[o.draggable]),m=J(function(){s.isClaimed()&&(s.tryAbandon(),"IDLE"!==n.getState().phase)&&n.dispatch(zc())},[s,n]),h=J(s.isClaimed,[s]),f=K(function(){return{canGetLock:c,tryGetLock:d,findClosestDraggableId:u,findOptionsForDraggable:p,tryReleaseLock:m,isLockClaimed:h}},[c,d,u,p,m,h]);t=i,Tu(function(){var e=Du(t);Pu(function(){e.current.length!==t.length&&Z(!1,"Cannot change the amount of sensor hooks after mounting")})});for(var g=0;g in your onDragEnd.\n Consider calling provided.announce() before the unmount so that the instruction will\n not be lost for users relying on a screen reader.\n\n Message not passed to screen reader:\n\n "'+e+'"\n ')},[])),k=Cu({contextId:f,text:y}),x=pu(f,v),I=J(function(e){up(w).dispatch(e)},[]),N=K(function(){return Ni({publishWhileDragging:Pc,updateDroppableScroll:Dc,updateDroppableIsEnabled:Rc,updateDroppableIsCombineEnabled:Mc,collectionStarting:Lc},I)},[I]),O=(n=K(gu,[]),(0,W.useEffect)(function(){return function(){requestAnimationFrame(n.clean)}},[n]),n),A=K(function(){return Ad(O,N)},[O,N]),T=K(function(){return Zd(_({scrollWindow:Pd,scrollDroppable:A.scrollDroppable},Ni({move:_c},I)))},[A.scrollDroppable,I]),P=(o=f,i=(0,W.useRef)({}),s=(0,W.useRef)(null),l=(0,W.useRef)(null),c=(0,W.useRef)(!1),d=J(function(t,e){var r={id:t,focus:e};return i.current[t]=r,function(){var e=i.current;e[t]!==r&&delete e[t]}},[]),u=J(function(e){e=fu(o,e);e&&e!==document.activeElement&&e.focus()},[o]),p=J(function(e,t){s.current===e&&(s.current=t)},[]),m=J(function(){l.current||c.current&&(l.current=requestAnimationFrame(function(){l.current=null;var e=s.current;e&&u(e)}))},[u]),h=J(function(e){s.current=null;var t=document.activeElement;t&&t.getAttribute(nu.draggableId)===e&&(s.current=e)},[]),uu(function(){return c.current=!0,function(){c.current=!1;var e=l.current;e&&cancelAnimationFrame(e)}},[]),K(function(){return{register:d,tryRecordFocus:h,tryRestoreFocusRecorded:m,tryShiftRecord:p}},[d,h,m,p])),y=K(function(){return md({announce:C,autoScroller:T,dimensionMarshal:A,focusMarshal:P,getResponders:E,styleMarshal:x})},[C,T,A,P,E,x]),L=(w.current&&w.current!==y&&X("unexpected store change"),w.current=y,J(function(){var e=up(w);"IDLE"!==e.getState().phase&&e.dispatch(zc())},[])),D=J(function(){var e=up(w).getState();return e.isDragging||"DROP_ANIMATING"===e.phase},[]),R=(g(K(function(){return{isDragging:D,tryAbort:L}},[D,L])),J(function(e){return Td(up(w).getState(),e)},[])),M=J(function(){return hc(up(w).getState())},[]),v=K(function(){return{marshal:A,focus:P,contextId:f,canLift:R,isMovementAllowed:M,dragHandleUsageInstructionsId:k,registry:O}},[f,A,k,P,R,M,O]);return cp({contextId:f,store:y,registry:O,customSensors:b,enableDefaultSensors:!1!==e.enableDefaultSensors}),(0,W.useEffect)(function(){return L},[L]),W.default.createElement(ku.Provider,{value:v},W.default.createElement(ji,{context:vu,store:y},e.children))}var mp=0;function hp(t){var r=K(function(){return""+mp++},[]),a=t.dragHandleUsageInstructions||hl.dragHandleUsageInstructions;return W.default.createElement(Xs,null,function(e){return W.default.createElement(pp,{nonce:t.nonce,contextId:r,setCallbacks:e,dragHandleUsageInstructions:a,enableDefaultSensors:t.enableDefaultSensors,sensors:t.sensors,onBeforeCapture:t.onBeforeCapture,onBeforeDragStart:t.onBeforeDragStart,onDragStart:t.onDragStart,onDragUpdate:t.onDragUpdate,onDragEnd:t.onDragEnd},t.children)})}function fp(t){return function(e){return t===e}}function gp(e,t){return t(e.overflowX)||t(e.overflowY)}function bp(e){return e={overflowX:(e=window.getComputedStyle(e)).overflowX,overflowY:e.overflowY},gp(e,wp)||gp(e,Sp)}function vp(e){var t,r;return null==e?null:e===document.body?(t=bu(),(r=document.documentElement)||Z(!1),bp(t)&&(t=window.getComputedStyle(r),r={overflowX:t.overflowX,overflowY:t.overflowY},(t=Ep)((r=r).overflowX)&&t(r.overflowY)||X("\n We have detected that your element might be a scroll container.\n We have found no reliable way of detecting whether the element is a scroll container.\n Under most circumstances a scroll bar will be on the element (document.documentElement)\n\n Because we cannot determine if the is a scroll container, and generally it is not one,\n we will be treating the as *not* a scroll container\n\n More information: https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/guides/how-we-detect-scroll-containers.md\n ")),null):e===document.documentElement?null:bp(e)?e:vp(e.parentElement)}function yp(e){return!!e&&("fixed"===window.getComputedStyle(e).position||yp(e.parentElement))}var wp=fp("scroll"),Sp=fp("auto"),Ep=fp("visible"),Cp=function(e){e&&vp(e.parentElement)&&X("\n Droppable: unsupported nested scroll container detected.\n A Droppable can only have one scroll parent (which can be itself)\n Nested scroll containers are currently not supported.\n\n We hope to support nested scroll containers soon: https://github.com/atlassian/react-beautiful-dnd/issues/131\n ")},kp=function(e){return{x:e.scrollLeft,y:e.scrollTop}},xp=function(e){return{closestScrollable:vp(e),isFixedOnPage:yp(e)}},Ip=function(e){var t,r,a,n=e.ref,o=e.descriptor,i=e.env,s=e.windowScroll,l=e.direction,c=e.isDropDisabled,d=e.isCombineEnabled,e=e.shouldClipSubject,u=i.closestScrollable,p=(p=u,h=Os(n=n),!p||n!==p?h:(n=h.paddingBox.top-p.scrollTop,t=h.paddingBox.left-p.scrollLeft,m=n+p.scrollHeight,p=t+p.scrollWidth,n=ks({top:n,right:p,bottom:m,left:t},h.border),Ps({borderBox:n,margin:h.margin,border:h.border,padding:h.padding}))),m=Is(p,s),h=u?(t=Os(u),n={scrollHeight:u.scrollHeight,scrollWidth:u.scrollWidth},{client:t,page:Is(t,s),scroll:kp(u),scrollSize:n,shouldClipSubject:e}):null;return s={descriptor:o,isEnabled:!c,isCombineEnabled:d,isFixedOnPage:i.isFixedOnPage,direction:l,client:p,page:m,closest:h},u=s.descriptor,n=s.isEnabled,e=s.isCombineEnabled,o=s.isFixedOnPage,c=s.direction,d=s.client,i=s.page,s=s.closest,r=s?(a=s.scrollSize,r=s.client,l=xd({scrollHeight:a.scrollHeight,scrollWidth:a.scrollWidth,height:r.paddingBox.height,width:r.paddingBox.width}),{pageMarginBox:s.page.marginBox,frameClient:r,scrollSize:a,shouldClipSubject:s.shouldClipSubject,scroll:{initial:s.scroll,current:s.scroll,max:l,diff:{value:Q,displacement:Q}}}):null,{descriptor:u,isCombineEnabled:e,isFixedOnPage:o,axis:a="vertical"===c?jl:Bl,isEnabled:n,client:d,page:i,frame:r,subject:ul({page:i,withPlaceholder:null,axis:a,frame:r})}},Np={passive:!1},Op={passive:!0},Ap=function(e){return e.shouldPublishImmediately?Np:Op};function Tp(e){e=(0,W.useContext)(e);return e||Z(!1,"Could not find required context"),e}var Pp=function(e){return e&&e.env.closestScrollable||null};function Lp(){}var Dp={width:0,height:0,margin:{top:0,right:0,bottom:0,left:0}},Rp=function(e){var t=e.isAnimatingOpenOnMount,r=e.placeholder,e=e.animate;return t||"close"===e?Dp:{height:r.client.borderBox.height,width:r.client.borderBox.width,margin:r.client.margin}};var Mp=W.default.memo(function(e){var t,r,a=(0,W.useRef)(null),n=J(function(){a.current&&(clearTimeout(a.current),a.current=null)},[]),o=e.animate,i=e.onTransitionEnd,s=e.onClose,l=e.contextId,c=(u=(0,W.useState)("open"===e.animate))[0],d=u[1],u=((0,W.useEffect)(function(){return c?"open"!==o?(n(),d(!1),Lp):a.current?Lp:(a.current=setTimeout(function(){a.current=null,d(!1)}),n):Lp},[o,c,n]),J(function(e){"height"===e.propertyName&&(i(),"close"===o)&&s()},[o,s,i])),p=(t={isAnimatingOpenOnMount:c,animate:e.animate,placeholder:e.placeholder},r=t.isAnimatingOpenOnMount,p=t.placeholder,t=t.animate,r=Rp({isAnimatingOpenOnMount:r,placeholder:p,animate:t}),{display:p.display,boxSizing:"border-box",width:r.width,height:r.height,marginTop:r.margin.top,marginRight:r.margin.right,marginBottom:r.margin.bottom,marginLeft:r.margin.left,flexShrink:"0",flexGrow:"0",pointerEvents:"none",transition:"none"!==t?ed.placeholder:null});return W.default.createElement(e.placeholder.tagName,{style:p,"data-rbd-placeholder-context-id":l,onTransitionEnd:u,ref:e.innerRef})}),_p=W.default.createContext(null);function jp(e){e&&hu(e)||Z(!1,"\n provided.innerRef has not been provided with a HTMLElement.\n\n You can find a guide on using the innerRef callback functions at:\n https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/guides/using-inner-ref.md\n ")}function Bp(e){return"boolean"==typeof e}function $p(t,e){e.forEach(function(e){return e(t)})}var Fp=[function(e){e=e.props;e.droppableId||Z(!1,"A Droppable requires a droppableId prop"),"string"!=typeof e.droppableId&&Z(!1,"A Droppable requires a [string] droppableId. Provided: ["+typeof e.droppableId+"]")},function(e){e=e.props;Bp(e.isDropDisabled)||Z(!1,"isDropDisabled must be a boolean"),Bp(e.isCombineEnabled)||Z(!1,"isCombineEnabled must be a boolean"),Bp(e.ignoreContainerClipping)||Z(!1,"ignoreContainerClipping must be a boolean")},function(e){jp((0,e.getDroppableRef)())}],zp=[function(e){var t=e.props,e=e.getPlaceholderRef;t.placeholder&&!e()&&X('\n Droppable setup issue [droppableId: "'+t.droppableId+'"]:\n DroppableProvided > placeholder could not be found.\n\n Please be sure to add the {provided.placeholder} React Node as a child of your Droppable.\n More information: https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/api/droppable.md\n ')}],Up=[function(e){e.props.renderClone||Z(!1,"Must provide a clone render function (renderClone) for virtual lists")},function(e){(0,e.getPlaceholderRef)()&&Z(!1,"Expected virtual list to not have a placeholder")}];fi(Vp,Gp=W.default.PureComponent),Vp.getDerivedStateFromProps=function(e,t){return e.shouldAnimate?e.on?{isVisible:!0,data:e.on,animate:"open"}:t.isVisible?{isVisible:!0,data:t.data,animate:"close"}:{isVisible:!1,animate:"close",data:null}:{isVisible:Boolean(e.on),data:e.on,animate:"none"}},Vp.prototype.render=function(){var e;return this.state.isVisible?(e={onClose:this.onClose,data:this.state.data,animate:this.state.animate},this.props.children(e)):null};var Gp,Hp=Vp;function Vp(){for(var e,t=arguments.length,r=new Array(t),a=0;a{const i=getComputedStyle(document.body).getPropertyValue("--spice-button-disabled"),[s,t]=(0,mi.useState)({width:window.innerWidth}),n=((0,mi.useEffect)(()=>{const e=()=>t({width:window.innerWidth});return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),(e,t,r)=>{var a,n,o,t={...t};return e&&t.transform&&(t.transform=(o=(e=t.transform).match(/translate\(([-\d.]+)px,\s*([-\d.]+)px\)/))?(a=(n=s.width>=.95*window.screen.width)?600:430,n=n?120:70,`translate(${Number.parseFloat(o[1])-a}px, ${Number.parseFloat(o[2])-n}px)`):e),{borderRadius:"5px",border:r?"2px solid "+i:"2px solid red",userSelect:"none",paddingTop:12,paddingBottom:12,width:"110px",display:"flex",alignItems:"center",justifyContent:"center",textDecoration:r?"none":"line-through",cursor:"pointer",...t}});return mi.default.createElement(hp,{onDragEnd:e=>{var t,{source:e,destination:r}=e;r&&(t=a.modalConfig.tabs,e=e.index,r=r.index,[e]=(t=Array.from(t)).splice(e,1),t.splice(r,0,e),a.modalConfig.tabs=t,localStorage.setItem(x.tabs,JSON.stringify(a.modalConfig.tabs)),a.updateConfig(a.modalConfig))}},mi.default.createElement(pm,{droppableId:"droppable",direction:"horizontal"},(e,t)=>mi.default.createElement("div",{ref:e.innerRef,style:{display:"flex",paddingTop:8,paddingBottom:8,gap:8},...e.droppableProps},a.modalConfig.tabs.map((r,e)=>mi.default.createElement(cm,{key:r.name,draggableId:r.name,index:e},(e,t)=>mi.default.createElement("div",{ref:e.innerRef,...e.draggableProps,style:n(t.isDragging,e.draggableProps.style,r.enabled)},mi.default.createElement("div",{className:"dnd-box",...e.dragHandleProps,onClick:()=>{return t=r.name,e=a.modalConfig.tabs.map(e=>e.name===t?{...e,enabled:!e.enabled}:e),a.modalConfig.tabs=e,localStorage.setItem(x.tabs,JSON.stringify(a.modalConfig.tabs)),void a.updateConfig(a.modalConfig);var t,e}},mi.default.createElement("svg",{className:"dnd-icon",fill:"currentColor",width:"16",height:"16",viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg","aria-label":"Drag icon",role:"img"},mi.default.createElement("path",{"fill-rule":"evenodd",d:"M7.375 3.67c0-.645-.56-1.17-1.25-1.17s-1.25.525-1.25 1.17c0 .646.56 1.17 1.25 1.17s1.25-.524 1.25-1.17zm0 8.66c0-.646-.56-1.17-1.25-1.17s-1.25.524-1.25 1.17c0 .645.56 1.17 1.25 1.17s1.25-.525 1.25-1.17zm-1.25-5.5c.69 0 1.25.525 1.25 1.17 0 .645-.56 1.17-1.25 1.17S4.875 8.645 4.875 8c0-.645.56-1.17 1.25-1.17zm5-3.16c0-.645-.56-1.17-1.25-1.17s-1.25.525-1.25 1.17c0 .646.56 1.17 1.25 1.17s1.25-.524 1.25-1.17zm-1.25 7.49c.69 0 1.25.524 1.25 1.17 0 .645-.56 1.17-1.25 1.17s-1.25-.525-1.25-1.17c0-.646.56-1.17 1.25-1.17zM11.125 8c0-.645-.56-1.17-1.25-1.17s-1.25.525-1.25 1.17c0 .645.56 1.17 1.25 1.17s1.25-.525 1.25-1.17z"})),"Extensions"===r.name?"Extens.":r.name)))),e.placeholder)))}),hm=async()=>{const e=new MutationObserver(async()=>{var t;document.querySelector(".GenericModal[aria-label='Settings']")||(t=100,await new Promise(e=>setTimeout(e,t)),Im("BACKUP"),e.disconnect())});e.observe(document.body,{childList:!0,subtree:!0}),Spicetify.PopupModal.hide()},fm=({CONFIG:e,updateAppConfig:t})=>{const[r,a]=p.default.useState({...e}),[n,o]=p.default.useState(y("settings.versionBtn"));var e=e=>{t({...e}),a({...e})},i=document.querySelector("body > generic-modal button.main-trackCreditsModal-closeBtn");const s=document.querySelector("body > generic-modal > div");i&&s&&(i.onclick=()=>location.reload(),i.setAttribute("style","cursor: pointer;"),s.onclick=e=>{e.target===s&&location.reload()});i=N(x.albumArtBasedColor)?p.default.createElement(p.default.Fragment,null,p.default.createElement(pi,{name:y("settings.albumArtBasedColorsMode"),storageKey:"albumArtBasedColorsMode",modalConfig:r,updateConfig:e,type:"dropdown",options:["monochromeDark","monochromeLight","analogicComplement","analogic","triad","quad"],description:y("settings.almbumArtColorsModeToolTip")}),p.default.createElement(pi,{name:y("settings.albumArtBasedColorsVibrancy"),storageKey:"albumArtBasedColorsVibrancy",modalConfig:r,updateConfig:e,type:"dropdown",options:["desaturated","lightVibrant","prominent","vibrant"],description:y("settings.albumArtBasedColorsVibrancyToolTip")})):null;return p.default.createElement("div",{id:"marketplace-config-container"},p.default.createElement("div",{className:"settings-block-top"},p.default.createElement("h2",{className:"settings-heading"},y("settings.optionsHeading")),p.default.createElement(pi,{name:y("settings.starCountLabel"),storageKey:"stars",modalConfig:r,updateConfig:e}),p.default.createElement(pi,{name:y("settings.tagsLabel"),storageKey:"tags",modalConfig:r,updateConfig:e}),p.default.createElement(pi,{name:y("settings.showArchived"),storageKey:"showArchived",modalConfig:r,updateConfig:e}),p.default.createElement(pi,{name:y("settings.devToolsLabel"),storageKey:"themeDevTools",modalConfig:r,updateConfig:e}),p.default.createElement(pi,{name:y("settings.hideInstalledLabel"),storageKey:"hideInstalled",modalConfig:r,updateConfig:e}),p.default.createElement(pi,{name:y("settings.colourShiftLabel"),storageKey:"colorShift",modalConfig:r,updateConfig:e}),p.default.createElement(pi,{name:y("settings.albumArtBasedColors"),storageKey:"albumArtBasedColors",modalConfig:r,updateConfig:e}),i),p.default.createElement("div",{className:"settings-block"},p.default.createElement("h2",{className:"settings-heading"},y("settings.tabsHeading")),p.default.createElement(mm,{modalConfig:r,updateConfig:e}),p.default.createElement("p",{className:"settings-tabs-description"},"(",y("settings.tabsDescription"),")")),p.default.createElement("div",{className:"settings-block"},p.default.createElement("h2",{className:"settings-heading"},y("settings.resetHeading")),p.default.createElement("div",{className:"settings-row"},p.default.createElement("span",{className:"col description"},y("settings.resetDescription")),p.default.createElement("div",{className:"col action"},p.default.createElement(Ko,{onClick:()=>So()},y("settings.resetBtn"))))),p.default.createElement("div",{className:"settings-block"},p.default.createElement("h2",{className:"settings-heading"},y("settings.backupHeading")),p.default.createElement("div",{className:"settings-row"},p.default.createElement("span",{className:"col description"},y("settings.backupLabel")),p.default.createElement("div",{className:"col action"},p.default.createElement(Ko,{onClick:hm},y("settings.backupBtn"))))),p.default.createElement("div",{className:"settings-block-bottom"},p.default.createElement("div",{className:"settings-row"},p.default.createElement("span",{className:"col description"},y("grid.spicetifyMarketplace")," ",y("settings.versionHeading")," ",_r),p.default.createElement("div",{className:"col action"},p.default.createElement(Ko,{onClick:()=>{Spicetify.Platform.ClipboardAPI.copy(_r),o(y("settings.versionCopied")),setTimeout(()=>o(y("settings.versionBtn")),3e3)},classes:["small"]},n)))))},gm=t(z()),f=t(r()),bm=t(U()),vm=(e=Prism,l=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/,e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+l.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+l.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+l.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+l.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:l,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css,(l=e.languages.markup)&&(l.tag.addInlined("style","css"),l.tag.addAttribute("style","css")),a=>{var e="marketplace-customCSS-preview";const[n,t]=f.default.useState("ADD_SNIPPET"!==a.type&&a.content?.item.code||""),[r,o]=f.default.useState("ADD_SNIPPET"!==a.type&&a.content?.item.title||""),[i,s]=f.default.useState("ADD_SNIPPET"!==a.type&&a.content?.item.description||""),[l,c]=f.default.useState("ADD_SNIPPET"!==a.type&&a.content?.item.imageURL||""),d=()=>r.replace(/\n/g,"").replaceAll(" ","-");const u="marketplace:installed:snippet:"+d(),[p,m]=f.default.useState(!!N(u));let h;return f.default.createElement("div",{id:"marketplace-add-snippet-container"},f.default.createElement("div",{className:"marketplace-customCSS-input-container"},f.default.createElement("label",{htmlFor:"marketplace-custom-css"},y("snippets.customCSS")),f.default.createElement("div",{className:"marketplace-code-editor-wrapper marketplace-code-editor"},f.default.createElement(bm.default,{value:n,onValueChange:e=>t(e),highlight:e=>(0,gm.highlight)(e,gm.languages.css),textareaId:"marketplace-custom-css",textareaClassName:"snippet-code-editor",readOnly:"VIEW_SNIPPET"===a.type,placeholder:y("snippets.customCSSPlaceholder"),style:{}}))),f.default.createElement("div",{className:"marketplace-customCSS-input-container"},f.default.createElement("label",{htmlFor:"marketplace-customCSS-name-submit"},y("snippets.snippetName")),f.default.createElement("input",{id:"marketplace-customCSS-name-submit",className:"marketplace-code-editor",value:r,onChange:e=>{"VIEW_SNIPPET"!==a.type&&o(e.target.value)},placeholder:y("snippets.snippetNamePlaceholder")})),f.default.createElement("div",{className:"marketplace-customCSS-input-container"},f.default.createElement("label",{htmlFor:"marketplace-customCSS-description-submit"},y("snippets.snippetDesc")),f.default.createElement("input",{id:"marketplace-customCSS-description-submit",className:"marketplace-code-editor",value:i,onChange:e=>{"VIEW_SNIPPET"!==a.type&&s(e.target.value)},placeholder:y("snippets.snippetDescPlaceholder")})),f.default.createElement("div",{className:"marketplace-customCSS-input-container"},f.default.createElement("label",{htmlFor:e},y("snippets.snippetPreview")," ","VIEW_SNIPPET"!==a.type&&`(${y("snippets.optional")})`),l&&f.default.createElement("label",{htmlFor:e,style:{textAlign:"center"}},f.default.createElement("img",{className:"marketplace-customCSS-image-preview",src:l,alt:"Preview"}))),"VIEW_SNIPPET"!==a.type&&f.default.createElement(f.default.Fragment,null,f.default.createElement(Ko,{onClick:()=>{h.click()}},l.length?y("snippets.changeImage"):y("snippets.addImage"),f.default.createElement("input",{id:e,type:"file",style:{display:"none"},ref:e=>h=e,onChange:async e=>{if(e.target.files?.[0])try{a=e.target.files?.[0];var t=await new Promise((e,t)=>{const r=new FileReader;r.readAsDataURL(a),r.onload=()=>{e(r.result)},r.onerror=e=>{t(e)}});t&&c(t)}catch(e){console.error(e)}var a}})),f.default.createElement(Ko,{onClick:()=>{var e,t=d(),r=i.trim();p&&"EDIT_SNIPPET"!==a.type?Spicetify.showNotification(y("snippets.duplicateName"),!0):(console.debug("Installing snippet: "+t),a.content&&a.content.item.title!==t&&(console.debug("Deleting outdated snippet: "+a.content.item.title),localStorage.removeItem("marketplace:installed:snippet:"+a.content.item.title),e=N(x.installedSnippets,[]).filter(e=>e!=="marketplace:installed:snippet:"+a.content?.item.title),localStorage.setItem(x.installedSnippets,JSON.stringify(e))),localStorage.setItem(u,JSON.stringify({title:t,code:n,description:r,imageURL:l,custom:!0})),-1===(e=N(x.installedSnippets,[])).indexOf(u)&&(e.push(u),localStorage.setItem(x.installedSnippets,JSON.stringify(e))),t=e.map(e=>N(e)),bo(t),Spicetify.PopupModal.hide(),"EDIT_SNIPPET"===a.type&&location.reload())},disabled:!d()||!n.replace(/\n/g,"\\n")},y("snippets.saveCSS"))),"VIEW_SNIPPET"===a.type&&f.default.createElement(Ko,{onClick:()=>{a.callback?.(),m(!p)}},p?y("remove"):y("install")))}),ym=t(z()),wm=t(r()),Sm=t(U()),Em=(Prism.languages.ini={comment:{pattern:/(^[ \f\t\v]*)[#;][^\n\r]*/m,lookbehind:!0},section:{pattern:/(^[ \f\t\v]*)\[[^\n\r\]]*\]?/m,lookbehind:!0,inside:{"section-name":{pattern:/(^\[[ \f\t\v]*)[^ \f\t\v\]]+(?:[ \f\t\v]+[^ \f\t\v\]]+)*/,lookbehind:!0,alias:"selector"},punctuation:/\[|\]/}},key:{pattern:/(^[ \f\t\v]*)[^ \f\n\r\t\v=]+(?:[ \f\t\v]+[^ \f\n\r\t\v=]+)*(?=[ \f\t\v]*=)/m,lookbehind:!0,alias:"attr-name"},value:{pattern:/(=[ \f\t\v]*)[^ \f\n\r\t\v]+(?:[ \f\t\v]+[^ \f\n\r\t\v]+)*/,lookbehind:!0,alias:"attr-value",inside:{"inner-value":{pattern:/^("|').+(?=\1$)/,lookbehind:!0}}},punctuation:/=/},localStorage.getItem(x.themeInstalled)),Cm=Em?N(Em):null,km=()=>{const[r,t]=wm.default.useState(Cm?(e=>{let t="";for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r))if("object"==typeof e[r]){t+=`[${r}] +`;for(const a in e[r])Object.prototype.hasOwnProperty.call(e[r],a)&&(t+=`${a}=${e[r][a]} +`)}else t+=`${r}=${e[r]} +`;return t})(Cm.schemes):y("devTools.noThemeInstalled"));return wm.default.createElement("div",{id:"marketplace-theme-dev-tools-container",className:"marketplace-theme-dev-tools-container"},wm.default.createElement("div",{className:"devtools-column"},wm.default.createElement("label",{htmlFor:"color-ini-editor"},wm.default.createElement("h2",{className:"devtools-heading"},y("devTools.colorIniEditor"))),wm.default.createElement("div",{className:"marketplace-code-editor-wrapper marketplace-code-editor"},wm.default.createElement(Sm.default,{value:r,onValueChange:e=>t(e),highlight:e=>(0,ym.highlight)(e,ym.languages.ini),textareaId:"color-ini-editor",textareaClassName:"color-ini-editor",readOnly:!Cm,placeholder:y("devTools.colorIniEditorPlaceholder"),style:{fontFamily:"monospace",resize:"none"}})),wm.default.createElement(Ko,{onClick:()=>{var e=r;{var t;Em?(t=go(e),Cm.schemes=t,localStorage.setItem(Em,JSON.stringify(Cm))):Spicetify.showNotification(y("devTools.noThemeManifest"),!0)}}},y("save"))),wm.default.createElement("div",{className:"devtools-column"},wm.default.createElement("h2",{className:"devtools-heading"},y("devTools.invalidCSS")),wm.default.createElement("div",{className:"marketplace-code-editor-wrapper marketplace-code-editor"},function(){var e=document.querySelector("body > style.marketplaceCSS.marketplaceUserCSS")?.innerHTML;if(!e)return["Error: Class name list not found; please create an issue"];var r=[];for(const o of e.matchAll(/.-?[_a-zA-Z]+[_a-zA-Z0-9-]*\s*{/g)){var a=o[0].replace(/{/g,"").trim(),n=a.split(" ");let t;for(let e=0;ewm.default.createElement("div",{key:t,className:"invalid-css-text"},e)))))},v=t(r());var xm=function(){const[e,t]=v.default.useState(null);return v.default.useEffect(()=>{!async function(){try{var{body:e,tag_name:t,message:r}=await(await fetch(zr)).json();return e&&t&&!r?{version:t.replace("v",""),changelog:await Io(e.match(/## What's Changed([\s\S]*?)(\r\n\r|\n\n##)/)[1],"spicetify","marketplace")}:null}catch(e){return console.error(e),null}}().then(e=>t(e))},[]),v.default.createElement("div",{id:"marketplace-update-container"},v.default.createElement("div",{id:"marketplace-update-description"},v.default.createElement("h4",null,y("updateModal.description")),v.default.createElement("a",{href:Fr+"/tag/v1.0.4"},y("updateModal.currentVersion",{version:_r})),v.default.createElement("a",{href:Fr+"/tag/v"+e?.version},y("updateModal.latestVersion",{version:e?.version}))),v.default.createElement("hr",null),v.default.createElement("div",{id:"marketplace-update-whats-changed"},v.default.createElement("h3",{className:"marketplace-update-header"},y("updateModal.whatsChanged")),v.default.createElement("details",null,v.default.createElement("summary",null,y("updateModal.seeChangelog")),v.default.createElement("ul",{dangerouslySetInnerHTML:{__html:e?.changelog??""}}))),v.default.createElement("hr",null),v.default.createElement("div",{id:"marketplace-update-guide"},v.default.createElement("h3",{className:"marketplace-update-header"},y("updateModal.howToUpgrade")),v.default.createElement("a",{href:"https://github.com/spicetify/marketplace/wiki/Installation"},y("updateModal.viewGuide"))))},Im=(e,t,r,a,n)=>{e=((e,t,r,a,n)=>{switch(e){case"ADD_SNIPPET":return{title:y("snippets.addTitle"),content:zo.default.createElement(vm,{type:e}),isLarge:!0};case"EDIT_SNIPPET":return{title:y("snippets.editTitle"),content:zo.default.createElement(vm,{type:e,content:a}),isLarge:!0};case"VIEW_SNIPPET":return{title:y("snippets.viewTitle"),content:zo.default.createElement(vm,{type:e,content:a,callback:n}),isLarge:!0};case"RELOAD":return{title:y("reloadModal.title"),content:zo.default.createElement(Xo,null),isLarge:!1};case"SETTINGS":return{title:y("settings.title"),content:zo.default.createElement(fm,{CONFIG:t,updateAppConfig:r}),isLarge:!0};case"THEME_DEV_TOOLS":return{title:y("devTools.title"),content:zo.default.createElement(km,null),isLarge:!0};case"BACKUP":return{title:y("backupModal.title"),content:zo.default.createElement(Jo,null),isLarge:!0};case"UPDATE":return{title:y("updateModal.title"),content:zo.default.createElement(xm,null),isLarge:!0};default:return{title:"",content:zo.default.createElement("div",null),isLarge:!1}}})(e,t,r,a,n),Spicetify.PopupModal.display(e)},w=t(r()),Nm=t(r()),Om=()=>Nm.default.createElement("svg",{role:"img",width:"16",height:"16",viewBox:"0 0 512 512","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg"},Nm.default.createElement("path",{d:"M480 352h-133.5l-45.25 45.25C289.2 409.3 273.1 416 256 416s-33.16-6.656-45.25-18.75L165.5 352H32c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32v-96C512 366.3 497.7 352 480 352zM432 456c-13.2 0-24-10.8-24-24c0-13.2 10.8-24 24-24s24 10.8 24 24C456 445.2 445.2 456 432 456zM233.4 374.6C239.6 380.9 247.8 384 256 384s16.38-3.125 22.62-9.375l128-128c12.49-12.5 12.49-32.75 0-45.25c-12.5-12.5-32.76-12.5-45.25 0L288 274.8V32c0-17.67-14.33-32-32-32C238.3 0 224 14.33 224 32v242.8L150.6 201.4c-12.49-12.5-32.75-12.5-45.25 0c-12.49 12.5-12.49 32.75 0 45.25L233.4 374.6z",fill:"currentColor"})),Am=t(r()),Tm=()=>Am.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",role:"img","aria-label":"GitHub Icon"},Am.default.createElement("path",{d:"M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z",fill:"currentColor"})),Pm=t(r()),Lm=()=>Pm.default.createElement("svg",{role:"img",width:"16",height:"16",viewBox:"0 0 448 512","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg"},Pm.default.createElement("path",{d:"M53.21 467c1.562 24.84 23.02 45 47.9 45h245.8c24.88 0 46.33-20.16 47.9-45L416 128H32L53.21 467zM432 32H320l-11.58-23.16c-2.709-5.42-8.25-8.844-14.31-8.844H153.9c-6.061 0-11.6 3.424-14.31 8.844L128 32H16c-8.836 0-16 7.162-16 16V80c0 8.836 7.164 16 16 16h416c8.838 0 16-7.164 16-16V48C448 39.16 440.8 32 432 32z",fill:"currentColor"})),Dm=t(r()),Rm=e=>{return Dm.default.createElement("div",{className:"marketplace-card__authors"},e.authors.map(e=>Dm.default.createElement("a",{title:e.name,className:"marketplace-card__author",href:e.url,draggable:"false",dir:"auto",target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),key:e.name+e.url},e.name)))},Mm=t(r()),_m=a=>{const[e,t]=Mm.default.useState(!1),n={[y("grid.externalJS")]:"external JS",[y("grid.archived")]:"archived",[y("grid.dark")]:"dark",[y("grid.light")]:"light"};var r=e=>{return e.filter((e,t,r)=>r.indexOf(e)===t).reduce((e,t)=>{var r=n[t]||t;return!a.showTags&&t!==y("grid.externalJS")&&t!==y("grid.archived")||e.push(Mm.default.createElement("li",{className:"marketplace-card__tag",draggable:!1,"data-tag":r},t)),e},[])};let o=[...a.tags??[]].sort(e=>e===y("grid.externalJS")||e===y("grid.archived")?-1:1),i=[];return 1{e.stopPropagation(),t(!0)}},"..."):null)},jm=window.Spicetify,Bm=class extends w.default.Component{tags;menuType;localStorageKey;key=null;type=Bm;constructor(e){super(e),this.menuType=jm.ReactComponent.Menu,this.localStorageKey=No(e),Object.assign(this,e),this.tags=e.item.tags||[],e.item.include&&this.tags.push(y("grid.externalJS")),e.item.archived&&this.tags.push(y("grid.archived")),this.state={installed:null!==localStorage.getItem(this.localStorageKey),stars:this.props.item.stars||0,tagsExpanded:!1,externalUrl:this.props.item.user&&this.props.item.repo?`https://github.com/${this.props.item.user}/`+this.props.item.repo:"",lastUpdated:this.props.item.user&&this.props.item.repo?this.props.item.lastUpdated:void 0,created:this.props.item.user&&this.props.item.repo?this.props.item.created:void 0}}isInstalled(){return null!==localStorage.getItem(this.localStorageKey)}async componentDidMount(){if("Installed"===this.props.CONFIG.activeTab&&"snippet"!==this.props.type){var e=`https://api.github.com/repos/${this.props.item.user}/`+this.props.item.repo,{stargazers_count:e,pushed_at:t}=await fetch(e).then(e=>e.json());if(this.state.stars!==e&&this.props.CONFIG.visual.stars&&console.debug("Stars updated to: "+e),this.state.lastUpdated!==t)switch(console.debug("New update pushed at: "+t),this.props.type){case"extension":this.installExtension();break;case"theme":this.installTheme(!0)}}}buttonClicked(){if("extension"===this.props.type)this.isInstalled()?(console.debug("Extension already installed, removing"),this.removeExtension()):this.installExtension(),Im("RELOAD");else if("theme"===this.props.type){var e=localStorage.getItem(x.themeInstalled),e=e?N(e,{}):{};if(this.isInstalled())console.debug("Theme already installed, removing"),this.removeTheme(this.localStorageKey);else{var t=localStorage.getItem(x.localTheme);if(null!=t&&"marketplace"!==t.toLowerCase())return void jm.showNotification(y("notifications.wrongLocalTheme"),!0,5e3);this.removeTheme(),this.installTheme()}(this.props.item.manifest?.include||e.include)&&Im("RELOAD")}else"app"===this.props.type?window.open(this.state.externalUrl,"_blank"):"snippet"===this.props.type?this.isInstalled()?(console.debug("Snippet already installed, removing"),this.removeSnippet()):this.installSnippet():console.error("Unknown card type")}installExtension(){var e,t,r,a,n,o,i,s,l,c,d,u;console.debug("Installing extension "+this.localStorageKey),this.props.item?({manifest:u,title:e,subtitle:t,authors:r,user:a,repo:n,branch:o,imageURL:i,extensionURL:s,readmeURL:l,lastUpdated:c,created:d}=this.props.item,localStorage.setItem(this.localStorageKey,JSON.stringify({manifest:u,type:this.props.type,title:e,subtitle:t,authors:r,user:a,repo:n,branch:o,imageURL:i,extensionURL:s,readmeURL:l,stars:this.state.stars,lastUpdated:c,created:d})),-1===(u=N(x.installedExtensions,[])).indexOf(this.localStorageKey)&&(u.push(this.localStorageKey),localStorage.setItem(x.installedExtensions,JSON.stringify(u))),console.debug("Installed"),this.setState({installed:!0})):jm.showNotification(y("notifications.extensionInstallationError"),!0)}removeExtension(){var e;localStorage.getItem(this.localStorageKey)&&(console.debug("Removing extension "+this.localStorageKey),localStorage.removeItem(this.localStorageKey),e=N(x.installedExtensions,[]).filter(e=>e!==this.localStorageKey),localStorage.setItem(x.installedExtensions,JSON.stringify(e)),console.debug("Removed"),this.setState({installed:!1}))}async installTheme(r=!1){var a=this.props["item"];if(a){console.debug("Installing theme "+this.localStorageKey);let e={},t=null;r?({schemes:r,activeScheme:n}=N(this.localStorageKey,{}),e=r,t=n):a.schemesURL&&(r=await(await fetch(a.schemesURL)).text(),e=go(r));var n=t||Object.keys(e)[0]||null,{manifest:r,title:o,subtitle:i,authors:s,user:l,repo:c,branch:d,imageURL:u,extensionURL:p,readmeURL:m,cssURL:h,schemesURL:f,include:g,lastUpdated:b,created:v}=(console.debug(e,n),a),r=(localStorage.setItem(this.localStorageKey,JSON.stringify({manifest:r,type:this.props.type,title:o,subtitle:i,authors:s,user:l,repo:c,branch:d,imageURL:u,extensionURL:p,readmeURL:m,stars:this.state.stars,tags:this.tags,cssURL:h,schemesURL:f,include:g,schemes:e,activeScheme:n,lastUpdated:b,created:v})),N(x.installedThemes,[]));-1===r.indexOf(this.localStorageKey)&&(r.push(this.localStorageKey),localStorage.setItem(x.installedThemes,JSON.stringify(r)),localStorage.setItem(x.themeInstalled,this.localStorageKey)),console.debug("Installed"),a.include||(this.fetchAndInjectUserCSS(this.localStorageKey),this.props.updateActiveTheme(this.localStorageKey),this.props.updateColourSchemes(e,n),(o=this.props.item.manifest?.name)&&(jm.Config.current_theme=o),n&&(jm.Config.color_scheme=n)),this.setState({installed:!0})}else jm.showNotification(y("notifications.themeInstallationError"),!0)}removeTheme(e){const t=e||localStorage.getItem(x.themeInstalled);var e=t&&localStorage.getItem(t);t&&e&&(console.debug("Removing theme "+t),localStorage.removeItem(t),localStorage.removeItem(x.themeInstalled),e=N(x.installedThemes,[]).filter(e=>e!==t),localStorage.setItem(x.installedThemes,JSON.stringify(e)),console.debug("Removed"),this.fetchAndInjectUserCSS(null),this.props.updateActiveTheme(null),this.props.updateColourSchemes(null,null),jm.Config.current_theme="marketplace",jm.Config.color_scheme="marketplace",this.setState({installed:!1}))}installSnippet(){console.debug("Installing snippet "+this.localStorageKey),localStorage.setItem(this.localStorageKey,JSON.stringify({code:this.props.item.code,title:this.props.item.title,description:this.props.item.description,imageURL:this.props.item.imageURL}));var e=N(x.installedSnippets,[]),e=(-1===e.indexOf(this.localStorageKey)&&(e.push(this.localStorageKey),localStorage.setItem(x.installedSnippets,JSON.stringify(e))),e.map(e=>N(e)));bo(e),this.setState({installed:!0})}removeSnippet(){localStorage.removeItem(this.localStorageKey);var e=N(x.installedSnippets,[]).filter(e=>e!==this.localStorageKey),e=(localStorage.setItem(x.installedSnippets,JSON.stringify(e)),e.map(e=>N(e)));bo(e),this.setState({installed:!1})}async fetchAndInjectUserCSS(e){try{var t=window.sessionStorage.getItem("marketplace-request-tld")||void 0,r=e?await ko(this.props.item,t):void 0;Co(r)}catch(e){console.warn(e)}}openReadme(){this.props.item?.manifest?.readme?jm.Platform.History.push({pathname:$r+"/readme",state:{data:{title:this.props.item.title,user:this.props.item.user,repo:this.props.item.repo,branch:this.props.item.branch,readmeURL:this.props.item.readmeURL,type:this.props.type,install:this.buttonClicked.bind(this),isInstalled:this.isInstalled.bind(this)}}}):jm.showNotification(y("notifications.noReadmeFile"),!0)}render(){var e,t,r=this.isInstalled();return"Installed"!==this.props.CONFIG.activeTab||r?(e=["main-card-card","marketplace-card--"+this.props.type],r&&e.push("marketplace-card--installed"),t=[],"snippet"!==this.props.type&&this.props.visual.stars&&t.push("★ "+this.state.stars),w.default.createElement("div",{className:e.join(" "),onClick:()=>{if("snippet"===this.props.type){var e=this.props.item.title.replace(/\n/g,"");if(N("marketplace:installed:snippet:"+e)?.custom)return Im("EDIT_SNIPPET",void 0,void 0,this.props);Im("VIEW_SNIPPET",void 0,void 0,this.props,this.buttonClicked.bind(this))}else this.openReadme()}},w.default.createElement("div",{className:"main-card-draggable",draggable:"true"},w.default.createElement("div",{className:"main-card-imageContainer"},w.default.createElement("div",{className:"main-cardImage-imageWrapper"},w.default.createElement("div",null,w.default.createElement("img",{alt:"","aria-hidden":"false",draggable:"false",loading:"lazy",src:this.props.item.imageURL,className:"main-image-image main-cardImage-image",onError:e=>{e.currentTarget.setAttribute("src","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII"),e.currentTarget.closest(".main-cardImage-imageWrapper")?.classList.add("main-cardImage-imageWrapper--error")}})))),w.default.createElement("div",{className:"main-card-cardMetadata"},w.default.createElement("a",{draggable:"false",title:"snippet"===this.props.type?this.props.item.title:this.props.item.manifest?.name,className:"main-cardHeader-link",dir:"auto",href:"snippet"!==this.props.type?this.state.externalUrl:"https://github.com/spicetify/marketplace/blob/main/resources/snippets.json",target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation()},w.default.createElement("div",{className:"main-cardHeader-text main-type-balladBold"},this.props.item.title)),w.default.createElement("div",{className:"main-cardSubHeader-root main-type-mestoBold marketplace-cardSubHeader"},this.props.item.authors&&w.default.createElement(Rm,{authors:this.props.item.authors}),w.default.createElement("span",null,t.join(" ‒ "))),w.default.createElement("p",{className:"marketplace-card-desc"},"snippet"===this.props.type?this.props.item.description:this.props.item.manifest?.description),this.props.item.lastUpdated&&w.default.createElement("p",{className:"marketplace-card-desc"},y("grid.lastUpdated",{val:new Date(this.props.item.lastUpdated),formatParams:{val:{year:"numeric",month:"long",day:"numeric"}}})),this.tags.length?w.default.createElement("div",{className:"marketplace-card__bottom-meta main-type-mestoBold"},w.default.createElement(_m,{tags:this.tags,showTags:this.props.CONFIG.visual.tags})):null,r&&w.default.createElement("div",{className:"marketplace-card__bottom-meta main-type-mestoBold"},"✓ ",y("grid.installed")),w.default.createElement(jm.ReactComponent.TooltipWrapper,{label:"app"===this.props.type?y("github"):y(r?"remove":"install"),renderInline:!0},w.default.createElement("div",{className:"main-card-PlayButtonContainer"},w.default.createElement(Ko,{classes:["marketplace-installButton"],type:"circle",label:"app"===this.props.type?y("github"):y(r?"remove":"install"),onClick:e=>{e.stopPropagation(),this.buttonClicked()}},"app"===this.props.type?w.default.createElement(Tm,null):r?w.default.createElement(Lm,null):w.default.createElement(Om,null)))))))):(console.debug("Card item not installed"),null)}},$m=Rr()(Bm),Fm=t(r()),zm=class extends Fm.default.Component{render(){return Fm.default.createElement("div",{onClick:this.props.onClick},Fm.default.createElement("p",{style:{fontSize:100,lineHeight:"65px"}},"»"),Fm.default.createElement("span",{style:{fontSize:20}},"Load more"))}},Um=t(r()),Gm=()=>Um.default.createElement("svg",{width:"100px",height:"100px",viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid",role:"img","aria-label":"Loading Icon"},Um.default.createElement("circle",{cx:"50",cy:"50",r:"0",fill:"none",stroke:"currentColor",strokeWidth:"2"},Um.default.createElement("animate",{attributeName:"r",repeatCount:"indefinite",dur:"1s",values:"0;40",keyTimes:"0;1",keySplines:"0 0.2 0.8 1",calcMode:"spline",begin:"0s"}),Um.default.createElement("animate",{attributeName:"opacity",repeatCount:"indefinite",dur:"1s",values:"1;0",keyTimes:"0;1",keySplines:"0.2 0 0.8 1",calcMode:"spline",begin:"0s"})),Um.default.createElement("circle",{cx:"50",cy:"50",r:"0",fill:"none",stroke:"currentColor",strokeWidth:"2"},Um.default.createElement("animate",{attributeName:"r",repeatCount:"indefinite",dur:"1s",values:"0;40",keyTimes:"0;1",keySplines:"0 0.2 0.8 1",calcMode:"spline",begin:"-0.5s"}),Um.default.createElement("animate",{attributeName:"opacity",repeatCount:"indefinite",dur:"1s",values:"1;0",keyTimes:"0;1",keySplines:"0.2 0 0.8 1",calcMode:"spline",begin:"-0.5s"}))),Hm=t(r()),Vm=()=>Hm.default.createElement("svg",{role:"img",width:"16",height:"16",viewBox:"0 0 24 24","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg"},Hm.default.createElement("path",{d:"M24 13.616v-3.232c-1.651-.587-2.694-.752-3.219-2.019v-.001c-.527-1.271.1-2.134.847-3.707l-2.285-2.285c-1.561.742-2.433 1.375-3.707.847h-.001c-1.269-.526-1.435-1.576-2.019-3.219h-3.232c-.582 1.635-.749 2.692-2.019 3.219h-.001c-1.271.528-2.132-.098-3.707-.847l-2.285 2.285c.745 1.568 1.375 2.434.847 3.707-.527 1.271-1.584 1.438-3.219 2.02v3.232c1.632.58 2.692.749 3.219 2.019.53 1.282-.114 2.166-.847 3.707l2.285 2.286c1.562-.743 2.434-1.375 3.707-.847h.001c1.27.526 1.436 1.579 2.019 3.219h3.232c.582-1.636.75-2.69 2.027-3.222h.001c1.262-.524 2.12.101 3.698.851l2.285-2.286c-.744-1.563-1.375-2.433-.848-3.706.527-1.271 1.588-1.44 3.221-2.021zm-12 2.384c-2.209 0-4-1.791-4-4s1.791-4 4-4 4 1.791 4 4-1.791 4-4 4z",fill:"currentColor"})),qm=t(r()),Wm=()=>qm.default.createElement("svg",{className:"devtools-icon",version:"1.1",viewBox:"1 1 22 22",xmlSpace:"preserve",xmlns:"http://www.w3.org/2000/svg",role:"img","aria-label":"Developer Tools Icon"},qm.default.createElement("g",{className:"devtools-icon-internal",id:"grid_system"}),qm.default.createElement("g",{id:"_icons"},qm.default.createElement("path",{d:"M18,12v-0.9l0.7-5.7C18.8,4.5,18.6,3.7,18,3c-0.6-0.6-1.4-1-2.2-1H8.3C7.4,2,6.6,2.4,6,3C5.4,3.7,5.2,4.5,5.3,5.4L6,11.1 V12c0,1.6,1.3,2.9,2.8,3l-0.4,2.9c-0.1,1,0.2,2.1,0.8,2.9S11,22,12,22s2-0.5,2.7-1.2s1-1.8,0.8-2.9L15.2,15 C16.7,14.9,18,13.6,18,12z M7.5,4.3C7.7,4.1,8,4,8.3,4H13v2c0,0.6,0.4,1,1,1s1-0.4,1-1V4h0.7c0.3,0,0.6,0.1,0.8,0.3 c0.2,0.2,0.3,0.5,0.2,0.8L16.1,10H7.9L7.3,5.1C7.2,4.8,7.3,4.6,7.5,4.3z M13.2,19.4c-0.6,0.7-1.8,0.7-2.4,0 c-0.3-0.4-0.4-0.8-0.4-1.3l0.5-3.2h2.3l0.5,3.2C13.7,18.6,13.5,19.1,13.2,19.4z M15,13h-1h-4H9c-0.6,0-1-0.4-1-1h8 C16,12.6,15.6,13,15,13z"}))),S=t(r()),Km=t(Be()),Jm=Rr()(class extends S.default.Component{render(){var e=this.props["t"];return this.props.item.enabled?S.default.createElement("li",{className:"marketplace-tabBar-headerItem","data-tab":this.props.item.value,onClick:e=>{e.preventDefault(),this.props.switchTo(this.props.item)}},S.default.createElement("a",{"aria-current":"page",className:"marketplace-tabBar-headerItemLink "+(this.props.item.active?"marketplace-tabBar-active":""),draggable:"false",href:"##"},S.default.createElement("span",{className:"main-type-mestoBold"},e("tabs."+this.props.item.value)))):null}}),Ym=S.default.memo(function({items:e,switchTo:t}){return S.default.createElement("li",{className:"marketplace-tabBar-headerItem"},S.default.createElement(Km.default,{className:"main-type-mestoBold",options:e,value:"More",placeholder:"More",onChange:t}))}),Xm=e=>{const t=document.querySelector(".Root__main-view .os-resize-observer-host")??document.querySelector(".Root__main-view .os-size-observer");if(!t)return null;const[r,a]=(0,S.useState)(t.clientWidth),n=()=>a(t.clientWidth),o=()=>{var e=document.querySelector(".marketplace-tabBar"),t=document.querySelector(".main-topBar-topbarContentWrapper");e&&t?(e&&t&&"/marketplace"===Spicetify.Platform.History.location.pathname&&(t.appendChild(e),document.querySelector(".main-topBar-container")?.setAttribute("style","contain: unset;")),Spicetify.Platform.History.listen(({pathname:e})=>{"/marketplace"!==e&&(document.querySelector(".marketplace-tabBar")?.remove(),document.querySelector(".main-topBar-container")?.removeAttribute("style"))})):setTimeout(o,100)};return(0,S.useEffect)(()=>{const e=new ResizeObserver(n);return e.observe(t),()=>{e.disconnect()}}),(0,S.useEffect)(()=>{o()}),S.default.createElement(Zm,{windowSize:r,links:e.links,activeLink:e.activeLink,switchCallback:e.switchCallback})},Zm=S.default.memo(function({links:e,activeLink:r,switchCallback:t,windowSize:a=Number.POSITIVE_INFINITY}){const n=S.default.useRef(null),[o,i]=(0,S.useState)([]),[s,l]=(0,S.useState)(0),[c,d]=(0,S.useState)([]),u=e.map(({name:e,enabled:t})=>{return{label:e,value:e,active:e===r,enabled:t}});return(0,S.useEffect)(()=>{n.current&&l(n.current.clientWidth)},[a,n.current?.clientWidth]),(0,S.useEffect)(()=>{var e;n.current&&(e=Array.from(n.current.children).map(e=>e.clientWidth),i(e))},[e]),(0,S.useEffect)(()=>{if(n.current)if(o.reduce((e,t)=>e+t,0)<=s)d([]);else{var e=Math.max(...o);const a=[];let r=e;o.forEach((e,t)=>{s>=r+e?r+=e:a.push(t)}),d(a)}},[s,o]),S.default.createElement("nav",{className:"marketplace-tabBar marketplace-tabBar-nav"},S.default.createElement("ul",{className:"marketplace-tabBar-header",ref:n},u.filter((e,t)=>!c.includes(t)).map(e=>S.default.createElement(Jm,{key:e.value,item:e,switchTo:t})),c.length||0===o.length?S.default.createElement(Ym,{items:c.map(e=>u[e]).filter(e=>e),switchTo:t}):null))}),Qm=window.Spicetify,eh=Rr()(class extends o.default.Component{constructor(e){super(e),Object.assign(this,e),this.updateAppConfig=e.updateAppConfig.bind(this),this.sortConfig={by:N(x.sort,"top")},this.state={version:_r,newUpdate:!1,searchValue:"",cards:[],tabs:e.CONFIG.tabs,rest:!0,endOfList:!1,schemes:e.CONFIG.theme.schemes,activeScheme:e.CONFIG.theme.activeScheme,activeThemeKey:e.CONFIG.theme.activeThemeKey}}searchRequested;endOfList=!1;lastScroll=0;requestQueue=[];requestPage=0;cardList=[];sortConfig;gridUpdateTabs;gridUpdatePostsVisual;checkScroll;CONFIG;updateAppConfig;BLACKLIST;SNIPPETS;getInstalledTheme(){var e=localStorage.getItem(x.themeInstalled);return(e=e&&localStorage.getItem(e))?JSON.parse(e):null}newRequest(e){this.cardList=[];var t=[];this.requestQueue.unshift(t),this.loadAmount(t,e)}appendCard(e,t,r){r===this.props.CONFIG.activeTab&&(r=o.default.createElement($m,{item:e,key:`${this.props.CONFIG.activeTab}:${e.user}:`+e.title,CONFIG:this.CONFIG,visual:this.props.CONFIG.visual,type:t,activeThemeKey:this.state.activeThemeKey,updateColourSchemes:this.updateColourSchemes.bind(this),updateActiveTheme:this.setActiveTheme.bind(this)}),this.cardList.push(r))}updateSort(e){e&&(this.sortConfig.by=e,localStorage.setItem(x.sort,e)),this.requestPage=0,this.cardList=[],this.setState({cards:[],rest:!1,endOfList:!1}),this.endOfList=!1,this.newRequest(Br)}updateTabs(){this.setState({tabs:[...this.props.CONFIG.tabs]})}updatePostsVisual(){this.cardList=this.cardList.map((e,t)=>o.default.createElement($m,{...e.props,key:t.toString(),CONFIG:this.CONFIG})),this.setState({cards:[...this.cardList]})}switchTo(e){this.CONFIG.activeTab=e.value,localStorage.setItem(x.activeTab,e.value),this.cardList=[],this.requestPage=0,this.setState({cards:[],rest:!1,endOfList:!1}),this.endOfList=!1,this.newRequest(Br)}async loadPage(e){var t=this.CONFIG.activeTab;switch(t){case"Extensions":var r=await Do("spicetify-extensions",this.requestPage,this.BLACKLIST,this.CONFIG.visual.showArchived),a=[];for(const f of r.items){var n=await _o(f.contents_url,f.default_branch,f.stargazers_count,this.CONFIG.visual.hideInstalled);if(1({...e,archived:f.archived,lastUpdated:f.pushed_at,created:f.created_at})))}Lo(a,localStorage.getItem("marketplace:sort")||"stars");for(const g of a)this.appendCard(g,"extension",t);this.setState({cards:this.cardList});var o=-1({...e,archived:w.archived,lastUpdated:w.pushed_at,created:w.created_at})))}this.setState({cards:this.cardList}),Lo(u,localStorage.getItem("marketplace:sort")||"stars");for(const S of u)this.appendCard(S,"theme",t);r=-1({...e,archived:E.archived,lastUpdated:E.pushed_at,created:E.created_at})))}this.setState({cards:this.cardList}),Lo(m,localStorage.getItem("marketplace:sort")||"stars");for(const C of m)this.appendCard(C,"app",t);i=-1e!==t):(this.requestQueue.shift(),this.setState({rest:!0}))}loadMore(){this.state.rest&&!this.endOfList&&this.loadAmount(this.requestQueue[0],Br)}updateColourSchemes(e,t){console.debug("updateColourSchemes",e,t),this.CONFIG.theme.schemes=e,(this.CONFIG.theme.activeScheme=t)&&(Qm.Config.color_scheme=t),e&&t&&e[t]?Eo(this.CONFIG.theme.schemes[t]):Eo(null);var r=N(x.themeInstalled),a=N(r);a?(a.activeScheme=t,console.debug(a),localStorage.setItem(r,JSON.stringify(a))):console.debug("No installed theme data"),this.setState({schemes:e,activeScheme:t})}async componentDidMount(){fetch(zr).then(e=>e.json()).then(e=>{if(e.message)throw e;this.setState({version:e.name});try{this.setState({newUpdate:Mr.default.gt(e.name,_r)})}catch(e){console.error(e)}},e=>{console.error("Failed to check for updates",e)}),this.gridUpdateTabs=this.updateTabs.bind(this),this.gridUpdatePostsVisual=this.updatePostsVisual.bind(this);var e=document.querySelector(".os-viewport")??document.querySelector("#main .main-view-container__scroll-node");this.checkScroll=this.isScrolledBottom.bind(this),e&&(e.addEventListener("scroll",this.checkScroll),this.cardList.length)?0=e.scrollHeight&&this.loadMore()}setActiveTheme(e){this.CONFIG.theme.activeThemeKey=e,this.setState({activeThemeKey:e})}getActiveScheme(){return this.state.activeScheme}render(){const r=this.props["t"];return o.default.createElement("section",{className:"contentSpacing"},o.default.createElement("div",{className:"marketplace-header"},o.default.createElement("div",{className:"marketplace-header__left"},this.state.newUpdate?o.default.createElement("button",{type:"button",title:r("grid.newUpdate"),className:"marketplace-header-icon-button",id:"marketplace-update",onClick:()=>Im("UPDATE")},o.default.createElement(Om,null)," ",this.state.version):null,o.default.createElement("h2",{className:"marketplace-header__label"},r("grid.sort.label")),o.default.createElement(ai,{onChange:e=>this.updateSort(e),sortBoxOptions:wo(r),sortBySelectedFn:e=>e.key===this.CONFIG.sort})),o.default.createElement("div",{className:"marketplace-header__right"},this.CONFIG.visual.themeDevTools?o.default.createElement(Qm.ReactComponent.TooltipWrapper,{label:r("devTools.title"),renderInline:!0,placement:"bottom"},o.default.createElement("button",{type:"button","aria-label":r("devTools.title"),className:"marketplace-header-icon-button",onClick:()=>Im("THEME_DEV_TOOLS")},o.default.createElement(Wm,null))):null,this.state.activeScheme?o.default.createElement(ai,{onChange:e=>this.updateColourSchemes(this.state.schemes,e),sortBoxOptions:yo(this.state.schemes),sortBySelectedFn:e=>e.key===this.getActiveScheme()}):null,o.default.createElement("div",{className:"searchbar--bar__wrapper"},o.default.createElement("input",{className:"searchbar-bar",type:"text",placeholder:`${r("grid.search")} ${r("tabs."+this.CONFIG.activeTab)}...`,value:this.state.searchValue,onChange:e=>{this.setState({searchValue:e.target.value})}})),o.default.createElement(Qm.ReactComponent.TooltipWrapper,{label:r("settings.title"),renderInline:!0,placement:"bottom"},o.default.createElement("button",{type:"button","aria-label":r("settings.title"),className:"marketplace-header-icon-button",id:"marketplace-settings-button",onClick:()=>Im("SETTINGS",this.CONFIG,this.updateAppConfig)},o.default.createElement(Vm,null))))),[{handle:"extension",name:"Extensions"},{handle:"theme",name:"Themes"},{handle:"snippet",name:"Snippets"},{handle:"app",name:"Apps"}].map(t=>{var e=this.cardList.filter(e=>e.props.type===t.handle).filter(e=>{const t=this.state.searchValue.trim().toLowerCase();var{title:e,user:r,authors:a,tags:n}=e.props.item;return!t||e.toLowerCase().includes(t)||r?.toLowerCase().includes(t)||a?.some(e=>e.name.toLowerCase().includes(t))||[...n??[]].some(e=>e.toLowerCase().includes(t))}).map(e=>o.default.cloneElement(e,{activeThemeKey:this.state.activeThemeKey,key:e.key})).filter((t,e,r)=>r.findIndex(e=>e.key===t.key)===e);return e.length?o.default.createElement(o.default.Fragment,null,o.default.createElement("h2",{className:"marketplace-card-type-heading"},r("tabs."+t.name)),o.default.createElement("div",{className:"marketplace-grid main-gridContainer-gridContainer main-gridContainer-fixedWidth","data-tab":this.CONFIG.activeTab,"data-card-type":r("tabs."+t.name)},e)):null}),"Snippets"===this.CONFIG.activeTab?o.default.createElement(Ko,{classes:["marketplace-add-snippet-btn"],onClick:()=>Im("ADD_SNIPPET")},"+ ",r("grid.addCSS")):null,o.default.createElement("footer",{className:"marketplace-footer"},!this.state.endOfList&&(this.state.rest&&0${this.props.t("readmePage.loading")}

      `};getReadmeHTML=async()=>fetch(this.props.data.readmeURL).then(e=>{if(e.ok)return e.text();throw Spicetify.showNotification(`${this.props.t("readmePage.errorLoading")} (HTTP ${e.status})`,!0)}).then(e=>Io(e,this.props.data.user,this.props.data.repo)).then(e=>(e||Spicetify.Platform.History.goBack(),e)).catch(e=>(console.error(e),Spicetify.Platform.History.goBack(),null));componentDidMount(){this.getReadmeHTML().then(e=>{null!=e&&this.setState({html:e})})}componentDidUpdate(){const e=document.querySelector("#marketplace-readme")?.closest("main");if(e){const t=setInterval(()=>{document.querySelector("#marketplace-readme")?(e.style.overflowY="visible",e.style.overflowY="auto"):(clearInterval(t),e.style.removeProperty("overflow-y"))},1e3)}document.querySelectorAll("#marketplace-readme img").forEach(e=>{e.addEventListener("error",e=>{var e=e.target,t=e.getAttribute("src"),t="/"===t?.charAt(0)?`https://raw.githubusercontent.com/${this.props.data.user}/${this.props.data.repo}/${this.props.data.branch}/`+t?.slice(1):this.props.data.readmeURL.substring(0,this.props.data.readmeURL.lastIndexOf("/"))+"/"+t;e.setAttribute("src",t)},{once:!0})})}buttonContent(){return"app"===this.props.data.type?{icon:th.default.createElement(Tm,null),text:this.props.t("github")}:this.state.isInstalled?{icon:th.default.createElement(Lm,null),text:this.props.t("remove")}:{icon:th.default.createElement(Om,null),text:this.props.t("install")}}render(){var e="control"!==JSON.parse(localStorage.getItem("spicetify-exp-features")||"{}").enableGlobalNavBar?.value&&!0;return th.default.createElement("section",{className:"contentSpacing"},th.default.createElement("div",{className:"marketplace-header",style:{marginTop:e?"60px":"0px"}},th.default.createElement("div",{className:"marketplace-header__left"},th.default.createElement("h1",null,this.props.title)),th.default.createElement("div",{className:"marketplace-header__right"},th.default.createElement(Ko,{classes:["marketplace-header__button"],onClick:e=>{e.preventDefault(),this.props.data.install(),this.setState({isInstalled:!this.state.isInstalled})},label:this.buttonContent().text},this.buttonContent().icon," ",this.buttonContent().text))),"

      Loading...

      "===this.state.html?th.default.createElement("footer",{className:"marketplace-footer"},th.default.createElement(Gm,null)):th.default.createElement("div",{id:"marketplace-readme",className:"marketplace-readme__container",dangerouslySetInnerHTML:{__html:this.state.html}}))}}),Ln={ar:{translation:{settings:{title:"إعدادات المتجر",optionsHeading:"خيارات",starCountLabel:"عدد النجوم",tagsLabel:"العلامات",showArchived:"إظهار المستودعات المؤرشفة",devToolsLabel:"أدوات مطوري السمات",hideInstalledLabel:"إخفاء المثبتة عند التصفح",colourShiftLabel:"تغيير الألوان كل دقيقة",albumArtBasedColors:"تغيير الألوان بناءً على غلاف الألبوم",albumArtBasedColorsMode:"وضع نظام الألوان (واجهة برمجة التطبيقات الملونة (API))",albumArtBasedColorsVibrancy:"اللون المأخوذ من غلاف الألبوم",albumArtBasedColorsVibrancyToolTip:"مشبع قليلًا: اللون الأكثر بروزًا ولكن مع سطوع أقل بكثير \n ساطع خفيف: اللون الأكثر حيوية ولكن مع زيادة السطوع قليلًا \n بارز: اللون الأكثر بروزًا في غلاف الألبوم \n حيوي: اللون الأكثر حيوية في غلاف الألبوم",almbumArtColorsModeToolTip:"أحادي اللون الداكن: نظام ألوان يعتمد بشكل مباشر على اللون الرئيسي المحدد، باستخدام ظلال مختلفة من اللون الرئيسي ودمج درجات الرمادي لإنشاء نظام ألوان، وهذا هو عكس نظام أحادي اللون الفاتح. \n أحادي اللون الفاتح: نظام ألوان يعتمد بشكل مباشر على اللون الرئيسي المحدد، باستخدام ظلال مختلفة من اللون الرئيسي ودمج درجات الرمادي لإنشاء نظام ألوان. ستكون خلفية أحادي اللون الفاتح هي لون المقدمة أو النص في نظام أحادي اللون الداكن والعكس صحيح. \n تناظري: نظام ألوان يعتمد على اللون الرئيسي المحدد، باستخدام الألوان المجاورة للون الرئيسي على عجلة الألوان. \n تناظري تكميلي: نظام ألوان يعتمد على اللون الرئيسي المحدد، باستخدام الألوان المجاورة للون الرئيسي على عجلة الألوان واللون التكميلي. \n ثلاثي: نظام ألوان يعتمد على اللون الرئيسي المحدد، باستخدام الألوان الموجودة على عجلة الألوان والتي تكون متساوية البعد عن اللون الرئيسي. \n رباعي: نظام ألوان يعتمد على اللون الرئيسي المحدد، باستخدام الألوان الموجودة على عجلة الألوان والتي تبعد 90 درجة عن اللون الرئيسي.",tabsHeading:"علامات التبويب",tabsDescription:"اسحب وأفلت لإعادة الترتيب، انقر للتمكين/التعطيل",resetHeading:"إعادة الضبط",resetBtn:"$t(settings.resetHeading)",resetDescription:"إلغاء تثبيت جميع الإضافات والسمات، وإعادة ضبط التفضيلات",backupHeading:"نسخ احتياطي/استعادة",backupLabel:"نسخ احتياطي أو استعادة جميع بيانات المتجر. لا يتضمن ذلك إعدادات أي شيء تم تثبيته عبر المتجر.",backupBtn:"فتح",versionHeading:"الإصدار",versionBtn:"نسخ",versionCopied:"تم النسخ"},tabs:{Extensions:"الإضافات",Themes:"السمات",Snippets:"المقتطفات",Apps:"التطبيقات",Installed:"المثبتة"},snippets:{addTitle:"إضافة مقتطف",duplicateName:"هذا الاسم مستخدم بالفعل!",editTitle:"تعديل مقتطف",viewTitle:"عرض مقتطف",customCSS:"CSS مخصص",customCSSPlaceholder:"أدخل CSS المخصص الخاص بك هنا! يمكنك العثور عليها في علامة التبويب المثبتة للإدارة.",snippetName:"اسم المقتطف",snippetNamePlaceholder:"أدخل اسمًا للمقتطف المخصص الخاص بك",snippetDesc:"وصف المقتطف",snippetDescPlaceholder:"أدخل وصفًا للمقتطف المخصص الخاص بك",snippetPreview:"معاينة المقتطف",optional:"اختياري",addImage:"إضافة صورة",changeImage:"تغيير الصورة",saveCSS:"حفظ CSS"},reloadModal:{title:"إعادة التحميل",description:"يجب إعادة تحميل الصفحة لإكمال هذه العملية.",reloadNow:"إعادة التحميل الآن",reloadLater:"إعادة التحميل لاحقًا"},backupModal:{title:"$t(settings.backupHeading)",settingsCopied:"تم نسخ الإعدادات إلى الحافظة",noDataPasted:"لم يتم لصق أي بيانات",invalidJSON:"JSON غير صالح",inputLabel:"إعدادات المتجر",inputPlaceholder:"انسخ/ألصق إعداداتك هنا",exportBtn:"تصدير",importBtn:"استيراد",fileImportBtn:"استيراد من ملف"},devTools:{title:"أدوات تطوير السمات",noThemeInstalled:"خطأ: لم يتم تثبيت أي سمة من المتجر",noThemeManifest:"خطأ: لم يتم العثور على بيان السمة",colorIniEditor:"محرر Color.ini",colorIniEditorPlaceholder:"[اسم-نظام-الألوان-الخاص-بك]",invalidCSS:"CSS غير صالح"},updateModal:{title:"تحديث المتجر",description:"قم بتحديث متجر سبياسيتيفي لتلقي ميزات جديدة وإصلاح الأخطاء.",currentVersion:"الإصدار الحالي: {{إصدار}}",latestVersion:"أحدث إصدار: {{إصدار}}",whatsChanged:"ما الذي تغير",seeChangelog:"عرض سجل التغييرات",howToUpgrade:"كيفية الترقية",viewGuide:"عرض الدليل"},grid:{spicetifyMarketplace:"متجر سبياسيتيفي",newUpdate:"تحديث جديد",addCSS:"إضافة CSS",search:"بحث",installed:"مثبتة",lastUpdated:"آخر تحديث {{val, datetime}}",externalJS:"JS خارجي",archived:"مؤرشفة",dark:"داكن",light:"فاتح",sort:{label:"فرز حسب:",stars:"النجوم",newest:"الأحدث",oldest:"الأقدم",lastUpdated:"آخر تحديث",mostStale:"الأكثر تقادمًا",aToZ:"أ-ي",zToA:"ي-أ"}},readmePage:{title:"$t(grid.spicetifyMarketplace) - اقرأني",loading:"جارٍ التحميل...",errorLoading:"README خطأ في تحميل ملف اقرأني"},github:"غيثب",install:"تثبيت",remove:"إزالة",save:"حفظ",colour_one:"لون",colour_other:"ألوان",favourite:"مفضل",notifications:{wrongLocalTheme:"يُرجى ضبط السمة الحالية في config-xpui.ini على ” المتجر“ لتثبيت السمات باستخدام المتجر",tooManyRequests:"عدد كبير جدًا من الطلبات، يرجى الانتظار",noCdnConnection:"المتجر غير قادر على الاتصال بشبكة CDN. يرجى التحقق من إعدادات الإنترنت الخاصة بك",markdownParsingError:"خطأ في تحليل Markdown (HTTP {{status}})",noReadmeFile:"لم يتم العثور على ملف اقرأني README",themeInstallationError:"حدث خطأ أثناء تثبيت السمة",extensionInstallationError:"حدث خطأ أثناء تثبيت الإضافة"}}},ca:{translation:{settings:{title:"Configuració",optionsHeading:"Opcions",starCountLabel:"Número d'estrelles",tagsLabel:"Etiquetes",devToolsLabel:"Eines per a desenvolupadors de temes",hideInstalledLabel:"Amagar instal·lats",colourShiftLabel:"Canviar colors cada minut",albumArtBasedColors:"Canviar colors a partir de la portada de l'àlbum",albumArtBasedColorsMode:"Mode esquema de colors (ColorApi)",albumArtBasedColorsVibrancy:"Colors agafats de la portada de l'àlbum",albumArtBasedColorsVibrancyToolTip:"Desaturat:El color més destacat però amb molta menys bror \n Vibrant Clar: El color més villantibrant amb la brillantor augmentada una mica \n Prominent: El color més destacat a la portada de l'Àlbum \n Vibrant: El color més vibrant a la portada de l'Àlbum",almbumArtColorsModeToolTip:"Monochrome Dark: Un esquema de colors basat en el color principal seleccionat, emprant diferentes tonalitats i barrejant tons grisos per crear l'esquema de colors, aquest és l'invers de Monochrome Light. \n Monochrome Light: Un esquema de colors basat en el color principal seleccionat, emprant diferentes tonalitats i barrejant tons grisos per crear l'esquema de colors. El colors del fins de Monochrome light seria el color de primer pla en Monochrome Dark i viceversa. \n Analògic: Un esquema de colors basat en el color principal seleccionat, emprant els colors adjacents en la roda de colors. \n Analògic Complementari: Un esquema de colors basat en el color principal seleccionat, emprant els colors adjacents en la roda de colors i el color complementari. \n Tríada: Un esquema de colors basat en el color principal seleccionat, emprant els colors de la roda de colors que estan separats de manera equidistant del color principal. \n Quad: Un esquema de colors basat en el color principal seleccionat, emprant els colors que es troben separats 90 graus entre si en la roda de colors.",tabsHeading:"Pestanyes",tabsDescription:"Arrossegueu i deixeu anar per canviar l'ordre, feu clic per activar/desactivar",resetHeading:"Restablir",resetBtn:"$t(settings.resetHeading)",resetDescription:"Borrar totes les extensions, temes i preferències",backupHeading:"Fer una còpia/Reestablir des d'una còpia",backupLabel:"Fer una còpia o restablir totes les dades de Marketplace des d'una còpia. Això no inclou la configuració per els elements instal·lats amb Marketplace.",backupBtn:"Obrir",versionHeading:"Versió",versionBtn:"Copiar",versionCopied:"Copiat"},tabs:{Extensions:"Extensions",Themes:"Temes",Snippets:"Fragments",Apps:"Aplicacions",Installed:"Instal·lats"},snippets:{addTitle:"Afegir fragment",editTitle:"Editar fragment",viewTitle:"Veure fragment",customCSS:"CSS personalitzat",customCSSPlaceholder:"Crea el teu propi CSS aqui! Pots trobar-los a la pestanya d'instal·lats per administrar-los.",snippetName:"Nom del fragment de codi",snippetNamePlaceholder:"Afegeix un nom al teu codi personalitzat",snippetDesc:"Descripció del codi",snippetDescPlaceholder:"Crea una descripció per al teu codi personalitzat",snippetPreview:"Vista prèvia del fragment",optional:"Opcional",addImage:"Afegir imatge",changeImage:"Canviar imatge",saveCSS:"Guardar CSS"},reloadModal:{title:"Recarregar",description:"És necessari recarregar la finestra per completar aquesta operació.",reloadNow:"Fes-ho ara",reloadLater:"Després"},backupModal:{title:"$t(settings.backupHeading)",settingsCopied:"Configuració copiada al portapapers",noDataPasted:"No s'han enganxat dades",invalidJSON:"JSON invàlid",inputLabel:"Configuració de Marketplace",inputPlaceholder:"Còpia/enganxa la teva configuració aquí",exportBtn:"Exportar",importBtn:"Importar",fileImportBtn:"Importar des d'un arxiu"},devTools:{title:"Eines de desenvolupador de temes",noThemeInstalled:"Error: No hi ha cap tema de Marketplace instal·lat",noThemeManifest:"Error: No s'ha trobat el manifest",colorIniEditor:"Editor de Color.ini",colorIniEditorPlaceholder:"[nom-de-esquema-de-color]",invalidCSS:"CSS invàlid"},grid:{spicetifyMarketplace:"Marketplace de Spicetify",newUpdate:"Nova Actualització",addCSS:"Afegir CSS",search:"Buscar",installed:"Instal·lat",lastUpdated:"Última actualizació {{val, datetime}}",externalJS:"JS extern",dark:"fosc",light:"clar"},readmePage:{title:"$t(grid.spicetifyMarketplace) - Readme",loading:"Carregant...",errorLoading:"Error carregant el README"},github:"GitHub",install:"Instal·lar",remove:"Borrar",save:"Guardar",colour_one:"color",colour_other:"colors",favourite:"preferit"}},en:{translation:{settings:{title:"Marketplace Settings",optionsHeading:"Options",starCountLabel:"Stars count",tagsLabel:"Tags",showArchived:"Show archived repos",devToolsLabel:"Theme developer tools",hideInstalledLabel:"Hide installed when browsing",colourShiftLabel:"Shift colours every minute",albumArtBasedColors:"Change colours based on album art",albumArtBasedColorsMode:"Colour scheme (ColorApi) mode",albumArtBasedColorsVibrancy:"Colour grabbed from album art",albumArtBasedColorsVibrancyToolTip:"Desaturated: The colour that is the most prominent but with much less brightness \n Light Vibrant: The most Vibrant colour but with the brightness amped up a tad \n Prominent: The colour that pops the most in the album art \n Vibrant: The most vibrant colour in the album art",almbumArtColorsModeToolTip:"Monochrome Dark: A colour scheme based directly on the main colour selected, using different shades of the main colour and mixing in greys to create a colour scheme, this is the inverse of Monochrome Light. \n Monochrome Light: A colour scheme based directly on the main colour selected, using different shades of the main colour and mixing in greys to create a colour scheme. The background of monochrome light would be the foreground or text colour on Monochrome Dark and vice versa. \n Analogic: A colour scheme based on the main colour selected, using the colours adjacent to the main colour on the colour wheel. \n Analogic Complementary: A colour scheme based on the main colour selected, using the colours adjacent to the main colour on the colour wheel and the complementary colour. \n Triad: A colour scheme based on the main colour selected, using the colours on the colour wheel that are equidistant from the main colour. \n Quad: A colour scheme based on the main colour selected, using the colours on the colour wheel that are 90 degrees from the main colour.",tabsHeading:"Tabs",tabsDescription:"Drag and drop to reorder, click to enable/disable",resetHeading:"Reset",resetBtn:"$t(settings.resetHeading)",resetDescription:"Uninstall all extensions and themes, and reset preferences",backupHeading:"Back up/Restore",backupLabel:"Back up or restore all Marketplace data. This does not include settings for anything installed via Marketplace.",backupBtn:"Open",versionHeading:"Version",versionBtn:"Copy",versionCopied:"Copied"},tabs:{Extensions:"Extensions",Themes:"Themes",Snippets:"Snippets",Apps:"Apps",Installed:"Installed"},snippets:{addTitle:"Add Snippet",duplicateName:"That name is already taken!",editTitle:"Edit Snippet",viewTitle:"View Snippet",customCSS:"Custom CSS",customCSSPlaceholder:"Input your own custom CSS here! You can find them in the installed tab for management.",snippetName:"Snippet Name",snippetNamePlaceholder:"Enter a name for your custom snippet",snippetDesc:"Snippet Description",snippetDescPlaceholder:"Enter a description for your custom snippet",snippetPreview:"Snippet Preview",optional:"Optional",addImage:"Add image",changeImage:"Change image",saveCSS:"Save CSS"},reloadModal:{title:"Reload",description:"A page reload is required to complete this operation.",reloadNow:"Reload now",reloadLater:"Reload later"},backupModal:{title:"$t(settings.backupHeading)",settingsCopied:"Settings copied to clipboard",noDataPasted:"No data pasted",invalidJSON:"Invalid JSON",inputLabel:"Marketplace Settings",inputPlaceholder:"Copy/paste your settings here",exportBtn:"Export",importBtn:"Import",fileImportBtn:"Import from file"},devTools:{title:"Theme Dev Tools",noThemeInstalled:"Error: No marketplace theme installed",noThemeManifest:"Error: No theme manifest found",colorIniEditor:"Color.ini Editor",colorIniEditorPlaceholder:"[your-colour-scheme-name]",invalidCSS:"Invalid CSS"},updateModal:{title:"Update the Marketplace",description:"Update Spicetify Marketplace to receive new features and bug fixes.",currentVersion:"Current version: {{version}}",latestVersion:"Latest version: {{version}}",whatsChanged:"What's Changed",seeChangelog:"See changelog",howToUpgrade:"How to upgrade",viewGuide:"View guide"},grid:{spicetifyMarketplace:"Spicetify Marketplace",newUpdate:"New update",addCSS:"Add CSS",search:"Search",installed:"Installed",lastUpdated:"Last updated {{val, datetime}}",externalJS:"external JS",archived:"archived",dark:"dark",light:"light",sort:{label:"Sort by:",stars:"Stars",newest:"Newest",oldest:"Oldest",lastUpdated:"Last Updated",mostStale:"Most Stale",aToZ:"A-Z",zToA:"Z-A"}},readmePage:{title:"$t(grid.spicetifyMarketplace) - Readme",loading:"Loading...",errorLoading:"Error loading README"},github:"GitHub",install:"Install",remove:"Remove",save:"Save",colour_one:"colour",colour_other:"colours",favourite:"favourite",notifications:{wrongLocalTheme:"Please set current_theme in config-xpui.ini to 'marketplace' to install themes using the Marketplace",tooManyRequests:"Too many requests, cool down",noCdnConnection:"Marketplace is unable to connect to the CDN. Please check your Internet configuration",markdownParsingError:"Error parsing markdown (HTTP {{status}})",noReadmeFile:"No README was found",themeInstallationError:"There was an error installing theme",extensionInstallationError:"There was an error installing extension"}}},"en-US":{translation:{settings:{colourShiftLabel:"Shift colors every minute",albumArtBasedColors:"Change colors based on album art",albumArtBasedColorsMode:"Color scheme (ColorApi) mode",albumArtBasedColorsVibrancy:"Color grabbed from album art",albumArtBasedColorsVibrancyToolTip:"Desaturated: The color that is the most prominent but with much less brightness \n Light Vibrant: The most Vibrant color but with the brightness amped up a tad \n Prominent: The color that pops the most in the album art \n Vibrant: The most vibrant color in the album art",almbumArtColorsModeToolTip:"Monochrome Dark: A color scheme based directly on the main color selected, using different shades of the main color and mixing in greys to create a color scheme, this is the inverse of Monochrome Light. \n Monochrome Light: A color scheme based directly on the main color selected, using different shades of the main color and mixing in greys to create a color scheme. The background of monochrome light would be the foreground or text color on Monochrome Dark and vice versa. \n Analogic: A color scheme based on the main color selected, using the colors adjacent to the main color on the color wheel. \n Analogic Complementary: A color scheme based on the main color selected, using the colors adjacent to the main color on the color wheel and the complementary color. \n Triad: A color scheme based on the main color selected, using the colors on the color wheel that are equidistant from the main color. \n Quad: A color scheme based on the main color selected, using the colors on the color wheel that are 90 degrees from the main color."},devTools:{colorIniEditorPlaceholder:"[your-color-scheme-name]"},colour_one:"color",colour_other:"colors",favourite:"favorite"}},es:{translation:{settings:{title:"Ajustes",optionsHeading:"Opciones",starCountLabel:"Número de estrellas",tagsLabel:"Etiquetas",devToolsLabel:"Herramientas para desarrolladores de temas",hideInstalledLabel:"Ocultar lo instalado al navegar",colourShiftLabel:"Cambiar colores cada minuto",tabsHeading:"Pestañas",tabsDescription:"Arrastre y suelte para cambiar el orden, haga clic para activar/desactivar",resetHeading:"Restablecer",resetBtn:"$t(settings.resetHeading)",resetDescription:"Borrar todas extensiones y temas, y borrar preferencias",backupHeading:"Copia de seguridad/Restauración",backupLabel:"Haz una copia de seguridad o restaura todos los datos de Marketplace. Esto no incluye la configuración de nada instalado a través de Marketplace.",backupBtn:"Abrir"},tabs:{Extensions:"Extensiones",Themes:"Temas",Snippets:"Códigos",Apps:"Aplicaciones",Installed:"Instalados"},snippets:{addTitle:"Añadir Código",editTitle:"Editar Código",viewTitle:"Ver Código",customCSS:"Custom CSS",customCSSPlaceholder:"¡Crea tu propio CSS aquí! Puedes encontrarlos en la pestaña de instalados para administrarlos.",snippetName:"Nombre del código",snippetNamePlaceholder:"Asígnale un nombre para tu código personalizado",snippetDesc:"Descripción del código",snippetDescPlaceholder:"Crea una descripción para tu código personalizado",snippetPreview:"Código",optional:"Opcional",addImage:"Añadir imagen",changeImage:"Cambiar imagen",saveCSS:"Guardar CSS"},reloadModal:{title:"Recargar",description:"Es necesario recargar la página para completar esta operación.",reloadNow:"Recargar ahora",reloadLater:"Recargar después"},backupModal:{title:"$t(settings.backupHeading)",settingsCopied:"Ajustes copiados al portapapeles",noDataPasted:"No hay datos pegados",invalidJSON:"JSON inválido",inputLabel:"Ajustes de Marketplace",inputPlaceholder:"Copia/pega tus ajustes aquí",exportBtn:"Exportar",importBtn:"Importar",fileImportBtn:"Importar desde un archivo"},devTools:{title:"Herramientas de desarrollador de temas",noThemeInstalled:"Error: No se ha instalado el tema del marketplace",noThemeManifest:"Error: No se ha encontrado el manifiesto del tema",colorIniEditor:"Editor de Color.ini",colorIniEditorPlaceholder:"[nombre-de-esquema-de-color]",invalidCSS:"CSS inválido"},grid:{spicetifyMarketplace:"Marketplace de Spicetify",newUpdate:"Nueva actualización",addCSS:"Añadir CSS",search:"Buscar",installed:"Instalado",lastUpdated:"Última actualización {{val, datetime}}",externalJS:"JS externo",dark:"oscuro",light:"claro"},readmePage:{title:"$t(grid.spicetifyMarketplace) - Readme",loading:"Cargando...",errorLoading:"Error al cargar el README"},github:"GitHub",install:"Instalar",remove:"Borrar",save:"Guardar",colour_one:"color",colour_other:"colores",favourite:"favorito"}},fr:{translation:{settings:{title:"Réglages Marché Spicetify",optionsHeading:"Options",starCountLabel:"Nombres d’étoiles",tagsLabel:"Tags",devToolsLabel:"Outils pour les développeurs de thèmes",hideInstalledLabel:"Masquer ceux étant installés lors de la navigation",colourShiftLabel:"Changer de couleur chaque minutes",albumArtBasedColors:"Changement des couleurs basé sur les pochettes d'albums",albumArtBasedColorsMode:"Mode de schéma de couleur (ColorApi)",albumArtBasedColorsVibrancy:"Couleur saisie depuis les pochettes d'albums",albumArtBasedColorsVibrancyToolTip:"Désaturé: La couleur qui est la plus proéminente mais avec beaucoup moins de luminosité\nVibrations Claires: La couleur la plus vibrante, mais avec une luminosité un peu plus forte\nPrometteur: La couleur qui ressort le plus dans la pochette de l'album\nVibrations: La couleur la plus vibrante dans la pochette de l'album",albumArtColorsModeToolTip:"Monochrome foncé: une palette de couleurs basée directement sur la couleur principale sélectionnée, en utilisant différentes nuances de la couleur principale et en mélangeant des gris pour créer une palette de couleurs, c'est l'inverse du monochrome clair.\nMonochrome clair: Une palette de couleurs basée directement sur la couleur principale sélectionnée, en utilisant différentes nuances de la couleur principale et en mélangeant les gris pour créer une palette de couleurs. L'arrière-plan d'un monochrome clair sera le premier plan ou la couleur du texte d'un monochrome foncé et vice versa.\nAnalogique: Schéma de couleurs basé sur la couleur principale sélectionnée, utilisant les couleurs adjacentes à la couleur principale sur le cercle chromatique.\nAnalogique complémentaire: Un schéma de couleurs basé sur la couleur principale sélectionnée, utilisant les couleurs adjacentes à la couleur principale sur le cercle chromatique et la couleur complémentaire.\nTriade: Un schéma de couleurs basé sur la couleur principale sélectionnée, utilisant les couleurs équidistantes de la couleur principale sur le cercle chromatique.\nQuad: Un schéma de couleurs basé sur la couleur principale sélectionnée, utilisant les couleurs du cercle chromatique qui sont à 90 degrés de la couleur principale.",tabsHeading:"Onglets",tabsDescription:"Glisser-déposer pour modifier l'ordre, cliquer pour activer/désactiver",resetHeading:"Réinitialiser",resetBtn:"$t(settings.resetHeading)",resetDescription:"Désinstaller toutes les extensions et tous les thèmes, ainsi que l’ensemble des réglages",backupHeading:"Sauvegarde/Restauration",backupLabel:"Sauvegarder ou restaurer toutes les données du Marché. Celà n'inclue pas les réglages pour quoi que ce soit installé depuis le Marché.",backupBtn:"Ouvrir",versionHeading:"Version",versionBtn:"Copier",versionCopied:"Copié"},tabs:{Extensions:"Extensions",Themes:"Thèmes",Snippets:"Bribes",Apps:"Applications",Installed:"Installé(s)"},snippets:{addTitle:"Ajouter Bribe",editTitle:"Éditer Bribe",viewTitle:"Voir Bribe",customCSS:"CSS personnalisé",customCSSPlaceholder:"Insérez votre propre CSS personnalisé ici! Vous pouvez les retrouver dans l’onglet Installé pour les gérer.",snippetName:"Nom de la bribe",snippetNamePlaceholder:"Entrer un nom pour votre bribe personnalisée",snippetDesc:"Description de la bribe",snippetDescPlaceholder:"Entrez une description pour votre bribe personnalisée",snippetPreview:"Prévisualiser la bribe",optional:"Optionnel",addImage:"Ajouter une image",changeImage:"Changer l’image",saveCSS:"Enregistrer le CSS"},reloadModal:{title:"Recharger",description:"Un rechargement de la page est requis pour finaliser cette opération.",reloadNow:"Recharger maintenant",reloadLater:"Recharger plus tard"},backupModal:{title:"Sauvegarder/Restaurer",settingsCopied:"Réglages copiés dans le presse-papier",noDataPasted:"Aucune donnée collée",invalidJSON:"JSON invalide",inputLabel:"Réglages du Marché",inputPlaceholder:"Copier/coller vos réglages ici",exportBtn:"Exporter",importBtn:"Importer",fileImportBtn:"Importer depuis un fichier"},devTools:{title:"Outils de développeurs de thèmes",noThemeInstalled:"Erreur: Aucun thème du marché n’est installé",noThemeManifest:"Erreur: Aucun manifeste de thème trouvé",colorIniEditor:"Éditeur Color.ini",colorIniEditorPlaceholder:"[nom-de-votre-schéma-de-couleur]",invalidCSS:"CSS invalide"},grid:{spicetifyMarketplace:"Marché Spicetify",newUpdate:"Nouvelle mise à jour",addCSS:"Ajouter CSS",search:"Rechercher",installed:"Installé",lastUpdated:"Dernière mise à jour {{val, datetime}}",externalJS:"JS externe",dark:"sombre",light:"clair",sort:{label:"Trier par:",stars:"Étoiles",newest:"Nouveauté",oldest:"Ancienneté",lastUpdated:"Dernière mise à jour",mostStale:"Le plus périmé",aToZ:"A-Z",zToA:"Z-A"}},readmePage:{title:"$t(grid.spicetifyMarketplace) - Readme",loading:"Chargement…",errorLoading:"Erreur lors du chargement du README"},github:"GitHub",install:"Installer",remove:"Supprimer",save:"Enregistrer",colour_one:"couleur",colour_other:"couleurs",favourite:"favoris"}},ru:{translation:{settings:{title:"Настройки",optionsHeading:"Основные",starCountLabel:"Отображать количество звезд",tagsLabel:"Отображать теги",showArchived:"Отображать архивные репозитории",devToolsLabel:"Включить инструменты разработчика тем",hideInstalledLabel:"Скрывать установленное в других вкладках",colourShiftLabel:"Менять цвета каждую минуту",albumArtBasedColors:"Использовать цвета на основе обложки альбома",albumArtBasedColorsMode:"Тип цвета",albumArtBasedColorsVibrancy:"Тип цветовой схемы на основе обложки альбома",albumArtBasedColorsVibrancyToolTip:"Desaturated: наиболее часто встречаемый в обложке цвет с малой яркостью \n Light Vibrant: самый насыщенный цвет с повышенной яркостью \n Prominent: наиболее часто встречаемый цвет в обложке альбома \n Vibrant: самый насыщенный цвет в обложке альбома",almbumArtColorsModeToolTip:"Monochrome Dark, Monochrome Light: основаны иcключительно на выбранном цвете, дополнительные цвета создаются путем изменения яркости основого. Противоположны друг другу: цвет, являющийся фоновым в Monochrome Light, в Monochrome Dark будет цветом переднего плана и наоборот. \n Analogic: палитра определяется выбранным и цветами, смежными с ним на цветовом круге. \n Analogic Complementary: схожа c Analogic, но сожержит также дополнительный цвет. \n Triad: палитра определяется основным цветом и цветами, равноудаленными от него. \n Quad: палитра определяется выбранным цветом и цветами, расположенных под углом 90 градусов к нему.",tabsHeading:"Вкладки",tabsDescription:"Перетаскивание для изменения порядка, щелчок для включения/выключения",resetHeading:"Сброс",resetBtn:"Сбросить",resetDescription:"Удалить все и сбросить настройки",backupHeading:"Резервное копирование и восстановление",backupLabel:"Сохранить или восстановить все данные Маркетплейса, за исключением настроек установленных тем и расширений.",backupBtn:"Открыть",versionHeading:"Версия",versionBtn:"Копировать",versionCopied:"Скопировано"},tabs:{Extensions:"Расширения",Themes:"Темы",Snippets:"Сниппеты",Apps:"Приложения",Installed:"Установленное"},snippets:{addTitle:"Добавление сниппета",duplicateName:"Сниппет с таким названием уже существует",editTitle:"Редактирование сниппета",viewTitle:"Просмотр сниппета",customCSS:"CSS",customCSSPlaceholder:"Вставьте сюда CSS вашего сниппета",snippetName:"Название",snippetNamePlaceholder:"Введите название для вашего сниппета",snippetDesc:"Описание",snippetDescPlaceholder:"Введите описание для вашего сниппета",snippetPreview:"Превью",optional:"необязательно",addImage:"Добавить изображение",changeImage:"Изменить изображение",saveCSS:"Сохранить"},reloadModal:{title:"Перезагрузка",description:"Необходима перезагрузка страницы для применения изменений",reloadNow:"Перезагрузить сейчас",reloadLater:"Перезагрузить позже"},backupModal:{title:"$t(settings.backupHeading)",settingsCopied:"Настройки скопированы в буфер обмена",noDataPasted:"Ничего не вставлено",invalidJSON:"Неверный JSON",inputLabel:"Настройки Маркетплейса",inputPlaceholder:"Вставьте ваши настройки сюда",exportBtn:"Экспортировать",importBtn:"Импортировать",fileImportBtn:"Импортировать из файла"},devTools:{title:"Инструменты разработчика тем",noThemeInstalled:"Ошибка: Не установлена тема из Маркетплейса",noThemeManifest:"Ошибка: Не найден манифест темы",colorIniEditor:"Редактор color.ini",colorIniEditorPlaceholder:"[название-вашей-цветовой-схемы]",invalidCSS:"Неверный CSS"},updateModal:{title:"Обновление Маркетплейса",description:"Обновите Маркетплейс для получения новых функций и исправлений.",currentVersion:"Текущая версия: {{version}}",latestVersion:"Последняя версия: {{version}}",whatsChanged:"Что нового",seeChangelog:"Посмотреть изменения",howToUpgrade:"Инструкция по обновлению",viewGuide:"Посмотреть инструкцию"},grid:{spicetifyMarketplace:"Маркетплейс Spicetify",newUpdate:"Доступно обновление",addCSS:"Добавить CSS",search:"Искать",installed:"Установлено",lastUpdated:"Обновлено: {{val, datetime}}",externalJS:"содержит JS",archived:"архивировано",dark:"темный",light:"светлый",sort:{label:"Сортировать:",stars:"по количеству звезд",newest:"сначала новые",oldest:"сначала старые",lastUpdated:"сначала недавно обновленные",mostStale:"сначала давно не обновлявшиеся",aToZ:"по названию (A-Z)",zToA:"по названию (Z-A)"}},readmePage:{title:"$t(grid.spicetifyMarketplace) - Readme",loading:"Загрузка...",errorLoading:"Ошибка загрузки README"},github:"GitHub",install:"Установить",remove:"Удалить",save:"Сохранить",colour_one:"цвет",colour_other:"цвета",favourite:"избранное",notifications:{wrongLocalTheme:"Пожалуйста, измените значение current_theme в config-xpui.ini на 'marketplace', чтобы использовать темы из Маркетплейса",tooManyRequests:"Слишком много запросов. Пожалуйста, попробуйте позже",noCdnConnection:"Маркетплейс не может подключиться к CDN. Пожалуйста, попробуйте позже",markdownParsingError:"Ошибка при парсинге Markdown (HTTP {{status}})",noReadmeFile:"README не найден",themeInstallationError:"Ошибка при установке темы",extensionInstallationError:"Ошибка при установке расширения"}}},"zh-TW":{translation:{settings:{title:"設定",optionsHeading:"選項",starCountLabel:"收藏數",tagsLabel:"標籤",devToolsLabel:"主題開發者工具",hideInstalledLabel:"瀏覽時隱藏已安裝項目",colourShiftLabel:"每分鐘進行色調偏移",tabsHeading:"分頁",tabsDescription:"拖放更改顺序,点击启用/禁用",resetHeading:"重設",resetBtn:"$t(settings.resetHeading)",resetDescription:"解除安裝所有擴充套件和主題, 並重設偏好設定",backupHeading:"備份與還原",backupLabel:"備份或還原所有 Marketplace 中的資料(不包含從 Marketplace 安裝的擴充元件的設定)。",backupBtn:"開啟",albumArtBasedColors:"根據專輯封面選色",albumArtBasedColorsMode:"色彩方案 (ColorApi) 模式",albumArtBasedColorsVibrancy:"已從專輯封面抽取顏色",albumArtBasedColorsVibrancyToolTip:"Desaturated:最突出但亮度較低的顏色 \n Light Vibrant:最接近 Vibrant 的色彩,但亮度稍微提升一些 \n Prominent:專輯封面裡面出現最多的色彩 \n Vibrant:專輯中最明亮的色彩",almbumArtColorsModeToolTip:"Monochrome Dark:這個色彩方案直接以選擇的主色彩為基礎,但使用比較不一樣的色調並且融入灰色。這和 Monochrome Light 正好相反。 \n Monochrome Light:這個色彩方案直接以選擇的主色彩為基礎,但使用比較不一樣的色調並且融入灰色。這和 Monochrome Light 正好相反。Monochrome Light 的背景色會是 Monochrome Dark 的前景或文字顏色,反之亦然。 \n Analogic:這個色彩方案以選擇的主色彩為基礎,使用色環上主色彩鄰近的色彩。 \n Analogic Complementary:這個色彩方案以選擇的主色彩為基礎,使用色環上主色彩鄰近的色彩以及互補色。 \n Triad:這個色彩方案以選擇的主色彩為基礎,使用色環上和主色彩距離相等的顏色。 \n Quad:這個色彩方案以選擇的主色彩為基礎,使用色環上和主色彩差 90 度的顏色。",versionHeading:"版本",versionBtn:"複製",versionCopied:"已複製"},tabs:{Extensions:"擴充套件",Themes:"主題",Snippets:"微調片段",Apps:"功能模組",Installed:"已安裝項目"},snippets:{addTitle:"加入微調片段",editTitle:"編輯微調片段",viewTitle:"檢視微調片段",customCSS:"自訂 CSS",customCSSPlaceholder:"這裡可以輸入您的自訂 CSS!您可以在「已安裝項目」分頁中看到這些片段,進而進行管理。",snippetName:"微調片段名稱",snippetNamePlaceholder:"輸入自訂微調片段的名稱",snippetDesc:"微調片段描述",snippetDescPlaceholder:"輸入自訂微調片段的描述",snippetPreview:"微調片段預覽圖",optional:"非必須",addImage:"加入影像",changeImage:"更改影像",saveCSS:"儲存 CSS"},reloadModal:{title:"重新載入",description:"需要重新載入頁面,才能完成這個操作。",reloadNow:"立即重新載入",reloadLater:"稍後重新載入"},backupModal:{title:"$t(settings.backupHeading)",settingsCopied:"已將設定複製至剪貼簿",noDataPasted:"沒有貼上資料",invalidJSON:"JSON 無效",inputLabel:"Marketplace 設定",inputPlaceholder:"在此複製或貼上設定",exportBtn:"匯出",importBtn:"匯入",fileImportBtn:"從檔案匯入"},devTools:{title:"主題開發者工具",noThemeInstalled:"錯誤:沒有安裝 Marketplace 主題",noThemeManifest:"錯誤:找不到主題資訊清單",colorIniEditor:"Color.ini 編輯器",colorIniEditorPlaceholder:"[您的色彩配置名稱]",invalidCSS:"CSS 無效"},grid:{spicetifyMarketplace:"Spicetify Marketplace",newUpdate:"有更新",addCSS:"加入 CSS",search:"搜尋",installed:"已經安裝",lastUpdated:"上次更新於 {{val, datetime}}",externalJS:"有外部 JS",dark:"暗色",light:"亮色"},readmePage:{title:"$t(grid.spicetifyMarketplace) – 說明",loading:"正在載入……",errorLoading:"載入 README 時發生錯誤"},github:"GitHub",install:"安裝",remove:"移除",save:"儲存",colour_one:"色彩",colour_other:"色彩",favourite:"收藏"}},"zh-CN":{translation:{settings:{title:"设置",optionsHeading:"选项",starCountLabel:"收藏数",tagsLabel:"标签",devToolsLabel:"主題开发者工具",hideInstalledLabel:"浏览时隐藏已安装项目",colourShiftLabel:"每分钟进行色调偏移",tabsHeading:"分页",tabsDescription:"拖放更改顺序,点击启用/禁用",resetHeading:"重置",resetBtn:"$t(settings.resetHeading)",resetDescription:"卸载所有扩展插件和主题,并重置设置"},tabs:{Extensions:"扩展插件",Themes:"主题",Snippets:"微调片段",Apps:"功能模组",Installed:"已安裝项目"},snippets:{addTitle:"加入微调片段",editTitle:"编辑微调片段",viewTitle:"检视微调片段",customCSS:"自定义 CSS",customCSSPlaceholder:"这里可以输入您的自定义 CSS!您可以在「已安裝项目」标签页中看到这些片段,进而进行管理。",snippetName:"微调片段名称",snippetNamePlaceholder:"输入自定义微调片段的名称",snippetDesc:"微调片段描述",snippetDescPlaceholder:"输入自定义微调片段的描述",snippetPreview:"微调片段预览图",optional:"非必要",addImage:"加入影像",changeImage:"更改影像",saveCSS:"保存 CSS"},reloadModal:{title:"重新加载",description:"需要重新加载页面,才能完成这个操作。",reloadNow:"立即重新加载",reloadLater:"稍后重新加载"},devTools:{title:"主題开发者工具",noThemeInstalled:"错误:未安装商场主题",noThemeManifest:"错误:找不到主题内容清单",colorIniEditor:"Color.ini 编辑器",colorIniEditorPlaceholder:"[您的色彩配置名称]",invalidCSS:"CSS 无效"},grid:{spicetifyMarketplace:"Spicetify 商场",newUpdate:"有更新",addCSS:"加入 CSS",search:"搜索",installed:"已安装",lastUpdated:"上次更新于 {{val, datetime}}",externalJS:"有外部 JS",dark:"暗色模式",light:"亮色模式"},readmePage:{title:"$t(grid.spicetifyMarketplace) – 说明",loading:"正在加载……",errorLoading:"加载 README 时发生错误"},github:"GitHub",install:"安裝",remove:"移除",save:"保存",colour_one:"色彩",colour_other:"色彩",favourite:"收藏"}},et:{translation:{settings:{title:"Turu seaded",optionsHeading:"Seaded",starCountLabel:"Tähtede arv",tagsLabel:"Sildid",devToolsLabel:"Teema arendaja tööriistad",hideInstalledLabel:"Peida sirvimisel paigaldatud",colourShiftLabel:"Muutke värve iga minut",albumArtBasedColors:"Muutke värve albumipildi põhjal",albumArtBasedColorsMode:"Värviskeemi (ColorApi) režiim",albumArtBasedColorsVibrancy:"Albumipildilt haaratud värv",albumArtBasedColorsVibrancyToolTip:"Desaturated: Värv, mis on kõige silmatorkavam, kuid palju väiksema heledusega \n Light vibrant: Kõige erksam värv, kuid veidi suurendatud heledusega \n Prominent: Värv, mis ilmub albumi kujunduses kõige rohkem \n Vibrant: Albumipildi kõige elavam värv",almbumArtColorsModeToolTip:"Monochrome dark: Värvilahendus, mis põhineb otse valitud põhivärvil, kasutades põhivärvi erinevaid toone ja segades värviskeemi loomiseks halle, see on ühevärvlise heleda pöördväärtus. \n Monochrome light: Värvilahendus, mis põhineb otse valitud põhivärvil, kasutades põhivärvi erinevaid toone ja segades värviskeemi loomiseks halle. Ühevärvilise valguse taust oleks ühevärvilise tumeda esiplaani või teksti värv ja vastupidi. \n Analogic: Valitud põhivärvil põhinev värviskeem, kasutades värviratta põhivärviga külgnevaid värve. \n Analogic complement: Valitud põhivärvil põhinev värviskeem, kasutades värviratta põhivärviga külgnevaid värve ja lisavärvi. \n Triad: Valitud põhivärvil põhinev värviskeem, kasutades põhivärvist võrdsel kaugusel asuvaid värviratta värve. \n Quad: Valitud põhivärvil põhinev värviskeem, kasutades värvirattal olevaid värve, mis on põhivärvist 90 kraadi.",tabsHeading:"Vahekaardid",tabsDescription:"Järjekorra muutmiseks lohista ja eemalda, lubamiseks/välja lülitamiseks klõpsa",resetHeading:"Reset",resetBtn:"$t(settings.resetHeading)",resetDescription:"Uninstall all extensions and themes, and reset preferences",backupHeading:"Varunda/Taasta",backupLabel:"Varunda või taasta kõik turu andmed. See ei hõlma turu kaudu paigaldatud elementide seadeid.",backupBtn:"Ava",versionHeading:"Versioon",versionBtn:"Kopeeri",versionCopied:"Kopeeritud"},tabs:{Extensions:"Lisad",Themes:"Teemad",Snippets:"Katked",Apps:"Rakendused",Installed:"Paigaldatud"},snippets:{addTitle:"Lisa katkend",editTitle:"Muuda katkendit",viewTitle:"Vaata katkendit",customCSS:"Kohandatud CSS",customCSSPlaceholder:"Paigalda Kohandatud CSS siia! Haldamiseks leiate need paigaldatud vahekaardilt.",snippetName:"Katkendi nimi",snippetNamePlaceholder:"Lisa kohandatud katkendi nimi",snippetDesc:"Katkendi kirjeldus",snippetDescPlaceholder:"Lisa kohandatud katkendi kirjeldus",snippetPreview:"Katkendi eelvaade",optional:"valikuline",addImage:"Lisa pilt",changeImage:"Muuda pilti",saveCSS:"Salvesta CSS"},reloadModal:{title:"Laadi uuesti",description:"Selle toimingu lõpuleviimiseks on vaja leht uuesti laadida.",reloadNow:"Laadige kohe uuesti",reloadLater:"Laadige hiljem uuesti"},backupModal:{title:"$t(settings.backupHeading)",settingsCopied:"Seaded kopeeriti lõikelauale",noDataPasted:"Andmeid pole kleebitud",invalidJSON:"Vale JSON",inputLabel:"Turu Seaded",inputPlaceholder:"Kopeeri/kleebi enda seaded siia",exportBtn:"Ekspordi",importBtn:"Impordi",fileImportBtn:"Impordi failist"},devTools:{title:"Teema arendustööriistad",noThemeInstalled:"Viga: Turu teemat pole installitud",noThemeManifest:"Viga: Teema manifesti ei leitud",colorIniEditor:"Color.ini redaktor",colorIniEditorPlaceholder:"[teie-värviskeemi-nimi]",invalidCSS:"Vigane CSS"},grid:{spicetifyMarketplace:"Spicetify Turg",newUpdate:"Uus värskendus",addCSS:"Lisa CSS",search:"Otsi",installed:"Paigaldatud",lastUpdated:"Viimati uuendatud {{val, datetime}}",externalJS:"väline JS",dark:"tume",light:"hele"},readmePage:{title:"$t(grid.spicetifyMarketplace) - Readme",loading:"Laadimine...",errorLoading:"Viga README laadimisel"},github:"GitHub",install:"Paigalda",remove:"Eemalda",save:"Salvesta",colour_one:"värv",colour_other:"värvid",favourite:"lemmik"}},pl:{translation:{settings:{title:"Ustawienia Marketplace",optionsHeading:"Opcje",starCountLabel:"Ilość gwiazdek",tagsLabel:"Tagi",showArchived:"Pokaż archiwalne repozytoria",devToolsLabel:"Narzędzia do tworzenia motywów",hideInstalledLabel:"Ukryj zainstalowane podczas przeglądania",colourShiftLabel:"Zmieniaj kolory co minutę",albumArtBasedColors:"Zmień kolory bazując na okładce albumu",albumArtBasedColorsMode:"Tryb schematu kolorów (ColorApi)",albumArtBasedColorsVibrancy:"Kolor pobrany z okładki albumu",albumArtBasedColorsVibrancyToolTip:"Nasycony: Kolor, który jest najbardziej widoczny, ale o znacznie mniejszej jasności. \nJasny wibrujący: Najbardziej żywy kolor, ale z nieco zwiększoną jasnością. \nWyraźny: Kolor, który najbardziej rzuca się w oczy na okładce albumu. \nWibrujący: Najbardziej żywy kolor na okładce albumu",almbumArtColorsModeToolTip:"Monochromatyczny ciemny: Schemat kolorów oparty bezpośrednio na wybranym głównym kolorze, wykorzystujący różne odcienie głównego koloru i mieszający szarości w celu stworzenia schematu kolorów, jest to odwrotność Monochromatycznego jasnego. \nMonochromatyczny jasny: Schemat kolorów oparty bezpośrednio na wybranym głównym kolorze, wykorzystujący różne odcienie głównego koloru i mieszanie szarości w celu utworzenia schematu kolorów. Tło monochromatycznego światła będzie na pierwszym planie lub kolorem tekstu w monochromatycznym ciemnym i odwrotnie. \nAnalogowy: Schemat kolorów oparty na wybranym głównym kolorze, wykorzystujący kolory sąsiadujące z głównym kolorem na kole kolorów. \nUzupełnienie analogowe: Schemat kolorów oparty na wybranym głównym kolorze, wykorzystujący kolory sąsiadujące z głównym kolorem na kole kolorów i kolorem uzupełniającym. \nTriada: Schemat kolorów oparty na wybranym głównym kolorze, wykorzystujący kolory na kole kolorów, które są w równej odległości od głównego koloru. \nQuad: Schemat kolorów oparty na wybranym głównym kolorze, wykorzystujący kolory na kole kolorów, które są oddalone o 90 stopni od głównego koloru.",tabsHeading:"Karty",tabsDescription:"Przeciągnij i upuść, aby zmienić kolejność, kliknij, aby włączyć/wyłączyć",resetHeading:"Reset",resetBtn:"Zresetuj",resetDescription:"Odinstaluj wszystkie rozszerzenia, motywy i zresetuj preferencje",backupHeading:"Kopia zapasowa/Przywracanie kopii",backupLabel:"Utwórz kopię zapasową lub przywróć wszystkie dane Marketplace. Kopia nie zawiera ustawień dla rzeczy zainstalowanych poprzez Marketplace.",backupBtn:"Otwórz",versionHeading:"Wersja",versionBtn:"Skopiuj",versionCopied:"Skopiowano"},tabs:{Extensions:"Rozszerzenia",Themes:"Motywy",Snippets:"Snippety",Apps:"Aplikacje",Installed:"Zainstalowane"},snippets:{addTitle:"Dodaj Snippet",duplicateName:"Ta nazwa jest już zajęta!",editTitle:"Edytuj Snippet",viewTitle:"Pokaż Snippet",customCSS:"Niestandardowy CSS",customCSSPlaceholder:"Wprowadź tutaj swój własny CSS! Możesz go znaleźć w zakładce 'Zainstalowane' aby nim zarządzać.",snippetName:"Nazwa snippetu",snippetNamePlaceholder:"Wprowadź nazwę swojego niestandardowego snippetu",snippetDesc:"Opis snippetu",snippetDescPlaceholder:"Wpisz opis swojego snippetu",snippetPreview:"Podgląd snippetu",optional:"Opcjonalne",addImage:"Dodaj obraz",changeImage:"Zmień obraz",saveCSS:"Zapisz CSS"},reloadModal:{title:"Przeładuj",description:"Do ukończenia tej operacji wymagane jest przeładowanie strony.",reloadNow:"Przeładuj teraz",reloadLater:"Przeładuj póżniej"},backupModal:{title:"$t(settings.backupHeading)",settingsCopied:"Skopiowano do schowka",noDataPasted:"Dane nie zostały wklejone",invalidJSON:"Nieprawidłowy JSON",inputLabel:"Ustawienia Marketplace",inputPlaceholder:"Skopiuj/wklej tu swoje ustawienia",exportBtn:"Eksportuj",importBtn:"Importuj",fileImportBtn:"Importuj z pliku"},devTools:{title:"Narzędzia developerskie do motywów",noThemeInstalled:"Błąd: Nie zainstalowano motywu",noThemeManifest:"Błąd: Nie znaleziono pliku manifestu motywu",colorIniEditor:"Edytor color.ini",colorIniEditorPlaceholder:"[nazwa-twojego-koloru]",invalidCSS:"Nieprawidłowy CSS"},updateModal:{title:"Zaktualizuj Marketplace",description:"Zaktualizuj Spicetify Marketplace, aby otrzymywać nowe funkcje i poprawki błędów.",currentVersion:"Obecna wersja: {{version}}",latestVersion:"Najnowsza wersja: {{version}}",whatsChanged:"Co się zmieniło",seeChangelog:"Zobacz zmiany",howToUpgrade:"Jak zaktualizować",viewGuide:"Zobacz przewodnik"},grid:{spicetifyMarketplace:"Spicetify Marketplace",newUpdate:"Nowa aktualizacja",addCSS:"Dodaj CSS",search:"Wyszukaj",installed:"Zainstalowane",lastUpdated:"Ostatnio zaktualizowane {{val, datetime}}",externalJS:"zewnętrzny JS",archived:"archiwalny",dark:"ciemny",light:"jasny",sort:{label:"Sortuj po:",stars:"Ilość gwiazdek",newest:"Najnowsze",oldest:"Najstarsze",lastUpdated:"Ostatnio zaktualizowane",mostStale:"Najrzadziej aktualizowane",aToZ:"A-Z",zToA:"Z-A"}},readmePage:{title:"$t(grid.spicetifyMarketplace) - Readme",loading:"Ładowanie...",errorLoading:"Błąd podczas ładowania README"},github:"GitHub",install:"Zainstaluj",remove:"Odinstaluj",save:"Zapisz",colour_one:"kolor",colour_other:"kolory",favourite:"ulubione",notifications:{wrongLocalTheme:'Ustaw current_theme w config-xpui.ini na "marketplace", aby instalować motywy za pomocą Marketplace.',tooManyRequests:"Za dużo żądań, spokojnie",noCdnConnection:"Marketplace nie może połączyć się z CDN. Sprawdź swoją konfigurację internetową",markdownParsingError:"Błąd podczas parsowania markdownu (HTTP {{status}})",noReadmeFile:"Nie znaleziono README",themeInstallationError:"Wystąpił błąd podczas instalacji motywu",extensionInstallationError:"Wystąpił błąd podczas instalacji rozszerzenia"}}},it:{translation:{settings:{title:"Impostazioni Marketplace",optionsHeading:"Opzioni",starCountLabel:"Contatore stelle",tagsLabel:"Tag",showArchived:"Mostra repository archiviati",devToolsLabel:"Strumenti di sviluppo del tema",hideInstalledLabel:"Nascondi i pacchetti già installati durante la navigazione",colourShiftLabel:"Cambia colori ogni minuto",albumArtBasedColors:"Cambia i colori in base alla copertina dell'album",albumArtBasedColorsMode:"Schema colori modalità (ColorApi)",albumArtBasedColorsVibrancy:"Colore preso dalla copertina dell'album",albumArtBasedColorsVibrancyToolTip:"Desaturato: Il colore predominante ma con molta meno luminosità \n Vibrante Chiaro: Il colore più intenso ma con la luminosità aumentata leggermente \n Predominante: Il colore che spicca di più nella copertina dell'album \n Vibrante: Il colore più intenso nella copertina dell'album",almbumArtColorsModeToolTip:"Monocromo Scuro: Uno schema di colori basato direttamente sul colore principale selezionato, utilizzando diverse sfumature del colore principale e mescolando i grigi per creare uno schema di colori; questo è l'inverso di Monocromo Chiaro. \n Monocromo Chiaro: Uno schema di colori basato direttamente sul colore principale selezionato, utilizzando diverse sfumature del colore principale e mescolando i grigi per creare uno schema di colori. Lo sfondo di Monocromo Chiaro sarebbe il colore del testo o di quello in primo piano su Monocromo Scuro e viceversa. \n Armonico: Uno schema di colori basato sul colore principale selezionato, utilizzando i colori adiacenti al colore principale sulla ruota dei colori.\n Armonico Complementare: Uno schema di colori basato sul colore principale selezionato, utilizzando i colori adiacenti al colore principale sulla ruota dei colori e il colore complementare. \n Ternario: Uno schema di colori basato sul colore principale selezionato, utilizzando i colori sulla ruota dei colori che sono equidistanti dal colore principale. \n Quaternario: Uno schema di colori basato sul colore principale selezionato, utilizzando i colori sulla ruota dei colori che sono a 90 gradi dal colore principale.",tabsHeading:"Schede",tabsDescription:"Trascinare e rilasciare per cambiare l'ordine, cliccare per attivare/disattivare",resetHeading:"Reimposta",resetBtn:"$t(settings.resetHeading)",resetDescription:"Disinstalla tutte le estensioni e i temi, e ripristina le preferenze",backupHeading:"Backup/Ripristino",backupLabel:"Effettua il backup o ripristina tutti i dati del Marketplace. Questo non include le impostazioni per qualsiasi elemento installato tramite Marketplace.",backupBtn:"Apri",versionHeading:"Versione",versionBtn:"Copia",versionCopied:"Copiato"},tabs:{Extensions:"Estensioni",Themes:"Temi",Snippets:"Moduli",Apps:"Applicazioni",Installed:"Installato"},snippets:{addTitle:"Aggiungi Modulo",duplicateName:"Questo nome è già stato utilizzato!",editTitle:"Modifica Modulo",viewTitle:"Visualizza Modulo",customCSS:"CSS personalizzato",customCSSPlaceholder:"Scrivi qui il tuo CSS personalizzato! Puoi trovarli nella scheda degli installati per la gestione.",snippetName:"Nome Modulo",snippetNamePlaceholder:"Inserisci un nome per il tuo modulo personalizzato",snippetDesc:"Descrizione Modulo",snippetDescPlaceholder:"Inserisci una descrizione per il tuo modulo personalizzato",snippetPreview:"Anteprima Modulo",optional:"Opzionale",addImage:"Aggiungi immagine",changeImage:"Cambia immagine",saveCSS:"Salva CSS"},reloadModal:{title:"Ricarica",description:"È necessario ricaricare la pagina per completare questa operazione.",reloadNow:"Ricarica",reloadLater:"Più tardi"},backupModal:{title:"$t(settings.backupHeading)",settingsCopied:"Impostazioni copiate negli appunti",noDataPasted:"Nessun dato incollato",invalidJSON:"JSON non valido",inputLabel:"Impostazioni Marketplace",inputPlaceholder:"Copia/incolla qui le tue impostazioni",exportBtn:"Esporta",importBtn:"Importa",fileImportBtn:"Importa da file"},devTools:{title:"Strumenti di sviluppo del tema",noThemeInstalled:"Errore: Nessun tema del Marketplace installato",noThemeManifest:"Errore: Nessun manifest del tema trovato",colorIniEditor:"Editor Color.ini",colorIniEditorPlaceholder:"[nome-del-tuo-schema-colori]",invalidCSS:"Classi CSS non valide"},updateModal:{title:"Aggiorna il Marketplace",description:"Aggiorna Spicetify Marketplace per ricevere nuove funzionalità e correzioni dei bug.",currentVersion:"Versione attuale: {{version}}",latestVersion:"Ultima versione: {{version}}",whatsChanged:"Cos'è Cambiato",seeChangelog:"Guarda il changelog",howToUpgrade:"Come effettuare l'aggiornamento",viewGuide:"Visualizza guida"},grid:{spicetifyMarketplace:"Spicetify Marketplace",newUpdate:"Nuovo aggiornamento",addCSS:"Aggiungi CSS",search:"Cerca",installed:"Installato",lastUpdated:"Ultimo aggiornamento {{val, datetime}}",externalJS:"jS esterno",archived:"archiviato",dark:"scuro",light:"chiaro",sort:{label:"Ordina per:",stars:"Valutazione",newest:"Più recente",oldest:"Meno recenti",lastUpdated:"Ultimo aggiornamento",mostStale:"Meno Aggiornato",aToZ:"A-Z",zToA:"Z-A"}},readmePage:{title:"$t(grid.spicetifyMarketplace) - Readme",loading:"Caricamento...",errorLoading:"Errore nel caricamento del README"},github:"GitHub",install:"Installa",remove:"Rimuovi",save:"Salva",colour_one:"colore",colour_other:"colori",favourite:"preferito",notifications:{wrongLocalTheme:"Si prega d'impostare current_theme in config-xpui.ini su 'marketplace' per installare temi utilizzando il Marketplace",tooManyRequests:"Troppe richieste, attendi un momento",noCdnConnection:"Il Marketplace non riesce a connettersi al CDN. Si prega di controllare la configurazione Internet",markdownParsingError:"Errore durante l'analisi del Markdown (HTTP {{status}})",noReadmeFile:"Nessun README trovato",themeInstallationError:"Si è verificato un errore durante l'installazione del tema",extensionInstallationError:"Si è verificato un errore durante l'installazione dell'estensione"}}},uk:{translation:{settings:{title:"Налаштування Маркетплейсу",optionsHeading:"Налаштування",starCountLabel:"Кількість зірок",tagsLabel:"Теги",showArchived:"Показати заархівовані репозиторії",devToolsLabel:"Інструменти розробника тем",hideInstalledLabel:"Сховати встановлені",colourShiftLabel:"Змінювати колір кожну хвилину",albumArtBasedColors:"Змінювати колір в залежності від обкладинки альбому",albumArtBasedColorsMode:"Кольорова схема (ColorApi)",albumArtBasedColorsVibrancy:"Колір взято з обкладинки альбому",albumArtBasedColorsVibrancyToolTip:"Насичений: Колір, який є найбільш помітним, але з набагато меншою яскравістю \n Light Vibrant (Яскравий): Найяскравіший колір, але з дещо підвищеною яскравістю \n Виразний: Колір, який найбільше виділяється на обкладинці альбому \n Яскравий: Найяскравіший колір на обкладинці альбому",almbumArtColorsModeToolTip:"Монохромний темний: кольорова схема, що базується безпосередньо на вибраному основному кольорі, з використанням різних відтінків основного кольору та змішуванням сірих кольорів для створення кольорової схеми, це протилежність монохромного світлого. \n Монохромний світлий: Кольорова схема, що базується безпосередньо на вибраному основному кольорі, з використанням різних відтінків основного кольору та змішуванням сірих кольорів для створення кольорової схеми. Тло монохромного світлого буде переднім планом або кольором тексту на монохромному темному, і навпаки. \n Аналоговий: Кольорова схема, заснована на вибраному основному кольорі з використанням кольорів, суміжних з основним кольором на колірному колі. \n Аналогово-доповнювальна: Кольорова схема на основі вибраного основного кольору з використанням сусідніх з ним кольорів на колірному колі та додаткового кольору. \n Тріада: Кольорова схема на основі вибраного основного кольору з використанням кольорів на колі кольорів, рівновіддалених від основного кольору. \n Квадрат: Кольорова схема на основі вибраного основного кольору з використанням кольорів на колі кольорів, розташованих під кутом 90 градусів до основного кольору.",tabsHeading:"Вкладки",tabsDescription:"Перетягніть, щоб змінити порядок, натисніть, щоб увімкнути/вимкнути",resetHeading:"Скинути",resetBtn:"$t(settings.resetHeading)",resetDescription:"Видалити усі розширення і теми, та скинути налаштування",backupHeading:"Резервне копіювання/Відновлення",backupLabel:"Копіювати або відновити всі дані Маркетплейсу. Це не включає в себе налаштування всього, що встановлено через Маркетплейс",backupBtn:"Відкрити",versionHeading:"Версія",versionBtn:"Копіювати",versionCopied:"Скопійовано"},tabs:{Extensions:"Розширення",Themes:"Теми",Snippets:"Фрагменти",Apps:"Застосунки",Installed:"Встановлено"},snippets:{addTitle:"Додати фрагмент",duplicateName:"Ця назва вже зайнята!",editTitle:"Редагувати фрагмент",viewTitle:"Переглянути фрагмент",customCSS:"Користувацький CSS",customCSSPlaceholder:"Введіть свій власний CSS тут! Ви можете знайти їх у вкладці управління встановленими файлами.",snippetName:"Назва фрагменту",snippetNamePlaceholder:"Введіть ім'я для вашого користувацького фрагменту",snippetDesc:"Опис фрагменту",snippetDescPlaceholder:"Введіть опис для вашого користувацького фрагменту",snippetPreview:"Перегляд фрагменту",optional:"Необов'язковий",addImage:"Додати світлину",changeImage:"Змінити світлину",saveCSS:"Зберегти CSS"},reloadModal:{title:"Перезавантажити",description:"Для завершення цієї операції потрібно перезавантажити сторінку",reloadNow:"Перезавантажити зараз",reloadLater:"Перезавантажити пізніше"},backupModal:{title:"$t(settings.backupHeading)",settingsCopied:"Налаштування скопійовано у буфер обміну",noDataPasted:"Дані не вставлено",invalidJSON:"Недійсний JSON",inputLabel:"Налаштування Маркетплейсу",inputPlaceholder:"Скопіювати/вставити свої налаштування сюди",exportBtn:"Експорт",importBtn:"Імпорт",fileImportBtn:"Імпортувати з файлу"},devTools:{title:"Інструменти розробника тем",noThemeInstalled:"Помилка: Тему Маркетплейсу не встановлено",noThemeManifest:"Помилка: маніфест теми не знайдено",colorIniEditor:"Редактор Color.ini",colorIniEditorPlaceholder:"[your-colour-scheme-name]",invalidCSS:"Недійсний CSS"},updateModal:{title:"Оновити Маркетплейс",description:"Оновіть Spicetify Marketplace щоб отримувати нові функції і багфікси.",currentVersion:"Поточна версія: {{version}}",latestVersion:"Остання версія: {{version}}",whatsChanged:"Що змінилося",seeChangelog:"Переглянути список змін",howToUpgrade:"Як оновлюватися",viewGuide:"Переглянути посібник"},grid:{spicetifyMarketplace:"Маркетплейс Spicetify",newUpdate:"Нове оновлення",addCSS:"Додати CSS",search:"Пошук",installed:"Встановлено",lastUpdated:"Востаннє оновлено {{val, datetime}}",externalJS:"зовнішній JS",archived:"заархівоване",dark:"темний",light:"світлий",sort:{label:"Сортувати за:",stars:"Зірки",newest:"Новіші",oldest:"Старіші",lastUpdated:"Останнє оновлене",mostStale:"Найнесвіжіший",aToZ:"A-Z",zToA:"Z-A"}},readmePage:{title:"$t(grid.spicetifyMarketplace) - Readme",loading:"Завантаження...",errorLoading:"Помилка завантаження README"},github:"GitHub",install:"Встановити",remove:"Видалити",save:"Зберегти",colour_one:"колір",colour_other:"кольори",favourite:"улюблене",notifications:{wrongLocalTheme:"Будь ласка, поставте 'marketplace' у змінну current_theme у файлі config-xpui.ini щоб встановлювати теми за допомогою Маркетплейсу",tooManyRequests:"Забагато запитів, зачекайте",noCdnConnection:"Маркетплейс не може зв'язатися з CDN. Будь ласка, перевірте вашу конфігурацію Інтернету",markdownParsingError:"Помилка розбору markdown (HTTP {{status}})",noReadmeFile:"README не знайдено",themeInstallationError:"Сталася помилка при встановленні теми",extensionInstallationError:"Сталася помилка при встановленні розширення"}}},ja:{translation:{settings:{title:"マーケットプレイスの設定",optionsHeading:"オプション",starCountLabel:"スターの数",tagsLabel:"タグ",showArchived:"アーカイブされたリポジトリを表示",devToolsLabel:"テーマ開発者ツール",hideInstalledLabel:"ブラウジング時にインストール済みを非表示にする",colourShiftLabel:"1分ごとに色を変更",albumArtBasedColors:"アルバムアートに基づいて色を変更",albumArtBasedColorsMode:"カラースキーム(ColorApi)モード",albumArtBasedColorsVibrancy:"アルバムアートから取得した色",albumArtBasedColorsVibrancyToolTip:"Desaturated: 最も目立つ色だが、明るさがはるかに抑えられています \n Light Vibrant: 最も活気ある色ですが、明るさが少し増しています \n Prominent: アルバムアートで最も目立つ色です \n Vibrant: アルバムアートで最も鮮やかな色です",almbumArtColorsModeToolTip:"Monochrome Dark: 選択したメインカラーを基にした色の配色スキームで、メインカラーの異なる濃淡やグレーを混ぜて配色することで、これはMonochrome Lightの反対です。 \n Monochrome Light: 選択したメインカラーを直接基にした色の配色スキームで、メインカラーの異なる濃淡やグレーを混ぜて配色します。Monochrome Lightの背景色は、Monochrome Darkの前景色やテキスト色となり、その逆も同様です。 \n Analogic: 選択されたメインカラーを基に、カラーホイール上でメインカラーに隣接する色を使用した配色スキームです。 \n Analogic Complementary: 選択したメインカラーを基に、カラーホイール上でメインカラーに隣接する色と補色を使用した配色スキームです。 \n Triad: 選択したメインカラーを基に、カラーホイール上でメインカラーから等距離にある色を使用した配色スキームです。 \n Quad: 選択されたメインカラーを基に、カラーホイール上でメインカラーから90度離れた色を使用した配色スキームです。",tabsHeading:"タブ",tabsDescription:"ドラッグ&ドロップで順序を変更し、クリックで有効/無効を切り替える",resetHeading:"リセット",resetBtn:"$t(settings.resetHeading)",resetDescription:"すべての拡張機能とテーマをアンインストールし、設定をリセットします",backupHeading:"バックアップ/リストア",backupLabel:"すべてのマーケットプレイスデータのバックアップまたはリストアを行います。これには、マーケットプレイスを介してインストールされた設定は含まれません。",backupBtn:"開く",versionHeading:"バージョン",versionBtn:"コピー",versionCopied:"コピーされました"},tabs:{Extensions:"拡張機能",Themes:"テーマ",Snippets:"スニペット",Apps:"アプリ",Installed:"インストール済み"},snippets:{addTitle:"スニペットを追加",duplicateName:"その名前は既に使われています!",editTitle:"スニペットを編集",viewTitle:"スニペットを表示",customCSS:"カスタムCSS",customCSSPlaceholder:"ここにカスタムCSSを入力してください! 管理用のインストール済みタブで見つけることができます。",snippetName:"スニペット名",snippetNamePlaceholder:"カスタムスニペットの名前を入力してください",snippetDesc:"スニペットの説明",snippetDescPlaceholder:"カスタムスニペットの説明を入力してください",snippetPreview:"スニペットプレビュー",optional:"オプション",addImage:"画像を追加",changeImage:"画像を変更",saveCSS:"CSSを保存"},reloadModal:{title:"リロード",description:"この操作を完了するにはページのリロードが必要です。",reloadNow:"今すぐ読み込む",reloadLater:"後で読み込む"},backupModal:{title:"$t(settings.backupHeading)",settingsCopied:"設定がクリップボードにコピーされました",noDataPasted:"データが貼り付けられていません",invalidJSON:"無効なJSON",inputLabel:"マーケットプレイスの設定",inputPlaceholder:"ここに設定をコピー&ペーストしてください",exportBtn:"エクスポート",importBtn:"インポート",fileImportBtn:"ファイルからインポート"},devTools:{title:"テーマ開発ツール",noThemeInstalled:"エラー:マーケットプレイスのテーマがインストールされていません",noThemeManifest:"エラー:テーママニフェストが見つかりませんでした",colorIniEditor:"Color.ini Editor",colorIniEditorPlaceholder:"[your-colour-scheme-name]",invalidCSS:"無効なCSS"},updateModal:{title:"マーケットプレイスの更新",description:"新機能やバグ修正を受け取るために、Spicetify Marketplaceを更新してください。",currentVersion:"現在のバージョン: {{version}}",latestVersion:"最新のバージョン: {{version}}",whatsChanged:"変更内容",seeChangelog:"変更履歴を見る",howToUpgrade:"アップグレード方法",viewGuide:"ガイドを見る"},grid:{spicetifyMarketplace:"Spicetify Marketplace",newUpdate:"新しいアップデート",addCSS:"CSSを追加",search:"検索",installed:"インストール済み",lastUpdated:"{{val, datetime}}に最終更新",externalJS:"外部JS",archived:"アーカイブ済み",dark:"ダーク",light:"ライト",sort:{label:"並べ替え:",stars:"スター",newest:"最新",oldest:"最古",lastUpdated:"最終更新",mostStale:"最も古い",aToZ:"A-Z",zToA:"Z-A"}},readmePage:{title:"$t(grid.spicetifyMarketplace) - README",loading:"読み込み中...",errorLoading:"READMEの読み込み中にエラーが発生しました"},github:"GitHub",install:"インストール",remove:"削除",save:"保存",colour_one:"色",colour_other:"色",favourite:"お気に入り",notifications:{wrongLocalTheme:"config-xpui.iniのcurrent_themeを 'marketplace' に設定して、マーケットプレイスを使用してテーマをインストールしてください",tooManyRequests:"リクエストが多すぎます。時間をおいて再試行してください",noCdnConnection:"マーケットプレイスがCDNに接続できません。インターネットの設定を確認してください",markdownParsingError:"Markdownの解析エラー(HTTP {{status}})",noReadmeFile:"READMEが見つかりませんでした",themeInstallationError:"テーマのインストール中にエラーが発生しました",extensionInstallationError:"拡張機能のインストール中にエラーが発生しました"}}},"pt-BR":{translation:{settings:{title:"Opções do Marketplace",optionsHeading:"Opções",starCountLabel:"Quantidade de Estrelas",tagsLabel:"Tags",showArchived:"Exibir repositórios arquivados",devToolsLabel:"Ferramentas para desenvolvedores de temas",hideInstalledLabel:"Ocultar a instalação durante a navegação",colourShiftLabel:"Mudança de cores a cada minuto",albumArtBasedColors:"Alterar as cores com base na arte do álbum",albumArtBasedColorsMode:"Modo de esquema de cores (ColorApi)",albumArtBasedColorsVibrancy:"Cor extraída da arte do álbum",albumArtBasedColorsVibrancyToolTip:"Desaturada: A cor que é a mais proeminente, mas com muito menos brilho \n Vibrante claro: A cor mais vibrante, mas com o brilho um pouco mais intenso \n Proeminente: A cor que mais se destaca na arte do álbum \n Vibrante: A cor mais vibrante na arte do álbum",almbumArtColorsModeToolTip:"Monocromático Escuro: um esquema de cores baseado diretamente na cor principal selecionada, usando diferentes tons da cor principal e misturando cinzas para criar um esquema de cores; esse é o inverso do Monocromático claro. \n Monocromática Leve: Um esquema de cores baseado diretamente na cor principal selecionada, usando diferentes tons da cor principal e misturando cinzas para criar um esquema de cores. O plano de fundo do monocromático claro seria o primeiro plano ou a cor do texto no Monocromático Escuro e vice-versa. \n Analogic: A colour scheme based on the main colour selected, using the colours adjacent to the main colour on the colour wheel. \n Analogic Complementary: A colour scheme based on the main colour selected, using the colours adjacent to the main colour on the colour wheel and the complementary colour. \n Triad: A colour scheme based on the main colour selected, using the colours on the colour wheel that are equidistant from the main colour. \n Quad: A colour scheme based on the main colour selected, using the colours on the colour wheel that are 90 degrees from the main colour.",tabsHeading:"Tabs",tabsDescription:"Arraste e solte para reordenar, clique para ativar/desativar",resetHeading:"Resetar",resetBtn:"$t(settings.resetHeading)",resetDescription:"Desinstale todas as extensões e temas e redefina as preferências",backupHeading:"Back up/Restaurar",backupLabel:"Faça backup ou restaure todos os dados do Marketplace. Isto não inclui definições para qualquer coisa instalada através do Marketplace.",backupBtn:"Abrir",versionHeading:"Versão",versionBtn:"Copiar",versionCopied:"Copiado"},tabs:{Extensions:"Extensões",Themes:"Temas",Snippets:"Snippets",Apps:"Aplicativos",Installed:"Instalados"},snippets:{addTitle:"Adicionar Snippet",duplicateName:"Esse nome já está sendo usado!",editTitle:"Editar Snippet",viewTitle:"Ver Snippet",customCSS:"Personalizar CSS",customCSSPlaceholder:"Insira seu próprio CSS personalizado aqui! Você pode encontrá-los na guia instalada para gerenciamento.",snippetName:"Nome do Snippet",snippetNamePlaceholder:"Digite um nome para seu snippet personalizado",snippetDesc:"Descrição do Snippet",snippetDescPlaceholder:"Digite uma descrição para seu snippet personalizado",snippetPreview:"Visualizar Snippets",optional:"Opcional",addImage:"Adicionar Imagem",changeImage:"Mudar imagem",saveCSS:"Salvar o CSS"},reloadModal:{title:"Recarregar",description:"É necessário recarregar a página para concluir essa operação.",reloadNow:"Recarregar agora",reloadLater:"Recarregar mais tarde"},backupModal:{title:"$t(settings.backupHeading)",settingsCopied:"Configurações copiadas para a área de transferência",noDataPasted:"Nenhum dado foi colado",invalidJSON:"JSON inválido",inputLabel:"Configurações do Marketplace",inputPlaceholder:"Copie/cole suas configurações aqui",exportBtn:"Exportar",importBtn:"Importar",fileImportBtn:"Importar de um arquivo"},devTools:{title:"Ferramentas de desenvolvimento de temas",noThemeInstalled:"Erro: Nenhum tema do mercado instalado",noThemeManifest:"Erro: Nenhum manifesto de tema encontrado",colorIniEditor:"Color.ini Editor",colorIniEditorPlaceholder:"[your-colour-scheme-name]",invalidCSS:"CSS inválido"},updateModal:{title:"Atualizar o Marketplace",description:"Atualize o Spicetify Marketplace para receber novos recursos e correções de bugs.",currentVersion:"Versão atual: {{version}}",latestVersion:"Versão mais recente: {{version}}",whatsChanged:"O que mudou",seeChangelog:"Veja o registro de mudanças",howToUpgrade:"Como atualizar",viewGuide:"Ver o guia"},grid:{spicetifyMarketplace:"Spicetify Marketplace",newUpdate:"Nova atualização",addCSS:"Adicionar CSS.",search:"Pesquisar",installed:"Instalador",lastUpdated:"Última atualização {{val, datetime}}",externalJS:"external JS",archived:"arquivado",dark:"dark",light:"light",sort:{label:"Classificar por:",stars:"Estrelas",newest:"Mais recente",oldest:"Mais antigo",lastUpdated:"Última atualização",mostStale:"Mais obsoleto",aToZ:"A-Z",zToA:"Z-A"}},readmePage:{title:"$t(grid.spicetifyMarketplace) - Readme",loading:"Carregando...",errorLoading:"Error loading README"},github:"GitHub",install:"Instalar",remove:"Remove-r",save:"Salvar",colour_one:"cor",colour_other:"cores",favourite:"favoritos",notifications:{wrongLocalTheme:"Por favor, defina current_theme em config-xpui.ini para 'marketplace' para instalar temas usando o Marketplace",tooManyRequests:"Muitas solicitações, acalme-se",noCdnConnection:"Marketplace não consegue se conectar à CDN. Verifique sua configuração de Internet",markdownParsingError:"Error parsing markdown (HTTP {{status}})",noReadmeFile:"No README was found",themeInstallationError:"Ocorreu um erro ao instalar o tema",extensionInstallationError:"Ocorreu um erro ao instalar a extensão"}}},"de-DE":{translation:{settings:{title:"Marketplace Einstellungen",optionsHeading:"Optionen",starCountLabel:"Sterne Anzahl",tagsLabel:"Schlagwörter",showArchived:"Archivierte repos anzeigen",devToolsLabel:"Design Entwicklerwerkzeuge",hideInstalledLabel:"Versteckt installierte beim durchsuchen",colourShiftLabel:"Jede Minute Farbe wechseln",albumArtBasedColors:"Farbe basierend auf Album Cover wechseln",albumArtBasedColorsMode:"Farbschema (ColorApi) Modus",albumArtBasedColorsVibrancy:"Farbe vom Album Cover übernommen",albumArtBasedColorsVibrancyToolTip:"Entsättigt: Die am stärksten ausgeprägte Farbe, aber mit viel weniger Helligkeit \n Leicht lebhaft: Die am stärksten leuchtende Farbe, aber mit etwas mehr Helligkeit \n Prominent: Die Farbe, die im Albumcover am stärksten hervortritt \n Lebendig: Die lebendigste Farbe im Albumcover",almbumArtColorsModeToolTip:"Monochrom Dunkel: Ein Farbschema, das direkt auf der ausgewählten Hauptfarbe basiert, wobei verschiedene Schattierungen der Hauptfarbe verwendet und Grautöne beigemischt werden, um ein Farbschema zu erstellen; dies ist das Gegenteil von Monochrom Hell. \n Monochrom Hell: Ein Farbschema, das direkt auf der ausgewählten Hauptfarbe basiert, wobei verschiedene Schattierungen der Hauptfarbe verwendet und Grautöne beigemischt werden, um ein Farbschema zu erstellen. Der Hintergrund von Monochrom hell wäre die Vordergrund- oder Textfarbe bei Monochrom dunkel und umgekehrt. \n Analogisch: Ein Farbschema, das auf der ausgewählten Hauptfarbe basiert und die Farben verwendet, die auf dem Farbkreis neben der Hauptfarbe liegen. \n Analogisch Komplementär: Ein Farbschema, das auf der ausgewählten Hauptfarbe basiert, wobei die Farben neben der Hauptfarbe auf dem Farbkreis und die Komplementärfarbe verwendet werden. \n Dreiklang: Ein Farbschema auf der Grundlage der ausgewählten Hauptfarbe, bei dem die Farben auf dem Farbkreis verwendet werden, die gleich weit von der Hauptfarbe entfernt sind. \n Vierer: Ein Farbschema auf der Grundlage der ausgewählten Hauptfarbe, bei dem die Farben auf dem Farbkreis verwendet werden, die 90 Grad von der Hauptfarbe entfernt sind.",tabsHeading:"Register",tabsDescription:"Ziehen und Ablegen zum Ändern der Reihenfolge, Klicken zum Aktivieren/Deaktivieren",resetHeading:"Zurücksetzen",resetBtn:"$t(settings.resetHeading)",resetDescription:"Deinstalliere alle Erweiterungen und Themes und setze Präferenzen zurück",backupHeading:"Sicherung erstellen / Wiederherstellen",backupLabel:"Sichern Sie alle Marketplace-Daten oder stellen Sie sie wieder her. Dies umfasst nicht die Einstellungen für alles, was über den Marketplace installiert wurde.",backupBtn:"Öffnen",versionHeading:"Version",versionBtn:"Kopieren",versionCopied:"Kopiert"},tabs:{Extensions:"Erweiterungen",Themes:"Designs",Snippets:"Snippets",Apps:"Apps",Installed:"Installiert"},snippets:{addTitle:"Snippet hinzufügen",duplicateName:"Dieser Name ist bereits vergeben!",editTitle:"Snippet bearbeiten",viewTitle:"Snippet ansehen",customCSS:"Benutzerdefiniertes CSS",customCSSPlaceholder:"Geben Sie hier Ihre eigenen benutzerdefinierten CSS ein! Sie finden sie auf der Registerkarte „Installiert“ für die Verwaltung.",snippetName:"Snippet Name",snippetNamePlaceholder:"Geben Sie einen Namen für ihr benutzerdefiniertes Snippet ein",snippetDesc:"Snippet Beschreibung",snippetDescPlaceholder:"Geben sie eine Beschreibung für ihr benutzerdefiniertes Snippet ein",snippetPreview:"Snippet Vorschau",optional:"Optional",addImage:"Foto hinzufügen",changeImage:"Foto ändern",saveCSS:"CSS speichern"},reloadModal:{title:"Neu laden",description:"Um diesen Vorgang abzuschließen, muss die Seite neu geladen werden.",reloadNow:"Jetzt neu laden",reloadLater:"Später neu laden"},backupModal:{title:"$t(settings.backupHeading)",settingsCopied:"Einstellungen in die Zwischenablage kopiert",noDataPasted:"Keine Daten eingefügt",invalidJSON:"Ungültiges JSON",inputLabel:"Marketplace Einstellungen",inputPlaceholder:"Kopieren Sie Ihre Einstellungen und fügen Sie sie hier ein",exportBtn:"Export",importBtn:"Import",fileImportBtn:"Von Datei importieren"},devTools:{title:"Design Entwicklerwerkzeug",noThemeInstalled:"Fehler: Kein Marketplace Design installed",noThemeManifest:"Fehler: Kein Design-Manifest gefunden",colorIniEditor:"Color.ini Bearbeitung",colorIniEditorPlaceholder:"[your-colour-scheme-name]",invalidCSS:"Ungültiges CSS"},updateModal:{title:"Aktualisieren Sie den Marketplace",description:"Aktualisieren Sie den Spicetify Marketplace um neue Funktionen und Fehlerbehebungen zu erhalten.",currentVersion:"Derzeitige Version: {{version}}",latestVersion:"Neueste Version: {{version}}",whatsChanged:"Was hat sich geändert?",seeChangelog:"Änderungsverlauf ansehen",howToUpgrade:"Wie man aktualisiert",viewGuide:"Anleitung ansehen"},grid:{spicetifyMarketplace:"Spicetify Marketplace",newUpdate:"Neues Update",addCSS:"CSS hinzufügen",search:"Suchen",installed:"Installiert",lastUpdated:"Zuletzt aktualisiert {{val, datetime}}",externalJS:"Externes JS",archived:"archiviert",dark:"dunkel",light:"hell",sort:{label:"Sortieren nach:",stars:"Sterne",newest:"Neueste",oldest:"Älteste",lastUpdated:"Zuletzt aktualisiert",mostStale:"Am abgestandensten",aToZ:"A-Z",zToA:"Z-A"}},readmePage:{title:"$t(grid.spicetifyMarketplace) - Les mich",loading:"Laden...",errorLoading:"Fehler beim laden von README"},github:"GitHub",install:"Installieren",remove:"Entfernen",save:"Speichern",colour_one:"Farbe",colour_other:"Farben",favourite:"Favorit",notifications:{wrongLocalTheme:"Bitte setzen Sie current_theme in config-xpui.ini auf 'marketplace', um Themen über den Marketplace zu installieren",tooManyRequests:"Zu viele Anfragen, beruhigen Sie sich",noCdnConnection:"Marketplace kann sich nicht mit dem CDN verbinden. Bitte überprüfen Sie Ihre Internetkonfiguration",markdownParsingError:"Fehler beim Parsen von Markdown (HTTP {{status}})",noReadmeFile:"README wurde nicht gefunden",themeInstallationError:"Beim Installieren von einem Design ist ein Fehler aufgetreten",extensionInstallationError:"Beim Installieren einer Erweiterung ist ein Fehler aufgetreten"}}}};n.use(j).use(ur).init({resources:Ln,detection:{order:["navigator","htmlTag"]},fallbackLng:"en",interpolation:{escapeValue:!1}});var ah=Rr()(class extends pr.default.Component{state={count:0,CONFIG:{}};CONFIG;constructor(e){super(e);e=N(x.tabs,null);let t=[];try{if(t=e,!Array.isArray(t))throw new Error("Could not parse marketplace tabs key");if(0===t.length)throw new Error("Empty marketplace tabs key");if(0!e).length)throw new Error("Falsey marketplace tabs key")}catch{t=jr,localStorage.setItem(x.tabs,JSON.stringify(t))}let r={},a=null;try{var n=N(x.themeInstalled,null);if(n){var o=N(n,null);if(!o)throw new Error("No installed theme data");r=o.schemes,a=o.activeScheme}else console.debug("No theme set as installed")}catch(e){console.error(e)}this.CONFIG={visual:{stars:JSON.parse(N("marketplace:stars",!0)),tags:JSON.parse(N("marketplace:tags",!0)),showArchived:JSON.parse(N("marketplace:showArchived",!1)),hideInstalled:JSON.parse(N("marketplace:hideInstalled",!1)),colorShift:JSON.parse(N("marketplace:colorShift",!1)),themeDevTools:JSON.parse(N("marketplace:themeDevTools",!1)),albumArtBasedColors:JSON.parse(N("marketplace:albumArtBasedColors",!1)),albumArtBasedColorsMode:N("marketplace:albumArtBasedColorsMode")||"monochrome-light",albumArtBasedColorsVibrancy:N("marketplace:albumArtBasedColorsVibrancy")||"PROMINENT",type:JSON.parse(N("marketplace:type",!1)),followers:JSON.parse(N("marketplace:followers",!1))},tabs:t,activeTab:N(x.activeTab,t[0]),theme:{activeThemeKey:N(x.themeInstalled,null),schemes:r,activeScheme:a},sort:N(x.sort,"stars")},this.CONFIG.activeTab&&this.CONFIG.tabs.filter(e=>e.name===this.CONFIG.activeTab).length||(this.CONFIG.activeTab=this.CONFIG.tabs[0].name)}updateConfig=e=>{this.CONFIG={...e},console.debug("updated config",this.CONFIG),this.setState({CONFIG:{...e}})};render(){var{location:e,replace:t}=Spicetify.Platform.History;return e.pathname===$r+"/readme"?e.state?.data?pr.default.createElement(rh,{title:y("readmePage.title"),data:e.state.data}):(t($r),null):pr.default.createElement(eh,{title:y("grid.spicetifyMarketplace"),CONFIG:this.CONFIG,updateAppConfig:this.updateConfig})}}),nh=t(r());return qn=Ye,M(A({},"__esModule",{value:!0}),qn)})();const render=()=>marketplace.default(); \ No newline at end of file diff --git a/desktopenvs/hyprlua/spicetify/CustomApps/marketplace/manifest.json b/desktopenvs/hyprlua/spicetify/CustomApps/marketplace/manifest.json new file mode 100644 index 0000000..0ce32b5 --- /dev/null +++ b/desktopenvs/hyprlua/spicetify/CustomApps/marketplace/manifest.json @@ -0,0 +1,12 @@ +{ + "name": { + "en": "Marketplace", + "ru": "Маркетплейс" + }, + "icon": "\n", + "active-icon": "\n", + "subfiles": [], + "subfiles_extension": [ + "extension.js" + ] +} \ No newline at end of file diff --git a/desktopenvs/hyprlua/spicetify/CustomApps/marketplace/style.css b/desktopenvs/hyprlua/spicetify/CustomApps/marketplace/style.css new file mode 100644 index 0000000..61b9b71 --- /dev/null +++ b/desktopenvs/hyprlua/spicetify/CustomApps/marketplace/style.css @@ -0,0 +1 @@ +@charset "UTF-8";code[class*=language-],pre[class*=language-]{color:#ccc;background:0 0;font-family:Consolas,Monaco,"Andale Mono","Ubuntu Mono",monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#999}.token.punctuation{color:#ccc}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}#marketplace-add-snippet-container{display:flex;flex-direction:column;gap:16px}#marketplace-add-snippet-container #marketplace-custom-css:focus-visible{outline:0}.marketplace-customCSS-input-container{display:flex;flex-direction:column}img.marketplace-customCSS-image-preview{aspect-ratio:1;width:100%;height:auto;max-width:400px;-o-object-fit:cover;object-fit:cover;margin:0 auto}#marketplace-customCSS-submit{margin-left:auto}.marketplace-backup-button{padding:10px;margin:10px}.marketplace-card-type-heading{margin:1em 0 .5em;color:var(--spice-subtext);font-size:1.3em}.marketplace-grid .main-card-draggable{display:flex;flex-direction:column}.marketplace-grid .main-card-draggable .main-card-cardMetadata{flex-grow:1;display:flex;flex-direction:column}.marketplace-grid .main-card-draggable .main-card-cardMetadata .main-cardHeader-link:hover{text-decoration:underline}.marketplace-grid .main-card-draggable .main-card-cardMetadata .marketplace-card__author~.marketplace-card__author::before{content:", "}.marketplace-grid .main-card-draggable .main-card-cardMetadata ul.marketplace-card__tags{display:flex;flex-wrap:wrap;gap:8px}.marketplace-grid .main-card-draggable .main-card-cardMetadata li.marketplace-card__tag{background-color:var(--spice-tab-active);border-radius:4px;padding:0 9px 2px}.marketplace-grid .main-card-draggable .main-card-cardMetadata li.marketplace-card__tag[data-tag="external JS"],.marketplace-grid .main-card-draggable .main-card-cardMetadata li.marketplace-card__tag[data-tag=archived]{background-color:#db3737;color:#fff}.marketplace-grid .main-card-draggable .main-card-cardMetadata li.marketplace-card__tag[data-tag=dark]{background-color:#000;color:#fff}.marketplace-grid .main-card-draggable .main-card-cardMetadata li.marketplace-card__tag[data-tag=light]{background-color:#fff;color:#333}.marketplace-grid .main-card-draggable .main-card-cardMetadata .marketplace-card__tags-more-btn{background-color:var(--spice-tab-active);border-radius:4px;padding:0 9px 2px;margin-top:8px;border:none}.marketplace-grid .main-card-draggable .main-card-cardMetadata .marketplace-card__tags-more-btn:focus,.marketplace-grid .main-card-draggable .main-card-cardMetadata .marketplace-card__tags-more-btn:hover{filter:brightness(1.4)}.marketplace-grid .main-card-draggable .main-card-cardMetadata .marketplace-card-desc{font:-webkit-small-control;margin:12px 0;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.marketplace-grid .main-card-draggable .main-card-cardMetadata .marketplace-card__bottom-meta{margin-top:auto;margin-bottom:0}.marketplace-grid .main-card-draggable .main-card-cardMetadata .marketplace-card__bottom-meta+.marketplace-card__bottom-meta{margin-top:8px}.marketplace-grid[data-tab=Installed]:empty::after{content:"No installed " attr(data-card-type);display:block}.main-cardImage-imageWrapper--error::before{content:"";display:block;position:absolute;overflow:hidden;top:0;left:0;bottom:0;right:0;height:100%;width:100%;background-color:var(--spice-subtext);filter:brightness(50%);-webkit-clip-path:path("M41.20833,21.5c-2.54758,0.00136 -4.90298,1.35492 -6.18685,3.55534l-12.54167,21.5c-0.64062,1.09578 -0.97875,2.34203 -0.97982,3.61133v86c0,7.83362 6.49972,14.33333 14.33333,14.33333h100.33333c7.83362,0 14.33333,-6.49972 14.33333,-14.33333v-86c-0.00107,-1.2693 -0.3392,-2.51555 -0.97982,-3.61133l-12.54167,-21.5c-1.28387,-2.20042 -3.63926,-3.55398 -6.18685,-3.55534zM45.32357,35.83333h81.35286l8.35645,14.33333h-98.06576zM35.83333,64.5h100.33333v71.66667h-100.33333zM64.5,78.83333v14.33333h43v-14.33333z");clip-path:path("M41.20833,21.5c-2.54758,0.00136 -4.90298,1.35492 -6.18685,3.55534l-12.54167,21.5c-0.64062,1.09578 -0.97875,2.34203 -0.97982,3.61133v86c0,7.83362 6.49972,14.33333 14.33333,14.33333h100.33333c7.83362,0 14.33333,-6.49972 14.33333,-14.33333v-86c-0.00107,-1.2693 -0.3392,-2.51555 -0.97982,-3.61133l-12.54167,-21.5c-1.28387,-2.20042 -3.63926,-3.55398 -6.18685,-3.55534zM45.32357,35.83333h81.35286l8.35645,14.33333h-98.06576zM35.83333,64.5h100.33333v71.66667h-100.33333zM64.5,78.83333v14.33333h43v-14.33333z");clip-rule:nonzero;transform:scale(.5)}.main-cardImage-imageWrapper--error{box-shadow:none}.main-card-card:hover .main-cardImage-imageWrapper--error::before{filter:brightness(100%)}.marketplace-cardSubHeader,.marketplace-card__bottom-meta{margin-top:4px;white-space:normal;color:var(--spice-subtext)}.marketplace-cardSubHeader{display:flex;flex-direction:column;gap:8px}.marketplace-card--installed{flex:0!important;-webkit-box-flex:0!important;border:1px solid var(--spice-button)}.marketplace-installButton{cursor:pointer;--size:40px}.marketplace-code-editor{width:100%;margin-bottom:10px;padding:3px 5px;background-color:var(--spice-main);color:var(--spice-text);font-size:14px;border:1px solid var(--spice-button);border-radius:4px}.devtools-column{height:570px;width:50%;position:relative;background-color:var(--spice-sidebar);color:var(--spice-text);overflow:scroll;padding:1rem}.color-ini-editor{height:70%;width:100%;background-color:var(--spice-sidebar);color:var(--spice-text);overflow:scroll;padding:1rem;resize:none;font-family:monospace}.marketplace-theme-dev-tools-container{justify-content:flex-end;display:flex}.marketplace-theme-dev-tools-container .marketplace-code-editor-wrapper{height:400px;margin-bottom:16px;overflow:auto}.devtools-heading,.invalid-css-heading{font-size:1.5rem;font-weight:700;text-decoration:underline;margin-bottom:1rem}.invalid-css-text{margin-bottom:1.5rem;font-family:monospace;-webkit-user-select:text;-moz-user-select:text;user-select:text}.devtools-icon{width:18px;fill:var(--spice-button)}.arrow-closed,.arrow-open{border:solid rgba(var(--spice-rgb-text),.7);border-width:0 2px 2px 0;display:inline-block;padding:4px;position:absolute;right:10px}.arrow-closed{top:10px;transform:rotate(45deg);-webkit-transform:rotate(45deg)}.arrow-open{top:14px;transform:rotate(-135deg);-webkit-transform:rotate(-135deg)}.Dropdown-root{position:relative}.Dropdown-root.is-open .Dropdown-control{border-bottom-left-radius:0;border-bottom-right-radius:0}.Dropdown-root.is-open .Dropdown-control:hover .Dropdown-arrow{border-color:transparent transparent rgb(var(--spice-rgb-text))}.Dropdown-root.is-open .Dropdown-arrow{border-color:transparent transparent rgba(var(--spice-rgb-text),.7);border-width:0 5px 5px}.Dropdown-root.is-open .Dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;width:-moz-max-content;width:max-content}.Dropdown-control{position:relative;overflow:hidden;background-color:var(--spice-sidebar);border:0;border-radius:8px;box-sizing:border-box;color:rgba(var(--spice-rgb-text),.7);cursor:default;outline:0;padding:8px 36px 8px 16px;transition:all .2s ease}.Dropdown-control:hover{color:rgb(var(--spice-rgb-text));background-color:var(--spice-button-disabled)}.Dropdown-control:hover .Dropdown-arrow{border-color:rgb(var(--spice-rgb-text)) transparent transparent}.Dropdown-arrow{border-color:rgba(var(--spice-rgb-text),.7) transparent transparent;border-style:solid;border-width:5px 5px 0;content:" ";display:block;height:0;margin-top:-ceil(2.5);position:absolute;right:16px;top:18px;width:0}.Dropdown-menu{background-color:var(--spice-sidebar);border:0;border-radius:8px;box-shadow:0 1px 0 rgba(0,0,0,.06);box-sizing:border-box;margin-top:-1px;max-height:200px;overflow-y:auto;position:absolute;top:100%;width:100%;z-index:1000;-webkit-overflow-scrolling:touch}.Dropdown-menu .Dropdown-group>.Dropdown-title{padding:8px 10px;color:#333;font-weight:700;text-transform:capitalize}.Dropdown-option{box-sizing:border-box;color:rgba(var(--spice-rgb-text),.7);cursor:pointer;display:block;padding:8px 10px}.Dropdown-option:last-child{border-bottom-right-radius:8px;border-bottom-left-radius:8px}.Dropdown-option.is-selected{background-color:rgba(var(--spice-rgb-text),.7);color:var(--spice-sidebar)}.Dropdown-option:hover{background-color:rgb(var(--spice-rgb-text));color:var(--spice-sidebar)}.Dropdown-noresults{box-sizing:border-box;color:#ccc;cursor:default;display:block;padding:8px 10px}.GenericModal{background-color:var(--spice-player)}.marketplace-header{-webkit-box-pack:justify;-webkit-box-align:center;align-content:space-between;align-items:center;color:var(--spice-text);background-color:var(--spice-main);display:flex;justify-content:space-between;padding-bottom:8px;position:sticky;flex-direction:row;top:64px;z-index:1}.contentSpacing:has(#marketplace-readme) .marketplace-header{top:0}.marketplace-header__left,.marketplace-header__right{display:flex}.marketplace-header__left>:is(div,button),.marketplace-header__right>:is(div,button){margin-left:8px}.marketplace-header__label{display:inline-flex;align-self:center}.marketplace-grid{--minimumColumnWidth:180px;--column-width:minmax(var(--minimumColumnWidth), 1fr);--column-count:auto-fill;--grid-gap:24px}.marketplace-sort-bar{align-items:center;display:flex}.marketplace-sort-container{position:relative;display:flex}.marketplace-tabBar-headerItem{-webkit-app-region:no-drag;display:inline-block;pointer-events:auto;vertical-align:middle}.marketplace-tabBar-active{background-color:var(--spice-tab-active);border-radius:4px}.marketplace-tabBar-headerItemLink{border-radius:4px;color:var(--spice-text);display:inline-block;margin:0 8px 0 0;padding:8px 16px;position:relative;text-decoration:none!important;cursor:pointer}.marketplace-tabBar-nav{-webkit-app-region:drag;pointer-events:none;width:100%}.marketplace-tabBar-headerItem .optionsMenu-dropBox{color:var(--spice-text);border:0;max-width:150px;height:42px;padding:0 30px 0 12px;background-color:initial;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.marketplace-tabBar-headerItem .optionsMenu-dropBox svg{position:absolute;margin-left:8px}.marketplace-header-icon-button{border-radius:8px;color:var(--spice-text);display:inline-block;padding:10px 14px 6px;font-weight:700;position:relative;text-decoration:none!important;cursor:pointer;background-color:transparent;border:none;background-color:var(--spice-sidebar);transition-duration:.2s}.marketplace-header-icon-button:hover{background-color:var(--spice-button-disabled)}#marketplace-update{margin-left:0;margin-right:16px}.searchbar--bar__wrapper{display:flex;flex-direction:column;align-items:flex-end;flex-grow:1}.searchbar-bar{border-style:solid;border-color:var(--spice-sidebar);background-color:var(--spice-sidebar)!important;border-radius:8px;padding:10px 12px;color:var(--spice-text)!important}.marketplace-footer{margin:auto;text-align:center}.marketplace-add-snippet-btn{position:sticky!important;bottom:32px;left:100%}.spicetify-root-vars{--spice-shadow:#1f1525;--spice-text:#ffffff;--spice-sidebar:#0a0e14;--spice-button-disabled:#535353;--spice-main:#0a0e14;--spice-misc:#bfbfbf;--spice-selected-row:#909090;--spice-subtext:#f0f0f0;--spice-tab-active:#795b84;--spice-button:#6f3c89;--spice-notification:#6f3c89;--spice-player:#0a0e14;--spice-notification-error:#e22134;--spice-card:#6f3c89;--spice-button-active:#795b84}:root{--background-body:var(--spice-main);--background:var(--spice-main);--background-alt:var(--spice-shadow);--selection:#1c76c5;--text-main:var(--spice-subtext);--text-bright:var(--spice-text);--text-muted:#a9b1ba;--links:#41adff;--focus:#0096bfab;--border:#526980;--code:#ffbe85;--animation-duration:0.1s;--button-base:#0c151c;--button-hover:#040a0f;--scrollbar-thumb:var(--button-hover);--scrollbar-thumb-hover:rgb(0, 0, 0);--form-placeholder:#a9a9a9;--form-text:#fff;--variable:#d941e2;--highlight:#efdb43;--select-arrow:url("data:image/svg+xml;charset=utf-8,%3C?xml version='1.0' encoding='utf-8'?%3E %3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' height='62.5' width='116.9' fill='%23efefef'%3E %3Cpath d='M115.3,1.6 C113.7,0 111.1,0 109.5,1.6 L58.5,52.7 L7.4,1.6 C5.8,0 3.2,0 1.6,1.6 C0,3.2 0,5.8 1.6,7.4 L55.5,61.3 C56.3,62.1 57.3,62.5 58.4,62.5 C59.4,62.5 60.5,62.1 61.3,61.3 L115.2,7.4 C116.9,5.8 116.9,3.2 115.3,1.6Z'/%3E %3C/svg%3E")}#marketplace-readme{-webkit-user-select:text;-moz-user-select:text;user-select:text;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue","Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;line-height:1.4;max-width:800px;margin:20px auto;padding:0 10px;word-wrap:break-word;color:#dbdbdb;color:var(--text-main);background:#202b38;background:var(--background-body);text-rendering:optimizeLegibility}#marketplace-readme button{transition:background-color .1s linear,border-color .1s linear,color .1s linear,box-shadow .1s linear,transform .1s ease;transition:background-color var(--animation-duration) linear,border-color var(--animation-duration) linear,color var(--animation-duration) linear,box-shadow var(--animation-duration) linear,transform var(--animation-duration) ease}#marketplace-readme input{transition:background-color .1s linear,border-color .1s linear,color .1s linear,box-shadow .1s linear,transform .1s ease;transition:background-color var(--animation-duration) linear,border-color var(--animation-duration) linear,color var(--animation-duration) linear,box-shadow var(--animation-duration) linear,transform var(--animation-duration) ease}#marketplace-readme textarea{transition:background-color .1s linear,border-color .1s linear,color .1s linear,box-shadow .1s linear,transform .1s ease;transition:background-color var(--animation-duration) linear,border-color var(--animation-duration) linear,color var(--animation-duration) linear,box-shadow var(--animation-duration) linear,transform var(--animation-duration) ease}#marketplace-readme h1{font-size:2.2em;margin-top:0}#marketplace-readme h1,#marketplace-readme h2,#marketplace-readme h3,#marketplace-readme h4,#marketplace-readme h5,#marketplace-readme h6{margin-bottom:12px;margin-top:24px}#marketplace-readme h1{color:#fff;color:var(--text-bright)}#marketplace-readme h2{color:#fff;color:var(--text-bright)}#marketplace-readme h3{color:#fff;color:var(--text-bright)}#marketplace-readme h4{color:#fff;color:var(--text-bright)}#marketplace-readme h5{color:#fff;color:var(--text-bright)}#marketplace-readme h6{color:#fff;color:var(--text-bright)}#marketplace-readme strong{color:#fff;color:var(--text-bright)}#marketplace-readme b,#marketplace-readme h1,#marketplace-readme h2,#marketplace-readme h3,#marketplace-readme h4,#marketplace-readme h5,#marketplace-readme h6,#marketplace-readme strong,#marketplace-readme th{font-weight:600}#marketplace-readme q::before{content:none}#marketplace-readme q::after{content:none}#marketplace-readme blockquote{border-left:4px solid rgba(0,150,191,.6705882353);border-left:4px solid var(--focus);margin:1.5em 0;padding:.5em 1em;font-style:italic}#marketplace-readme q{border-left:4px solid rgba(0,150,191,.6705882353);border-left:4px solid var(--focus);margin:1.5em 0;padding:.5em 1em;font-style:italic}#marketplace-readme blockquote>footer{font-style:normal;border:0}#marketplace-readme blockquote cite{font-style:normal}#marketplace-readme address{font-style:normal}#marketplace-readme a[href^="mailto:"]::before{content:"\1f4e7 "}#marketplace-readme a[href^="tel:"]::before{content:"\1f4de "}#marketplace-readme a[href^="sms:"]::before{content:"\1f4ac "}#marketplace-readme mark{background-color:#efdb43;background-color:var(--highlight);border-radius:2px;padding:0 2px 0 2px;color:#000}#marketplace-readme a>code,#marketplace-readme a>strong{color:inherit}#marketplace-readme button,#marketplace-readme input[type=button],#marketplace-readme input[type=checkbox],#marketplace-readme input[type=radio],#marketplace-readme input[type=range],#marketplace-readme input[type=reset],#marketplace-readme input[type=submit],#marketplace-readme select{cursor:pointer}#marketplace-readme input,#marketplace-readme select{display:block}#marketplace-readme [type=checkbox],#marketplace-readme [type=radio]{display:initial}#marketplace-readme input{color:#fff;color:var(--form-text);background-color:#161f27;background-color:var(--background);font-family:inherit;font-size:inherit;margin-right:6px;margin-bottom:6px;padding:10px;border:none;border-radius:6px;outline:0}#marketplace-readme button{color:#fff;color:var(--form-text);background-color:#161f27;background-color:var(--background);font-family:inherit;font-size:inherit;margin-right:6px;margin-bottom:6px;padding:10px;border:none;border-radius:6px;outline:0}#marketplace-readme textarea{color:#fff;color:var(--form-text);background-color:#161f27;background-color:var(--background);font-family:inherit;font-size:inherit;margin-right:6px;margin-bottom:6px;padding:10px;border:none;border-radius:6px;outline:0}#marketplace-readme select{color:#fff;color:var(--form-text);background-color:#161f27;background-color:var(--background);font-family:inherit;font-size:inherit;margin-right:6px;margin-bottom:6px;padding:10px;border:none;border-radius:6px;outline:0}#marketplace-readme button{background-color:#0c151c;background-color:var(--button-base);padding-right:30px;padding-left:30px}#marketplace-readme input[type=submit]{background-color:#0c151c;background-color:var(--button-base);padding-right:30px;padding-left:30px}#marketplace-readme input[type=reset]{background-color:#0c151c;background-color:var(--button-base);padding-right:30px;padding-left:30px}#marketplace-readme input[type=button]{background-color:#0c151c;background-color:var(--button-base);padding-right:30px;padding-left:30px}#marketplace-readme button:hover{background:#040a0f;background:var(--button-hover)}#marketplace-readme input[type=submit]:hover{background:#040a0f;background:var(--button-hover)}#marketplace-readme input[type=reset]:hover{background:#040a0f;background:var(--button-hover)}#marketplace-readme input[type=button]:hover{background:#040a0f;background:var(--button-hover)}#marketplace-readme input[type=color]{min-height:2rem;padding:8px;cursor:pointer}#marketplace-readme input[type=checkbox],#marketplace-readme input[type=radio]{height:1em;width:1em}#marketplace-readme input[type=radio]{border-radius:100%}#marketplace-readme input{vertical-align:top}#marketplace-readme label{vertical-align:middle;margin-bottom:4px;display:inline-block}#marketplace-readme button,#marketplace-readme input:not([type=checkbox]):not([type=radio]),#marketplace-readme input[type=range],#marketplace-readme select,#marketplace-readme textarea{-webkit-appearance:none}#marketplace-readme textarea{display:block;margin-right:0;box-sizing:border-box;resize:vertical}#marketplace-readme textarea:not([cols]){width:100%}#marketplace-readme textarea:not([rows]){min-height:40px;height:140px}#marketplace-readme select{background:#161f27 url("data:image/svg+xml;charset=utf-8,%3C?xml version='1.0' encoding='utf-8'?%3E %3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' height='62.5' width='116.9' fill='%23efefef'%3E %3Cpath d='M115.3,1.6 C113.7,0 111.1,0 109.5,1.6 L58.5,52.7 L7.4,1.6 C5.8,0 3.2,0 1.6,1.6 C0,3.2 0,5.8 1.6,7.4 L55.5,61.3 C56.3,62.1 57.3,62.5 58.4,62.5 C59.4,62.5 60.5,62.1 61.3,61.3 L115.2,7.4 C116.9,5.8 116.9,3.2 115.3,1.6Z'/%3E %3C/svg%3E") calc(100% - 12px) 50%/12px no-repeat;background:var(--background) var(--select-arrow) calc(100% - 12px) 50%/12px no-repeat;padding-right:35px}#marketplace-readme select::-ms-expand{display:none}#marketplace-readme select[multiple]{padding-right:10px;background-image:none;overflow-y:auto}#marketplace-readme input:focus{box-shadow:0 0 0 2px rgba(0,150,191,.6705882353);box-shadow:0 0 0 2px var(--focus)}#marketplace-readme select:focus{box-shadow:0 0 0 2px rgba(0,150,191,.6705882353);box-shadow:0 0 0 2px var(--focus)}#marketplace-readme button:focus{box-shadow:0 0 0 2px rgba(0,150,191,.6705882353);box-shadow:0 0 0 2px var(--focus)}#marketplace-readme textarea:focus{box-shadow:0 0 0 2px rgba(0,150,191,.6705882353);box-shadow:0 0 0 2px var(--focus)}#marketplace-readme button:active,#marketplace-readme input[type=button]:active,#marketplace-readme input[type=checkbox]:active,#marketplace-readme input[type=radio]:active,#marketplace-readme input[type=range]:active,#marketplace-readme input[type=reset]:active,#marketplace-readme input[type=submit]:active{transform:translateY(2px)}#marketplace-readme button:disabled,#marketplace-readme input:disabled,#marketplace-readme select:disabled,#marketplace-readme textarea:disabled{cursor:not-allowed;opacity:.5}#marketplace-readme ::-moz-placeholder{color:#a9a9a9;color:var(--form-placeholder)}#marketplace-readme ::placeholder{color:#a9a9a9;color:var(--form-placeholder)}#marketplace-readme fieldset{border:1px rgba(0,150,191,.6705882353) solid;border:1px var(--focus) solid;border-radius:6px;margin:0;margin-bottom:12px;padding:10px}#marketplace-readme legend{font-size:.9em;font-weight:600}#marketplace-readme input[type=range]{margin:10px 0;padding:10px 0;background:0 0}#marketplace-readme input[type=range]:focus{outline:0}#marketplace-readme input[type=range]::-webkit-slider-runnable-track{width:100%;height:9.5px;-webkit-transition:.2s;transition:.2s;background:#161f27;background:var(--background);border-radius:3px}#marketplace-readme input[type=range]::-webkit-slider-thumb{box-shadow:0 1px 1px #000,0 0 1px #0d0d0d;height:20px;width:20px;border-radius:50%;background:#526980;background:var(--border);-webkit-appearance:none;margin-top:-7px}#marketplace-readme input[type=range]:focus::-webkit-slider-runnable-track{background:#161f27;background:var(--background)}#marketplace-readme input[type=range]::-moz-range-track{width:100%;height:9.5px;-moz-transition:.2s;transition:.2s;background:#161f27;background:var(--background);border-radius:3px}#marketplace-readme input[type=range]::-moz-range-thumb{box-shadow:1px 1px 1px #000,0 0 1px #0d0d0d;height:20px;width:20px;border-radius:50%;background:#526980;background:var(--border)}#marketplace-readme input[type=range]::-ms-track{width:100%;height:9.5px;background:0 0;border-color:transparent;border-width:16px 0;color:transparent}#marketplace-readme input[type=range]::-ms-fill-lower{background:#161f27;background:var(--background);border:.2px solid #010101;border-radius:3px;box-shadow:1px 1px 1px #000,0 0 1px #0d0d0d}#marketplace-readme input[type=range]::-ms-fill-upper{background:#161f27;background:var(--background);border:.2px solid #010101;border-radius:3px;box-shadow:1px 1px 1px #000,0 0 1px #0d0d0d}#marketplace-readme input[type=range]::-ms-thumb{box-shadow:1px 1px 1px #000,0 0 1px #0d0d0d;border:1px solid #000;height:20px;width:20px;border-radius:50%;background:#526980;background:var(--border)}#marketplace-readme input[type=range]:focus::-ms-fill-lower{background:#161f27;background:var(--background)}#marketplace-readme input[type=range]:focus::-ms-fill-upper{background:#161f27;background:var(--background)}#marketplace-readme a{text-decoration:none;color:#41adff;color:var(--links)}#marketplace-readme a:hover{text-decoration:underline}#marketplace-readme code{background:#161f27;background:var(--background);color:#ffbe85;color:var(--code);padding:2.5px 5px;border-radius:6px;font-size:1em}#marketplace-readme samp{background:#161f27;background:var(--background);color:#ffbe85;color:var(--code);padding:2.5px 5px;border-radius:6px;font-size:1em}#marketplace-readme time{background:#161f27;background:var(--background);color:#ffbe85;color:var(--code);padding:2.5px 5px;border-radius:6px;font-size:1em}#marketplace-readme pre>code{padding:10px;display:block;overflow-x:auto}#marketplace-readme var{color:#d941e2;color:var(--variable);font-style:normal;font-family:monospace}#marketplace-readme kbd{background:#161f27;background:var(--background);border:1px solid #526980;border:1px solid var(--border);border-radius:2px;color:#dbdbdb;color:var(--text-main);padding:2px 4px 2px 4px}#marketplace-readme img,#marketplace-readme video{max-width:100%;height:auto}#marketplace-readme hr{border:none;border-top:1px solid #526980;border-top:1px solid var(--border)}#marketplace-readme table{border-collapse:collapse;margin-bottom:10px;width:100%;table-layout:fixed}#marketplace-readme table caption{text-align:left}#marketplace-readme td,#marketplace-readme th{padding:6px;text-align:left;vertical-align:top;word-wrap:break-word}#marketplace-readme thead{border-bottom:1px solid #526980;border-bottom:1px solid var(--border)}#marketplace-readme tfoot{border-top:1px solid #526980;border-top:1px solid var(--border)}#marketplace-readme tbody tr:nth-child(2n){background-color:#161f27;background-color:var(--background)}#marketplace-readme tbody tr:nth-child(2n) button{background-color:#1a242f;background-color:var(--background-alt)}#marketplace-readme tbody tr:nth-child(2n) button:hover{background-color:#202b38;background-color:var(--background-body)}#marketplace-readme ::-webkit-scrollbar{height:10px;width:10px}#marketplace-readme ::-webkit-scrollbar-track{background:#161f27;background:var(--background);border-radius:6px}#marketplace-readme ::-webkit-scrollbar-thumb{background:#040a0f;background:var(--scrollbar-thumb);border-radius:6px}#marketplace-readme ::-webkit-scrollbar-thumb:hover{background:#000;background:var(--scrollbar-thumb-hover)}#marketplace-readme ::-moz-selection{background-color:#1c76c5;background-color:var(--selection);color:#fff;color:var(--text-bright)}#marketplace-readme ::selection{background-color:#1c76c5;background-color:var(--selection);color:#fff;color:var(--text-bright)}#marketplace-readme details{display:flex;flex-direction:column;align-items:flex-start;background-color:#1a242f;background-color:var(--background-alt);padding:10px 10px 0;margin:1em 0;border-radius:6px;overflow:hidden}#marketplace-readme details[open]{padding:10px}#marketplace-readme details>:last-child{margin-bottom:0}#marketplace-readme details[open] summary{margin-bottom:10px}#marketplace-readme summary{display:list-item;background-color:#161f27;background-color:var(--background);padding:10px;margin:-10px -10px 0;cursor:pointer;outline:0}#marketplace-readme summary:focus,#marketplace-readme summary:hover{text-decoration:underline}#marketplace-readme details>:not(summary){margin-top:0}#marketplace-readme summary::-webkit-details-marker{color:#dbdbdb;color:var(--text-main)}#marketplace-readme dialog{background-color:#1a242f;background-color:var(--background-alt);color:#dbdbdb;color:var(--text-main);border:none;border-radius:6px;border-color:#526980;border-color:var(--border);padding:10px 30px}#marketplace-readme dialog>header:first-child{background-color:#161f27;background-color:var(--background);border-radius:6px 6px 0 0;margin:-10px -30px 10px;padding:10px;text-align:center}#marketplace-readme dialog::backdrop{background:rgba(0,0,0,.6117647059);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#marketplace-readme footer{border-top:1px solid #526980;border-top:1px solid var(--border);padding-top:10px;color:#a9b1ba;color:var(--text-muted)}#marketplace-readme body>footer{margin-top:40px}@media print{#marketplace-readme body,#marketplace-readme button,#marketplace-readme code,#marketplace-readme details,#marketplace-readme input,#marketplace-readme pre,#marketplace-readme summary,#marketplace-readme textarea{background-color:#fff}#marketplace-readme button,#marketplace-readme input,#marketplace-readme textarea{border:1px solid #000}#marketplace-readme body,#marketplace-readme button,#marketplace-readme code,#marketplace-readme footer,#marketplace-readme h1,#marketplace-readme h2,#marketplace-readme h3,#marketplace-readme h4,#marketplace-readme h5,#marketplace-readme h6,#marketplace-readme input,#marketplace-readme pre,#marketplace-readme strong,#marketplace-readme summary,#marketplace-readme textarea{color:#000}#marketplace-readme summary::marker{color:#000}#marketplace-readme summary::-webkit-details-marker{color:#000}#marketplace-readme tbody tr:nth-child(2n){background-color:#f2f2f2}#marketplace-readme a{color:#00f;text-decoration:underline}}#marketplace-readme code{border:1px solid var(--spice-button-disabled)}#marketplace-readme li,#marketplace-readme ul{list-style-position:inside}#marketplace-readme li li,#marketplace-readme ul li{margin-bottom:8px}#marketplace-readme ul{list-style-type:disc}#marketplace-readme ol{list-style-type:auto}#marketplace-readme code,#marketplace-readme p,#marketplace-readme pre{margin:8px 0}#marketplace-readme pre{overflow-x:auto}#marketplace-readme table{table-layout:auto}#marketplace-readme table td,#marketplace-readme table th{border:1px solid var(--spice-button-disabled)}.GenericModal[aria-label="Reload required"]{height:240px!important}.marketplace-reload-modal__button-container{display:flex;justify-content:center;padding-top:18px}.marketplace-reload-modal__button-container button{margin:18px;padding:8px 24px}#marketplace-config-container .settings-block{padding-top:10px;padding-bottom:10px}#marketplace-config-container .settings-block-top{padding-bottom:10px}#marketplace-config-container .settings-block-bottom{padding-top:10px}#marketplace-config-container .settings-tabs-description{font-style:italic;font-size:12px}#marketplace-config-container .settings-row{display:flex;justify-content:space-between}#marketplace-config-container .settings-row .col{display:flex;padding:8px 0;align-items:center}#marketplace-config-container .settings-row .col.action{text-align:right;margin-inline-start:8px}#marketplace-config-container .settings-row .col.action .marketplace-sortBox+.marketplace-tooltip-icon{margin-inline-start:8px}#marketplace-config-container .settings-heading{position:relative;border-bottom:2px solid var(--spice-button-disabled);padding:0 0 4px;margin:0 0 4px}.marketplace-tooltip-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.marketplace-tooltip-icon+[data-tippy-root]{text-align:start}button.arrow-btn{align-items:center;border:0;border-radius:50%;background-color:rgba(var(--spice-rgb-shadow),.7);color:var(--spice-text);cursor:pointer;display:flex;margin-inline-end:12px;padding:8px}button.arrow-btn.small{width:24px;height:24px;padding:5px}button.arrow-btn.disabled,button.arrow-btn[disabled]{color:rgba(var(--spice-rgb-text),.3);cursor:not-allowed}.dnd-box{display:flex;align-items:center;justify-content:center;position:relative;width:100%}.dnd-icon{position:absolute;left:4px}#marketplace-add-snippet-container input,textarea{width:100%;margin-bottom:10px;padding:3px 5px;background-color:var(--spice-main);color:var(--spice-text);font-size:14px;border:1px solid var(--spice-button);border-radius:4px}#marketplace-update-container .marketplace-update-header{margin-bottom:.25rem;margin-top:.5rem}#marketplace-update-description>h4{margin-bottom:.5rem}#marketplace-update-description a{display:block}#marketplace-update-whats-changed li{list-style-type:disc}#marketplace-update-whats-changed li::marker{unicode-bidi:isolate;font-variant-numeric:tabular-nums;text-transform:none;text-indent:0!important;text-align:start!important;-moz-text-align-last:start!important;text-align-last:start!important}#marketplace-update-whats-changed>details>ul{padding-left:1.25rem}.button-module__button___hf2qg_marketplace{box-sizing:border-box;font-family:var(--font-family, spotify-circular),Helvetica,Arial,sans-serif;-webkit-tap-highlight-color:transparent;font-size:1rem;line-height:1.5rem;font-weight:700;background-color:transparent;border:0;border-radius:500px;display:inline-block;position:relative;text-align:center;text-decoration:none;text-transform:none;touch-action:manipulation;transition-duration:33ms;transition-property:background-color,border-color,color,box-shadow,filter,transform;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;transform:translate3d(0,0,0);padding:0;min-inline-size:0px;align-self:center;position:relative;background-color:var(--spice-text);color:var(--spice-main);border-radius:500px;font-size:inherit;padding-block:12px;padding-inline:32px}@media screen and (min-width:768px){.button-module__button___hf2qg_marketplace{font-size:1rem;line-height:1.5rem;text-transform:none;letter-spacing:normal}}.button-module__button___hf2qg_marketplace:hover{transform:scale(1.04)}.button-module__button___hf2qg_marketplace:active{background-color:var(--spice-subtext);box-shadow:none;transform:scale(1)}.button-module__button___hf2qg_marketplace:disabled{opacity:.5;cursor:not-allowed}.button-module__circle___EZ88P_marketplace{padding-inline:16px;width:48px;height:48px}.button-module__circle___EZ88P_marketplace svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.toggle-module__toggle-wrapper___ocE5z_marketplace{display:inline-flex;position:relative;align-items:center;cursor:pointer}.toggle-module__disabled___OYAYf_marketplace{opacity:0;pointer-events:none}.toggle-module__toggle-input___ceLM4_marketplace{opacity:0;pointer-events:none;position:absolute}.toggle-module__toggle-input___ceLM4_marketplace:checked~.toggle-module__toggle-indicator-wrapper___6Lcp0_marketplace{background-color:var(--spice-text)}.toggle-module__toggle-input___ceLM4_marketplace:checked~.toggle-module__toggle-indicator-wrapper___6Lcp0_marketplace .toggle-module__toggle-indicator___nCxwE_marketplace{background-color:#fff;left:auto;right:2px;right:3px}.toggle-module__toggle-input___ceLM4_marketplace:hover~.toggle-module__toggle-indicator-wrapper___6Lcp0_marketplace{filter:brightness(1.3)}.toggle-module__toggle-input___ceLM4_marketplace:hover:checked~.toggle-module__toggle-indicator-wrapper___6Lcp0_marketplace{filter:brightness(1.15)}.toggle-module__toggle-input___ceLM4_marketplace:active:not([disabled])~.toggle-module__toggle-indicator-wrapper___6Lcp0_marketplace .toggle-module__toggle-indicator___nCxwE_marketplace{width:20px}.toggle-module__toggle-indicator-wrapper___6Lcp0_marketplace{background-color:#535353;border-radius:24px;height:24px;position:relative;width:42px}.toggle-module__toggle-indicator___nCxwE_marketplace{background:#fff;border-radius:inherit;height:20px;left:2px;position:absolute;top:2px;transition:background-color,left,right,width .1s ease;width:20px;height:18px;width:18px;top:3px;left:3px;background:var(--spice-shadow)!important} \ No newline at end of file diff --git a/desktopenvs/hyprlua/spicetify/Themes/cli-cyberqueer/color.ini b/desktopenvs/hyprlua/spicetify/Themes/cli-cyberqueer/color.ini new file mode 100644 index 0000000..1057fa0 --- /dev/null +++ b/desktopenvs/hyprlua/spicetify/Themes/cli-cyberqueer/color.ini @@ -0,0 +1,16 @@ +; note: most of the accent colors are set to the green of that color scheme, feel free to change it to your preferred color + +[cyberqueer] +accent = E40046 +accent-active = E40046 +accent-inactive = 5018dd +banner = f50505 +border-active = E40046 +border-inactive = 5018dd +header = E40046 +highlight = 5018dd +main = 1a1a1a +notification = E40046 +notification-error = f50505 +subtext = 5018dd +text = d6abab diff --git a/desktopenvs/hyprlua/spicetify/Themes/cli-cyberqueer/user.css b/desktopenvs/hyprlua/spicetify/Themes/cli-cyberqueer/user.css new file mode 100644 index 0000000..92faf62 --- /dev/null +++ b/desktopenvs/hyprlua/spicetify/Themes/cli-cyberqueer/user.css @@ -0,0 +1,905 @@ +/* ================================ + ROOT + ================================ */ + +/* import */ +/* find more in https://fonts.google.com/?category=Monospace&sort=popularity */ +@import url("https://fonts.googleapis.com/css2?family=Anonymous+Pro:ital,wght@0,400;0,700;1,400;1,700&family=Azeret+Mono:ital,wght@0,100..900;1,100..900&family=B612+Mono:ital,wght@0,400;0,700;1,400;1,700&family=Courier+Prime:ital,wght@0,400;0,700;1,400;1,700&family=Cousine:ital,wght@0,400;0,700;1,400;1,700&family=Cutive+Mono&family=DM+Mono:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500&family=Fira+Code:wght@300..700&family=Fira+Mono:wght@400;500;700&family=IBM+Plex+Mono:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&family=M+PLUS+1+Code:wght@100..700&family=Nova+Mono&family=Overpass+Mono:wght@300..700&family=Oxygen+Mono&family=PT+Mono&family=Roboto+Mono:ital,wght@0,100..700;1,100..700&family=Share+Tech+Mono&family=Sometype+Mono:ital,wght@0,400..700;1,400..700&family=Sono:wght@200..800&family=Source+Code+Pro:ital,wght@0,200..900;1,200..900&family=Space+Mono:ital,wght@0,400;0,700;1,400;1,700&family=Syne+Mono&family=Ubuntu+Mono:ital,wght@0,400;0,700;1,400;1,700&family=VT323&family=Xanh+Mono:ital@0;1&display=swap"); +@import url("https://fonts.cdnfonts.com/css/asciid"); + +/* user settings */ +:root { + --font-family: "Agave Nerd Font Mono", monospace; + /* + --font-family: 'Anonymous Pro', monospace; + --font-family: 'Azeret Mono', monospace; + --font-family: 'B612 Mono', monospace; + --font-family: 'Courier Prime', monospace; + --font-family: 'Cousine', monospace; + --font-family: 'Cutive Mono', monospace; + --font-family: 'DM Mono', monospace; + --font-family: 'Fira Code', monospace; + --font-family: 'Fira Mono', monospace; + --font-family: 'IBM Plex Mono', monospace; + --font-family: 'JetBrains Mono', monospace; + --font-family: 'M PLUS 1 Code', monospace; + --font-family: 'Major Mono Display', monospace; + --font-family: 'Monofett', monospace; + --font-family: 'Nova Mono', monospace; + --font-family: 'Overpass Mono', monospace; + --font-family: 'Oxygen Mono', monospace; + --font-family: 'PT Mono', monospace; + --font-family: 'Roboto Mono', monospace; + --font-family: 'Share Tech Mono', monospace; + --font-family: 'Sometype Mono', monospace; + --font-family: 'Sono', monospace; + --font-family: 'Source Code Pro', monospace; + --font-family: 'Space Mono', monospace; + --font-family: 'Syne Mono', monospace; + --font-family: 'Ubuntu Mono', monospace; + --font-family: 'VT323', monospace; + --font-family: 'Xanh Mono', monospace; + */ + --font-size: 14px; + --font-weight: 400; /* 200 : 900 */ + --line-height: 1.2; + + --font-size-lyrics: 14px; /* 1.5em (default) */ + + --font-family-header: "asciid"; + --font-size-multiplier-header: 4; + + --display-card-image: block; /* none | block */ + --display-coverart-image: none; /* none | block */ + --display-header-image: none; /* none | block */ + --display-sidebar-image: block; /* none | block */ + --display-tracklist-image: none; /* none | block */ + --display-spicetify-banner-ascii: block; /* none | block */ + --display-music-banner-ascii: none; /* none | block */ + + --border-radius: 0px; + --border-width: 1px; + --border-style: solid; /* dotted | dashed | solid | double | groove | ridge | inset | outset */ + --border-transition: 0.2s ease; /* 'none' to disable */ +} + +/* font */ +*:not([style*="lyric" i] *, [class*="lyric" i], .main-entityHeader-title) { + font-family: var(--font-family) !important; + font-size: var(--font-size) !important; + font-weight: var(--font-weight) !important; + line-height: var(--line-height) !important; +} +.lyrics-lyrics-container *, +.main-nowPlayingView-lyricsContent * { + font-family: var(--font-family); + font-size: var(--font-size-lyrics); + font-weight: var(--font-weight); + line-height: var(--line-height); +} +.main-entityHeader-title h1 { + font-family: var(--font-family-header) !important; + font-size: calc( + var(--font-size) * var(--font-size-multiplier-header) + ) !important; + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; + line-clamp: 2; +} + +/* images */ +.main-card-imageContainer img, +.view-homeShortcutsGrid-imageContainer img { + display: var(--display-card-image) !important; +} +.main-coverSlotCollapsed-container { + display: var(--display-coverart-image); +} +.main-entityHeader-imageContainer, +.under-main-view, +.main-entityHeader-creatorWrapper .main-avatar-avatar, +.main-entityHeader-imageContainer, +.playlist-playlist-playlistImageContainer, +.profile-userOverview-imageContainer { + display: var(--display-header-image); +} +.x-entityImage-imageContainer img, +.main-avatar-image { + display: var(--display-sidebar-image); +} +.main-trackList-rowImage { + display: var(--display-tracklist-image); +} + +/* fix */ +:root { + --content-max-width: 100% !important; +} +.Root__globalNav { + padding: 8px 16px !important; + height: unset; +} +.spotify__container--is-desktop.spotify__os--is-windows .Root__globalNav, +.spotify__container--is-desktop.spotify__os--is-macos .Root__globalNav { + margin: 40px 0 0; +} +.spotify__container--is-desktop.spotify__os--is-linux .Root__globalNav { + margin: 8px 0 0; +} +.Root__top-container { + --panel-gap: 16px !important; +} +.Root__top-bar { + border: var(--border-width) solid transparent; +} +.Root__nav-bar, +.Root__now-playing-bar { + overflow: visible; +} +.main-view-container { + overflow: hidden; +} +section:has(> .main-entityHeader-container), +div:has(> .main-entityHeader-container) { + margin-top: 0; +} +.main-entityHeader-container { + height: unset !important; + min-height: unset !important; +} +.main-entityHeader-imageContainerNew { + height: 128px; + width: 128px; +} +.main-topBar-background { + background-color: var(--spice-main); +} +.main-topBar-overlay, +.main-entityHeader-container > div, +.main-entityHeader-container + div[style*="background-color"], +.main-entityHeader-container + div > div[style*="background-color"], +.main-home-homeHeader, +.main-home-filterChipsSection, +.main-home-filterChipsSection::after { + background-color: transparent !important; + background-image: none !important; + background: transparent !important; +} +.LayoutResizer__resize-bar { + cursor: w-resize; +} +.LayoutResizer__inline-end:after, +.LayoutResizer__inline-start:after { + background-color: var(--spice-border-inactive); +} +.LayoutResizer__resize-bar--resizing.LayoutResizer__inline-start:after, +.LayoutResizer__resize-bar--resizing.LayoutResizer__inline-end:after { + background-color: var(--spice-border-active); +} + +/* fullscreen */ +.spotifyinternal-artistnpv .npv-what-is-playing .npv-cover-art, +.spotifyinternal-artistnpv .npv-what-is-playing .npv-track { + bottom: 18em; +} +.spotifyinternal-artistnpv .npv-what-is-playing .npv-cover-art { + -webkit-transform: scale(0.34375); + transform: scale(0.34375); +} +.spotifyinternal-artistnpv .npv-what-is-playing .npv-track { + -webkit-transform: none; + transform: none; +} +.npv-main-container .playback-bar { + position: unset; + width: auto; +} +.npv-nowPlayingBar-controls { + height: auto; +} + +/* recolor */ +:root { + --spice-main-elevated: var(--spice-main); + --spice-highlight-elevated: var(--spice-main); + --spice-sidebar: var(--spice-main); + --spice-player: var(--spice-main); + --spice-card: var(--spice-main); + --spice-shadow: var(--spice-main); + --spice-selected-row: var(--spice-subtext); + --spice-button: var(--spice-accent); + --spice-button-active: var(--spice-accent-active); + --spice-button-disabled: var(--spice-accent-inactive); + --spice-tab-active: var(--spice-main); + --spice-rgb-main-elevated: var(--spice-rgb-main); + --spice-rgb-highlight-elevated: var(--spice-rgb-main); + --spice-rgb-sidebar: var(--spice-rgb-main); + --spice-rgb-player: var(--spice-rgb-main); + --spice-rgb-card: var(--spice-rgb-main); + --spice-rgb-shadow: var(--spice-rgb-main); + --spice-rgb-selected-row: var(--spice-rgb-subtext); + --spice-rgb-button: var(--spice-rgb-accent); + --spice-rgb-button-active: var(--spice-rgb-accent-active); + --spice-rgb-button-disabled: var(--spice-rgb-accent-inactive); + --spice-rgb-tab-active: var(--spice-rgb-main); +} +.encore-dark-theme, +.encore-dark-theme .encore-base-set { + --background-elevated-press: var(--spice-main-elevated); + --essential-subdued: var(--spice-border-inactive); + --decorative-subdued: var(--spice-accent-inactive); +} +.encore-dark-theme .encore-bright-accent-set { + --background-highlight: var(--spice-button-active) !important; + --background-elevated-base: var(--spice-button-active) !important; + --background-elevated-highlight: var(--spice-button-active) !important; + --background-press: var(--spice-button-active) !important; + --background-elevated-press: var(--spice-button-active) !important; +} +.Root__top-container, +.Root__nav-bar { + background-color: var(--spice-main); +} +.main-playPauseButton-button { + background-color: transparent; + color: var(--spice-subtext); +} +.main-playPauseButton-button:focus, +.main-playPauseButton-button:hover { + transform: none; + color: var(--spice-text); +} +#_R_G *:not([fill="none"]) { + fill: var(--spice-button-active) !important; +} +#_R_G *:not([stroke="none"]) { + stroke: var(--spice-button-active); +} +.view-homeShortcutsGrid-equaliser, +.main-devicePicker-nowPlayingActiveIcon, +.main-trackList-playingIcon { + filter: grayscale(1) opacity(0.2) + drop-shadow(0 0 0 var(--spice-button-active)) + drop-shadow(0 0 0 var(--spice-button-active)) + drop-shadow(0 0 0 var(--spice-button-active)); +} +::placeholder { + color: var(--spice-subtext); +} +.main-entityHeader-background, +.main-entityHeader-backgroundColor, +.main-entityHeader-overlay, +.main-actionBarBackground-background, +.main-buddyFeed-container, +.main-nowPlayingView-content.main-nowPlayingView-gradient { + background-color: transparent !important; + background-image: none; +} +.progress-bar { + --fg-color: var(--spice-button-active); + --bg-color: var(--spice-button-disabled); +} +.playback-bar__progress-time-elapsed, +.main-playbackBarRemainingTime-container { + mix-blend-mode: difference; + color: var(--spice-button-active); +} +.main-trackList-placeholder { + background-color: var(--background-base); + background-blend-mode: color-dodge; +} +.main-trackList-trackListHeaderStuck.main-trackList-trackListHeader { + background: var(--spice-main); +} +.main-trackList-trackListRow:focus-within, +.main-trackList-trackListRow:hover, +.main-contextMenu-menuItemButton:hover, +.main-contextMenu-menuItemButton:not([aria-checked="true"]):focus, +.main-card-card:hover, +.main-card-card[data-context-menu-open="true"], +[class*="BoxComponent-group-card"]:hover::after, +[class*="BoxComponent-group-listRow"]:hover::after { + background-color: rgba(var(--spice-rgb-highlight), 0.5); +} +.main-trackList-trackListRow.main-trackList-selected, +.main-trackList-trackListRow.main-trackList-selected:hover { + background-color: var(--spice-highlight); +} +.x-entityImage-imageContainer, +.main-card-imageContainer > div:first-child { + background-color: var(--card-color, var(--spice-border-inactive)); +} +.main-avatar-avatar { + background-color: var(--spice-border-inactive) !important; +} +.main-entityHeader-title h1 { + color: var(--spice-banner); +} +div[style*="--text-subdued: rgba(255, 255, 255, 0.7);"] { + --text-subdued: var(--spice-subtext) !important; +} + +/* pane borders */ +.Root__globalNav, +.main-yourLibraryX-entryPoints, +.Root__main-view, +.Root__now-playing-bar, +.Root__right-sidebar:has(aside:not(:empty)) { + border: var(--border-width) var(--border-style); + border-color: var(--spice-border-inactive); + border-radius: var(--border-radius); + background-color: var(--spice-main); + transition: border-color var(--border-transition); +} +.Root__globalNav:hover, +.main-yourLibraryX-entryPoints:hover, +.Root__main-view:hover, +.Root__now-playing-bar:hover, +.Root__right-sidebar:has(aside:not(:empty)):hover { + border: var(--border-width) var(--border-style); + border-color: var(--spice-border-active); +} + +/* pane headers */ +.Root__nav-bar .main-yourLibraryX-entryPoints { + overflow-x: visible !important; +} +.Root__globalNav::before, +.main-globalNav-searchContainer + form + div:has(> .main-topBar-searchBar:focus)::before, +.Root__nav-bar + .main-yourLibraryX-entryPoints:has(.main-yourLibraryX-navItems)::before, +.Root__nav-bar + .main-yourLibraryX-entryPoints:has( + .main-yourLibraryX-libraryContainer + )::before, +.Root__main-view::before, +.Root__now-playing-bar::before, +.Root__right-sidebar:has(aside:not(:empty))::before { + color: var(--spice-header); + position: absolute; + margin: -10px 4px; + background: var(--spice-main); + padding: 0 3px; + z-index: 3; + transition: color var(--border-transition); +} +.Root__globalNav::before { + content: "Nav"; + top: 0; + left: 0; +} +.main-globalNav-searchContainer + form + div:has(> .main-topBar-searchBar:focus)::before { + content: "Search"; + color: var(--spice-border-active) !important; +} +.Root__nav-bar + .main-yourLibraryX-entryPoints:has(.main-yourLibraryX-navItems)::before { + content: "Pages"; +} +.Root__nav-bar + .main-yourLibraryX-entryPoints:has( + .main-yourLibraryX-libraryContainer + )::before { + content: "Library"; +} +.Root__main-view::before { + content: "Main"; + position: fixed; +} +.Root__now-playing-bar::before { + content: "Playing"; +} +.Root__right-sidebar:has(aside:not(:empty))::before { + content: "Sidebar"; +} +.Root__globalNav:hover::before, +.Root__nav-bar .main-yourLibraryX-entryPoints:hover::before, +.Root__main-view:hover::before, +.Root__now-playing-bar:hover::before, +.Root__right-sidebar:has(aside:not(:empty)):hover::before { + color: var(--spice-border-active); +} + +/* scrollbars */ +.os-scrollbar-handle { + border-radius: var(--border-radius) !important; + width: 2px !important; + position: absolute; + top: 0; + right: 0; +} +.os-scrollbar-handle:hover { + border-radius: var(--border-radius) !important; + width: 6px !important; +} +.os-scrollbar-vertical { + top: 5px !important; + right: 5px !important; +} + +/* context menus + tippy boxes */ +.main-contextMenu-menu, +.tippy-box { + border: var(--border-width) var(--border-style) var(--spice-border-active); + border-radius: var(--border-radius) !important; +} + +/* modals */ +.GenericModal, +.GenericModal__overlay > div { + border: var(--border-width) var(--border-style) var(--spice-border-active); + border-radius: var(--border-radius); + overflow: visible; +} +.GenericModal::before, +.GenericModal__overlay > div::before { + content: "Modal"; + color: var(--spice-border-active); + position: absolute; + margin: -10px 4px; + background: var(--spice-main); + padding: 0 3px; + z-index: 9; +} + +/* ================================ + GLOBAL NAV + ================================ */ + +/* search section */ +.main-globalNav-searchSection, +.main-globalNav-searchContainer { + align-items: center; +} +.main-globalNav-searchSection { + position: unset; + top: unset; + left: unset; +} +.main-globalNav-searchContainer { + max-width: unset; + width: 100%; +} +.main-globalNav-searchContainer form .main-topBar-searchBar { + border-radius: var(--border-radius); + border: 1px solid; + border-color: var(--spice-main); +} +.main-globalNav-searchContainer form:hover .main-topBar-searchBar { + box-shadow: none; + border: 1px solid; + border-color: var(--spice-border-inactive); +} +.Root__globalNav:hover:has(.main-topBar-searchBar:focus) { + border: var(--border-width) var(--border-style); + border-color: var(--spice-border-inactive); +} +.Root__globalNav:hover:has(.main-topBar-searchBar:focus)::before { + color: var(--spice-header); +} +.main-globalNav-searchContainer form .main-topBar-searchBar:focus { + box-shadow: none; + border: var(--border-width) var(--border-style); + border-color: var(--spice-border-active); + outline: 14px solid var(--spice-main); +} +.main-globalNav-searchContainer form .main-topBar-searchBar + div > div { + border-radius: var(--border-radius); + box-shadow: none; + margin: 24.5px 0; + border: var(--border-width) var(--border-style); + border-color: var(--spice-border-active); + outline: 14px solid var(--spice-main); +} +form .main-topBar-searchBar::placeholder, +form .main-topBar-searchBar:placeholder-shown { + transition: none !important; +} + +/* ================================ + LEFT SIDEBAR + ================================ */ + +/* pages pane */ +.main-yourLibraryX-navLink { + height: 24px; + gap: 8px; + text-decoration: none !important; +} +.main-yourLibraryX-navLink > svg, +.main-yourLibraryX-header .main-yourLibraryX-collapseButtonWrapper > span { + transform: scale(0.7); +} + +/* library pane */ +.x-entityImage-imageContainer { + transform: scale(0.7); + background-color: transparent; +} +.x-entityImage-imageContainer::before { + content: "░▒▒░"; + color: var(--spice-subtext); + transform: scale(1.4); + position: absolute; + top: 50%; + left: 20%; + z-index: -1; +} +.main-yourLibraryX-filterArea { + padding: 0 8px; +} +.main-yourLibraryX-libraryRootlist { + padding: 0 16px 8px; +} +.main-yourLibraryX-listItem span.LineClamp { + -webkit-line-clamp: 1; + line-clamp: 1; +} + +/* sidebar config */ +.main-yourLibraryX-entryPoints:first-child:has( + .main-yourLibraryX-navItems:empty + ) { + display: none; +} + +/* ================================ + MAIN VIEW + ================================ */ + +/* check out a cool project: https://github.com/Rigellute/spotify-tui + + _________ ____ / /_(_) __/_ __ / /___ __(_)\A + / ___/ __ \\/ __ \\/ __/ / /_/ / / /_____/ __/ / / / /\A + (__ ) /_/ / /_/ / /_/ / __/ /_/ /_____/ /_/ /_/ / /\A + /____/ .___/\\____/\\__/_/_/ \\__, / \\__/\\__,_/_/\A + /_/ /____/ + +*/ +.view-homeShortcutsGrid-shortcuts::before { + content: " _________ ____ / /_(_) __/_ __ / /___ __(_)\A / ___/ __ \\/ __ \\/ __/ / /_/ / / /_____/ __/ / / / /\A (__ ) /_/ / /_/ / /_/ / __/ /_/ /_____/ /_/ /_/ / /\A /____/ .___/\\____/\\__/_/_/ \\__, / \\__/\\__,_/_/\A /_/ /____/ "; + white-space: pre-wrap; + padding: 32px 0; + color: var(--spice-banner); + line-height: 1.2; + text-wrap: nowrap; + display: var(--display-spicetify-banner-ascii); +} +.main-entityHeader-headerText::before { + content: "────█▀█▄▄▄▄─────██▄\A────█▀▄▄▄▄█─────█▀▀█\A─▄▄▄█─────█──▄▄▄█\A██▀▄█─▄██▀█─███▀█\A─▀▀▀──▀█▄█▀─▀█▄█▀\A"; + white-space: pre-wrap; + padding-bottom: 32px; + color: var(--spice-banner); + line-height: 1.2; + text-wrap: nowrap; + display: var(--display-music-banner-ascii); +} + +/* top bar */ +.queue-tabBar-active, +.marketplace-tabBar-active { + text-decoration: underline !important; +} +.main-topBar-historyButtons .main-topBar-button { + background-color: transparent; +} +.main-topBar-historyButtons > .main-topBar-button:first-child::before { + content: "<"; +} +.main-topBar-button.main-topBar-responsiveForward::before { + content: ">"; +} +.main-topBar-historyButtons > .main-topBar-button:first-child > svg, +.main-topBar-button.main-topBar-responsiveForward > svg { + display: none; +} +.main-topBar-topbarContent { + gap: 24px; +} +.x-searchInput-searchInputInput { + border-radius: var(--border-radius); + background-color: transparent; +} +.x-searchInput-searchInputInput:hover, +.x-searchInput-searchInputInput:focus { + box-shadow: none; + border: 1px solid var(--spice-button-active); + background-color: transparent; +} +.search-searchCategory-catergoryGrid *, +.main-shelf-subHeader *, +.ChipInnerComponent-sm, +.ChipInnerComponent-sm-selected { + border-radius: var(--border-radius); +} +.main-globalNav-historyButtonsContainer svg, +.main-globalNav-searchContainer svg { + transform: scale(0.7); +} + +/* headers */ +.main-entityHeader-container { + padding: var(--content-spacing) 0; +} +.main-entityHeader-container.main-entityHeader-withBackgroundImage { + background-image: radial-gradient( + circle, + rgba(var(--spice-rgb-main), 0.7) 0%, + rgba(var(--spice-rgb-main), 0.9) 50%, + rgba(var(--spice-rgb-main), 1) 100% + ); +} + +/* compact tracklists */ +.main-trackList-trackListRow { + height: 32px; +} +.main-trackList-rowMainContent { + grid-template: "title badges subtitle" / auto 1fr; + column-gap: 0; +} +.main-trackList-rowImage { + height: 24px; + width: 24px; +} +.main-trackList-rowTitle:has(+ span)::after { + content: "|"; + color: var(--spice-highlight); + padding: 0 10px; +} +.main-trackList-rowBadges { + padding-right: 10px; +} +.main-trackList-number, +.main-trackList-icon { + top: unset; +} + +/* lyrics page & sidebar */ +.lyrics-lyrics-background { + background-color: var(--spice-main); +} +.main-nowPlayingView-sectionHeaderSpacing.main-nowPlayingView-lyricsGradient { + background-color: var(--background-tinted-base); +} +.lyrics-lyrics-contentContainer { + justify-content: start; +} +.lyrics-lyrics-container, +.main-nowPlayingView-section { + --lyrics-color-active: var(--spice-text) !important; + --lyrics-color-inactive: var(--spice-subtext) !important; + --lyrics-color-passed: var(--spice-subtext) !important; + --lyrics-color-messaging: var(--spice-subtext) !important; +} +.lyrics-lyricsContent-lyric { + opacity: 0.3; + display: flex; + flex-direction: row; +} +.lyrics-lyricsContent-lyric.lyrics-lyricsContent-highlight { + opacity: 0.7; + transition: none; +} +.lyrics-lyricsContent-lyric.lyrics-lyricsContent-active:not(:empty) { + background-color: var(--lyrics-color-background); + color: var(--spice-main); + opacity: 1; + transition: none; +} +.lyrics-lyricsContent-lyric:not(:empty)::before { + content: ">> "; + opacity: 0; + white-space: break-spaces; +} +.lyrics-lyricsContent-lyric.lyrics-lyricsContent-active:not(:empty)::before { + content: ">> "; + opacity: 1; + white-space: break-spaces; +} + +/* lyrics cinema */ +.Root__lyrics-cinema { + border: var(--border-width) var(--border-style) transparent; + overflow: hidden; +} +.main-nowPlayingView-lyricsContent { + -webkit-mask-image: none !important; + mask-image: none !important; +} + +/* ================================ + PLAYBACK BAR + ================================ */ + +/* playback bar itself */ +.main-nowPlayingBar-nowPlayingBar { + padding: 8px 8px 32px 8px; + height: 96px; +} +.playback-bar { + position: absolute; + left: calc(var(--panel-gap) + 8px); + bottom: calc(var(--panel-gap) + 8px); + width: calc(100vw - var(--panel-gap) * 2 - 16px); + justify-content: center; +} + +/* playback time indicators */ +.playback-bar__progress-time-elapsed { + pointer-events: none; +} +.playback-bar__progress-time-elapsed::after { + content: " /"; +} +.playback-bar__progress-time-elapsed, +.main-playbackBarRemainingTime-container { + z-index: 9; + padding-top: 2px; +} + +/* playback seek bar */ +.playback-progressbar-container { + position: absolute; + width: 100%; +} +.progress-bar { + --progress-bar-height: 16px; + --progress-bar-radius: var(--border-radius); +} +.progress-bar__slider { + box-shadow: none; + height: 100%; + border-radius: 0; +} + +/* cover art */ +.main-nowPlayingWidget-coverArt .cover-art { + height: 32px !important; + width: 32px !important; +} + +/* left nowplaying text */ +.main-nowPlayingBar-left { + padding-inline-start: 0; +} +.main-nowPlayingWidget-trackInfo { + margin: 0; +} + +/* volume bar */ +.volume-bar__slider-container .x-progressBar-fillColor, +.volume-bar__slider-container + .playback-progressbar-isInteractive + .progress-bar--isDragging + .x-progressBar-fillColor, +.volume-bar__slider-container + .playback-progressbar-isInteractive + .progress-bar:focus + .x-progressBar-fillColor, +.volume-bar__slider-container + .playback-progressbar-isInteractive + .progress-bar:hover + .x-progressBar-fillColor, +.volume-bar__slider-container + .playback-progressbar-isInteractive:focus-within + .x-progressBar-fillColor { + height: 9px; + background-color: transparent; + border-bottom: 2px dashed var(--fg-color); +} +.volume-bar__slider-container .x-progressBar-progressBarBg { + background-color: transparent; +} + +/* player controls */ +.player-controls__buttons { + margin-bottom: 0; +} +.player-controls__buttons, +.main-nowPlayingBar-extraControls { + opacity: 0.25; + transition: opacity var(--border-transition); +} +.player-controls__buttons:hover, +.main-nowPlayingBar-extraControls:hover { + opacity: 1; +} +.main-shuffleButton-button::before, +button[data-testid="control-button-shuffle"]::after, +.ecHWOS + button:has( + path[d="M13.151.922a.75.75 0 1 0-1.06 1.06L13.109 3H11.16a3.75 3.75 0 0 0-2.873 1.34l-6.173 7.356A2.25 2.25 0 0 1 .39 12.5H0V14h.391a3.75 3.75 0 0 0 2.873-1.34l6.173-7.356a2.25 2.25 0 0 1 1.724-.804h1.947l-1.017 1.018a.75.75 0 0 0 1.06 1.06L15.98 3.75 13.15.922zM.391 3.5H0V2h.391c1.109 0 2.16.49 2.873 1.34L4.89 5.277l-.979 1.167-1.796-2.14A2.25 2.25 0 0 0 .39 3.5z"] + )::before { + content: "\21C4"; +} +.ecHWOS + button:has( + path[d="M12.09.922a.75.75 0 0 1 1.061 0L15.98 3.75l-2.83 2.828a.75.75 0 1 1-1.06-1.06L13.109 4.5H11.16a2.25 2.25 0 0 0-1.724.804L3.264 12.66A3.75 3.75 0 0 1 .391 14H0v-1.5h.391a2.25 2.25 0 0 0 1.724-.804L8.288 4.34A3.75 3.75 0 0 1 11.16 3h1.947L12.09 1.982a.75.75 0 0 1 0-1.06zM.88 3.319C2.255 2.874 2.976 1.787 3.297.874c.036-.102.37-.102.406 0 .321.913 1.042 2 2.417 2.445.103.033.103.329 0 .362-1.375.445-2.096 1.532-2.417 2.445-.036.102-.37.102-.406 0-.321-.913-1.042-2-2.417-2.445-.103-.033-.103-.329 0-.362z"] + )::before { + content: "\21C4\2726"; + text-wrap: nowrap; +} +.main-skipBackButton-button::before, +button[data-testid="control-button-skip-back"]::after { + content: "\25C1"; +} +.main-playPauseButton-button[aria-label="Play"]::before, +.main-playPauseButton-button:has( + path[d="M3 1.713a.7.7 0 0 1 1.05-.607l10.89 6.288a.7.7 0 0 1 0 1.212L4.05 14.894A.7.7 0 0 1 3 14.288V1.713z"] + )::before, +button[data-testid="control-button-playpause"]:has( + path[d="M3 1.713a.7.7 0 0 1 1.05-.607l10.89 6.288a.7.7 0 0 1 0 1.212L4.05 14.894A.7.7 0 0 1 3 14.288V1.713z"] + )::after, +button[data-testid="control-button-playpause"]:has( + path[d="m7.05 3.606 13.49 7.788a.7.7 0 0 1 0 1.212L7.05 20.394A.7.7 0 0 1 6 19.788V4.212a.7.7 0 0 1 1.05-.606z"] + )::after { + content: "\25B6"; +} +.main-playPauseButton-button[aria-label="Pause"]::before, +.main-playPauseButton-button:has( + path[d="M3 1.713a.7.7 0 0 1 1.05-.607l10.89 6.288a.7.7 0 0 1 0 1.212L4.05 14.894A.7.7 0 0 1 3 14.288V1.713z"] + )::before, +button[data-testid="control-button-playpause"]:has( + path[d="M2.7 1a.7.7 0 0 0-.7.7v12.6a.7.7 0 0 0 .7.7h2.6a.7.7 0 0 0 .7-.7V1.7a.7.7 0 0 0-.7-.7H2.7zm8 0a.7.7 0 0 0-.7.7v12.6a.7.7 0 0 0 .7.7h2.6a.7.7 0 0 0 .7-.7V1.7a.7.7 0 0 0-.7-.7h-2.6z"] + )::after, +button[data-testid="control-button-playpause"]:has( + path[d="M5.7 3a.7.7 0 0 0-.7.7v16.6a.7.7 0 0 0 .7.7h2.6a.7.7 0 0 0 .7-.7V3.7a.7.7 0 0 0-.7-.7H5.7zm10 0a.7.7 0 0 0-.7.7v16.6a.7.7 0 0 0 .7.7h2.6a.7.7 0 0 0 .7-.7V3.7a.7.7 0 0 0-.7-.7h-2.6z"] + )::after { + content: "\275A\275A"; + text-wrap: nowrap; +} +button[data-testid="control-button-playpause"] { + padding: 8px; +} +button[data-testid="control-button-playpause"]:hover { + color: var(--spice-text); +} +button[data-testid="control-button-playpause"] .ButtonInner-small-iconOnly { + display: none; +} +.main-skipForwardButton-button::before, +button[data-testid="control-button-skip-forward"]::after { + content: "\25B7"; +} +.main-repeatButton-button::before, +button[data-testid="control-button-repeat"]::after { + content: "\21BB"; +} +.main-repeatButton-button[aria-checked="mixed"]::before, +button[data-testid="control-button-repeat"][aria-checked="mixed"]::after { + content: "\21BB\2474"; + text-wrap: nowrap; +} +.main-shuffleButton-button > svg, +.player-controls__left .ecHWOS svg, +.main-skipBackButton-button > svg, +.main-playPauseButton-button > svg, +.main-skipForwardButton-button > svg, +.main-repeatButton-button > svg, +:is(.player-controls__buttons, .npv-nowPlayingBar-controls) span { + display: none; +} + +/* connect bar */ +.main-connectBar-connectBar { + position: absolute; + background-color: transparent !important; + mix-blend-mode: difference; + pointer-events: none; + right: var(--panel-gap); + bottom: var(--panel-gap); + opacity: 0.25; + padding: 0 10px 10px; +} +.main-connectBar-connectBar span { + color: var(--spice-accent-active); +} +.main-connectBar-connectBar svg { + fill: var(--spice-accent-active); +} diff --git a/desktopenvs/hyprlua/spicetify/Themes/matte-cyberqueer/color.ini b/desktopenvs/hyprlua/spicetify/Themes/matte-cyberqueer/color.ini new file mode 100644 index 0000000..eccdc95 --- /dev/null +++ b/desktopenvs/hyprlua/spicetify/Themes/matte-cyberqueer/color.ini @@ -0,0 +1,644 @@ +; note: most of the accent colors are set to the green of that color scheme, feel free to change it to your preferred color + +[cyberqueer] +; accent = 5018dd +; accent-active = 5018dd +; accent-inactive = 5018dd +; banner = f50505 +; border-active = 5018dd +; border-inactive = 5018dd +; header = 5018dd +; highlight = 5018dd +; main = 1a1a1a +; notification = E40046 +; notification-error = f50505 +; subtext = d6abab +; text = E40046 + + +; topbar +topbar = 1a1a1a +topbar-text = E40046 +topbar-subtext = d6abab +tab-active = E40046 +tab-active-text = 5018dd +tab-hover = 1a1a1a +topbar-border = E40046 + +; sidebars +sidebar = 1a1a1a +sidebar-text = E40046 +link-hover-text = d6abab +link-active = d6abab +link-active-text = E40046 +sidebar-border = E40046 + +; main view +main = 1a1a1a +text = E40046 +subtext = d6abab +selected-row = 5018dd + +; player bar +player = 1a1a1a +player-text = E40046 +player-subtext = d6abab +player-selected-row = E40046 +player-border = E40046 + +; accent colors +button = 5018dd +button-active = E40046 + +; others +button-disabled = 5018dd +scrollbar = 5018dd +scrollbar-hover = E40046 +context-menu = 5018dd +context-menu-text = 1a1a1a +context-menu-hover = E40046 +card = 5018dd +shadow = 1e1e1e +notification = 5018dd +notification-error = f50505 +misc = 5018dd + +; ylx +main-elevated = 1a1a1a +highlight-elevated = 5018dd +highlight = 5018dd +; COLORS' KEY DESCRIPTIONS + +; topbar = background +; topbar-text = title, enabled history button +; topbar-subtext = unselected tabs, disabled history button +; tab-active = selected tab item, search bar background +; tab-active-text = selected tab item, search bar text +; tab-hover = hovered tab item, hovered search bar +; topbar-border = bottom border + +; sidebar = background +; sidebar-text = primary text (home, search, library, playlists, etc) +; link-hover-text = hovered link item text +; link-active = selected link item background +; link-active-text = selected link item text +; sidebar-border = left or right border + +; main = background +; text = primary text (heading, title, some name, song count, button text, etc) +; subtext = secondary text (description, some name, duration, tracklist album, play count, etc) +; selected-row = some details, border, button (heart, download, options in playlist or album) + +; player = background +; player-text = song title, hovered text +; player-subtext = artist name, time duration +; player-selected-row = progress bar (background, duration, volume), button (playback, extra) +; player-border = top border + +; button = button (lyrics, queue in player bar, on toggle in settings) +; button-active = button (play-pause button, current song title in queue, active heart, hovered button and toggle) +; button-disabled = button (off toggle and dropdown menu in settings) +; scrollbar = default +; scrollbar-hover = hovered +; context-menu = background +; context-menu-text = primary text +; context-menu-hover = hovered item backgrond +; card = hovered card, tracks in queue or playlist, etc +; shadow = context menu shadow, popup background dim, popup button background (close, carousel), toast shadow +; notification = toast background, private session indicator +; notification-error = error toast background +; misc = idk + +; main-elevated = ylx carousel buttons, etc +; highlight-elevated = ylx hovered carousel buttons, etc +; highlight = ylx hovered playlist link, etc + +[matte] +; topbar +topbar = 232b32 +topbar-text = d0d2d9 +topbar-subtext = 4a5460 +tab-active = 1c2228 +tab-active-text = d0d2d9 +tab-hover = 131b20 +topbar-border = 232b32 + +; sidebars +sidebar = 181e23 +sidebar-text = 7e8596 +link-active-text = 181e23 +sidebar-border = 181e23 + +; main view +main = 1c2228 +text = b9bcc6 +subtext = 7e8596 +selected-row = 5b6b79 + +; player bar +player = 141b1f +player-text = 969aa9 +player-subtext = 6d8392 +player-selected-row = 6d8392 +player-border = 141b1f + +; accent colors +link-hover-text = 009587 +link-active = 009587 +button = 01bfa5 +button-active = 01bfa5 +scrollbar-hover = 009688 + +; others +button-disabled = 2c353e +scrollbar = 39454f +context-menu = 232b32 +context-menu-text = d0d2d9 +context-menu-hover = 343e47 +card = 232d35 +shadow = 101418 +notification = 1c2228 +notification-error = b73434 +misc = 39454f + +; ylx +main-elevated = 1c2228 +highlight-elevated = 232d35 +highlight = 20272d + +[periwinkle] +; topbar +topbar-text = ffffff +topbar-subtext = aaa5e4 +tab-active-text = d0ccff +tab-hover = ffffff + +; sidebars +sidebar = ffffff +sidebar-text = 010101 +link-active-text = ffffff +sidebar-border = ffffff + +; main view +main = ffffff +text = 010101 +subtext = 6d6d6d +selected-row = 6d6d6d + +; player bar +player = ffffff +player-text = 010101 +player-subtext = 6d6d6d +player-selected-row = 6d6d6d +player-border = d9d9d9 + +; accent colors +topbar = 7269d2 +tab-active = 7269d2 +topbar-border = 7269d2 +link-hover-text = 8c84da +link-active = 7269d2 +button = 7269d2 +button-active = 8c84da +scrollbar-hover = 8a82e0 +context-menu-hover = 7269d2 + +; others +button-disabled = ebebeb +scrollbar = d9d9d9 +context-menu = ffffff +context-menu-text = 010101 +card = ebebeb +shadow = 363163 +notification = ffffff +notification-error = ff4264 +misc = 6d6d6d + +; ylx +main-elevated = ffffff +highlight-elevated = ebebeb +highlight = ebebeb + +[periwinkle-dark] +; topbar +topbar-text = f6f6f6 +topbar-subtext = aaa5e4 +tab-active-text = d0ccff +tab-hover = 383838 + +; sidebars +sidebar = 383838 +sidebar-text = d0d0d0 +link-hover-text = 8c84da +link-active-text = f6f6f6 +sidebar-border = 383838 + +; main view +main = 383838 +text = f6f6f6 +subtext = d0d0d0 +selected-row = d0d0d0 + +; player bar +player = 343434 +player-text = f6f6f6 +player-subtext = d0d0d0 +player-selected-row = d0d0d0 +player-border = 2e2e2e + +; accent colors +topbar = 7269d2 +tab-active = 7269d2 +topbar-border = 7269d2 +link-active = 7269d2 +button = 7269d2 +button-active = 8c84da +scrollbar-hover = 8a82e0 +context-menu-hover = 7269d2 + +; others +button-disabled = 444444 +scrollbar = 494949 +context-menu = 343434 +context-menu-text = f6f6f6 +card = 444444 +shadow = 2e2e2e +notification = 343434 +notification-error = ff4264 +misc = d0d0d0 + +; ylx +main-elevated = 383838 +highlight-elevated = 444444 +highlight = 444444 + +[porcelain] +; topbar +topbar = e8eaf0 +topbar-text = 242b31 +topbar-subtext = 899099 +tab-active = e8eaf0 +tab-active-text = 242b31 +tab-hover = ffffff +topbar-border = e8eaf0 + +; sidebars +sidebar = dfe1e8 +sidebar-text = 3f4b56 +link-hover-text = 6a7495 +link-active-text = dfe1e8 +sidebar-border = dfe1e8 + +; main view +main = f9f9fb +text = 3f4b56 +subtext = 70828f +selected-row = 70828f + +; player bar +player = d5d8df +player-text = 364049 +player-subtext = 4e5a67 +player-selected-row = 4e5a67 +player-border = cdd0d8 + +; accent colors +link-active = 43a8ff +button = 43a8ff +button-active = 038aff +scrollbar-hover = 43a8ff + +; others +button-disabled = c0c5ce +scrollbar = d6dbdf +context-menu = e8eaf0 +context-menu-text = 2f353c +context-menu-hover = ced2db +card = e3e6ea +shadow = 6d6e71 +notification = f9f9fb +notification-error = e6395f +misc = 4e5a67 + +; ylx +main-elevated = f9f9fb +highlight-elevated = e3e6ea +highlight = ced1db + +[rose-pine-moon] +; topbar +topbar = 141428 +topbar-text = e0def4 +topbar-subtext = 7a7a7a +tab-active = 1f1f1f +tab-active-text = d4d4d4 +tab-hover = 272727 +topbar-border = 191919 + +; sidebars +sidebar = 232136 +sidebar-text = e0def4 +link-hover-text = 6d6d6d +link-active = 423d67 +link-active-text = e8e8e8 +sidebar-border = 191919 + +; main view +main = 232136 +text = e0def4 +subtext = 908caa +selected-row = ebbcba + +; player bar +player = 232136 +player-text = e0def4 +player-subtext = e0def4 +player-selected-row = ebbcba +player-border = 191919 + +; accent colors +button-active = ebbcba + +; others +button = ebbcba +button-disabled = 2a273f +scrollbar = 2a273f +scrollbar-hover = dddbf1 +context-menu = 141428 +context-menu-text = e0def4 +context-menu-hover = 3b385c +card = 393552 +shadow = 393552 +notification = 393552 +notification-error = eb6f92 +misc = 232136 + +; ylx +main-elevated = 202020 +highlight-elevated = 2d2d2d +highlight = 2d2d2d + +[gray-dark1] +; topbar +topbar = 191919 +topbar-text = d4d4d4 +topbar-subtext = 7a7a7a +tab-active = 1f1f1f +tab-active-text = d4d4d4 +tab-hover = 272727 +topbar-border = 191919 + +; sidebars +sidebar = 202020 +sidebar-text = d4d4d4 +link-hover-text = 6d6d6d +link-active = 2d2d2d +link-active-text = e8e8e8 +sidebar-border = 191919 + +; main view +main = 202020 +text = d4d4d4 +subtext = 959595 +selected-row = 6d6d6d + +; player bar +player = 202020 +player-text = d4d4d4 +player-subtext = 959595 +player-selected-row = 959595 +player-border = 191919 + +; accent colors +button-active = 2080df + +; others +button = 404040 +button-disabled = 252525 +scrollbar = 353535 +scrollbar-hover = 999999 +context-menu = 202020 +context-menu-text = d4d4d4 +context-menu-hover = 2d2d2d +card = 2d2d2d +shadow = 0c0c0c +notification = 202020 +notification-error = d32635 +misc = 959595 + +; ylx +main-elevated = 202020 +highlight-elevated = 2d2d2d +highlight = 2d2d2d + +[gray-dark2] +; topbar +topbar = 191919 +topbar-text = d4d4d4 +topbar-subtext = 535353 +tab-active = 191919 +tab-active-text = d4d4d4 +tab-hover = 1f1f1f +topbar-border = 191919 + +; sidebars +sidebar = 161616 +sidebar-text = d4d4d4 +link-hover-text = 6c6c6c +link-active = 1c1c1c +link-active-text = d4d4d4 +sidebar-border = 161616 + +; main view +main = 202020 +text = d4d4d4 +subtext = 959595 +selected-row = 6d6d6d + +; player bar +player = 1a1a1a +player-text = d4d4d4 +player-subtext = 959595 +player-selected-row = 959595 +player-border = 1a1a1a + +; accent colors +button-active = 2080df + +; others +button = 404040 +button-disabled = 252525 +scrollbar = 353535 +scrollbar-hover = 999999 +context-menu = 202020 +context-menu-text = d4d4d4 +context-menu-hover = 2d2d2d +card = 2d2d2d +shadow = 0c0c0c +notification = 202020 +notification-error = d32635 +misc = 959595 + +; ylx +main-elevated = 202020 +highlight-elevated = 2d2d2d +highlight = 2d2d2d + +[gray-dark3] +; topbar +topbar = 191919 +topbar-text = d4d4d4 +topbar-subtext = 7a7a7a +tab-active = 191919 +tab-active-text = d4d4d4 +tab-hover = 1f1f1f +topbar-border = 191919 + +; sidebars +sidebar = 131313 +sidebar-text = d4d4d4 +link-hover-text = 6c6c6c +link-active = 1e1e1e +link-active-text = d4d4d4 +sidebar-border = 131313 + +; main view +main = 161616 +text = d4d4d4 +subtext = 959595 +selected-row = 6d6d6d + +; player bar +player = 101010 +player-text = d4d4d4 +player-subtext = 959595 +player-selected-row = 959595 +player-border = 101010 + +; accent colors +button-active = 2080df + +; others +button = 404040 +button-disabled = 252525 +scrollbar = 353535 +scrollbar-hover = 999999 +context-menu = 202020 +context-menu-text = d4d4d4 +context-menu-hover = 2d2d2d +card = 2d2d2d +shadow = 0c0c0c +notification = 202020 +notification-error = d32635 +misc = 959595 + +; ylx +main-elevated = 161616 +highlight-elevated = 2d2d2d +highlight = 2d2d2d + +[gray] +; topbar +topbar = 404040 +topbar-text = e9e9e9 +topbar-subtext = 646464 +tab-active = 333333 +tab-active-text = e9e9e9 +tab-hover = 303030 +topbar-border = 404040 + +; sidebars +sidebar = 383838 +sidebar-text = d4d4d4 +link-hover-text = e9e9e9 +link-active = 4c4c4c +link-active-text = e9e9e9 +sidebar-border = 2f2f2f + +; main view +main = 383838 +text = e9e9e9 +subtext = aaaaaa +selected-row = 6d6d6d + +; player bar +player = 343434 +player-text = d4d4d4 +player-subtext = 7f7f7f +player-selected-row = 7f7f7f +player-border = 2e2e2e + +; accent colors +button-active = 2888d7 + +; others +button = 898989 +button-disabled = 404040 +scrollbar = 494949 +scrollbar-hover = a3a3a3 +context-menu = 383838 +context-menu-text = d4d4d4 +context-menu-hover = 4c4c4c +card = 4c4c4c +shadow = 1e1e1e +notification = 383838 +notification-error = e35b5b +misc = 959595 + +; ylx +main-elevated = 383838 +highlight-elevated = 4c4c4c +highlight = 444444 + +[gray-light] +; topbar +topbar = 404040 +topbar-text = e9e9e9 +topbar-subtext = 646464 +tab-active = 333333 +tab-active-text = e9e9e9 +tab-hover = 303030 +topbar-border = 404040 + +; sidebars +sidebar = ffffff +sidebar-text = 010101 +link-hover-text = 010101 +link-active = e1e1e1 +link-active-text = 010101 +sidebar-border = e9e9e9 + +; main view +main = ffffff +text = 010101 +subtext = 6d6d6d +selected-row = 6d6d6d + +; player bar +player = ffffff +player-text = 010101 +player-subtext = 6d6d6d +player-selected-row = 6d6d6d +player-border = e9e9e9 + +; accent colors +button = 2888d7 +button-active = 2888d7 + +; others +button-disabled = dfdfdf +scrollbar = d9d9d9 +scrollbar-hover = 4d4d4d +context-menu = ffffff +context-menu-text = 010101 +context-menu-hover = ebebeb +card = ebebeb +shadow = 1e1e1e +notification = ffffff +notification-error = e35b5b +misc = 6d6d6d + +; ylx +main-elevated = ffffff +highlight-elevated = ebebeb +highlight = ebebeb diff --git a/desktopenvs/hyprlua/spicetify/Themes/matte-cyberqueer/user.css b/desktopenvs/hyprlua/spicetify/Themes/matte-cyberqueer/user.css new file mode 100644 index 0000000..9619f19 --- /dev/null +++ b/desktopenvs/hyprlua/spicetify/Themes/matte-cyberqueer/user.css @@ -0,0 +1,548 @@ +/* ================================ + USER-EDITABLE VARIABLES + ================================ */ +* { + font-family: Agave Nerd Font; +} +:root { + /* top bar vars */ + --top-bar-padding-top: 45px; + --top-bar-padding-right: 20px; + --top-bar-padding-bottom: 5px; + --top-bar-padding-left: 20px; + --tab-border-radius: 6px; + --top-bar-border-width: 2px; + + /* sidebar vars */ + --sidebar-button-border-radius: 4px; + --sidebar-border-width: 2px; + + /* player vars */ + --player-height: 90px; + --player-padding: 0 20px; + --player-border-width: 2px; + + /* scrollbar vars */ + --scrollbar-border-radius: 4px; + --scrollbar-width: 6px; + --scrollbar-width-hover: 6px; +} + +/* ================================ + GLOBAL NAV + ================================ */ + +.Root__globalNav { + /* add nav padding */ + padding: var(--top-bar-padding-top) var(--top-bar-padding-right) + var(--top-bar-padding-bottom) var(--top-bar-padding-left) !important; + border-bottom: var(--top-bar-border-width) solid var(--spice-topbar-border); +} +.Root__globalNav .main-globalNav-link-icon { + border-radius: var(--tab-border-radius); + background-color: var(--spice-topbar); + color: var(--spice-topbar-subtext); +} +.Root__globalNav .main-globalNav-navLinkActive { + background-color: var(--spice-tab-active); + color: var(--spice-topbar-text); +} +form .main-topBar-searchBar { + /* style seaerch bar */ + border-radius: var(--tab-border-radius) !important; +} +form:hover .main-topBar-searchBar, +form .main-topBar-searchBar:focus { + background: var(--spice-tab-hover) !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; +} + +/* fix spacing */ +.main-globalNav-historyButtonsContainer > div { + gap: 0; + -webkit-padding-start: 0; + padding-inline-start: 0; + -webkit-margin-start: 0; + margin-inline-start: 0; +} +.main-globalNav-historyButtonsContainer > div > div:nth-child(1), +.Root__globalNav > div:nth-child(3) > div:nth-child(2) { + height: 0; + width: 0; +} +.Root__globalNav > div:nth-child(3) { + -webkit-margin-end: 0; + margin-inline-end: 0; +} +.main-globalNav-historyButtons { + gap: 0 !important; + padding-inline: 0 !important; +} +.main-globalNav-historyButtons > button { + padding-inline: var(--encore-spacing-tighter, 12px); +} + +/* ================================ + NAVBAR / LEFT SIDEBAR + ================================ */ + +.Root__nav-bar { + /* add border */ + border-right: var(--sidebar-border-width) solid var(--spice-sidebar-border); +} +.LayoutResizer__resize-bar--resizing, +.LayoutResizer__resize-bar:focus-within, +.LayoutResizer__resize-bar:hover { + /* remove border on hovering layout resizer */ + opacity: 0; +} +.LayoutResizer__resize-bar { + /* replace cursor on layout resize */ + cursor: w-resize; + width: 2px; +} +.LayoutResizer__inline-end { + inset-inline-end: 0; +} +.main-yourLibraryX-entryPoints, +.Root__main-view { + border-radius: 0; +} +.main-yourLibraryX-navItems { + padding-bottom: 0; +} +.main-yourLibraryX-navItem, +.main-yourLibraryX-headerContent { + padding: 4px 0; +} +.main-yourLibraryX-navItem { + padding: 4px 0; +} +.main-yourLibraryX-navLink { + padding: 12px; + text-decoration: none !important; +} +.main-yourLibraryX-navLink, +.main-yourLibraryX-header .main-yourLibraryX-collapseButtonWrapper { + gap: 20px; +} +.Wrapper-md-leading { + margin-inline-end: 0; +} +.main-yourLibraryX-libraryRootlist { + padding: 0 16px 16px; +} +.main-rootlist-wrapper .LineClamp { + -webkit-line-clamp: 1; + line-clamp: 1; +} +.main-yourLibraryX-libraryContainer { + background-color: var(--spice-sidebar); +} + +/* ================================ + MAIN VIEW + ================================ */ + +.main-view-container__scroll-node-child-spacer { + /* remove main view padding */ + display: none; +} +.marketplace-header, +.main-home-filterChipsContainer, +.main-trackList-trackListHeader, +.search-searchCategory-SearchCategory, +.artist-artistDiscography-topBar { + /* fix home filter, track list header, search category, artist discography */ + top: -1px !important; + height: auto; +} +.LVMjmN2CaPruPAo62RAY { + height: unset !important; +} +.marketplace-header, +.main-home-filterChipsContainer, +.search-searchCategory-SearchCategory { + /* home filter, fix search category */ + border-bottom: 1px solid rgba(var(--spice-rgb-selected-row), 0.1); + padding: 16px 0; +} +.search-searchCategory-catergoryGrid button { + margin-bottom: 0 !important; +} +.search-searchCategory-catergoryGrid button[aria-checked="true"] span { + /* customize active search category */ + border-radius: var(--tab-border-radius); +} +.main-trackList-trackListHeader, +.artist-artistDiscography-topBar { + /* fix track list header & artist discography */ + padding: 16px 32px 0 32px; +} +.main-trackList-trackListHeaderStuck.main-trackList-trackListHeader, +.artist-artistDiscography-topBar.artist-artistDiscography-topBarScrolled { + /* fix tracklist header & artist discography */ + box-shadow: none; + border-bottom: 1px solid rgba(var(--spice-rgb-selected-row), 0.1); +} +.search-recentSearches-searchPageGrid + .main-trackList-trackListHeader.main-trackList-trackListHeaderStuck { + /* fix tracklist header in search */ + top: 64px !important; +} +.main-home-homeHeader, +.x-entityHeader-overlay, +.x-actionBarBackground-background, +.main-actionBarBackground-background, +.main-entityHeader-overlay, +.main-entityHeader-backgroundColor { + /* remove background gradient */ + background-color: unset !important; + background-image: unset !important; +} + +/* full window artist background */ +.main-entityHeader-background.main-entityHeader-gradient, +.under-main-view > div > div { + opacity: 0.3 !important; +} +.main-entityHeader-container.main-entityHeader-withBackgroundImage, +.main-entityHeader-background, +.main-entityHeader-background.main-entityHeader-overlay:after, +.under-main-view > div > div { + height: 100vh; +} +.main-entityHeader-withBackgroundImage .main-entityHeader-headerText { + justify-content: center; +} +.main-entityHeader-container.main-entityHeader-nonWrapped.main-entityHeader-withBackgroundImage { + padding-left: 9%; +} +.main-entityHeader-background.main-entityHeader-overlay:after { + background-image: linear-gradient(transparent, transparent), + linear-gradient(var(--spice-main), var(--spice-main)); +} +.artist-artistOverview-overview .main-entityHeader-withBackgroundImage h1 { + font-size: 20vh !important; + line-height: 20vh !important; +} +/* cards */ +.main-cardImage-imageWrapper { + background-color: transparent; +} +.main-card-card { + background: none; +} +.main-cardImage-image { + border-radius: 12px; +} +.main-cardImage-imageWrapper, +.main-entityHeader-shadow { + /* remove drop shadows from images */ + -webkit-box-shadow: none; + box-shadow: none; +} +/* popup modal */ +.main-trackCreditsModal-container { + background-color: var(--spice-main); +} +.main-trackCreditsModal-closeBtn svg path { + fill: var(--spice-subtext); +} +/* lyrics */ +.lyrics-lyrics-background { + background-color: var(--spice-main); +} +.lyrics-lyrics-container.lyrics-lyrics-coverTopBar { + --lyrics-color-active: var(--spice-text) !important; + --lyrics-color-inactive: var(--spice-subtext) !important; + --lyrics-color-passed: var(--spice-subtext) !important; + --lyrics-color-messaging: var(--spice-subtext) !important; +} +.lyrics-lyricsContent-lyric { + opacity: 0.3; +} +.lyrics-lyricsContent-lyric.lyrics-lyricsContent-highlight { + opacity: 0.7; +} +.lyrics-lyricsContent-lyric.lyrics-lyricsContent-isInteractive.lyrics-lyricsContent-active { + text-shadow: 0 0 10px var(--lyrics-color-background), + -2px 1px 0 var(--spice-main), -3px 2px 0 var(--lyrics-color-background), + 2px -1px 0 var(--spice-main), 3px -2px 0 var(--lyrics-color-background); + opacity: 1; +} + +/* ================================ + RIGHT SIDEBAR + ================================ */ + +.Root__right-sidebar { + border-left: var(--sidebar-border-width) solid var(--spice-sidebar-border); +} +.Root__right-sidebar aside::before { + background-color: var(--spice-sidebar) !important; +} + +/* ================================ + NOW PLAYING BAR + ================================ */ + +.Root__now-playing-bar { + border-top: var(--player-border-width) solid var(--spice-player-border); +} +.main-nowPlayingBar-nowPlayingBar { + /* customize now playing bar */ + height: var(--player-height); + padding: var(--player-padding); +} +.main-nowPlayingBar-container { + /* customize now playing bar*/ + border-top: none; +} +[dir="ltr"] .main-nowPlayingWidget-coverExpanded { + transform: translateX(-76px); +} +.x-progressBar-fillColor { + /* fluid progress bars */ + transition: transform, 0s, ease, 0.25s; +} +.progress-bar__slider { + /* fluid progress bars */ + transition: left, 0s, ease, 0.25s; +} + +/* ================================ + MISC & FIXES + ================================ */ + +/* root + -------------------------------- */ +.Root { + --panel-gap: 0 !important; +} +.spotify__container--is-desktop .Root__top-container { + padding-top: 0 !important; +} + +/* scrollbar + -------------------------------- */ +.os-scrollbar-handle { + /* customize scrollbar */ + border-radius: var(--scrollbar-border-radius) !important; + width: var(--scrollbar-width) !important; + margin: 0 6px !important; +} +.os-scrollbar-handle:hover { + /* customize hovered scrollbar */ + border-radius: var(--scrollbar-border-radius) !important; + width: var(--scrollbar-width-hover) !important; +} +.os-scrollbar-handle { + /* increase size from right to left */ + position: absolute; + top: 0; + right: 0; +} + +/* tooltip + -------------------------------- */ +.main-contextMenu-tippy { + /* position below the element */ + transform: translate(0, 65px); +} + +/* placeholder + -------------------------------- */ +.T7WHRub8pynnWPXERh8e, +.rOgsguaurlHVlgCTY0P7, +.eC25_w41L83mXDCqdm_A { + /* playlists loading placeholder */ + opacity: 0.05; + filter: contrast(0.1); +} + +/* color reassignment + -------------------------------- */ +.encore-dark-theme, +.encore-dark-theme .encore-base-set, +*[style*="subdued"] { + /* song duration & queue button & folder arrow & settings desc text */ + --text-subdued: var(--spice-subtext) !important; + --essential-subdued: var(--spice-subtext) !important; +} +.encore-dark-theme .encore-bright-accent-set { + --background-highlight: var(--spice-button-active); + --background-press: var(--spice-button-active); + --background-elevated-base: var(--spice-button-active); + --background-elevated-highlight: var(--spice-button-active); + --background-elevated-press: var(--spice-button-active); +} +.search-searchCategory-contentArea { + --carousel-start-chevron-gradient: var(--spice-main); + --carousel-end-chevron-gradient: var(--spice-main); +} + +/* ====global nav==== */ +.Root__globalNav { + background-color: var(--spice-topbar); +} + +/* ====left sidebar==== */ +.main-yourLibraryX-entryPoints { + background-color: var(--spice-sidebar); +} +.main-yourLibraryX-navLinkActive, +.main-yourLibraryX-navLinkActive .home-active-icon, +.main-yourLibraryX-navLinkActive .search-active-icon { + color: var(--spice-link-active-text) !important; + background-color: var(--spice-link-active); + border-radius: var(--tab-border-radius); +} +.link-subtle { + transition-property: none; + color: var(--spice-sidebar-text); +} +.link-subtle:focus, +.link-subtle:hover { + color: var(--spice-link-hover-text); +} +.Button-md-24-buttonTertiary-iconLeading-condensed-useBrowserDefaultFocusStyle, +.Button-md-24-buttonTertiary-iconLeading-condensed-isUsingKeyboard-useBrowserDefaultFocusStyle { + color: var(--spice-sidebar-text); +} + +/* ====main view==== */ +div[style*="background-base"], +div[style*="background-color"], +div[style*="background-color"] + div { + --background-base: var(--spice-main) !important; + background-color: var(--spice-main) !important; + background-image: none !important; +} +.main-topBar-overlay { + background-color: transparent; +} +.main-trackList-trackListRow.main-trackList-selected, +.main-trackList-trackListRow.main-trackList-selected:hover, +.main-trackList-trackListRow:focus-within, +.main-trackList-trackListRow:hover { + background-color: var(--spice-card); +} +.main-trackList-trackListHeaderStuck.main-trackList-trackListHeader, +.artist-artistDiscography-topBar.artist-artistDiscography-topBarScrolled { + background: var(--spice-main) !important; +} +.main-trackList-placeholder { + /* recolor loading tracklist */ + opacity: 0.05; + filter: contrast(0.1); +} +.view-homeShortcutsGrid-equaliser, +.main-trackList-playingIcon, +.main-devicePicker-nowPlayingActiveIcon { + /* change playing icon color to theme color */ + filter: grayscale(1) opacity(0.2) + drop-shadow(0 0 0 var(--spice-button-active)) + drop-shadow(0 0 0 var(--spice-button-active)) + drop-shadow(0 0 0 var(--spice-button-active)); +} +.main-home-filterChipsSection, +.main-home-filterChipsSection:after { + background-color: var(--spice-main) !important; +} +.search-searchCategory-catergoryGrid button[aria-checked="true"] span { + color: var(--spice-main); + background-color: var(--spice-button-active) !important; +} +.search-searchCategory-catergoryGrid span { + border-radius: var(--tab-border-radius); + color: var(--spice-subtext); +} +.artist-artistAbout-container.artist-artistAbout-backgroundImage + .artist-artistAbout-content + > div { + /* change about artist text color */ + color: #fff; +} +.main-dropDown-dropDown, +.x-settings-input { + background-color: var(--spice-button-disabled); + color: var(--spice-text); +} + +/* ====right sidebar==== */ +.TypeElement-balladBold-textBase-type, +.main-buddyFeed-activityMetadata .main-buddyFeed-artistAndTrackName { + color: var(--spice-sidebar-text); +} + +/* ====now playing bar==== */ +.main-nowPlayingBar-container { + background-color: var(--spice-player); +} +.main-trackInfo-name, +.main-trackInfo-artists a:active, +.main-trackInfo-artists a:focus, +.main-trackInfo-artists a:hover { + color: var(--spice-player-text) !important; +} +.main-trackInfo-artists a:link, +.main-trackInfo-artists a:visited { + color: var(--spice-player-subtext); +} +.main-playPauseButton-button { + color: var(--spice-player); + background-color: var(--spice-button-active); +} +.Button-textBrightAccent-small-small-buttonTertiary-iconOnly-useBrowserDefaultFocusStyle, +.Button-textBrightAccent-small-small-buttonTertiary-iconOnly-isUsingKeyboard-useBrowserDefaultFocusStyle { + color: var(--spice-button) !important; +} +.progress-bar { + --bg-color: rgba(var(--spice-rgb-player-selected-row), 0.3); + --fg-color: var(--spice-player-selected-row); +} + +/* ====misc==== */ + +/* ----scrollbar---- */ +.os-scrollbar-handle { + background-color: var(--spice-scrollbar) !important; +} +.os-scrollbar-handle:hover, +.os-scrollbar-handle:active { + background-color: var(--spice-scrollbar-hover) !important; +} + +/* ----context menu---- */ +.main-contextMenu-menu { + background-color: var(--spice-context-menu); +} +.main-contextMenu-menuHeading, +.main-contextMenu-menuItemButton, +.main-contextMenu-menuItemButton:not(.main-contextMenu-disabled):focus, +.main-contextMenu-menuItemButton:not(.main-contextMenu-disabled):hover { + color: var(--spice-context-menu-text); +} +.main-contextMenu-menuItemButton:not(.main-contextMenu-disabled):focus, +.main-contextMenu-menuItemButton:not(.main-contextMenu-disabled):hover { + background-color: var(--spice-context-menu-hover); +} + +/* ----button---- */ +#_R_G *:not([fill="none"]) { + /* fix heart color on click */ + fill: var(--spice-button-active) !important; +} +#_R_G *:not([stroke="none"]) { + stroke: var(--spice-button-active); +} +.ButtonInner-md-iconOnly { + /* base play/pause icon color on player instead of sidebar */ + color: var(--spice-player); +} +.Button-sm-16-buttonTertiary-iconOnly-condensedAll-useBrowserDefaultFocusStyle { + /* base play/pause icon color on sidebar text instead of subtext */ + color: var(--spice-sidebar-text); +} diff --git a/desktopenvs/hyprlua/spicetify/config-xpui.ini b/desktopenvs/hyprlua/spicetify/config-xpui.ini new file mode 100644 index 0000000..b6c20ca --- /dev/null +++ b/desktopenvs/hyprlua/spicetify/config-xpui.ini @@ -0,0 +1,32 @@ +[AdditionalOptions] +custom_apps = marketplace +sidebar_config = 1 +home_config = 1 +experimental_features = 1 +extensions = + +[Patch] + +[Setting] +spotify_path = $HOME/.local/share/spotify-launcher/install/usr/share/spotify/ +prefs_path = $HOME/.config/spotify/prefs +replace_colors = 1 +overwrite_assets = 0 +check_spicetify_update = 1 +current_theme = matte-cyberqueer +color_scheme = +inject_theme_js = 1 +inject_css = 1 +spotify_launch_flags = +always_enable_devtools = 0 + +[Preprocesses] +disable_sentry = 1 +disable_ui_logging = 1 +remove_rtl_rule = 1 +expose_apis = 1 + +; DO NOT CHANGE! +[Backup] +version = 1.2.86.502.g8cd7fb22 +with = 2.42.14 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.albano-a.packsearch.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.albano-a.packsearch.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.arabianq.ulauncher-duckai.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.arabianq.ulauncher-duckai.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.beanmaster0790.flatpakinstaller-ulauncher.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.beanmaster0790.flatpakinstaller-ulauncher.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.brpaz.ulauncher-brotab.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.brpaz.ulauncher-brotab.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.brpaz.ulauncher-file-search.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.brpaz.ulauncher-file-search.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.brpaz.ulauncher-lipsum.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.brpaz.ulauncher-lipsum.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.brpaz.ulauncher-statuspages.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.brpaz.ulauncher-statuspages.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.ckrybus.ulauncher-journal.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.ckrybus.ulauncher-journal.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.dcervenkov.ulauncher-z-search.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.dcervenkov.ulauncher-z-search.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.e1bos.ulauncher-media-controller.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.e1bos.ulauncher-media-controller.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.eckhoff42.ulauncher-bluetooth-quick-connect.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.eckhoff42.ulauncher-bluetooth-quick-connect.db new file mode 100644 index 0000000000000000000000000000000000000000..45624955a7c1dac91cc53c832d97dbb9bccfb921 GIT binary patch literal 52 zcmZo*sx4&Dh+tx1V8|{nWQ<@2G76JQ3Yj9ffvl9&vdrYv_?*n*l0xPPpa4T5OQ{|J DIYbOD literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.extner32.babel-converter.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.extner32.babel-converter.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.hoisel.pinboard-ulauncher.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.hoisel.pinboard-ulauncher.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.iboyperson.ulauncher-system.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.iboyperson.ulauncher-system.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.ikorjefocur.ulauncher-commandrunner.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.ikorjefocur.ulauncher-commandrunner.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.isacikgoz.ukill.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.isacikgoz.ukill.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.jack5github.ulauncher-steam.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.jack5github.ulauncher-steam.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.kcoovi.ulauncher-link-opener.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.kcoovi.ulauncher-link-opener.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.lighttigerxiv.ulauncher-session-manager.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.lighttigerxiv.ulauncher-session-manager.db new file mode 100644 index 0000000000000000000000000000000000000000..d7a82ff7782c60774effeed35ae8eddfc80f7efe GIT binary patch literal 134 zcmW;CyAHxI3_#HkT3}#9>>XL?_jp4nwMf)7juV&1fW)U`WjngMKl^2K0c(tzU%Y9k z3tQ;41V@Rt&?_B9D%` literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.melianmiko.ulauncher-nmcli.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.melianmiko.ulauncher-nmcli.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.mikebarkmin.ulauncher-duckduckgo.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.mikebarkmin.ulauncher-duckduckgo.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.msaistaken.ulauncher-translator.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.msaistaken.ulauncher-translator.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.munim.ulauncher-ip-lookup.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.munim.ulauncher-ip-lookup.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.noam09.ulauncher-remmina.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.noam09.ulauncher-remmina.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.noam09.ulauncher-units.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.noam09.ulauncher-units.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.ooo-w.ulauncher-hypr-window-switcher.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.ooo-w.ulauncher-hypr-window-switcher.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.pywkm.ulauncher-spotify.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.pywkm.ulauncher-spotify.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.rapha149.ulauncher-bluetooth.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.rapha149.ulauncher-bluetooth.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.rmassidda.ulauncher-firefox-history.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.rmassidda.ulauncher-firefox-history.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.rootwork.ulauncher-symbol.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.rootwork.ulauncher-symbol.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.sergius02.ulauncher-colorconverter.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.sergius02.ulauncher-colorconverter.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.tchar.ulauncher-albert-calculate-anything.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.tchar.ulauncher-albert-calculate-anything.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.the-lay.ulauncher-spotify-api.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.the-lay.ulauncher-spotify-api.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.ulauncher.ulauncher-emoji.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.ulauncher.ulauncher-emoji.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.ulauncher.ulauncher-timer.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.ulauncher.ulauncher-timer.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.ultiblog.ulauncher-password-generator.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.ultiblog.ulauncher-password-generator.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.ural89.batterystatus.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.ural89.batterystatus.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.vanguard478.ulauncher-zoxide.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.vanguard478.ulauncher-zoxide.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.ygun.ulauncher-nm.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.ygun.ulauncher-nm.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.zensoup.ulauncher-unicode.db b/desktopenvs/hyprlua/ulauncher/ext_preferences/com.github.zensoup.ulauncher-unicode.db new file mode 100644 index 0000000000000000000000000000000000000000..0a47446c0ad231c193bdd44ff327ba2ab28bf3d8 GIT binary patch literal 6 NcmZo*sx4&D0{{kv0iOT> literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/ulauncher/extensions.json b/desktopenvs/hyprlua/ulauncher/extensions.json new file mode 100644 index 0000000..88fe400 --- /dev/null +++ b/desktopenvs/hyprlua/ulauncher/extensions.json @@ -0,0 +1,177 @@ +{ + "com.github.kcoovi.ulauncher-link-opener": { + "id": "com.github.kcoovi.ulauncher-link-opener", + "url": "https://github.com/kcoovi/ulauncher-link-opener", + "updated_at": "2025-07-05T04:13:54.258388", + "last_commit": "3effa8f4167f6b837f78a02f6f98807a218f7d53", + "last_commit_time": "2025-06-18T16:03:15" + }, + "com.github.mariob88.ulauncher-grep-search": { + "id": "com.github.mariob88.ulauncher-grep-search", + "url": "https://github.com/mariob88/ulauncher-grep-search", + "updated_at": "2025-07-05T04:14:18.319677", + "last_commit": "f447d6036ce87ca74e7160707da8f8a25761d7ff", + "last_commit_time": "2025-06-08T08:45:36" + }, + "com.github.ooo-w.ulauncher-hypr-window-switcher": { + "id": "com.github.ooo-w.ulauncher-hypr-window-switcher", + "url": "https://github.com/oOo-w/ulauncher-hypr-window-switcher", + "updated_at": "2025-07-05T04:15:49.365833", + "last_commit": "d93e781dc3ef363c28168265ca43860e0aedcd19", + "last_commit_time": "2025-02-09T12:48:39" + }, + "com.github.albano-a.packsearch": { + "id": "com.github.albano-a.packsearch", + "url": "https://github.com/albano-a/PackSearch", + "updated_at": "2025-07-05T19:56:07.165092", + "last_commit": "29d35eb88e359ede8a140296e3697878ee19a6ee", + "last_commit_time": "2025-06-01T04:21:02" + }, + "com.github.jack5github.ulauncher-steam": { + "id": "com.github.jack5github.ulauncher-steam", + "url": "https://github.com/jack5github/ulauncher-steam", + "updated_at": "2025-07-05T19:56:25.918841", + "last_commit": "8201b540f2ea955a5e8ce2fa7957b6c08850e3e5", + "last_commit_time": "2025-05-23T12:53:07" + }, + "com.github.beanmaster0790.flatpakinstaller-ulauncher": { + "id": "com.github.beanmaster0790.flatpakinstaller-ulauncher", + "url": "https://github.com/BeanMaster0790/FlatpakInstaller-Ulauncher", + "updated_at": "2025-07-05T19:57:07.128666", + "last_commit": "1e2a19aa0cdcbb10cfe958d36764147a0b1e3e35", + "last_commit_time": "2025-05-25T10:41:21" + }, + "com.github.hoisel.pinboard-ulauncher": { + "id": "com.github.hoisel.pinboard-ulauncher", + "url": "https://github.com/hoisel/pinboard-ulauncher", + "updated_at": "2025-07-05T19:57:25.678744", + "last_commit": "b8d063b7c0a68dbe2f82708d0555859ffdadfc7e", + "last_commit_time": "2025-04-29T03:31:24" + }, + "com.github.ural89.batterystatus": { + "id": "com.github.ural89.batterystatus", + "url": "https://github.com/ural89/BatteryStatus", + "updated_at": "2025-07-06T02:15:40.088321", + "last_commit": "9dd6ed60bde1ad682c9f46770e5caad39de9673f", + "last_commit_time": "2025-04-28T09:17:33" + }, + "com.github.lighttigerxiv.ulauncher-terminal-runner-extension": { + "id": "com.github.lighttigerxiv.ulauncher-terminal-runner-extension", + "url": "https://github.com/lighttigerXIV/ulauncher-terminal-runner-extension/", + "updated_at": "2025-07-06T02:19:15.337928", + "last_commit": "d6bc2157e5c0ef2f812e3051ddde334c7b485c2e", + "last_commit_time": "2023-05-02T22:50:12" + }, + "com.github.ultiblog.ulauncher-password-generator": { + "id": "com.github.ultiblog.ulauncher-password-generator", + "url": "https://github.com/Ultiblog/ULauncher-Password-Generator", + "updated_at": "2025-07-06T02:23:39.473132", + "last_commit": "de08e6b3ce1c58e4f2b23321702ba40fa2110f73", + "last_commit_time": "2022-11-11T12:05:05" + }, + "com.github.ulauncher.ulauncher-emoji": { + "id": "com.github.ulauncher.ulauncher-emoji", + "url": "https://github.com/Ulauncher/ulauncher-emoji", + "updated_at": "2025-07-06T02:27:26.644018", + "last_commit": "af5806625e361ca4519b99755ccf0a557c1e894a", + "last_commit_time": "2025-06-03T19:05:58" + }, + "com.github.brpaz.ulauncher-file-search": { + "id": "com.github.brpaz.ulauncher-file-search", + "url": "https://github.com/brpaz/ulauncher-file-search", + "updated_at": "2025-07-06T02:32:34.259672", + "last_commit": "0ea61c2049b27f1ddfa81d1844876f21dd9d6e7b", + "last_commit_time": "2020-07-03T13:30:16" + }, + "com.github.iboyperson.ulauncher-system": { + "id": "com.github.iboyperson.ulauncher-system", + "url": "https://github.com/iboyperson/ulauncher-system", + "updated_at": "2025-07-06T02:34:58.934536", + "last_commit": "7dedd992709fa2297735cddf852404144d4da47c", + "last_commit_time": "2023-11-14T16:53:20" + }, + "com.github.ulauncher.ulauncher-timer": { + "id": "com.github.ulauncher.ulauncher-timer", + "url": "https://github.com/ulauncher/ulauncher-timer", + "updated_at": "2025-07-06T02:36:16.760021", + "last_commit": "2d3fe82fe1e38670e6eb8887cd2a4b4d1c2baa79", + "last_commit_time": "2023-03-25T08:07:41" + }, + "com.github.isacikgoz.ukill": { + "id": "com.github.isacikgoz.ukill", + "url": "https://github.com/isacikgoz/ukill", + "updated_at": "2025-07-06T02:38:29.115980", + "last_commit": "bc50d9f41d46b6813a5aeebddd15734dcdb9d8db", + "last_commit_time": "2019-05-28T18:30:00" + }, + "com.github.eckhoff42.ulauncher-bluetooth-quick-connect": { + "id": "com.github.eckhoff42.ulauncher-bluetooth-quick-connect", + "url": "https://github.com/Eckhoff42/Ulauncher-Bluetooth-quick-connect", + "updated_at": "2025-07-06T02:40:12.858925", + "last_commit": "2cb1d85cdfa870888e3eeda733b63467b0966ad1", + "last_commit_time": "2022-05-10T15:18:43" + }, + "com.github.zensoup.ulauncher-unicode": { + "id": "com.github.zensoup.ulauncher-unicode", + "url": "https://github.com/zensoup/ulauncher-unicode", + "updated_at": "2025-07-06T02:41:11.956254", + "last_commit": "0ad36c00a888e687b4bfbf76f266f1000040b337", + "last_commit_time": "2019-07-11T06:53:31" + }, + "com.github.pywkm.ulauncher-spotify": { + "id": "com.github.pywkm.ulauncher-spotify", + "url": "https://github.com/pywkm/ulauncher-spotify", + "updated_at": "2025-07-06T02:41:59.054529", + "last_commit": "89d9b02316aaccea0d70b458bb97b3976287f03e", + "last_commit_time": "2020-02-17T16:20:21" + }, + "com.github.melianmiko.ulauncher-nmcli": { + "id": "com.github.melianmiko.ulauncher-nmcli", + "url": "https://github.com/melianmiko/ulauncher-nmcli", + "updated_at": "2025-07-06T02:43:37.590732", + "last_commit": "13f226d83f8feac3cf6f73532cce1ffc23f42700", + "last_commit_time": "2024-10-11T14:18:16" + }, + "com.github.brpaz.ulauncher-statuspages": { + "id": "com.github.brpaz.ulauncher-statuspages", + "url": "https://github.com/brpaz/ulauncher-statuspages", + "updated_at": "2025-07-06T02:45:11.329947", + "last_commit": "41a0bc4b55e97dd9c3fa15ee000b658f92c8029e", + "last_commit_time": "2022-06-14T19:01:05" + }, + "com.github.mikebarkmin.ulauncher-duckduckgo": { + "id": "com.github.mikebarkmin.ulauncher-duckduckgo", + "url": "https://github.com/mikebarkmin/ulauncher-duckduckgo", + "updated_at": "2025-07-06T02:46:00.330925", + "last_commit": "f2ea6a187082c600a59acc9cca6e288d96f66cc0", + "last_commit_time": "2021-08-07T18:51:44" + }, + "com.github.sergius02.ulauncher-colorconverter": { + "id": "com.github.sergius02.ulauncher-colorconverter", + "url": "https://github.com/sergius02/ulauncher-colorconverter", + "updated_at": "2025-07-06T02:49:23.598678", + "last_commit": "2d5e2bc17e89f1f1dc561f73e68ea574e0be844a", + "last_commit_time": "2020-12-06T20:59:43" + }, + "com.github.dcervenkov.ulauncher-z-search": { + "id": "com.github.dcervenkov.ulauncher-z-search", + "url": "https://github.com/dcervenkov/ulauncher-z-search", + "updated_at": "2025-07-06T02:51:39.236644", + "last_commit": "d7fbd54a9fe63660464c05458baf4b8ff1ef5209", + "last_commit_time": "2025-02-15T11:11:04" + }, + "com.github.ckrybus.ulauncher-journal": { + "id": "com.github.ckrybus.ulauncher-journal", + "url": "https://github.com/ckrybus/ulauncher-journal", + "updated_at": "2025-07-06T02:59:22.486378", + "last_commit": "c3fc03c6568bbba30ebef47a6f8d7321c3c9cdbb", + "last_commit_time": "2020-05-17T18:23:23" + }, + "com.github.rmassidda.ulauncher-firefox-history": { + "id": "com.github.rmassidda.ulauncher-firefox-history", + "url": "https://github.com/rmassidda/ulauncher-firefox-history", + "updated_at": "2025-07-06T03:06:52.573655", + "last_commit": "b1d8e9399a466fe7c8dccd2f6d94ad014a260812", + "last_commit_time": "2024-03-01T22:15:25" + } +} \ No newline at end of file diff --git a/desktopenvs/hyprlua/ulauncher/settings.json b/desktopenvs/hyprlua/ulauncher/settings.json new file mode 100644 index 0000000..ba2ddec --- /dev/null +++ b/desktopenvs/hyprlua/ulauncher/settings.json @@ -0,0 +1,12 @@ +{ + "blacklisted-desktop-dirs": "/usr/share/locale:/usr/share/app-install:/usr/share/kservices5:/usr/share/fk5:/usr/share/kservicetypes5:/usr/share/applications/screensavers:/usr/share/kde4:/usr/share/mimelnk", + "clear-previous-query": true, + "disable-desktop-filters": false, + "grab-mouse-pointer": true, + "hotkey-show-app": "space", + "render-on-screen": "mouse-pointer-monitor", + "show-indicator-icon": true, + "show-recent-apps": "5", + "terminal-command": "", + "theme-name": "cyberqueer" +} \ No newline at end of file diff --git a/desktopenvs/hyprlua/ulauncher/shortcuts.json b/desktopenvs/hyprlua/ulauncher/shortcuts.json new file mode 100644 index 0000000..b1dd904 --- /dev/null +++ b/desktopenvs/hyprlua/ulauncher/shortcuts.json @@ -0,0 +1,52 @@ +{ + "df5cc034-93d6-4e74-a327-17edc7964d4e": { + "id": "df5cc034-93d6-4e74-a327-17edc7964d4e", + "name": "Stack Overflow", + "keyword": "so", + "cmd": "https://stackoverflow.com/search?q=%s", + "icon": "/usr/share/ulauncher/media/stackoverflow-icon.svg", + "is_default_search": true, + "run_without_argument": false, + "added": 1751681166.2164495 + }, + "3f5d8f2e-29e5-45b6-9cd4-468a5a470be1": { + "id": "3f5d8f2e-29e5-45b6-9cd4-468a5a470be1", + "name": "Wikipedia", + "keyword": "wiki", + "cmd": "https://en.wikipedia.org/wiki/%s", + "icon": "/usr/share/ulauncher/media/wikipedia-icon.png", + "is_default_search": true, + "run_without_argument": false, + "added": 1751681166.2164557 + }, + "f5544d1d-f0f9-46c8-b462-d233a525a5aa": { + "id": "f5544d1d-f0f9-46c8-b462-d233a525a5aa", + "name": "FireFox - Private Window", + "keyword": "Private", + "cmd": "firefox --private-window", + "icon": null, + "is_default_search": false, + "run_without_argument": true, + "added": 1751719096.3762949 + }, + "e694e0a0-b308-4bd0-92ec-7133b8ed2f7a": { + "id": "e694e0a0-b308-4bd0-92ec-7133b8ed2f7a", + "name": "journal history", + "keyword": "jhist", + "cmd": "kitty ~/Dotfiles/desktopenvs/hyprland/scripts/journal.sh", + "icon": null, + "is_default_search": false, + "run_without_argument": true, + "added": 1751763731.7843938 + }, + "ebf26c6e-4af1-4368-a56e-9ec6043c7dbb": { + "id": "ebf26c6e-4af1-4368-a56e-9ec6043c7dbb", + "name": "Youtube Search", + "keyword": "yt", + "cmd": "https://www.youtube.com/results?search_query=%s", + "icon": null, + "is_default_search": false, + "run_without_argument": false, + "added": 1751764732.6393154 + } +} \ No newline at end of file diff --git a/desktopenvs/hyprlua/ulauncher/user-themes/cyberqueer/generated.css b/desktopenvs/hyprlua/ulauncher/user-themes/cyberqueer/generated.css new file mode 100644 index 0000000..649320a --- /dev/null +++ b/desktopenvs/hyprlua/ulauncher/user-themes/cyberqueer/generated.css @@ -0,0 +1,75 @@ +@import url("$HOME/.cache/ulauncher_cache/themes/dark/generated.css"); + +* { + font-family: Agave Nerd Font Mono, Arial, sans-serif; + border-radius: 60px; +} + +.app { + background-color: #1a1a1a; + border: 4px solid #E40046; + padding: 9px; + border-radius: 60px; +} + +.input { + font-size: 170%; + padding: 10px 0 10px 7px; + color: #E40046; +} + +/** + * Selected text in input + */ +.input *:selected, +.input *:focus, +*:selected:focus { + color: #E40046; +} + +.item-text { + color: #d6abab; +} +.item-name { + font-size: 120%; + color: #5018dd; +} +.item-highlight { + color: #5018dd; +} + +/* Small result item */ +.small-result-item .item-name { + font-size: 100%; +} +.item-descr { + font-size: 80%; +} + +.selected.item-box { + background-color: alpha(#5018dd, 0.7); + border: 4px solid #E40046; +} +.selected.item-box .item-text { + color: #d6abab; +} +.selected.item-box .item-name { + color: #d6abab; +} +.selected.item-box .item-highlight { + color: #5018dd; +} +.item-shortcut { + color: #E40046; +} +.selected.item-box .item-shortcut { + color: #E40046; +} + +.prefs-btn { + border-radius: 12px; + opacity: 0.8; +} +.prefs-btn:hover { + background-color: alpha(#5018dd, 0.7); +} diff --git a/desktopenvs/hyprlua/ulauncher/user-themes/cyberqueer/manifest.json b/desktopenvs/hyprlua/ulauncher/user-themes/cyberqueer/manifest.json new file mode 100644 index 0000000..6e2ea10 --- /dev/null +++ b/desktopenvs/hyprlua/ulauncher/user-themes/cyberqueer/manifest.json @@ -0,0 +1,12 @@ +{ + "manifest_version": "1", + "name": "cyberqueer", + "display_name": "cyberqueer", + "extend_theme": "dark", + "css_file": "theme.css", + "css_file_gtk_3.20+": "theme.css", + "matched_text_hl_colors": { + "when_selected": "#E40046", + "when_not_selected": "#d6abab" + } +} diff --git a/desktopenvs/hyprlua/ulauncher/user-themes/cyberqueer/theme.css b/desktopenvs/hyprlua/ulauncher/user-themes/cyberqueer/theme.css new file mode 100644 index 0000000..708c5c9 --- /dev/null +++ b/desktopenvs/hyprlua/ulauncher/user-themes/cyberqueer/theme.css @@ -0,0 +1,73 @@ +* { + font-family: Agave Nerd Font Mono, Arial, sans-serif; + border-radius: 60px; +} + +.app { + background-color: #1a1a1a; + border: 4px solid #E40046; + padding: 9px; + border-radius: 60px; +} + +.input { + font-size: 170%; + padding: 10px 0 10px 7px; + color: #E40046; +} + +/** + * Selected text in input + */ +.input *:selected, +.input *:focus, +*:selected:focus { + color: #E40046; +} + +.item-text { + color: #d6abab; +} +.item-name { + font-size: 120%; + color: #5018dd; +} +.item-highlight { + color: #5018dd; +} + +/* Small result item */ +.small-result-item .item-name { + font-size: 100%; +} +.item-descr { + font-size: 80%; +} + +.selected.item-box { + background-color: alpha(#5018dd, 0.7); + border: 4px solid #E40046; +} +.selected.item-box .item-text { + color: #d6abab; +} +.selected.item-box .item-name { + color: #d6abab; +} +.selected.item-box .item-highlight { + color: #5018dd; +} +.item-shortcut { + color: #E40046; +} +.selected.item-box .item-shortcut { + color: #E40046; +} + +.prefs-btn { + border-radius: 12px; + opacity: 0.8; +} +.prefs-btn:hover { + background-color: alpha(#5018dd, 0.7); +} diff --git a/desktopenvs/hyprlua/vicinae/cyberqueer.toml b/desktopenvs/hyprlua/vicinae/cyberqueer.toml new file mode 100644 index 0000000..5723697 --- /dev/null +++ b/desktopenvs/hyprlua/vicinae/cyberqueer.toml @@ -0,0 +1,80 @@ +# This file demonstrates all available theme configuration options for Vicinae. +# You don't need to define all of these: only override what you want to customize. +# Undefined colors will be automatically derived from core colors or inherited from base themes. +# +# Check out the full documentation at https://docs.vicinae.com/theming/getting-started + +[meta] +name = "cyberqueer" +description = "Default Vicinae dark palette" +variant = "dark" # "dark" | "light": impacts what icon to show in some circumstances + +[colors.core] +accent = "#E40046" +accent_foreground = "#D6ABAB" +background = "#1a1a1a" +foreground = "#D6ABAB" +secondary_background = "#4F1A2F" +border = "#5018DD" + +[colors.main_window] +border = "#5018DD" +footer = { background = "colors.core.secondary_background" } + +[colors.settings_window] +border = "#5018DD" + +[colors.accents] +blue = "#E40046" +green = "#3a9c61" +magenta = "#bc8cff" +orange = "#f0883e" +red = "#F50505" +yellow = "#bfae78" +cyan = "#18a5b3" +purple = "#bc8cff" + +# For now, shortcuts cannot have their own dedicated background +[colors.shortcut] +border = "colors.core.border" + +[colors.text] +default = "colors.core.foreground" +muted = "#D6ABAB" +danger = "#F50505" +success = "#E40046" +placeholder = "#D6ABAB" +selection = { background = "#E40046", foreground = "#D6ABAB" } + +[colors.text.links] +default = "#E40046" +visited = "#5018DD" + +[colors.input] +border = "#5018DD" +border_focus = "#E40046" +border_error = "#F50505" + +[colors.button.primary] +background = "#5018DD" +foreground = "#D6ABAB" +hover = { background = "#bb5018DD" } +focus = { outline = "colors.core.accent" } + +[colors.list.item.selection] +background = "#5018DD" +foreground = "#D6ABAB" +secondary_background = "#5018DD" +secondary_foreground = "#D6ABAB" + +[colors.grid.item] +background = "#4F1A4F" +hover = { outline = "#D6ABAB" } +selection = { outline = "#D6ABAB" } + +[colors.scrollbars] +background = "#5018DD" + +[colors.loading] +bar = "#D6ABAB" # shown right below the search bar when something is loading +spinner = "#D6ABAB" # used by dynamic toasts diff --git a/desktopenvs/hyprlua/vicinae/vicinae/settings.json b/desktopenvs/hyprlua/vicinae/vicinae/settings.json new file mode 100644 index 0000000..bb8261f --- /dev/null +++ b/desktopenvs/hyprlua/vicinae/vicinae/settings.json @@ -0,0 +1,88 @@ +// This configuration is merged with the default vicinae configuration file, which you can obtain by running the `vicinae config default` command. +// Every item defined in this file takes precedence over the values defined in the default config or any other imported file. +// +// You can make manual edits to this file, however you should keep in mind that this file may be written to by vicinae when a configuration change is made through the GUI. +// When that happens, any custom comments or formatting will be lost. +// +// If you want to maintain a configuration file with your own comments and formatting, you should create a separate file and add it to the 'imports' array. +// +// Learn more about configuration at https://docs.vicinae.com/config + +{ + "$schema": "https://vicinae.com/schemas/config.json", + "imports": [], + "close_on_focus_loss": true, + "consider_preedit": false, + "pop_to_root_on_close": true, + "escape_key_behavior": "navigate_back", + "favicon_service": "twenty", + "keybinding": "default", + "pixmap_cache_mb": 50, + "search_files_in_root": true, + "font": { + "normal": { + "family": "Agave Nerd Font", + "size": 10 + } + }, + "theme": { + "light": { + "name": "vicinae-light", + "icon_theme": "auto" + }, + "dark": { + "name": "cyberqueer", + "icon_theme": "auto" + } + }, + "launcher_window": { + "opacity": 0.95, + "client_side_decorations": { + "enabled": true, + "rounding": 25, + "border_width": 7 + }, + "size": { + "width": 500, + "height": 480 + }, + "dim_around": false, + "blur": { + "enabled": false + }, + "compact_mode": { + "enabled": false + }, + "layer_shell": { + "layer": "top", + "keyboard_interactivity": "on_demand", + "enabled": false + } + }, + "keybinds": { + "action.copy": "control+shift+C", + "action.copy-name": "control+shift+.", + "action.copy-path": "control+shift+,", + "action.dangerous-remove": "control+shift+X", + "action.duplicate": "control+D", + "action.edit": "control+E", + "action.edit-secondary": "control+shift+E", + "action.move-down": "control+shift+ARROWDOWN", + "action.move-up": "control+shift+ARROWUP", + "action.new": "control+N", + "action.open": "control+O", + "action.pin": "control+shift+P", + "action.refresh": "control+R", + "action.remove": "control+X", + "action.save": "control+S", + "open-search-filter": "control+P", + "open-settings": "control+,", + "toggle-action-panel": "control+B" + }, + "favorites": [ + "clipboard:history" + ], + "fallbacks": [ + "files:search" + ] +} \ No newline at end of file diff --git a/desktopenvs/hyprlua/walker/config.toml b/desktopenvs/hyprlua/walker/config.toml new file mode 100644 index 0000000..64b151c --- /dev/null +++ b/desktopenvs/hyprlua/walker/config.toml @@ -0,0 +1,247 @@ +app_launch_prefix = "" +terminal_title_flag = "" +locale = "" +close_when_open = false +theme = "cyberqueer" +monitor = "" +hotreload_theme = false +as_window = true +timeout = 0 +disable_click_to_close = false +force_keyboard_focus = false + +[keys] +accept_typeahead = ["tab"] +trigger_labels = "lalt" +next = ["down"] +prev = ["up"] +close = ["esc"] +remove_from_history = ["shift backspace"] +resume_query = ["ctrl r"] +toggle_exact_search = ["ctrl m"] + +[keys.activation_modifiers] +keep_open = "shift" +alternate = "alt" + +[keys.ai] +clear_session = ["ctrl x"] +copy_last_response = ["ctrl c"] +resume_session = ["ctrl r"] +run_last_response = ["ctrl e"] + +[events] +on_activate = "" +on_selection = "" +on_exit = "" +on_launch = "" +on_query_change = "" + +[list] +dynamic_sub = true +keyboard_scroll_style = "emacs" +max_entries = 50 +show_initial_entries = true +single_click = true +visibility_threshold = 20 +placeholder = "No Results" + +[search] +argument_delimiter = "#" +placeholder = "Search..." +delay = 0 +resume_last_query = false + +[activation_mode] +labels = "asdfjkl" + +[builtins.applications] +weight = 9 +name = "applications" +placeholder = "Applications" +prioritize_new = true +hide_actions_with_empty_query = true +context_aware = true +refresh = true +show_sub_when_single = true +show_icon_when_single = true +show_generic = true +history = true + +[builtins.applications.actions] +enabled = true +hide_category = false +hide_without_query = true + +[builtins.bookmarks] +weight = 5 +placeholder = "Bookmarks" +name = "bookmarks" +icon = "bookmark" +switcher_only = false + +[[builtins.bookmarks.entries]] +label = "Walker" +url = "https://github.com/abenz1267/walker" +keywords = ["walker", "github"] + +[builtins.xdph_picker] +hidden = true +weight = 5 +placeholder = "Screen/Window Picker" +show_sub_when_single = true +name = "xdphpicker" +switcher_only = false + +[builtins.ai] +weight = 5 +placeholder = "AI" +name = "ai" +icon = "help-browser" +switcher_only = false +show_sub_when_single = true + +[[builtins.ai.anthropic.prompts]] +model = "claude-3-7-sonnet-20250219" +temperature = 1 +max_tokens = 1_000 +label = "General Assistant" +prompt = "You are a helpful general assistant. Keep your answers short and precise." + +[builtins.calc] +require_number = true +weight = 5 +name = "calc" +icon = "accessories-calculator" +placeholder = "Calculator" +min_chars = 4 + +[builtins.windows] +weight = 5 +icon = "view-restore" +name = "windows" +placeholder = "Windows" +show_icon_when_single = true + +[builtins.clipboard] +always_put_new_on_top = true +exec = "wl-copy" +weight = 5 +name = "clipboard" +avoid_line_breaks = true +placeholder = "Clipboard" +image_height = 300 +max_entries = 10 +switcher_only = false + +[builtins.commands] +weight = 5 +icon = "utilities-terminal" +switcher_only = false +name = "commands" +placeholder = "Commands" + +[builtins.custom_commands] +weight = 5 +icon = "utilities-terminal" +name = "custom_commands" +placeholder = "Custom Commands" + +[builtins.emojis] +exec = "wl-copy" +weight = 5 +name = "emojis" +placeholder = "Emojis" +switcher_only = false +history = true +typeahead = true +show_unqualified = false + +[builtins.symbols] +after_copy = "" +weight = 5 +name = "symbols" +placeholder = "Symbols" +switcher_only = false +history = true +typeahead = true + +[builtins.finder] +use_fd = false +weight = 10 +icon = "folder" +name = "finder" +placeholder = "Finder" +switcher_only = false +ignore_gitignore = true +refresh = true +concurrency = 5 +show_icon_when_single = true +preview_images = true + +[builtins.runner] +eager_loading = true +weight = 7 +icon = "utilities-terminal" +name = "runner" +placeholder = "Runner" +typeahead = true +history = true +generic_entry = false +refresh = true +use_fd = false + +[builtins.ssh] +weight = 9 +icon = "preferences-system-network" +name = "ssh" +placeholder = "SSH" +switcher_only = false +history = true +refresh = true + +[builtins.switcher] +weight = 12 +name = "switcher" +placeholder = "Switcher" +prefix = "/" + +[builtins.websearch] +keep_selection = true +weight = 1 +icon = "applications-internet" +name = "websearch" +placeholder = "Websearch" +switcher_only = true + +[[builtins.websearch.entries]] +name = "DuckDuckGo" +url = "https://duckduckgo.com/?q=%TERM%" +switcher_only = true + +[[builtins.websearch.entries]] +name = "Ecosia" +url = "https://www.ecosia.org/search?q=%TERM%" +switcher_only = true + +[[builtins.websearch.entries]] +name = "Yandex" +url = "https://yandex.com/search/?text=%TERM%" +switcher_only = true + +[builtins.dmenu] +hidden = true +weight = 5 +name = "dmenu" +placeholder = "Dmenu" +switcher_only = false +show_icon_when_single = true + +[builtins.translation] +delay = 1000 +weight = 5 +name = "translation" +icon = "accessories-dictionary" +placeholder = "Translation" +switcher_only = true +provider = "googlefree" diff --git a/desktopenvs/hyprlua/walker/themes/cyberqueer.css b/desktopenvs/hyprlua/walker/themes/cyberqueer.css new file mode 100644 index 0000000..84e8799 --- /dev/null +++ b/desktopenvs/hyprlua/walker/themes/cyberqueer.css @@ -0,0 +1,112 @@ +@define-color foreground #E40046; +@define-color background #1a1a1a; +@define-color highlight #5018dd; + +* { + all: unset; + font-family: "Agave Nerd Font Mono", Arial, sans-serif; + font-size: 18pt; + border-radius: 15px; + background-color: none; + + padding-top: 1px; + padding-bottom: 1px; + padding-right: 6px; + padding-left: 6px; + + margin-top: 2px; + margin-bottom: 2px; + margin-right: 2px; + margin-left: 2px; +} + +#window { + color: @foreground; + background-color: none; + padding: 10px; +} + +#box { + border-radius: 15px; + background: @background; + padding: 20px; + border: 4px solid @foreground; +} + +#search { + border: 4px solid @highlight; + color: @highlight; + border-radius: 30px; + background-color: @background; + margin-top: 0px; +} + +#input { + border: 4px solid @highlight; + color: @highlight; + border-radius: 30px; + background-color: @background; + + padding-right: 15px; + padding-left: 15px; + margin-top: 30px; + margin-bottom: -80px; + margin-right: 15px; + margin-left: 15px; +} + +#entry { + color: @highlight; +} + +#entry:selected { + border: 4px solid @foreground; + background-color: @background; + color: #E40046; + border-radius: 30px; +} + +child { + padding: 8px; + border-radius: 15px; +} + +child:selected, +child:hover { + background: @background; + border: 4px solid #E40046; + border-radius: 30px; + color: #E40046; +} + +#label { + font-weight: 500; + color: @highlight; +} + +#typeahead { + color: @foreground; + opacity: 0.8; + border-radius: 15px; +} + +#clear { + color: @foreground; + opacity: 0.8; +} + +#prompt { + margin-left: 4px; + margin-right: 12px; + color: @foreground; + opacity: 0.2; +} + +#cfgerr { + background: rgba(255, 0, 0, 0.4); + margin-top: 20px; + padding: 8px; + font-size: 1.2em; + border-radius: 15px; +} + diff --git a/desktopenvs/hyprlua/walker/themes/cyberqueer.toml b/desktopenvs/hyprlua/walker/themes/cyberqueer.toml new file mode 100644 index 0000000..1a4786a --- /dev/null +++ b/desktopenvs/hyprlua/walker/themes/cyberqueer.toml @@ -0,0 +1,106 @@ +# AUTO GENERATED. DO NOT EDIT. CHANGES WILL BE OVERWRITTEN. + +[ui.anchors] +bottom = true +left = true +right = true +top = true + +[ui.window] +h_align = "fill" +v_align = "fill" + +[ui.window.box] +h_align = "center" +v_align = "center" +width = 850 +height = 760 + +[ui.window.box.bar] +orientation = "horizontal" +position = "center" + +[ui.window.box.bar.entry] +h_align = "fill" +h_expand = true + +[ui.window.box.bar.entry.icon] +h_align = "center" +pixel_size = 24 +theme = "" + +[ui.window.box.margins] +top = 30 + +[ui.window.box.ai_scroll] +name = "aiScroll" +h_align = "fill" +v_align = "end" +max_height = 300 +min_width = 400 +height = 300 +width = 400 + +[ui.window.box.ai_scroll.margins] +top = 8 + +[ui.window.box.ai_scroll.list] +name = "aiList" +orientation = "vertical" +width = 400 +spacing = 10 + +[ui.window.box.ai_scroll.list.item] +name = "aiItem" +h_align = "fill" +v_align = "fill" +x_align = 0 +y_align = 0 +wrap = true + +[ui.window.box.scroll.list] +marker_color = "#1BFFE1" +max_height = 900 +min_height = 400 +max_width = 500 +min_width = 1200 +width = 400 + +[ui.window.box.scroll.list.item.activation_label] +h_align = "fill" +v_align = "center" +width = 20 +x_align = 0.5 +y_align = 0.5 + +[ui.window.box.scroll.list.item.icon] +pixel_size = 26 +theme = "" + +[ui.window.box.scroll.list.margins] +top = 80 + +[ui.window.box.search.prompt] +name = "prompt" +icon = "" +theme = "" +pixel_size = 13 +h_align = "fill" +v_align = "start" + +[ui.window.box.search.clear] +name = "clear" +icon = "edit-clear" +theme = "" +pixel_size = 13 +h_align = "center" +v_align = "end" + +[ui.window.box.search.input] +h_align = "fill" +v_align = "end" +h_expand = true +icons = false + +[ui.window.box.search.spinner] +hide = true diff --git a/desktopenvs/hyprlua/walker/themes/default.css b/desktopenvs/hyprlua/walker/themes/default.css new file mode 100644 index 0000000..7b4bdcb --- /dev/null +++ b/desktopenvs/hyprlua/walker/themes/default.css @@ -0,0 +1,162 @@ +/* AUTO GENERATED. DO NOT EDIT. CHANGES WILL BE OVERWRITTEN. */ + +@define-color foreground rgba(255, 255, 255, 0.8); +@define-color background hsla(240, 12.7%, 13.9%, 0.98); +@define-color color1 hsl(172, 100%, 25.3%); +/* AUTO GENERATED. DO NOT EDIT. CHANGES WILL BE OVERWRITTEN. */ + +#window, +#box, +#aiScroll, +#aiList, +#search, +#password, +#input, +#prompt, +#clear, +#typeahead, +#list, +child, +scrollbar, +slider, +#item, +#text, +#label, +#bar, +#sub, +#activationlabel { + all: unset; +} + +#cfgerr { + background: rgba(255, 0, 0, 0.4); + margin-top: 20px; + padding: 8px; + font-size: 1.2em; +} + +#window { + color: @foreground; +} + +#box { + border-radius: 2px; + background: @background; + padding: 32px; + border: 1px solid lighter(@background); + box-shadow: + 0 19px 38px rgba(0, 0, 0, 0.3), + 0 15px 12px rgba(0, 0, 0, 0.22); +} + +#search { + box-shadow: + 0 1px 3px rgba(0, 0, 0, 0.1), + 0 1px 2px rgba(0, 0, 0, 0.22); + background: lighter(@background); + padding: 8px; +} + +#prompt { + margin-left: 4px; + margin-right: 12px; + color: @foreground; + opacity: 0.2; +} + +#clear { + color: @foreground; + opacity: 0.8; +} + +#password, +#input, +#typeahead { + border-radius: 2px; +} + +#input { + background: none; +} + +#password { +} + +#spinner { + padding: 8px; +} + +#typeahead { + color: @foreground; + opacity: 0.8; +} + +#input placeholder { + opacity: 0.5; +} + +#list { +} + +child { + padding: 8px; + border-radius: 2px; +} + +child:selected, +child:hover { + background: alpha(@color1, 0.4); +} + +#item { +} + +#icon { + margin-right: 8px; +} + +#text { +} + +#label { + font-weight: 500; +} + +#sub { + opacity: 0.5; + font-size: 0.8em; +} + +#activationlabel { +} + +#bar { +} + +.barentry { +} + +.activation #activationlabel { +} + +.activation #text, +.activation #icon, +.activation #search { + opacity: 0.5; +} + +.aiItem { + padding: 10px; + border-radius: 2px; + color: @foreground; + background: @background; +} + +.aiItem.user { + padding-left: 0; + padding-right: 0; +} + +.aiItem.assistant { + background: lighter(@background); +} diff --git a/desktopenvs/hyprlua/walker/themes/default.toml b/desktopenvs/hyprlua/walker/themes/default.toml new file mode 100644 index 0000000..38d1ac6 --- /dev/null +++ b/desktopenvs/hyprlua/walker/themes/default.toml @@ -0,0 +1,103 @@ +# AUTO GENERATED. DO NOT EDIT. CHANGES WILL BE OVERWRITTEN. + +[ui.anchors] +bottom = true +left = true +right = true +top = true + +[ui.window] +h_align = "fill" +v_align = "fill" + +[ui.window.box] +h_align = "center" +width = 450 + +[ui.window.box.bar] +orientation = "horizontal" +position = "end" + +[ui.window.box.bar.entry] +h_align = "fill" +h_expand = true + +[ui.window.box.bar.entry.icon] +h_align = "center" +h_expand = true +pixel_size = 24 +theme = "" + +[ui.window.box.margins] +top = 200 + +[ui.window.box.ai_scroll] +name = "aiScroll" +h_align = "fill" +v_align = "fill" +max_height = 300 +min_width = 400 +height = 300 +width = 400 + +[ui.window.box.ai_scroll.margins] +top = 8 + +[ui.window.box.ai_scroll.list] +name = "aiList" +orientation = "vertical" +width = 400 +spacing = 10 + +[ui.window.box.ai_scroll.list.item] +name = "aiItem" +h_align = "fill" +v_align = "fill" +x_align = 0 +y_align = 0 +wrap = true + +[ui.window.box.scroll.list] +marker_color = "#1BFFE1" +max_height = 300 +max_width = 400 +min_width = 400 +width = 400 + +[ui.window.box.scroll.list.item.activation_label] +h_align = "fill" +v_align = "fill" +width = 20 +x_align = 0.5 +y_align = 0.5 + +[ui.window.box.scroll.list.item.icon] +pixel_size = 26 +theme = "" + +[ui.window.box.scroll.list.margins] +top = 8 + +[ui.window.box.search.prompt] +name = "prompt" +icon = "edit-find" +theme = "" +pixel_size = 18 +h_align = "center" +v_align = "center" + +[ui.window.box.search.clear] +name = "clear" +icon = "edit-clear" +theme = "" +pixel_size = 18 +h_align = "center" +v_align = "center" + +[ui.window.box.search.input] +h_align = "fill" +h_expand = true +icons = true + +[ui.window.box.search.spinner] +hide = true diff --git a/desktopenvs/hyprlua/walker/themes/default_window.toml b/desktopenvs/hyprlua/walker/themes/default_window.toml new file mode 100644 index 0000000..39c2729 --- /dev/null +++ b/desktopenvs/hyprlua/walker/themes/default_window.toml @@ -0,0 +1,105 @@ +# AUTO GENERATED. DO NOT EDIT. CHANGES WILL BE OVERWRITTEN. + +[ui.anchors] +bottom = true +left = true +right = true +top = true + +[ui.window] +h_align = "fill" +v_align = "fill" +v_expand = true +height = 400 +width = 450 + +[ui.window.box] +h_align = "center" +width = 450 + +[ui.window.box.bar] +orientation = "horizontal" +position = "end" + +[ui.window.box.bar.entry] +h_align = "fill" +h_expand = true + +[ui.window.box.bar.entry.icon] +h_align = "center" +h_expand = true +pixel_size = 24 +theme = "" + +[ui.window.box.margins] +top = 0 + +[ui.window.box.ai_scroll] +name = "aiScroll" +h_align = "fill" +v_align = "fill" +max_height = 400 +min_width = 400 +height = 450 +width = 450 + +[ui.window.box.ai_scroll.margins] +top = 8 + +[ui.window.box.ai_scroll.list] +name = "aiList" +orientation = "vertical" +width = 450 +spacing = 10 + +[ui.window.box.ai_scroll.list.item] +name = "aiItem" +h_align = "fill" +v_align = "fill" +x_align = 0 +y_align = 0 +wrap = true + +[ui.window.box.scroll.list] +max_height = 400 +max_width = 450 +min_width = 450 +width = 450 + +[ui.window.box.scroll.list.item.activation_label] +h_align = "fill" +v_align = "fill" +width = 20 +x_align = 0.5 +y_align = 0.5 + +[ui.window.box.scroll.list.item.icon] +pixel_size = 26 +theme = "" + +[ui.window.box.scroll.list.margins] +top = 8 + +[ui.window.box.search.prompt] +name = "prompt" +icon = "edit-find" +theme = "" +pixel_size = 18 +h_align = "center" +v_align = "center" + +[ui.window.box.search.clear] +name = "clear" +icon = "edit-clear" +theme = "" +pixel_size = 18 +h_align = "center" +v_align = "center" + +[ui.window.box.search.input] +h_align = "fill" +h_expand = true +icons = true + +[ui.window.box.search.spinner] +hide = true diff --git a/desktopenvs/hyprlua/waybar/config b/desktopenvs/hyprlua/waybar/config new file mode 100644 index 0000000..eaf266a --- /dev/null +++ b/desktopenvs/hyprlua/waybar/config @@ -0,0 +1,208 @@ +{ + "layer": "top", "position": "top", + "modules-left": ["clock", "disk", "memory", "cpu", "temperature" ], + "modules-center": [ "hyprland/workspaces", "hyprland/window"], + "modules-right": [ "network", "custom/netaddrsimple", "tray", "pulseaudio", "battery" ], + "reload_style_on_change":true, + + "custom/netaddrsimple": { + "format": "IP:{}", + "tooltip":false, + //"max-length": 15, + "interval": 10, + "exec": "hostname -i", + }, + + "hyprland/workspaces": { + "format": "{name}", + "format-icons": { + "default": " ", + "active": "@", + "urgent": "!" + }, + "on-scroll-up": "hyprctl dispatch workspace e+1", + "on-scroll-down": "hyprctl dispatch workspace e-1", + }, + "clock": { + "format": "{:L%H:%M}", + "tooltip": true, + "tooltip-format": "{:%A, %d.%B %Y }\n{calendar}" + } + }, + + +"idle_inhibitor":{ + "format": "{icon} ", + "format-icons": { + "activated":"󰈈", + "deactivated":"󰈉" + } +}, + +"clock": { + "format": "{:%H:%M:%S }", + "interval":1, + "tooltip-format": "\n{:%d %m %Y}\n{calendar}", + "calendar-weeks-pos": "right", + "today-format": "{}", + "format-calendar": "{}", + "format-calendar-weeks": "W{:%V}", + "format-calendar-weekdays": "{}" + }, + + "bluetooth": { + "format-on": "", + "format-off": "", + "format-disabled": "󰂲", + "format-connected": "󰂴", + "format-connected-battery": "{device_battery_percentage}% 󰂴", + "tooltip-format": "{controller_alias}\t{controller_address}\n\n{num_connections} connected", + "tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}", + "tooltip-format-enumerate-connected": "{device_alias}\t{device_address}", + "tooltip-format-enumerate-connected-battery": "{device_alias}\t{device_address}\t{device_battery_percentage}%", + "on-click": "rofi-bluetooth", + }, + + + + "battery": { + "interval":1, + "states": { + "good": 95, + "warning": 30, + "critical": 20 + }, + "format": "PWR- {capacity}% {icon} ", + "format-charging": "PWR+ {capacity}% 󰂄 ", + "format-plugged": "PWR+ {capacity}% 󰂄 ", + "format-alt": "{time} {icon}", + "format-icons": [ + "󰁻", + "󰁼", + "󰁾", + "󰂀", + "󰂂", + "󰁹" + ], + }, +"backlight": { + "device": "intel_backlight", + "format": "{icon}", + "format-icons": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ], + "on-scroll-down": "light -A 10", + "on-scroll-up": "light -U 10", + "smooth-scrolling-threshold": 1 + }, + + "disk": { + "interval": 30, + "format": " {percentage_used}%", + "path": "/" + }, + + "custom/colorpicker": { + "format": "{}", + "return-type": "json", + "interval": "once", + "exec": "~/.config/waybar/scripts/colorpicker.sh -j", + "on-click": "sleep 1 && ~/.config/waybar/scripts/colorpicker.sh", + "signal": 1 + }, + + "cpu": { + "interval": 1, + "format": " {usage}%", + "min-length": 6, + "max-length": 6, + "format-icons": ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"], + }, + +"memory": { + "format": " {percentage}%" +}, + + "hyprland/window": { + "format": "( {class} )", + "rewrite": { + "(.*) - Mozilla Firefox": "🌎 $1", + "(.*) - zsh": "> [$1]" + } +}, + +"temperature": { + "format": " {temperatureC}°C", + "format-critical": " {temperatureC}°C", + "interval": 1, + "critical-threshold": 80, + "on-click": "foot btop", + }, + +"pulseaudio": { + "format": "{volume}% {icon}", + "format-bluetooth":"󰂰", + "format-muted": "", + "format-icons": { + "headphones": "", + "bluetooth": "󰥰", + "handsfree": "", + "headset": "󱡬", + "phone": "", + "portable": "", + "car": "", + "default": ["󰕿","󰖀","󰕾"] + }, + "justify": "center", + "on-click": "amixer sset Master toggle", + "on-click-right": "pavucontrol", + "tooltip-format": "{icon} {volume}%" +}, + +"jack": { + "format": "{} 󱎔", + "format-xrun": "{xruns} xruns", + "format-disconnected": "DSP off", + "realtime": true +}, + +"tray": { + "icon-size": 14, + "spacing": 10 +}, + +"upower": { + "show-icon": false, + "hide-if-empty": true, + "tooltip": true, + "tooltip-spacing": 20 +}, + + + "network":{ + "format-wifi": " ", + "format-ethernet":" ", + "format-disconnected": "", + "tooltip-format": "{ifname}", + "tooltip-format-wifi": "{essid} ({signalStrength}%)  | {ipaddr}", + "tooltip-format-ethernet": "{ifname} 🖧 | {ipaddr}" + }, + + "custom/powerDraw": { + "format": "{}", + "interval": 1, + "exec": "~/.config/waybar/scripts/powerdraw.sh", + "return-type": "json" + } + + +} diff --git a/desktopenvs/hyprlua/waybar/scripts/amixer-toggle.sh b/desktopenvs/hyprlua/waybar/scripts/amixer-toggle.sh new file mode 100755 index 0000000..ca45bba --- /dev/null +++ b/desktopenvs/hyprlua/waybar/scripts/amixer-toggle.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +# Check the current state of the speaker +state=$(amixer -D pulse sget Master | awk '/\[on\]/{print "unmute"; exit} /\[off\]/{print "mute"; exit}') + +# Toggle the state of the speaker +# +if [ "$state" = "[on] "]; then + amixer +# amixer -D pulse sset Master "$state" > /dev/null + diff --git a/desktopenvs/hyprlua/waybar/scripts/brightness.sh b/desktopenvs/hyprlua/waybar/scripts/brightness.sh new file mode 100644 index 0000000..7a693aa --- /dev/null +++ b/desktopenvs/hyprlua/waybar/scripts/brightness.sh @@ -0,0 +1,3 @@ +#!/bin/bash + + diff --git a/desktopenvs/hyprlua/waybar/scripts/colorpicker.sh b/desktopenvs/hyprlua/waybar/scripts/colorpicker.sh new file mode 100755 index 0000000..3047757 --- /dev/null +++ b/desktopenvs/hyprlua/waybar/scripts/colorpicker.sh @@ -0,0 +1,60 @@ +#!/usr/bin/env bash + +check() { + command -v "$1" 1>/dev/null +} + +notify() { + check notify-send && { + notify-send -a "Color Picker" "$@" + return + } + echo "$@" +} + +loc="$HOME/.cache/colorpicker" +[ -d "$loc" ] || mkdir -p "$loc" +[ -f "$loc/colors" ] || touch "$loc/colors" + +limit=10 + +[[ $# -eq 1 && $1 = "-l" ]] && { + cat "$loc/colors" + exit +} + +[[ $# -eq 1 && $1 = "-j" ]] && { + text="$(head -n 1 "$loc/colors")" + + mapfile -t allcolors < <(tail -n +2 "$loc/colors") + # allcolors=($(tail -n +2 "$loc/colors")) + tooltip=" COLORS\n\n" + + tooltip+="-> $text \n" + for i in "${allcolors[@]}"; do + tooltip+=" $i \n" + done + + cat <", "tooltip":"$tooltip"} +EOF + + exit +} + +check hyprpicker || { + notify "hyprpicker is not installed" + exit +} +killall -q hyprpicker +color=$(hyprpicker) + +check wl-copy && { + echo "$color" | sed -z 's/\n//g' | wl-copy +} + +prevColors=$(head -n $((limit - 1)) "$loc/colors") +echo "$color" >"$loc/colors" +echo "$prevColors" >>"$loc/colors" +sed -i '/^$/d' "$loc/colors" +pkill -RTMIN+1 waybar diff --git a/desktopenvs/hyprlua/waybar/scripts/myUpdates.sh b/desktopenvs/hyprlua/waybar/scripts/myUpdates.sh new file mode 100755 index 0000000..5011866 --- /dev/null +++ b/desktopenvs/hyprlua/waybar/scripts/myUpdates.sh @@ -0,0 +1,24 @@ +#!/bin/bash +format() { + if [ "$1" -eq 0 ]; then + echo '-' + else + echo "$1" + fi +} + +if ! updates_arch="$(checkupdates | wc -l)"; then + updates_arch=0 +fi + +if ! updates_aur="$(yay -Qum 2>/dev/null | wc -l)"; then + updates_aur=0 +fi + +updates="$((updates_arch + updates_aur))" + +if [ "$updates" -gt 0 ]; then + echo " ($(format $updates_arch)/$(format $updates_aur))" +else + echo +fia diff --git a/desktopenvs/hyprlua/waybar/scripts/myupdate.sh b/desktopenvs/hyprlua/waybar/scripts/myupdate.sh new file mode 100755 index 0000000..99e5e72 --- /dev/null +++ b/desktopenvs/hyprlua/waybar/scripts/myupdate.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +pkgmgr="pacman" +hash paru 2>/dev/null && pkgmgr="paru" +hash yay 2>/dev/null && pkgmgr="yay" + +IFS=$'\n'$'\r' + +updatesli=($($pkgmgr -Qu)) +text=${#updatesli[@]} +icon="" +[ $text -eq 0 ] && icon="" || icon="📦" + +for i in ${updatesli[@]} +do + tooltip+="$i\n" +done + +cat << EOF +{ "text":"$icon", "tooltip":"UPDATES: $text"} +EOF + diff --git a/desktopenvs/hyprlua/waybar/scripts/powerdraw.sh b/desktopenvs/hyprlua/waybar/scripts/powerdraw.sh new file mode 100755 index 0000000..8d367b7 --- /dev/null +++ b/desktopenvs/hyprlua/waybar/scripts/powerdraw.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f /sys/class/power_supply/BAT*/power_now ]; then + powerDraw="󰠰 $(($(cat /sys/class/power_supply/BAT*/power_now)/1000000))w" +fi + + +cat << EOF +{ "text":"$powerDraw", "tooltip":"power Draw $powerDraw"} +EOF diff --git a/desktopenvs/hyprlua/waybar/style.css b/desktopenvs/hyprlua/waybar/style.css new file mode 100644 index 0000000..184ab4c --- /dev/null +++ b/desktopenvs/hyprlua/waybar/style.css @@ -0,0 +1,58 @@ +* { + border: none; + font-family: Agave Nerd Font Mono, sans-serif; + font-size: 12pt; + background: transparent; + + padding-top: 2px; + padding-bottom: 2px; + padding-right: 6px; + padding-left: 6px; + + margin-top: 1px; + margin-bottom: 0px; + margin-right: 2px; + margin-left: 2px; + + border-radius: 30px; + } + + #workspaces button { + border: solid; + border-width: 3px; + background: #1a1a1a; + color: #5018dd; + } + + + #workspaces button.active { + border: solid; + border-width: 3px; + background: #1a1a1a; + color: #E40046; + + } + + #workspaces button.urgent { + border: solid; + border-width: 3px; + background: #E40046; + color: #1a1a1a; + + } + + + #clock, #disk, #window, #battery, #cpu, #memory, #temperature, #backlight, #network, #pulseaudio, #custom-media, #tray, #mode, #idle_inhibitor, #custom-netaddrsimple { + border: solid; + border-width: 3px; + background: #1a1a1a; + color: #5018dd; + } + + #idle_inhibitor.activated { + border: solid; + border-width: 3px; + background: #1a1a1a; + color: #E40046; + + } diff --git a/desktopenvs/hyprlua/waybar/testconf b/desktopenvs/hyprlua/waybar/testconf new file mode 100644 index 0000000..f7dbe32 --- /dev/null +++ b/desktopenvs/hyprlua/waybar/testconf @@ -0,0 +1,161 @@ +{ + "layer": "bottom", + "position": "bottom", + "mod": "dock", + "exclusive": true, + "gtk-layer-shell": true, + "margin-bottom": -1, + "passthrough": false, + "height": 41, + "modules-left": [ + "custom/os_button", + "hyprland/workspaces", + "wlr/taskbar" + ], + "modules-center": [], + "modules-right": [ + "cpu", + "temperature", + "memory", + "disk", + "tray", + "pulseaudio", + "network", + "battery", + "hyprland/language", + "clock" + ], + "hyprland/language": { + "format": "{}", + "format-en": "ENG", + "format-ru": "РУС" + }, + "hyprland/workspaces": { + "icon-size": 32, + "spacing": 16, + "on-scroll-up": "hyprctl dispatch workspace r+1", + "on-scroll-down": "hyprctl dispatch workspace r-1" + }, + "custom/os_button": { + "format": "", + "on-click": "wofi --show drun", + "tooltip": false + }, + "cpu": { + "interval": 5, + "format": " {usage}%", + "max-length": 10 + }, + "temperature": { + "hwmon-path-abs": "/sys/devices/platform/coretemp.0/hwmon", + "input-filename": "temp2_input", + "critical-threshold": 75, + "tooltip": false, + "format-critical": "({temperatureC}°C)", + "format": "({temperatureC}°C)" + }, + "disk": { + "interval": 30, + "format": "󰋊 {percentage_used}%", + "path": "/", + "tooltip": true, + "unit": "GB", + "tooltip-format": "Available {free} of {total}" + }, + "memory": { + "interval": 10, + "format": " {percentage}%", + "max-length": 10, + "tooltip": true, + "tooltip-format": "RAM - {used:0.1f}GiB used" + }, + "wlr/taskbar": { + "format": "{icon} {title:.17}", + "icon-size": 28, + "spacing": 3, + "on-click-middle": "close", + "tooltip-format": "{title}", + "ignore-list": [], + "on-click": "activate" + }, + "tray": { + "icon-size": 18, + "spacing": 3 + }, + "clock": { + "format": " {:%R\n %d.%m.%Y}", + "tooltip-format": "{calendar}", + "calendar": { + "mode": "year", + "mode-mon-col": 3, + "weeks-pos": "right", + "on-scroll": 1, + "on-click-right": "mode", + "format": { + "months": "{}", + "days": "{}", + "weeks": "W{}", + "weekdays": "{}", + "today": "{}" + } + }, + "actions": { + "on-click-right": "mode", + "on-click-forward": "tz_up", + "on-click-backward": "tz_down", + "on-scroll-up": "shift_up", + "on-scroll-down": "shift_down" + } + }, + "network": { + "format-wifi": " {icon}", + "format-ethernet": "  ", + "format-disconnected": "󰌙", + "format-icons": [ + "󰤯 ", + "󰤟 ", + "󰤢 ", + "󰤢 ", + "󰤨 " + ] + }, + "battery": { + "states": { + "good": 95, + "warning": 30, + "critical": 20 + }, + "format": "{icon} {capacity}%", + "format-charging": " {capacity}%", + "format-plugged": " {capacity}%", + "format-alt": "{time} {icon}", + "format-icons": [ + "󰂎", + "󰁺", + "󰁻", + "󰁼", + "󰁽", + "󰁾", + "󰁿", + "󰂀", + "󰂁", + "󰂂", + "󰁹" + ] + }, + "pulseaudio": { + "max-volume": 150, + "scroll-step": 10, + "format": "{icon}", + "tooltip-format": "{volume}%", + "format-muted": " ", + "format-icons": { + "default": [ + " ", + " ", + " " + ] + }, + "on-click": "pwvucontrol" + } +} diff --git a/desktopenvs/hyprlua/wofi/config b/desktopenvs/hyprlua/wofi/config new file mode 100644 index 0000000..bb80db2 --- /dev/null +++ b/desktopenvs/hyprlua/wofi/config @@ -0,0 +1,6 @@ +normal_window=true +hide_scroll=true +width = 55% +height= 40% +prompt=exec +allow_images=true diff --git a/desktopenvs/hyprlua/wofi/netman/wofi-network-manager.conf b/desktopenvs/hyprlua/wofi/netman/wofi-network-manager.conf new file mode 100644 index 0000000..96e87fd --- /dev/null +++ b/desktopenvs/hyprlua/wofi/netman/wofi-network-manager.conf @@ -0,0 +1,16 @@ +#!/bin/sh + +style=/home/sdk/.config/wofi/style.css + +xoffset=710 +yoffset=275 +# show=drun +width=500 +height=500 +always_parse_args=true +show_all=true +print_command=true +layer=overlay +insensitive=true +prompt= +normal_window=false diff --git a/desktopenvs/hyprlua/wofi/netman/wofi-network-manager.css b/desktopenvs/hyprlua/wofi/netman/wofi-network-manager.css new file mode 100644 index 0000000..e2430ba --- /dev/null +++ b/desktopenvs/hyprlua/wofi/netman/wofi-network-manager.css @@ -0,0 +1,61 @@ +configuration { + show-icons: false; + sidebar-mode: false; + hover-select: true; + me-select-entry: ""; + me-accept-entry: [MousePrimary]; +} + +window { +margin: 0px; +border: 2px solid #414868; +border-radius: 5px; +background-color: #24283b; +font-family: monospace; +font-size: 12px; +} + +#input { +margin: 5px; +border: 1px solid #24283b; +color: #c0caf5; +background-color: #24283b; +} + +#input image { + color: #c0caf5; +} + +#inner-box { +margin: 5px; +border: none; +background-color: #24283b; +} + +#outer-box { +margin: 5px; +border: none; +background-color: #24283b; +} + +#scroll { +margin: 0px; +border: none; +} + +#text { +margin: 5px; +border: none; +color: #c0caf5; +} + +#entry:selected { + background-color: #414868; + font-weight: normal; +} + +#text:selected { + background-color: #414868; + font-weight: normal; +}i + diff --git a/desktopenvs/hyprlua/wofi/netman/wofi-network-manager.sh b/desktopenvs/hyprlua/wofi/netman/wofi-network-manager.sh new file mode 100644 index 0000000..5721e5d --- /dev/null +++ b/desktopenvs/hyprlua/wofi/netman/wofi-network-manager.sh @@ -0,0 +1,223 @@ +#!/bin/bash +# Default Values +LOCATION=0 +QRCODE_LOCATION=$LOCATION +Y_AXIS=0 +X_AXIS=0 +NOTIFICATIONS_INIT="off" +QRCODE_DIR="/tmp/" +WIDTH_FIX_MAIN=1 +WIDTH_FIX_STATUS=10 +DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +PASSWORD_ENTER="if connection is stored,hit enter/esc." +WIRELESS_INTERFACES=($(nmcli device | awk '$2=="wifi" {print $1}')) +WIRELESS_INTERFACES_PRODUCT=() +WLAN_INT=0 +WIRED_INTERFACES=($(nmcli device | awk '$2=="ethernet" {print $1}')) +WIRED_INTERFACES_PRODUCT=() + +function initialization() { + source "$DIR/wofi-network-manager.conf" || source "${XDG_CONFIG_HOME:-$HOME/.config}/wofi/wofi-network-manager.conf" + { [[ -s "$DIR/wofi-network-manager.css" ]] && RASI_DIR="$DIR/wofi-network-manager.css"; } || { [[ -s "${XDG_CONFIG_HOME:-$HOME/.config}/wofi/wofi-network-manager.css" ]] && RASI_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/wofi/wofi-network-manager.css"; } || exit + for i in "${WIRELESS_INTERFACES[@]}"; do WIRELESS_INTERFACES_PRODUCT+=("$(nmcli -f general.product device show "$i" | awk '{print $2}')"); done + for i in "${WIRED_INTERFACES[@]}"; do WIRED_INTERFACES_PRODUCT+=("$(nmcli -f general.product device show "$i" | awk '{print $2}')"); done + wireless_interface_state && ethernet_interface_state +} +function notification() { + [[ "$NOTIFICATIONS_INIT" == "on" && -x "$(command -v notify-send)" ]] && notify-send -r "5" -u "normal" $1 "$2" +} +function wireless_interface_state() { + [[ ${#WIRELESS_INTERFACES[@]} -eq "0" ]] || { + ACTIVE_SSID=$(nmcli device status | grep "^${WIRELESS_INTERFACES[WLAN_INT]}." | awk '{print $4}') + WIFI_CON_STATE=$(nmcli device status | grep "^${WIRELESS_INTERFACES[WLAN_INT]}." | awk '{print $3}') + { [[ "$WIFI_CON_STATE" == "unavailable" ]] && WIFI_LIST="***Wi-Fi Disabled***" && WIFI_SWITCH="~Wi-Fi On" && OPTIONS="${WIFI_LIST}\n${WIFI_SWITCH}\n~Scan\n"; } || { [[ "$WIFI_CON_STATE" =~ "connected" ]] && { + PROMPT=${WIRELESS_INTERFACES_PRODUCT[WLAN_INT]}[${WIRELESS_INTERFACES[WLAN_INT]}] + WIFI_LIST=$(nmcli --fields IN-USE,SSID,SECURITY,BARS device wifi list ifname "${WIRELESS_INTERFACES[WLAN_INT]}" | awk -F' +' '{ if (!seen[$2]++) print}' | sed "s/^IN-USE\s//g" | sed "/*/d" | sed "s/^ *//" | awk '$1!="--" {print}') + [[ "$ACTIVE_SSID" == "--" ]] && WIFI_SWITCH="~Scan\n~Manual/Hidden\n~Wi-Fi Off" || WIFI_SWITCH="~Scan\n~Disconnect\n~Manual/Hidden\n~Wi-Fi Off" + OPTIONS="${WIFI_LIST}\n${WIFI_SWITCH}\n" + }; } + } +} +function ethernet_interface_state() { + [[ ${#WIRED_INTERFACES[@]} -eq "0" ]] || { + WIRED_CON_STATE=$(nmcli device status | grep "ethernet" | head -1 | awk '{print $3}') + { [[ "$WIRED_CON_STATE" == "disconnected" ]] && WIRED_SWITCH="~Eth On"; } || { [[ "$WIRED_CON_STATE" == "connected" ]] && WIRED_SWITCH="~Eth Off"; } || { [[ "$WIRED_CON_STATE" == "unavailable" ]] && WIRED_SWITCH="***Wired Unavailable***"; } || { [[ "$WIRED_CON_STATE" == "connecting" ]] && WIRED_SWITCH="***Wired Initializing***"; } + OPTIONS="${OPTIONS}${WIRED_SWITCH}\n" + } +} +function wofi_menu() { + { [[ ${#WIRELESS_INTERFACES[@]} -gt "1" ]] && OPTIONS="${OPTIONS}~Change Wifi Interface\n~More Options"; } || { OPTIONS="${OPTIONS}~More Options"; } + { [[ "$WIRED_CON_STATE" == "connected" ]] && PROMPT="${WIRED_INTERFACES_PRODUCT}[$WIRED_INTERFACES]"; } || PROMPT="${WIRELESS_INTERFACES_PRODUCT[WLAN_INT]}[${WIRELESS_INTERFACES[WLAN_INT]}]" + SELECTION=$(echo -e "$OPTIONS" | wofi_cmd "$OPTIONS" $WIDTH_FIX_MAIN "-a 0") + SSID=$(echo "$SELECTION" | sed "s/\s\{2,\}/\|/g" | awk -F "|" '{print $1}') + selection_action +} +function wofi_cmd() { + { [[ -n "${1}" ]] && WIDTH=$(echo -e "$1" | awk '{print length}' | sort -n | tail -1) && ((WIDTH += $2)) && ((WIDTH = WIDTH / 2)); } || { ((WIDTH = $2 / 2)); } + wofi -dmenu -i --normal-window=false -location "$LOCATION" -yoffset "$Y_AXIS" -xoffset "$X_AXIS" $3 -theme "$RASI_DIR" -theme-str 'window{width: '$WIDTH'em;}textbox-prompt-colon{str:"'$PROMPT':";}'"$4"'' +} +function change_wireless_interface() { + { [[ ${#WIRELESS_INTERFACES[@]} -eq "2" ]] && { [[ $WLAN_INT -eq "0" ]] && WLAN_INT=1 || WLAN_INT=0; }; } || { + LIST_WLAN_INT="" + for i in "${!WIRELESS_INTERFACES[@]}"; do LIST_WLAN_INT=("${LIST_WLAN_INT[@]}${WIRELESS_INTERFACES_PRODUCT[$i]}[${WIRELESS_INTERFACES[$i]}]\n"); done + LIST_WLAN_INT[-1]=${LIST_WLAN_INT[-1]::-2} + CHANGE_WLAN_INT=$(echo -e "${LIST_WLAN_INT[@]}" | wofi_cmd "${LIST_WLAN_INT[@]}" $WIDTH_FIX_STATUS) + for i in "${!WIRELESS_INTERFACES[@]}"; do [[ $CHANGE_WLAN_INT == "${WIRELESS_INTERFACES_PRODUCT[$i]}[${WIRELESS_INTERFACES[$i]}]" ]] && WLAN_INT=$i && break; done + } + wireless_interface_state && ethernet_interface_state + wofi_menu +} +function scan() { + [[ "$WIFI_CON_STATE" =~ "unavailable" ]] && change_wifi_state "Wi-Fi" "Enabling Wi-Fi connection" "on" && sleep 2 + notification "-t 0 Wifi" "Please Wait Scanning" + WIFI_LIST=$(nmcli --fields IN-USE,SSID,SECURITY,BARS device wifi list ifname "${WIRELESS_INTERFACES[WLAN_INT]}" --rescan yes | awk -F' +' '{ if (!seen[$2]++) print}' | sed "s/^IN-USE\s//g" | sed "/*/d" | sed "s/^ *//" | awk '$1!="--" {print}') + wireless_interface_state && ethernet_interface_state + notification "-t 1 Wifi" "Please Wait Scanning" + wofi_menu +} +function change_wifi_state() { + notification "$1" "$2" + nmcli radio wifi "$3" +} +function change_wired_state() { + notification "$1" "$2" + nmcli device "$3" "$4" +} +function net_restart() { + notification "$1" "$2" + nmcli networking off && sleep 3 && nmcli networking on +} +function disconnect() { + ACTIVE_SSID=$(nmcli -t -f GENERAL.CONNECTION dev show "${WIRELESS_INTERFACES[WLAN_INT]}" | cut -d ':' -f2) + notification "$1" "You're now disconnected from Wi-Fi network '$ACTIVE_SSID'" + nmcli con down id "$ACTIVE_SSID" +} +function check_wifi_connected() { + [[ "$(nmcli device status | grep "^${WIRELESS_INTERFACES[WLAN_INT]}." | awk '{print $3}')" == "connected" ]] && disconnect "Connection_Terminated" +} +function connect() { + check_wifi_connected + notification "-t 0 Wi-Fi" "Connecting to $1" + { [[ $(nmcli dev wifi con "$1" password "$2" ifname "${WIRELESS_INTERFACES[WLAN_INT]}" | grep -c "successfully activated") -eq "1" ]] && notification "Connection_Established" "You're now connected to Wi-Fi network '$1'"; } || notification "Connection_Error" "Connection can not be established" +} +function enter_passwword() { + PROMPT="Enter_Password" && PASS=$(echo "$PASSWORD_ENTER" | wofi_cmd "$PASSWORD_ENTER" 4 "-password") +} +function enter_ssid() { + PROMPT="Enter_SSID" && SSID=$(wofi_cmd "" 40) +} +function stored_connection() { + check_wifi_connected + notification "-t 0 Wi-Fi" "Connecting to $1" + { [[ $(nmcli dev wifi con "$1" ifname "${WIRELESS_INTERFACES[WLAN_INT]}" | grep -c "successfully activated") -eq "1" ]] && notification "Connection_Established" "You're now connected to Wi-Fi network '$1'"; } || notification "Connection_Error" "Connection can not be established" +} +function ssid_manual() { + enter_ssid + [[ -n $SSID ]] && { + enter_passwword + { [[ -n "$PASS" ]] && [[ "$PASS" != "$PASSWORD_ENTER" ]] && connect "$SSID" "$PASS"; } || stored_connection "$SSID" + } +} +function ssid_hidden() { + enter_ssid + [[ -n $SSID ]] && { + enter_passwword && check_wifi_connected + [[ -n "$PASS" ]] && [[ "$PASS" != "$PASSWORD_ENTER" ]] && { + nmcli con add type wifi con-name "$SSID" ssid "$SSID" ifname "${WIRELESS_INTERFACES[WLAN_INT]}" + nmcli con modify "$SSID" wifi-sec.key-mgmt wpa-psk + nmcli con modify "$SSID" wifi-sec.psk "$PASS" + } || [[ $(nmcli -g NAME con show | grep -c "$SSID") -eq "0" ]] && nmcli con add type wifi con-name "$SSID" ssid "$SSID" ifname "${WIRELESS_INTERFACES[WLAN_INT]}" + notification "-t 0 Wifi" "Connecting to $SSID" + { [[ $(nmcli con up id "$SSID" | grep -c "successfully activated") -eq "1" ]] && notification "Connection_Established" "You're now connected to Wi-Fi network '$SSID'"; } || notification "Connection_Error" "Connection can not be established" + } +} +function interface_status() { + local -n INTERFACES=$1 && local -n INTERFACES_PRODUCT=$2 + for i in "${!INTERFACES[@]}"; do + CON_STATE=$(nmcli device status | grep "^${INTERFACES[$i]}." | awk '{print $3}') + INT_NAME=${INTERFACES_PRODUCT[$i]}[${INTERFACES[$i]}] + [[ "$CON_STATE" == "connected" ]] && STATUS="$INT_NAME:\n\t$(nmcli -t -f GENERAL.CONNECTION dev show "${INTERFACES[$i]}" | awk -F '[:]' '{print $2}') ~ $(nmcli -t -f IP4.ADDRESS dev show "${INTERFACES[$i]}" | awk -F '[:/]' '{print $2}')" || STATUS="$INT_NAME: ${CON_STATE^}" + echo -e "${STATUS}" + done +} +function status() { + OPTIONS="" + [[ ${#WIRED_INTERFACES[@]} -ne "0" ]] && ETH_STATUS="$(interface_status WIRED_INTERFACES WIRED_INTERFACES_PRODUCT)" && OPTIONS="${OPTIONS}${ETH_STATUS}" + [[ ${#WIRELESS_INTERFACES[@]} -ne "0" ]] && WLAN_STATUS="$(interface_status WIRELESS_INTERFACES WIRELESS_INTERFACES_PRODUCT)" && { [[ -n ${OPTIONS} ]] && OPTIONS="${OPTIONS}\n${WLAN_STATUS}" || OPTIONS="${OPTIONS}${WLAN_STATUS}"; } + ACTIVE_VPN=$(nmcli -g NAME,TYPE con show --active | awk '/:vpn/' | sed 's/:vpn.*//g') + [[ -n $ACTIVE_VPN ]] && OPTIONS="${OPTIONS}\n${ACTIVE_VPN}[VPN]: $(nmcli -g ip4.address con show "${ACTIVE_VPN}" | awk -F '[:/]' '{print $1}')" + echo -e "$OPTIONS" | wofi_cmd "$OPTIONS" $WIDTH_FIX_STATUS "" "mainbox{children:[listview];}" +} +function share_pass() { + SSID=$(nmcli dev wifi show-password | grep -oP '(?<=SSID: ).*' | head -1) + PASSWORD=$(nmcli dev wifi show-password | grep -oP '(?<=Password: ).*' | head -1) + OPTIONS="SSID: ${SSID}\nPassword: ${PASSWORD}" + [[ -x "$(command -v qrencode)" ]] && OPTIONS="${OPTIONS}\n~QrCode" + SELECTION=$(echo -e "$OPTIONS" | wofi_cmd "$OPTIONS" $WIDTH_FIX_STATUS "-a -1" "mainbox{children:[listview];}") + selection_action +} +function gen_qrcode() { + DIRECTIONS=("Center" "Northwest" "North" "Northeast" "East" "Southeast" "South" "Southwest" "West") + [[ -e $QRCODE_DIR$SSID.png ]] || qrencode -t png -o $QRCODE_DIR$SSID.png -l H -s 25 -m 2 --dpi=192 "WIFI:S:""$SSID"";T:""$(nmcli dev wifi show-password | grep -oP '(?<=Security: ).*' | head -1)"";P:""$PASSWORD"";;" + wofi_cmd "" "0" "" "entry{enabled:false;}window{location:"${DIRECTIONS[QRCODE_LOCATION]}";border-radius:6mm;padding:1mm;width:100mm;height:100mm; + background-image:url(\"$QRCODE_DIR$SSID.png\",both);}" +} +function manual_hidden() { + OPTIONS="~Manual\n~Hidden" && SELECTION=$(echo -e "$OPTIONS" | wofi_cmd "$OPTIONS" $WIDTH_FIX_STATUS "" "mainbox{children:[listview];}") + selection_action +} +function vpn() { + ACTIVE_VPN=$(nmcli -g NAME,TYPE con show --active | awk '/:vpn/' | sed 's/:vpn.*//g') + [[ $ACTIVE_VPN ]] && OPTIONS="~Deactive $ACTIVE_VPN" || OPTIONS="$(nmcli -g NAME,TYPE connection | awk '/:vpn/' | sed 's/:vpn.*//g')" + VPN_ACTION=$(echo -e "$OPTIONS" | wofi_cmd "$OPTIONS" "$WIDTH_FIX_STATUS" "" "mainbox {children:[listview];}") + [[ -n "$VPN_ACTION" ]] && { { [[ "$VPN_ACTION" =~ "~Deactive" ]] && nmcli connection down "$ACTIVE_VPN" && notification "VPN_Deactivated" "$ACTIVE_VPN"; } || { + notification "-t 0 Activating_VPN" "$VPN_ACTION" && VPN_OUTPUT=$(nmcli connection up "$VPN_ACTION" 2>/dev/null) + { [[ $(echo "$VPN_OUTPUT" | grep -c "Connection successfully activated") -eq "1" ]] && notification "VPN_Successfully_Activated" "$VPN_ACTION"; } || notification "Error_Activating_VPN" "Check your configuration for $VPN_ACTION" + }; } +} +function more_options() { + OPTIONS="" + [[ "$WIFI_CON_STATE" == "connected" ]] && OPTIONS="~Share Wifi Password\n" + OPTIONS="${OPTIONS}~Status\n~Restart Network" + [[ $(nmcli -g NAME,TYPE connection | awk '/:vpn/' | sed 's/:vpn.*//g') ]] && OPTIONS="${OPTIONS}\n~VPN" + [[ -x "$(command -v nm-connection-editor)" ]] && OPTIONS="${OPTIONS}\n~Open Connection Editor" + SELECTION=$(echo -e "$OPTIONS" | wofi_cmd "$OPTIONS" "$WIDTH_FIX_STATUS" "" "mainbox {children:[listview];}") + selection_action +} +function selection_action() { + case "$SELECTION" in + "~Disconnect") disconnect "Connection_Terminated" ;; + "~Scan") scan ;; + "~Status") status ;; + "~Share Wifi Password") share_pass ;; + "~Manual/Hidden") manual_hidden ;; + "~Manual") ssid_manual ;; + "~Hidden") ssid_hidden ;; + "~Wi-Fi On") change_wifi_state "Wi-Fi" "Enabling Wi-Fi connection" "on" ;; + "~Wi-Fi Off") change_wifi_state "Wi-Fi" "Disabling Wi-Fi connection" "off" ;; + "~Eth Off") change_wired_state "Ethernet" "Disabling Wired connection" "disconnect" "${WIRED_INTERFACES}" ;; + "~Eth On") change_wired_state "Ethernet" "Enabling Wired connection" "connect" "${WIRED_INTERFACES}" ;; + "***Wi-Fi Disabled***") ;; + "***Wired Unavailable***") ;; + "***Wired Initializing***") ;; + "~Change Wifi Interface") change_wireless_interface ;; + "~Restart Network") net_restart "Network" "Restarting Network" ;; + "~QrCode") gen_qrcode ;; + "~More Options") more_options ;; + "~Open Connection Editor") nm-connection-editor ;; + "~VPN") vpn ;; + *) + [[ -n "$SELECTION" ]] && [[ "$WIFI_LIST" =~ .*"$SELECTION".* ]] && { + [[ "$SSID" == "*" ]] && SSID=$(echo "$SELECTION" | sed "s/\s\{2,\}/\|/g " | awk -F "|" '{print $3}') + { [[ "$ACTIVE_SSID" == "$SSID" ]] && nmcli con up "$SSID" ifname "${WIRELESS_INTERFACES[WLAN_INT]}"; } || { + [[ "$SELECTION" =~ "WPA2" ]] || [[ "$SELECTION" =~ "WEP" ]] && enter_passwword + { [[ -n "$PASS" ]] && [[ "$PASS" != "$PASSWORD_ENTER" ]] && connect "$SSID" "$PASS"; } || stored_connection "$SSID" + } + } + ;; + esac +} +function main() { + initialization && wofi_menu +} +main diff --git a/desktopenvs/hyprlua/wofi/style.css b/desktopenvs/hyprlua/wofi/style.css new file mode 100644 index 0000000..57a0e06 --- /dev/null +++ b/desktopenvs/hyprlua/wofi/style.css @@ -0,0 +1,58 @@ + * { + all: unset; + font-family: Agave Nerd Font Mono, Arial, sans-serif; + border-radius: 15px; + font-size: 18pt; + + background-color: none; + + padding-top: 1px; + padding-bottom: 1px; + padding-right: 6px; + padding-left: 6px; + + margin-top: 2px; + margin-bottom: 2px; + margin-right: 2px; + margin-left: 2px; + } + + window { + + color: #E40046; + background-color: #1a1a1a; + } + #input { + border: solid; + border-width: 4px; + color: #5018dd; + border-radius: 30px; + + background-color: #1a1a1a; + + + #padding-top: 15px; + + margin-top: 15px; + padding-right: 15px; + padding-left: 15px; + + margin-right: 15px; + margin-left: 15px; + } + #entry { + color: #5018dd; + } + + #entry:selected { + border: solid; + background-color: #1a1a1a; + border-width: 4px; + color: #E40046; + border-radius: 30px; + + } + + #inner-box { + + } diff --git a/desktopenvs/hyprlua/wofi/wofi b/desktopenvs/hyprlua/wofi/wofi new file mode 120000 index 0000000..526ebf3 --- /dev/null +++ b/desktopenvs/hyprlua/wofi/wofi @@ -0,0 +1 @@ +/home/themiro/Dotfiles/desktopenvs/hyprland/wofi/ \ No newline at end of file diff --git a/desktopenvs/hyprlua/xfce4/helpers.rc b/desktopenvs/hyprlua/xfce4/helpers.rc new file mode 100644 index 0000000..430a7dd --- /dev/null +++ b/desktopenvs/hyprlua/xfce4/helpers.rc @@ -0,0 +1,3 @@ +TerminalEmulator=kitty +WebBrowser=firefox +FileManager=thunar diff --git a/desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/deprecated/thunar.xml.orig b/desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/deprecated/thunar.xml.orig new file mode 100644 index 0000000..05eacbc --- /dev/null +++ b/desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/deprecated/thunar.xml.orig @@ -0,0 +1,24 @@ + + + + +<<<<<<< HEAD + +======= + +>>>>>>> 608c8fd3e7106517fe2a91fd085524536457f01a + + + +<<<<<<< HEAD + + + + +======= + + + + +>>>>>>> 608c8fd3e7106517fe2a91fd085524536457f01a + diff --git a/desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/deprecated/thunar_BACKUP_1232483.xml b/desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/deprecated/thunar_BACKUP_1232483.xml new file mode 100644 index 0000000..05eacbc --- /dev/null +++ b/desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/deprecated/thunar_BACKUP_1232483.xml @@ -0,0 +1,24 @@ + + + + +<<<<<<< HEAD + +======= + +>>>>>>> 608c8fd3e7106517fe2a91fd085524536457f01a + + + +<<<<<<< HEAD + + + + +======= + + + + +>>>>>>> 608c8fd3e7106517fe2a91fd085524536457f01a + diff --git a/desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/deprecated/thunar_BASE_1232483.xml b/desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/deprecated/thunar_BASE_1232483.xml new file mode 100644 index 0000000..0b93cf5 --- /dev/null +++ b/desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/deprecated/thunar_BASE_1232483.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/deprecated/thunar_LOCAL_1232483.xml b/desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/deprecated/thunar_LOCAL_1232483.xml new file mode 100644 index 0000000..adddd11 --- /dev/null +++ b/desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/deprecated/thunar_LOCAL_1232483.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/deprecated/thunar_REMOTE_1232483.xml b/desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/deprecated/thunar_REMOTE_1232483.xml new file mode 100644 index 0000000..198ea79 --- /dev/null +++ b/desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/deprecated/thunar_REMOTE_1232483.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/thunar-shares-plugin.xml b/desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/thunar-shares-plugin.xml new file mode 100644 index 0000000..9efdda3 --- /dev/null +++ b/desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/thunar-shares-plugin.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/thunar-volman.xml b/desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/thunar-volman.xml new file mode 100644 index 0000000..2a86acb --- /dev/null +++ b/desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/thunar-volman.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/thunar.xml b/desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/thunar.xml new file mode 100644 index 0000000..13e2b8e --- /dev/null +++ b/desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/thunar.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml b/desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml new file mode 100644 index 0000000..24a0794 --- /dev/null +++ b/desktopenvs/hyprlua/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/setup/modules/Desktop-Environments/hyprland.sh b/setup/modules/Desktop-Environments/hyprland.sh index c9554a0..8d42fe0 100755 --- a/setup/modules/Desktop-Environments/hyprland.sh +++ b/setup/modules/Desktop-Environments/hyprland.sh @@ -1,7 +1,7 @@ #!/bin/bash set -e -echo "=== Hyprland Environment Installer ===" +echo "=== Hyprland Environment Installer (legacy — hyprlang config) ===" # 1. Update system and install Flatpak echo "Updating system and installing Flatpak..." diff --git a/setup/modules/Desktop-Environments/hyprlua.sh b/setup/modules/Desktop-Environments/hyprlua.sh new file mode 100755 index 0000000..07bea34 --- /dev/null +++ b/setup/modules/Desktop-Environments/hyprlua.sh @@ -0,0 +1,137 @@ +#!/bin/bash +set -e + +echo "=== HyprLua Environment Installer (Lua-based config) ===" + +# 1. Update system and install Flatpak +echo "Updating system and installing Flatpak..." +sudo pacman -Syu --noconfirm --needed flatpak + +# 2. Install required packages +echo "Installing required packages..." +sudo pacman -Syu --noconfirm --needed \ + hyprland hyprcursor wl-clipboard hyprpaper hyprlock wofi kitty dunst \ + nwg-dock-hyprland nwg-drawer nwg-menu nwg-look \ + python cmake meson cpio pkgconf ruby-pkg-config \ + hyprsunset hypridle ksshaskpass \ + nm-connection-editor network-manager-applet blueman bluez \ + pipewire alsa-utils firefox greetd-tuigreet \ + grim slurp gst-plugin-pipewire imagemagick \ + nerd-fonts otf-font-awesome \ + pipewire-alsa pipewire-jack pipewire-pulse \ + qt5-wayland qt6-wayland swww ttf-jetbrains-mono wireplumber \ + qt6ct xdg-desktop-portal-hyprland xdg-utils \ + xorg-server xorg-xinit papirus-icon-theme \ + cool-retro-term qalculate-gtk iwd dbus \ + thunar tumbler thunar-archive-plugin thunar-shares-plugin thunar-volman \ + hyprpicker pcmanfm-qt udisks2 ly kew \ + hyprpolkitagent pavucontrol playerctl wf-recorder sound-theme-freedesktop + +# 3. Enable essential services +echo "Enabling essential services..." +sudo systemctl enable NetworkManager.service +sudo systemctl disable getty@tty1.service || true +sudo systemctl enable ly@tty1.service +sudo systemctl enable udisks2.service + +# 4. Install AUR packages +echo "Installing AUR packages..." +rustup default stable +yay -Syu --answerdiff None --answerclean All --noconfirm \ + hyprland-workspaces vicinae-bin bluetuith wvkbd iwmenu pinta \ + walker-bin ulauncher bzmenu udiskie \ + wofi-calc bri chamel + +# 5. EWW bar selection and compilation +echo "Setting up EWW bar..." +rm -rf ~/.config/eww +read -n1 -p "Install eww bar for PC, Notebook or Tablet [P/N/T]: " doit +echo +case $doit in + n|N) cp -rf ~/Dotfiles/desktopenvs/hyprlua/eww/ ~/.config/ ;; + p|P) cp -rf ~/Dotfiles/desktopenvs/hyprlua/eww-nobattery/ ~/.config/eww ;; + t|T) cp -rf ~/Dotfiles/desktopenvs/hyprlua/eww-touch/ ~/.config/eww ;; + *) echo "No valid choice — skipping EWW copy. Run manually later." ;; +esac + +echo "Compiling EWW..." +mkdir -p ~/install-tmp +cd ~/install-tmp +git clone https://github.com/elkowar/eww +cd eww +cargo build --release --no-default-features --features=wayland +chmod +x target/release/eww +sudo cp target/release/eww /usr/bin/ +cd ~ + +# 6. Theme and icon setup +sudo cp -r ~/Dotfiles/gtk-themes/cyberqueer /usr/share/themes +sudo cp ~/Dotfiles/desktopenvs/hyprlua/btop/themes/cyberqueer.theme /usr/share/btop/themes +sudo cp -f ~/Dotfiles/etc-ly-config.ini /etc/ly/config.ini +sudo ln -sf /usr/bin/kitty /usr/bin/xdg-terminal-exec +sudo ln -sf /usr/bin/ksshaskpass /usr/lib/ssh/ssh-askpass + +# 7. Cursor setup +mkdir -p ~/.icons +wget -O ~/install-tmp/Nordzy-cursors-lefthand.tar.gz \ + https://github.com/guillaumeboehm/Nordzy-cursors/releases/download/v2.3.0/Nordzy-cursors-lefthand.tar.gz +tar -zxf ~/install-tmp/Nordzy-cursors-lefthand.tar.gz -C ~/.icons/ + +# 8. Enable Bluetooth and wireless services +sudo systemctl enable bluez +sudo systemctl enable bluetooth.service +sudo systemctl enable iwd.service + +# 9. Hyprland plugins — must be run from inside a live Hyprland session +# Run manually after first login: +# hyprpm update +# hyprpm add https://github.com/hyprwm/hyprland-plugins + +# 10. Copy configs +echo "Copying configs..." +CONFIGS=(kitty mimeapps.list vicinae walker ulauncher hypr xfce4 wofi dunst alacritty nwg-dock-hyprland nwg-drawer nwg-panel scripts btop gtk-3.0) +for cfg in "${CONFIGS[@]}"; do + rm -rf ~/.config/"$cfg" + cp -r ~/Dotfiles/desktopenvs/hyprlua/"$cfg" ~/.config/ +done + +# User-side Lua files live inside ~/.config/hypr/ so require() finds them +cp ~/Dotfiles/desktopenvs/hyprlua/hypr-usr/*.lua ~/.config/hypr/ +# wallpaper.conf stays at ~/.config/ for hyprpaper +cp ~/Dotfiles/desktopenvs/hyprlua/hypr-usr/wallpaper.conf ~/.config/ + +cp ~/Dotfiles/colors.conf ~/.config/colors.conf + +# 11. Wallpaper and resources +mkdir -p ~/Pictures +cp ~/Dotfiles/resources/fflogo.svg ~/Pictures/fflogo.svg +wget "https://cloud.abdelbaki.eu/apps/theming/image/background?v=15" -O ~/Pictures/background.jpg + +# 12. Python venv for scripts +python -m venv ~/.config/python-script +~/.config/python-script/bin/pip install speedtest-cli requests pint simpleeval parsedatetime + +# 13. Udiskie icon fix +echo "Applying Udiskie icon fix..." +PAPIRUS_DIR="/usr/share/icons/Papirus-Dark/status" +HICOLOR_DIR="/usr/share/icons/hicolor/scalable/status" +if [ -d "$PAPIRUS_DIR" ]; then + sudo ln -sf "$PAPIRUS_DIR/checkbox-checked.svg" "$HICOLOR_DIR/udiskie-checkbox-checked.svg" + sudo ln -sf "$PAPIRUS_DIR/checkbox-unchecked.svg" "$HICOLOR_DIR/udiskie-checkbox-unchecked.svg" + sudo gtk-update-icon-cache -f -t /usr/share/icons/hicolor +else + echo "Papirus-Dark not found — skipping udiskie icon fix." +fi + +# 14. Enable udiskie +sudo systemctl enable udiskie.service +sudo systemctl start udiskie.service + +# 15. Install config updater and theme script +mkdir -p ~/.config/config-updater +ln -sf ~/Dotfiles/desktopenvs/hyprlua/config-updater/updater.conf ~/.config/config-updater/updater.conf +ln -sf ~/Dotfiles/desktopenvs/hyprlua/config-updater/update-configs.sh ~/update-configs.sh +cp ~/Dotfiles/apply-theme.sh ~/apply-theme.sh +chmod +x ~/apply-theme.sh + +echo "=== HyprLua installation complete. Reboot to start. ===" diff --git a/setup/tui-install.sh b/setup/tui-install.sh index 133dea8..811c8f3 100755 --- a/setup/tui-install.sh +++ b/setup/tui-install.sh @@ -282,8 +282,9 @@ if $ANSWERFILE_MODE; then else DE=$(dialog --backtitle "$BACKTITLE" \ --title " Desktop Environment " \ - --menu "Select a desktop environment · Esc / none to skip:" 20 70 8 \ - "hyprland" "Hyprland — Wayland WM, full setup (primary)" \ + --menu "Select a desktop environment · Esc / none to skip:" 22 72 10 \ + "hyprlua" "HyprLua — Hyprland with Lua config (recommended)" \ + "hyprland" "Hyprland — Wayland WM, hyprlang config (legacy)" \ "sway" "Sway — Wayland tiling WM" \ "kde-plasma" "KDE Plasma — feature-rich Wayland/X11 DE" \ "gnome" "GNOME — modern Wayland DE" \ @@ -440,6 +441,7 @@ count_steps "$COMPONENTS" "$DE" "$SELECTED_APPS" if [[ "$DE" != "none" ]]; then case "$DE" in + hyprlua) run_module "HyprLua" "$MODULES/Desktop-Environments/hyprlua.sh" ;; hyprland) run_module "Hyprland" "$MODULES/Desktop-Environments/hyprland.sh" ;; sway) run_module "Sway" "$MODULES/Desktop-Environments/sway.sh" ;; kde-plasma) run_module "KDE Plasma" "$MODULES/Desktop-Environments/kde-plasma.sh" ;; From 20cf670adb2cdf695c65db2dd09326bc73893c1e Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 19 May 2026 08:56:43 +0200 Subject: [PATCH 030/116] feat(nvim): convert config to Lua with lazy.nvim MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Renames nvim/ → nvim.old/ (preserving init.vim + incomplete prior attempts) and creates a fresh nvim/ with init.lua. All settings, keymaps, and plugin declarations are converted from VimScript to Lua idioms. Plugin manager migrated from vim-plug to lazy.nvim, which self-bootstraps on first launch. shell-setup.sh updated to drop the vim-plug curl install; the symlink and airline theme copy are retained (path updated for lazy's data directory). Co-Authored-By: Claude Sonnet 4.6 --- nvim.old/coc-settings.json | 3 + nvim.old/cyberqueer-airline.vim | 113 ++++++ {nvim => nvim.old}/init.lua.old | 0 {nvim => nvim.old}/init.vim | 0 {nvim => nvim.old}/lua/plugins.lua | 0 nvim.old/theme/cyberqueer.nvim/LICENSE | 21 ++ nvim.old/theme/cyberqueer.nvim/README.md | 5 + .../cyberqueer.nvim/colors/cyberqueer.lua | 21 ++ .../lua/lush_theme/cyberqueer.lua | 321 ++++++++++++++++++ nvim/init.lua | 137 ++++++++ setup/modules/shell-setup.sh | 12 +- 11 files changed, 625 insertions(+), 8 deletions(-) create mode 100644 nvim.old/coc-settings.json create mode 100644 nvim.old/cyberqueer-airline.vim rename {nvim => nvim.old}/init.lua.old (100%) rename {nvim => nvim.old}/init.vim (100%) rename {nvim => nvim.old}/lua/plugins.lua (100%) create mode 100644 nvim.old/theme/cyberqueer.nvim/LICENSE create mode 100644 nvim.old/theme/cyberqueer.nvim/README.md create mode 100644 nvim.old/theme/cyberqueer.nvim/colors/cyberqueer.lua create mode 100644 nvim.old/theme/cyberqueer.nvim/lua/lush_theme/cyberqueer.lua create mode 100644 nvim/init.lua diff --git a/nvim.old/coc-settings.json b/nvim.old/coc-settings.json new file mode 100644 index 0000000..d7f6fb0 --- /dev/null +++ b/nvim.old/coc-settings.json @@ -0,0 +1,3 @@ +{ + "snippets.ultisnips.pythonPrompt": false +} \ No newline at end of file diff --git a/nvim.old/cyberqueer-airline.vim b/nvim.old/cyberqueer-airline.vim new file mode 100644 index 0000000..c12b62d --- /dev/null +++ b/nvim.old/cyberqueer-airline.vim @@ -0,0 +1,113 @@ +" vim-airline template by danrneal (http://github.com/danrneal) +" cyberqueer by Tai Groot + +let g:airline#themes#cyberqueer#palette = {} + +" Define the true colors +let s:AQUA = '#E40046' +let s:BEIGE = '#d6abab' +let s:BLACK = '#2c2c2c' +let s:BLUE = '#E40046' +let s:DGREY = '#2c2c2c' +let s:GREEN = '#f50505' +let s:LGREY = '#666666' +let s:LIME = '#87F025' +let s:MAGENTA = '#E40046' +let s:PINK = '#E40046' +let s:PURPLE = '#5018dd' +let s:RED = '#f50505' +let s:WHITE = '#d6abab' +let s:YELLOW = '#5018dd' + +" Define the 256-color fallbacks +let s:TERM_AQUA = 14 +let s:BEIGE = 224 +let s:TERM_BLACK = 233 +let s:TERM_BLUE = 75 +let s:TERM_DGREY = 240 +let s:TERM_GREEN = 70 +let s:TERM_LGREY = 246 +let s:TERM_LIME = 82 +let s:TERM_MAGENTA = 90 +let s:TERM_PINK = 199 +let s:TERM_PURPLE = 54 +let s:TERM_RED = 9 +let s:TERM_WHITE = 231 +let s:TERM_YELLOW = 226 + +" Some default text colors for readability +let s:GREY0 = s:WHITE +let s:GREY1 = s:LGREY +let s:GREY2 = s:DGREY +let s:BG = s:BLACK + +" 256-color fallbacks for text +let s:TERM_GREY0 = s:TERM_WHITE +let s:TERM_GREY1 = s:TERM_LGREY +let s:TERM_GREY2 = s:TERM_DGREY +let s:TERM_BG = s:TERM_BLACK + +let s:unmodified = [ s:GREY1, s:GREY2, s:TERM_GREY1, s:TERM_GREY2 ] +let s:modified = { + \ 'airline_b': [ s:AQUA, s:BG, s:TERM_AQUA, s:TERM_BG, '' ], + \ 'airline_y': [ s:AQUA, s:BG, s:TERM_AQUA, s:TERM_BG, '' ], + \ } + +let s:W = [ s:LIME, s:PURPLE, s:TERM_LIME, s:TERM_PURPLE ] +let s:E = [ s:RED, s:PURPLE, s:TERM_RED, s:TERM_PURPLE ] + +let s:modified.airline_warning = s:W +let s:modified.airline_error = s:E + +" Normal mode settings +let s:N1 = [ s:BLUE, s:YELLOW, s:TERM_YELLOW, s:TERM_BLUE ] +let s:N2 = s:unmodified +let s:N3 = s:N1 +let g:airline#themes#cyberqueer#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#cyberqueer#palette.normal.airline_warning = s:W +let g:airline#themes#cyberqueer#palette.normal.airline_error = s:E +let g:airline#themes#cyberqueer#palette.normal_modified = s:modified + +" Insert mode settings +let s:I1 = [ s:YELLOW, s:BLUE, s:TERM_BLUE, s:TERM_YELLOW ] +let s:I2 = s:unmodified +let s:I3 = s:I1 +let g:airline#themes#cyberqueer#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#cyberqueer#palette.insert.airline_warning = s:W +let g:airline#themes#cyberqueer#palette.insert.airline_error = s:E +let g:airline#themes#cyberqueer#palette.insert_modified = s:modified + +" Replace mode settings +let s:R1 = [ s:BG, s:RED, s:TERM_BG, s:TERM_RED ] +let s:R2 = s:unmodified +let s:R3 = s:R1 +let g:airline#themes#cyberqueer#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) +let g:airline#themes#cyberqueer#palette.replace.airline_warning = s:W +let g:airline#themes#cyberqueer#palette.replace.airline_error = s:E +let g:airline#themes#cyberqueer#palette.replace_modified = s:modified + +" Commandline mode settings +let s:C1 = [ s:BG, s:RED, s:TERM_BG, s:TERM_RED ] +let s:C2 = s:unmodified +let s:C3 = s:C1 +let g:airline#themes#cyberqueer#palette.commandline = airline#themes#generate_color_map(s:C1, s:C2, s:C3) +let g:airline#themes#cyberqueer#palette.commandline.airline_warning = s:W +let g:airline#themes#cyberqueer#palette.commandline.airline_error = s:E +let g:airline#themes#cyberqueer#palette.commandline_modified = s:modified + +" Visual mode settings +let s:V1 = [ s:BG, s:GREEN, s:TERM_BG, s:TERM_GREEN ] +let s:V2 = s:unmodified +let s:V3 = s:V1 +let g:airline#themes#cyberqueer#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#cyberqueer#palette.visual.airline_warning = s:W +let g:airline#themes#cyberqueer#palette.visual.airline_error = s:E +let g:airline#themes#cyberqueer#palette.visual_modified = s:modified + +" Inactive settings +let s:IA1 = [ s:BG, s:GREY2, s:TERM_BG, s:TERM_GREY2 ] +let s:IA2 = s:unmodified +let s:IA3 = [ s:GREY2, s:BG, s:TERM_GREY2, s:TERM_BG ] +let g:airline#themes#cyberqueer#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) +let g:airline#themes#cyberqueer#palette.inactive_modified = s:modified + diff --git a/nvim/init.lua.old b/nvim.old/init.lua.old similarity index 100% rename from nvim/init.lua.old rename to nvim.old/init.lua.old diff --git a/nvim/init.vim b/nvim.old/init.vim similarity index 100% rename from nvim/init.vim rename to nvim.old/init.vim diff --git a/nvim/lua/plugins.lua b/nvim.old/lua/plugins.lua similarity index 100% rename from nvim/lua/plugins.lua rename to nvim.old/lua/plugins.lua diff --git a/nvim.old/theme/cyberqueer.nvim/LICENSE b/nvim.old/theme/cyberqueer.nvim/LICENSE new file mode 100644 index 0000000..c0c80c2 --- /dev/null +++ b/nvim.old/theme/cyberqueer.nvim/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 The_miro + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/nvim.old/theme/cyberqueer.nvim/README.md b/nvim.old/theme/cyberqueer.nvim/README.md new file mode 100644 index 0000000..20b45c7 --- /dev/null +++ b/nvim.old/theme/cyberqueer.nvim/README.md @@ -0,0 +1,5 @@ +A Lush Theme for Neovim. +=== + +See: http://git.io/lush.nvim for more information on Lush and a helper script +to setup your repo clone. diff --git a/nvim.old/theme/cyberqueer.nvim/colors/cyberqueer.lua b/nvim.old/theme/cyberqueer.nvim/colors/cyberqueer.lua new file mode 100644 index 0000000..57c12bf --- /dev/null +++ b/nvim.old/theme/cyberqueer.nvim/colors/cyberqueer.lua @@ -0,0 +1,21 @@ +-- You probably always want to set this in your vim file +vim.opt.background = 'dark' +vim.g.colors_name = 'cyberqueer' + +-- By setting our module to nil, we clear lua's cache, +-- which means the require ahead will *always* occur. +-- +-- This isn't strictly required but it can be a useful trick if you are +-- incrementally editing your config a lot and want to be sure your themes +-- changes are being picked up without restarting neovim. +-- +-- Note if you're working in on your theme and have :Lushify'd the buffer, +-- your changes will be applied with our without the following line. +-- +-- The performance impact of this call can be measured in the hundreds of +-- *nanoseconds* and such could be considered "production safe". +package.loaded['lush_theme.cyberqueer'] = nil + +-- include our theme file and pass it to lush to apply +require('lush')(require('lush_theme.cyberqueer')) + diff --git a/nvim.old/theme/cyberqueer.nvim/lua/lush_theme/cyberqueer.lua b/nvim.old/theme/cyberqueer.nvim/lua/lush_theme/cyberqueer.lua new file mode 100644 index 0000000..9c23b9b --- /dev/null +++ b/nvim.old/theme/cyberqueer.nvim/lua/lush_theme/cyberqueer.lua @@ -0,0 +1,321 @@ +-- +-- Built with, +-- +-- ,gggg, +-- d8" "8I ,dPYb, +-- 88 ,dP IP'`Yb +-- 8888888P" I8 8I +-- 88 I8 8' +-- 88 gg gg ,g, I8 dPgg, +-- ,aa,_88 I8 8I ,8'8, I8dP" "8I +-- dP" "88P I8, ,8I ,8' Yb I8P I8 +-- Yb,_,d88b,,_ ,d8b, ,d8b,,8'_ 8) ,d8 I8, +-- "Y8P" "Y888888P'"Y88P"`Y8P' "YY8P8P88P `Y8 +-- + +-- This is a starter colorscheme for use with Lush, +-- for usage guides, see :h lush or :LushRunTutorial + +-- +-- Note: Because this is a lua file, vim will append it to the runtime, +-- which means you can require(...) it in other lua code (this is useful), +-- but you should also take care not to conflict with other libraries. +-- +-- (This is a lua quirk, as it has somewhat poor support for namespacing.) +-- +-- Basically, name your file, +-- +-- "super_theme/lua/lush_theme/super_theme_dark.lua", +-- +-- not, +-- +-- "super_theme/lua/dark.lua". +-- +-- With that caveat out of the way... +-- + +-- Enable lush.ify on this file, run: +-- +-- `:Lushify` +-- +-- or +-- +-- `:lua require('lush').ify()` + +local lush = require('lush') +local hsl = lush.hsl + +-- LSP/Linters mistakenly show `undefined global` errors in the spec, they may +-- support an annotation like the following. Consult your server documentation. +---@diagnostic disable: undefined-global +local darkpurple = hsl("#5018dd") + +local QWhite = hsl("#d6abab") + +local RedHV = hsl("#f50505") + +local PinkHL = hsl("#E40046") + +local BG = hsl("#2c2c2c") + +local green = hsl("#0cff00") + +local neutralblu = hsl("#a6d1eb") + + +local theme = lush(function(injected_functions) + local sym = injected_functions.sym + return { + + Normal { bg = BG, fg = QWhite }, + CursorLine { bg = BG.lighten(20), fg = PinkHL }, + CursorColumn { bg = CursorLine.bg, fg = Normal.fg }, + Visual { bg = darkpurple, fg = PinkHL }, + Comment { bg = BG, fg = QWhite.darken(20)}, + CursorLineNr { fg = PinkHL, bg = darkpurple}, + LineNr { fg = QWhite, bg = BG}, + Cursor { fg = Visual.fg, bg=Visual.bg}, + Type { fg = RedHV, bg = BG}, + + -- The following are the Neovim (as of 0.8.0-dev+100-g371dfb174) highlight + -- groups, mostly used for styling UI elements. + -- Comment them out and add your own properties to override the defaults. + -- An empty definition `{}` will clear all styling, leaving elements looking + -- like the 'Normal' group. + -- To be able to link to a group, it must already be defined, so you may have + -- to reorder items as you go. + -- + -- See :h highlight-groups + -- + -- ColorColumn { }, -- Columns set with 'colorcolumn' + Conceal { fg = Comment.fg.darken(30), bg = BG }, -- Placeholder characters substituted for concealed text (see 'conceallevel') + -- Cursor { }, -- Character under the cursor + CurSearch { fg = Cursor.fg, bg = Cursor.bg }, -- Highlighting a search pattern under the cursor (see 'hlsearch') + -- lCursor { }, -- Character under the curslljkhor when |language-mapping| is used (see 'guicursor') + -- CursorIM { }, -- Like Cursor, but used when in IME mode |CursorIM| + -- CursorColumn { }, -- Screen-column at the cursor, when 'cursorcolumn' is set. + -- CursorLine { }, -- Screen-line at the cursor, when 'cursorline' is set. Low-priority if foreground (ctermfg OR guifg) is not set. + Directory { fg = darkpurple, bg = BG.li(30) }, -- Directory names (and other special names in listings) + DiffAdd { bg = BG, fg = green}, -- Diff mode: Added line |diff.txt| + DiffChange { bg = BG, fg = neutralblu}, -- Diff mode: Changed line |diff.txt| + DiffDelete { bg = BG, fg = RedHV.da(20)}, -- Diff mode: Deleted line |diff.txt| + DiffText { bg = neutralblu, fg = BG }, -- Diff mode: Changed text within a changed line |diff.txt| + -- EndOfBuffer { }, -- Filler lines (~) after the end of the buffer. By default, this is highlighted like |hl-NonText|. + -- TermCursor { }, -- Cursor in a focused terminal + -- TermCursorNC { }, -- Cursor in an unfocused terminal + ErrorMsg { fg = RedHV, bg=RedHV.da(60) }, -- Error messages on the command line + -- VertSplit { }, -- Column separating vertically split windows + -- Folded { }, -- Line used for closed folds + -- FoldColumn { }, -- 'foldcolumn' + -- SignColumn { }, -- Column where |signs| are displayed + -- IncSearch { }, -- 'incsearch' highlighting; also used for the text replaced with ":s///c" + -- Substitute { }, -- |:substitute| replacement text highlighting + -- LineNr { }, -- Line number for ":number" and ":#" commands, and when 'number' or 'relativenumber' option is set. + -- LineNrAbove { }, -- Line number for when the 'relativenumber' option is set, above the cursor line + -- LineNrBelow { }, -- Line number for when the 'relativenumber' option is set, below the cursor line + -- CursorLineNr { }, -- Like LineNr when 'cursorline' or 'relativenumber' is set for the cursor line. + -- CursorLineFold { }, -- Like FoldColumn when 'cursorline' is set for the cursor line + -- CursorLineSign { }, -- Like SignColumn when 'cursorline' is set for the cursor line + -- MatchParen { }, -- Character under the cursor or just before it, if it is a paired bracket, and its match. |pi_paren.txt| + ModeMsg { fg = RedHV, bg = darkpurple}, -- 'showmode' message (e.g., "-- INSERT -- ") + -- MsgArea { }, -- Area for messages and cmdline + MsgSeparator { fg = Cursor.bg, bg = Cursor.fg}, -- Separator for scrolled messages, `msgsep` flag of 'display' + -- MoreMsg { }, -- |more-prompt| + -- NonText { }, -- '@' at the end of the window, characters from 'showbreak' and other characters that do not really exist in the text (e.g., ">" displayed when a double-wide character doesn't fit at the end of the line). See also |hl-EndOfBuffer|. + -- Normal { }, -- Normal text + -- NormalFloat { }, -- Normal text in floating windows. + -- FloatBorder { }, -- Border of floating windows. + -- FloatTitle { }, -- Title of floating windows. + -- NormalNC { }, -- normal text in non-current windows + -- Pmenu { }, -- Popup menu: Normal item. + PmenuSel { fg = Cursor.fg, bg = Cursor.bg}, -- Popup menu: Selected item. + -- PmenuKind { }, -- Popup menu: Normal item "kind" + -- PmenuKindSel { }, -- Popup menu: Selected item "kind" + -- PmenuExtra { }, -- Popup menu: Normal item "extra text" + -- PmenuExtraSel { }, -- Popup menu: Selected item "extra text" + -- PmenuSbar { }, -- Popup menu: Scrollbar. + -- PmenuThumb { }, -- Popup menu: Thumb of the scrollbar. + -- Question { }, -- |hit-enter| prompt and yes/no questions + -- QuickFixLine { }, -- Current |quickfix| item in the quickfix window. Combined with |hl-CursorLine| when the cursor is there. + -- Search { }, -- Last search pattern highlighting (see 'hlsearch'). Also used for similar items that need to stand out. + -- SpecialKey { }, -- Unprintable characters: text displayed differently from what it really is. But not 'listchars' whitespace. |hl-Whitespace| + -- SpellBad { }, -- Word that is not recognized by the spellchecker. |spell| Combined with the highlighting used otherwise. + -- SpellCap { }, -- Word that should start with a capital. |spell| Combined with the highlighting used otherwise. + -- SpellLocal { }, -- Word that is recognized by the spellchecker as one that is used in another region. |spell| Combined with the highlighting used otherwise. + -- SpellRare { }, -- Word that is recognized by the spellchecker as one that is hardly ever used. |spell| Combined with the highlighting used otherwise. + StatusLine { fg = Cursor.bg, bg = Cursor.fg}, -- Status line of current window + -- StatusLineNC { }, -- Status lines of not-current windows. Note: If this is equal to "StatusLine" Vim will use "^^^" in the status line of the current window. + -- TabLine { }, -- Tab pages line, not active tab page label + -- TabLineFill { }, -- Tab pages line, where there are no labels + -- TabLineSel { }, -- Tab pages line, active tab page label + -- Title { }, -- Titles for output from ":set all", ":autocmd" etc. + -- Visual { }, -- Visual mode selection + -- VisualNOS { }, -- Visual mode selection when vim is "Not Owning the Selection". + -- WarningMsg { }, -- Warning messages + -- Whitespace { }, -- "nbsp", "space", "tab" and "trail" in 'listchars' + -- Winseparator { }, -- Separator between window splits. Inherts from |hl-VertSplit| by default, which it will replace eventually. + -- WildMenu { }, -- Current match in 'wildmenu' completion + -- WinBar { }, -- Window bar of current window + -- WinBarNC { }, -- Window bar of not-current windows + + -- Common vim syntax groups used for all kinds of code and markup. + -- Commented-out groups should chain up to their preferred (*) group + -- by default. + -- + -- See :h group-name + -- + -- Uncomment and edit if you want more specific syntax highlighting. + + -- Comment { }, -- Any comment + + -- Constant { }, -- (*) Any constant + -- String { }, -- A string constant: "this is a string" + -- Character { }, -- A character constant: 'c', '\n' + -- Number { }, -- A number constant: 234, 0xff + -- Boolean { }, -- A boolean constant: TRUE, false + -- Float { }, -- A floating point constant: 2.3e10 + + -- Identifier { }, -- (*) Any variable name + -- Function { }, -- Function name (also: methods for classes) + + -- Statement { }, -- (*) Any statement + -- Conditional { }, -- if, then, else, endif, switch, etc. + -- Repeat { }, -- for, do, while, etc. + -- Label { }, -- case, default, etc. + -- Operator { }, -- "sizeof", "+", "*", etc. + -- Keyword { }, -- any other keyword + -- Exception { }, -- try, catch, throw + + -- PreProc { }, -- (*) Generic Preprocessor + -- Include { }, -- Preprocessor #include + -- Define { }, -- Preprocessor #define + -- Macro { }, -- Same as Define + -- PreCondit { }, -- Preprocessor #if, #else, #endif, etc. + + -- Type { }, -- (*) int, long, char, etc. + -- StorageClass { }, -- static, register, volatile, etc. + -- Structure { }, -- struct, union, enum, etc. + -- Typedef { }, -- A typedef + + -- Special { }, -- (*) Any special symbol + -- SpecialChar { }, -- Special character in a constant + -- Tag { }, -- You can use CTRL-] on this + -- Delimiter { }, -- Character that needs attention + -- SpecialComment { }, -- Special things inside a comment (e.g. '\n') + -- Debug { }, -- Debugging statements + + -- Underlined { gui = "underline" }, -- Text that stands out, HTML links + -- Ignore { }, -- Left blank, hidden |hl-Ignore| (NOTE: May be invisible here in template) + -- Error { }, -- Any erroneous construct + -- Todo { }, -- Anything that needs extra attention; mostly the keywords TODO FIXME and XXX + + -- These groups are for the native LSP client and diagnostic system. Some + -- other LSP clients may use these groups, or use their own. Consult your + -- LSP client's documentation. + + -- See :h lsp-highlight, some groups may not be listed, submit a PR fix to lush-template! + -- + -- LspReferenceText { } , -- Used for highlighting "text" references + -- LspReferenceRead { } , -- Used for highlighting "read" references + -- LspReferenceWrite { } , -- Used for highlighting "write" references + -- LspCodeLens { } , -- Used to color the virtual text of the codelens. See |nvim_buf_set_extmark()|. + -- LspCodeLensSeparator { } , -- Used to color the seperator between two or more code lens. + -- LspSignatureActiveParameter { } , -- Used to highlight the active parameter in the signature help. See |vim.lsp.handlers.signature_help()|. + + -- See :h diagnostic-highlights, some groups may not be listed, submit a PR fix to lush-template! + -- + -- DiagnosticError { } , -- Used as the base highlight group. Other Diagnostic highlights link to this by default (except Underline) + -- DiagnosticWarn { } , -- Used as the base highlight group. Other Diagnostic highlights link to this by default (except Underline) + -- DiagnosticInfo { } , -- Used as the base highlight group. Other Diagnostic highlights link to this by default (except Underline) + -- DiagnosticHint { } , -- Used as the base highlight group. Other Diagnostic highlights link to this by default (except Underline) + -- DiagnosticOk { } , -- Used as the base highlight group. Other Diagnostic highlights link to this by default (except Underline) + -- DiagnosticVirtualTextError { } , -- Used for "Error" diagnostic virtual text. + -- DiagnosticVirtualTextWarn { } , -- Used for "Warn" diagnostic virtual text. + -- DiagnosticVirtualTextInfo { } , -- Used for "Info" diagnostic virtual text. + -- DiagnosticVirtualTextHint { } , -- Used for "Hint" diagnostic virtual text. + -- DiagnosticVirtualTextOk { } , -- Used for "Ok" diagnostic virtual text. + -- DiagnosticUnderlineError { } , -- Used to underline "Error" diagnostics. + -- DiagnosticUnderlineWarn { } , -- Used to underline "Warn" diagnostics. + -- DiagnosticUnderlineInfo { } , -- Used to underline "Info" diagnostics. + -- DiagnosticUnderlineHint { } , -- Used to underline "Hint" diagnostics. + -- DiagnosticUnderlineOk { } , -- Used to underline "Ok" diagnostics. + -- DiagnosticFloatingError { } , -- Used to color "Error" diagnostic messages in diagnostics float. See |vim.diagnostic.open_float()| + -- DiagnosticFloatingWarn { } , -- Used to color "Warn" diagnostic messages in diagnostics float. + -- DiagnosticFloatingInfo { } , -- Used to color "Info" diagnostic messages in diagnostics float. + -- DiagnosticFloatingHint { } , -- Used to color "Hint" diagnostic messages in diagnostics float. + -- DiagnosticFloatingOk { } , -- Used to color "Ok" diagnostic messages in diagnostics float. + -- DiagnosticSignError { } , -- Used for "Error" signs in sign column. + -- DiagnosticSignWarn { } , -- Used for "Warn" signs in sign column. + -- DiagnosticSignInfo { } , -- Used for "Info" signs in sign column. + -- DiagnosticSignHint { } , -- Used for "Hint" signs in sign column. + -- DiagnosticSignOk { } , -- Used for "Ok" signs in sign column. + + -- Tree-Sitter syntax groups. + -- + -- See :h treesitter-highlight-groups, some groups may not be listed, + -- submit a PR fix to lush-template! + -- + -- Tree-Sitter groups are defined with an "@" symbol, which must be + -- specially handled to be valid lua code, we do this via the special + -- sym function. The following are all valid ways to call the sym function, + -- for more details see https://www.lua.org/pil/5.html + -- + -- sym("@text.literal") + -- sym('@text.literal') + -- sym"@text.literal" + -- sym'@text.literal' + -- + -- For more information see https://github.com/rktjmp/lush.nvim/issues/109 + + -- sym"@text.literal" { }, -- Comment + -- sym"@text.reference" { }, -- Identifier + -- sym"@text.title" { }, -- Title + -- sym"@text.uri" { }, -- Underlined + -- sym"@text.underline" { }, -- Underlined + -- sym"@text.todo" { }, -- Todo + -- sym"@comment" { }, -- Comment + -- sym"@punctuation" { }, -- Delimiter + -- sym"@constant" { }, -- Constant + -- sym"@constant.builtin" { }, -- Special + -- sym"@constant.macro" { }, -- Define + -- sym"@define" { }, -- Define + -- sym"@macro" { }, -- Macro + -- sym"@string" { }, -- String + -- sym"@string.escape" { }, -- SpecialChar + -- sym"@string.special" { }, -- SpecialChar + -- sym"@character" { }, -- Character + -- sym"@character.special" { }, -- SpecialChar + -- sym"@number" { }, -- Number + -- sym"@boolean" { }, -- Boolean + -- sym"@float" { }, -- Float + -- sym"@function" { }, -- Function + -- sym"@function.builtin" { }, -- Special + -- sym"@function.macro" { }, -- Macro + -- sym"@parameter" { }, -- Identifier + -- sym"@method" { }, -- Function + -- sym"@field" { }, -- Identifier + -- sym"@property" { }, -- Identifier + -- sym"@constructor" { }, -- Special + -- sym"@conditional" { }, -- Conditional + -- sym"@repeat" { }, -- Repeat + -- sym"@label" { }, -- Label + -- sym"@operator" { }, -- Operator + -- sym"@keyword" { }, -- Keyword + -- sym"@exception" { }, -- Exception + -- sym"@variable" { }, -- Identifier + -- sym"@type" { }, -- Type + -- sym"@type.definition" { }, -- Typedef + -- sym"@storageclass" { }, -- StorageClass + -- sym"@structure" { }, -- Structure + -- sym"@namespace" { }, -- Identifier + -- sym"@include" { }, -- Include + -- sym"@preproc" { }, -- PreProc + -- sym"@debug" { }, -- Debug + -- sym"@tag" { }, -- Tag +} +end) + +-- Return our parsed theme for extension or use elsewhere. +return theme + +-- vi:nowrap diff --git a/nvim/init.lua b/nvim/init.lua new file mode 100644 index 0000000..664793b --- /dev/null +++ b/nvim/init.lua @@ -0,0 +1,137 @@ +-- ── Bootstrap lazy.nvim ─────────────────────────────────────────────────────── +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not (vim.uv or vim.loop).fs_stat(lazypath) then + vim.fn.system({ + "git", "clone", "--filter=blob:none", + "https://github.com/folke/lazy.nvim.git", + "--branch=stable", lazypath, + }) +end +vim.opt.rtp:prepend(lazypath) + +-- ── Plugins ─────────────────────────────────────────────────────────────────── +require("lazy").setup({ + { dir = vim.fn.expand("~/Dotfiles/nvim/theme/cyberqueer.nvim") }, + "rktjmp/lush.nvim", + "tpope/vim-sensible", + "junegunn/goyo.vim", + "arecarn/vim-crunch", + "preservim/nerdtree", + "ryanoasis/vim-devicons", + { "junegunn/fzf", build = function() vim.fn["fzf#install"]() end }, + "junegunn/fzf.vim", + "vim-airline/vim-airline", + "vim-airline/vim-airline-themes", + "voldikss/vim-floaterm", + "rust-lang/rust.vim", + "norcalli/nvim-colorizer.lua", + { "neoclide/coc.nvim", branch = "release" }, + { "mg979/vim-visual-multi", branch = "master" }, + "SirVer/ultisnips", + "honza/vim-snippets", + "mfussenegger/nvim-dap", + "elihunter173/dirbuf.nvim", + "tpope/vim-dadbod", + "kristijanhusak/vim-dadbod-ui", + "kristijanhusak/vim-dadbod-completion", + "nvim-mini/mini.icons", + "tadmccorkle/markdown.nvim", + { "ellisonleao/glow.nvim", config = true }, +}, { + -- keep lazy's own UI out of the way on first install + install = { colorscheme = { "habamax" } }, +}) + +-- ── Colorscheme & UI ────────────────────────────────────────────────────────── +vim.cmd("colorscheme cyberqueer") + +vim.g.airline_powerline_fonts = 1 +vim.g.airline_theme = "cyberqueer" + +local ipaddr = vim.trim(vim.fn.system("hostname -i")) +local hostname = vim.trim(vim.fn.system("hostname -s")) +vim.g.airline_section_x = "IP:" .. ipaddr .. " DNS:" .. hostname + +-- ── Providers ───────────────────────────────────────────────────────────────── +vim.g.loaded_ruby_provider = 0 +vim.g.loaded_perl_provider = 0 + +-- ── Editor options ──────────────────────────────────────────────────────────── +vim.cmd("filetype plugin indent on") +vim.cmd("syntax enable") + +vim.opt.number = true +vim.opt.relativenumber = true +vim.opt.cursorline = true +vim.opt.cursorcolumn = true +vim.opt.showmode = false +vim.opt.shiftwidth = 4 +vim.opt.scrolloff = 5 +vim.opt.wrap = false +vim.opt.incsearch = true +vim.opt.ignorecase = true +vim.opt.smartcase = true +vim.opt.showcmd = true +vim.opt.showmatch = true +vim.opt.hlsearch = true +vim.opt.history = 1000 +vim.opt.wildmenu = true +vim.opt.wildmode = "list:longest" + +-- ── Keymaps ─────────────────────────────────────────────────────────────────── +-- window navigation +vim.keymap.set("n", "", "w") +vim.keymap.set("n", "", "h") +vim.keymap.set("n", "", "j") +vim.keymap.set("n", "", "k") + +-- quick actions +vim.keymap.set("n", "t", ":FloatermNew", { silent = true }) +vim.keymap.set("n", "e", ":NERDTreeTogglel", { silent = true }) +vim.keymap.set("n", "s", ":DBUIToggle", { silent = true }) +vim.keymap.set("n", "x", "(DBUI_ExecuteQuery)", { remap = true }) +vim.keymap.set("n", "q", ":wq", { silent = true }) + +-- insert mode completion +vim.keymap.set("i", "", "") +vim.keymap.set("i", "", "") + +-- sudo save +vim.cmd("ca w!! w !sudo tee '%'") + +-- visual block shorthand +vim.cmd("command! Vb normal! ") + +-- ── UltiSnips ───────────────────────────────────────────────────────────────── +vim.g.UltiSnipsExpandTrigger = "" +vim.g.UltiSnipsJumpForwardTrigger = "" +vim.g.UltiSnipsJumpBackwardTrigger = "" +vim.g.UltiSnipsEditSplit = "vertical" + +-- ── CoC ─────────────────────────────────────────────────────────────────────── +vim.g.coc_global_extensions = { + "coc-snippets", "coc-powershell", "coc-sh", "coc-omnisharp", + "coc-clangd", "coc-json", "coc-css", "coc-git", "coc-pyright", "coc-sql", +} + +vim.g.coc_snippet_next = "" +vim.g.coc_snippet_prev = "" + +vim.keymap.set("i", "", "(coc-snippets-expand)", { remap = true }) +vim.keymap.set("v", "", "(coc-snippets-select)", { remap = true }) +vim.keymap.set("i", "", "(coc-snippets-expand-jump)", { remap = true }) +vim.keymap.set("x", "x", "(coc-convert-snippet)", { remap = true }) + +-- tab/s-tab navigate CoC pum, else fall through +vim.keymap.set("i", "", function() + return vim.fn["coc#pum#visible"]() == 1 and vim.fn["coc#pum#next"](1) or "" +end, { expr = true, silent = true }) + +vim.keymap.set("i", "", function() + return vim.fn["coc#pum#visible"]() == 1 and vim.fn["coc#pum#prev"](1) or "" +end, { expr = true, silent = true }) + +-- CR confirms CoC selection +vim.keymap.set("i", "", function() + return vim.fn.pumvisible() == 1 and "" or "" +end, { expr = true }) diff --git a/setup/modules/shell-setup.sh b/setup/modules/shell-setup.sh index 3ee459c..58ea59b 100755 --- a/setup/modules/shell-setup.sh +++ b/setup/modules/shell-setup.sh @@ -69,17 +69,13 @@ ln -sf ~/Dotfiles/starship.toml ~/.config/starship.toml rm -rf ~/.config/micro cp -r ~/Dotfiles/micro ~/.config/ -# vim-plug -if [ ! -f ~/.local/share/nvim/site/autoload/plug.vim ]; then - curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs \ - https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim -fi - +# nvim — lazy.nvim bootstraps itself on first launch via init.lua rm -rf ~/.config/nvim ln -sf ~/Dotfiles/nvim ~/.config/nvim -mkdir -p ~/.local/share/nvim/site/plugged/vim-airline-themes/autoload/airline/themes +# airline theme: copied to both the lazy and legacy plugged paths so it works regardless +mkdir -p ~/.local/share/nvim/lazy/vim-airline-themes/autoload/airline/themes cp -f ~/Dotfiles/nvim/cyberqueer-airline.vim \ - ~/.local/share/nvim/site/plugged/vim-airline-themes/autoload/airline/themes/ + ~/.local/share/nvim/lazy/vim-airline-themes/autoload/airline/themes/ rm -rf ~/.config/yazi ln -sf ~/Dotfiles/yazi ~/.config/yazi From 690b8ec2178b9730d22b967763c9e4f8f52bbde6 Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 19 May 2026 08:59:50 +0200 Subject: [PATCH 031/116] fix(nvim): place airline cyberqueer theme inside rtp so it is auto-discovered MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit airline#themes#cyberqueer#palette was undefined because the theme file was being copied under the wrong name (cyberqueer-airline.vim instead of cyberqueer.vim). Fixed by adding the file at the proper rtp-relative path nvim/autoload/airline/themes/cyberqueer.vim — picked up automatically via the ~/.config/nvim symlink, no extra copy step needed. Removed the now- redundant manual cp from shell-setup.sh. Co-Authored-By: Claude Sonnet 4.6 --- nvim/autoload/airline/themes/cyberqueer.vim | 113 ++++++++++++++++++++ setup/modules/shell-setup.sh | 6 +- 2 files changed, 115 insertions(+), 4 deletions(-) create mode 100644 nvim/autoload/airline/themes/cyberqueer.vim diff --git a/nvim/autoload/airline/themes/cyberqueer.vim b/nvim/autoload/airline/themes/cyberqueer.vim new file mode 100644 index 0000000..c12b62d --- /dev/null +++ b/nvim/autoload/airline/themes/cyberqueer.vim @@ -0,0 +1,113 @@ +" vim-airline template by danrneal (http://github.com/danrneal) +" cyberqueer by Tai Groot + +let g:airline#themes#cyberqueer#palette = {} + +" Define the true colors +let s:AQUA = '#E40046' +let s:BEIGE = '#d6abab' +let s:BLACK = '#2c2c2c' +let s:BLUE = '#E40046' +let s:DGREY = '#2c2c2c' +let s:GREEN = '#f50505' +let s:LGREY = '#666666' +let s:LIME = '#87F025' +let s:MAGENTA = '#E40046' +let s:PINK = '#E40046' +let s:PURPLE = '#5018dd' +let s:RED = '#f50505' +let s:WHITE = '#d6abab' +let s:YELLOW = '#5018dd' + +" Define the 256-color fallbacks +let s:TERM_AQUA = 14 +let s:BEIGE = 224 +let s:TERM_BLACK = 233 +let s:TERM_BLUE = 75 +let s:TERM_DGREY = 240 +let s:TERM_GREEN = 70 +let s:TERM_LGREY = 246 +let s:TERM_LIME = 82 +let s:TERM_MAGENTA = 90 +let s:TERM_PINK = 199 +let s:TERM_PURPLE = 54 +let s:TERM_RED = 9 +let s:TERM_WHITE = 231 +let s:TERM_YELLOW = 226 + +" Some default text colors for readability +let s:GREY0 = s:WHITE +let s:GREY1 = s:LGREY +let s:GREY2 = s:DGREY +let s:BG = s:BLACK + +" 256-color fallbacks for text +let s:TERM_GREY0 = s:TERM_WHITE +let s:TERM_GREY1 = s:TERM_LGREY +let s:TERM_GREY2 = s:TERM_DGREY +let s:TERM_BG = s:TERM_BLACK + +let s:unmodified = [ s:GREY1, s:GREY2, s:TERM_GREY1, s:TERM_GREY2 ] +let s:modified = { + \ 'airline_b': [ s:AQUA, s:BG, s:TERM_AQUA, s:TERM_BG, '' ], + \ 'airline_y': [ s:AQUA, s:BG, s:TERM_AQUA, s:TERM_BG, '' ], + \ } + +let s:W = [ s:LIME, s:PURPLE, s:TERM_LIME, s:TERM_PURPLE ] +let s:E = [ s:RED, s:PURPLE, s:TERM_RED, s:TERM_PURPLE ] + +let s:modified.airline_warning = s:W +let s:modified.airline_error = s:E + +" Normal mode settings +let s:N1 = [ s:BLUE, s:YELLOW, s:TERM_YELLOW, s:TERM_BLUE ] +let s:N2 = s:unmodified +let s:N3 = s:N1 +let g:airline#themes#cyberqueer#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) +let g:airline#themes#cyberqueer#palette.normal.airline_warning = s:W +let g:airline#themes#cyberqueer#palette.normal.airline_error = s:E +let g:airline#themes#cyberqueer#palette.normal_modified = s:modified + +" Insert mode settings +let s:I1 = [ s:YELLOW, s:BLUE, s:TERM_BLUE, s:TERM_YELLOW ] +let s:I2 = s:unmodified +let s:I3 = s:I1 +let g:airline#themes#cyberqueer#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) +let g:airline#themes#cyberqueer#palette.insert.airline_warning = s:W +let g:airline#themes#cyberqueer#palette.insert.airline_error = s:E +let g:airline#themes#cyberqueer#palette.insert_modified = s:modified + +" Replace mode settings +let s:R1 = [ s:BG, s:RED, s:TERM_BG, s:TERM_RED ] +let s:R2 = s:unmodified +let s:R3 = s:R1 +let g:airline#themes#cyberqueer#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) +let g:airline#themes#cyberqueer#palette.replace.airline_warning = s:W +let g:airline#themes#cyberqueer#palette.replace.airline_error = s:E +let g:airline#themes#cyberqueer#palette.replace_modified = s:modified + +" Commandline mode settings +let s:C1 = [ s:BG, s:RED, s:TERM_BG, s:TERM_RED ] +let s:C2 = s:unmodified +let s:C3 = s:C1 +let g:airline#themes#cyberqueer#palette.commandline = airline#themes#generate_color_map(s:C1, s:C2, s:C3) +let g:airline#themes#cyberqueer#palette.commandline.airline_warning = s:W +let g:airline#themes#cyberqueer#palette.commandline.airline_error = s:E +let g:airline#themes#cyberqueer#palette.commandline_modified = s:modified + +" Visual mode settings +let s:V1 = [ s:BG, s:GREEN, s:TERM_BG, s:TERM_GREEN ] +let s:V2 = s:unmodified +let s:V3 = s:V1 +let g:airline#themes#cyberqueer#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) +let g:airline#themes#cyberqueer#palette.visual.airline_warning = s:W +let g:airline#themes#cyberqueer#palette.visual.airline_error = s:E +let g:airline#themes#cyberqueer#palette.visual_modified = s:modified + +" Inactive settings +let s:IA1 = [ s:BG, s:GREY2, s:TERM_BG, s:TERM_GREY2 ] +let s:IA2 = s:unmodified +let s:IA3 = [ s:GREY2, s:BG, s:TERM_GREY2, s:TERM_BG ] +let g:airline#themes#cyberqueer#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) +let g:airline#themes#cyberqueer#palette.inactive_modified = s:modified + diff --git a/setup/modules/shell-setup.sh b/setup/modules/shell-setup.sh index 58ea59b..98ce7b5 100755 --- a/setup/modules/shell-setup.sh +++ b/setup/modules/shell-setup.sh @@ -70,12 +70,10 @@ rm -rf ~/.config/micro cp -r ~/Dotfiles/micro ~/.config/ # nvim — lazy.nvim bootstraps itself on first launch via init.lua +# airline cyberqueer theme lives at nvim/autoload/airline/themes/cyberqueer.vim +# and is discovered automatically via the rtp symlink below rm -rf ~/.config/nvim ln -sf ~/Dotfiles/nvim ~/.config/nvim -# airline theme: copied to both the lazy and legacy plugged paths so it works regardless -mkdir -p ~/.local/share/nvim/lazy/vim-airline-themes/autoload/airline/themes -cp -f ~/Dotfiles/nvim/cyberqueer-airline.vim \ - ~/.local/share/nvim/lazy/vim-airline-themes/autoload/airline/themes/ rm -rf ~/.config/yazi ln -sf ~/Dotfiles/yazi ~/.config/yazi From a79be2fcbf8d7dc392c9106d3f63737d00988982 Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 19 May 2026 09:01:07 +0200 Subject: [PATCH 032/116] chore(nvim): add lazy-lock.json for reproducible plugin installs Co-Authored-By: Claude Sonnet 4.6 --- nvim/lazy-lock.json | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 nvim/lazy-lock.json diff --git a/nvim/lazy-lock.json b/nvim/lazy-lock.json new file mode 100644 index 0000000..cf09bae --- /dev/null +++ b/nvim/lazy-lock.json @@ -0,0 +1,28 @@ +{ + "coc.nvim": { "branch": "release", "commit": "269f4465f304f7f2412b9cc46fbdc98667b84546" }, + "dirbuf.nvim": { "branch": "main", "commit": "ac7ad3c8e61630d15af1f6266441984f54f54fd2" }, + "fzf": { "branch": "master", "commit": "5819e5ff2f206064d955854ad54182284bdae857" }, + "fzf.vim": { "branch": "master", "commit": "b9624aa012ddcbae9e79964bfd30cc1fbe3cf263" }, + "glow.nvim": { "branch": "main", "commit": "5d5954b2f22e109d4a6eba8b2618c5b96e4ee7a2" }, + "goyo.vim": { "branch": "master", "commit": "9c72fdf2d202914318581f9f0dd09fd102f8504d" }, + "lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" }, + "lush.nvim": { "branch": "main", "commit": "9c60ec2279d62487d942ce095e49006af28eed6e" }, + "markdown.nvim": { "branch": "master", "commit": "093be911d90de03877f3009de36081c1a6242d51" }, + "mini.icons": { "branch": "main", "commit": "9c7b1b90b15bdd69c52f6e31889dbc9987c30ec4" }, + "nerdtree": { "branch": "master", "commit": "690d061b591525890f1471c6675bcb5bdc8cdff9" }, + "nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" }, + "nvim-dap": { "branch": "master", "commit": "45a69eba683a2c448dd9ecfc4de89511f0646b5f" }, + "rust.vim": { "branch": "master", "commit": "889b9a7515db477f4cb6808bef1769e53493c578" }, + "ultisnips": { "branch": "master", "commit": "3c4353c9bac16e7275019fb1cdd798708909c486" }, + "vim-airline": { "branch": "master", "commit": "1586662296c9dc946083e17cb6a4ef0b3e7c0d68" }, + "vim-airline-themes": { "branch": "master", "commit": "77aab8c6cf7179ddb8a05741da7e358a86b2c3ab" }, + "vim-crunch": { "branch": "master", "commit": "f368288490937c846853c9f8ace98f44508b4ae5" }, + "vim-dadbod": { "branch": "master", "commit": "6d1d41da4873a445c5605f2005ad2c68c99d8770" }, + "vim-dadbod-completion": { "branch": "master", "commit": "a8dac0b3cf6132c80dc9b18bef36d4cf7a9e1fe6" }, + "vim-dadbod-ui": { "branch": "master", "commit": "07e92e22114cc5b1ba4938d99897d85b58e20475" }, + "vim-devicons": { "branch": "master", "commit": "71f239af28b7214eebb60d4ea5bd040291fb7e33" }, + "vim-floaterm": { "branch": "master", "commit": "bb4ba7952e906408e1f83b215f55ffe57efcade6" }, + "vim-sensible": { "branch": "master", "commit": "0ce2d843d6f588bb0c8c7eec6449171615dc56d9" }, + "vim-snippets": { "branch": "master", "commit": "ededcf7581962ee616cadab360d5966f3307f11a" }, + "vim-visual-multi": { "branch": "master", "commit": "a6975e7c1ee157615bbc80fc25e4392f71c344d4" } +} From 51c93db7b580a737be59fd4560e754db68c160d1 Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 19 May 2026 09:03:22 +0200 Subject: [PATCH 033/116] feat(nvim): add claude-code.nvim plugin Adds greggh/claude-code.nvim with plenary.nvim as a required dependency. Provides :ClaudeCode toggle, continue/resume/verbose commands, and / cC keybinds out of the box. Co-Authored-By: Claude Sonnet 4.6 --- nvim/init.lua | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/nvim/init.lua b/nvim/init.lua index 664793b..ed4dcba 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -37,6 +37,13 @@ require("lazy").setup({ "nvim-mini/mini.icons", "tadmccorkle/markdown.nvim", { "ellisonleao/glow.nvim", config = true }, + { + "greggh/claude-code.nvim", + dependencies = { "nvim-lua/plenary.nvim" }, + config = function() + require("claude-code").setup() + end, + }, }, { -- keep lazy's own UI out of the way on first install install = { colorscheme = { "habamax" } }, From 851a64d7f306d6b7ee0f01b8a4b60c0b1afdf9a4 Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 19 May 2026 09:07:17 +0200 Subject: [PATCH 034/116] chore(nvim): untrack lazy-lock.json and add it to gitignore Co-Authored-By: Claude Sonnet 4.6 --- .gitignore | 3 +++ nvim/lazy-lock.json | 28 ---------------------------- 2 files changed, 3 insertions(+), 28 deletions(-) delete mode 100644 nvim/lazy-lock.json diff --git a/.gitignore b/.gitignore index 3ee9c66..7c59e3d 100644 --- a/.gitignore +++ b/.gitignore @@ -24,6 +24,9 @@ yazi/*.toml-* readme.html docs/html/ +# Plugin lockfiles (auto-generated, not meant for version control) +lazy-lock.json + # Build/image output artifacts *.iso *.img diff --git a/nvim/lazy-lock.json b/nvim/lazy-lock.json deleted file mode 100644 index cf09bae..0000000 --- a/nvim/lazy-lock.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "coc.nvim": { "branch": "release", "commit": "269f4465f304f7f2412b9cc46fbdc98667b84546" }, - "dirbuf.nvim": { "branch": "main", "commit": "ac7ad3c8e61630d15af1f6266441984f54f54fd2" }, - "fzf": { "branch": "master", "commit": "5819e5ff2f206064d955854ad54182284bdae857" }, - "fzf.vim": { "branch": "master", "commit": "b9624aa012ddcbae9e79964bfd30cc1fbe3cf263" }, - "glow.nvim": { "branch": "main", "commit": "5d5954b2f22e109d4a6eba8b2618c5b96e4ee7a2" }, - "goyo.vim": { "branch": "master", "commit": "9c72fdf2d202914318581f9f0dd09fd102f8504d" }, - "lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" }, - "lush.nvim": { "branch": "main", "commit": "9c60ec2279d62487d942ce095e49006af28eed6e" }, - "markdown.nvim": { "branch": "master", "commit": "093be911d90de03877f3009de36081c1a6242d51" }, - "mini.icons": { "branch": "main", "commit": "9c7b1b90b15bdd69c52f6e31889dbc9987c30ec4" }, - "nerdtree": { "branch": "master", "commit": "690d061b591525890f1471c6675bcb5bdc8cdff9" }, - "nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" }, - "nvim-dap": { "branch": "master", "commit": "45a69eba683a2c448dd9ecfc4de89511f0646b5f" }, - "rust.vim": { "branch": "master", "commit": "889b9a7515db477f4cb6808bef1769e53493c578" }, - "ultisnips": { "branch": "master", "commit": "3c4353c9bac16e7275019fb1cdd798708909c486" }, - "vim-airline": { "branch": "master", "commit": "1586662296c9dc946083e17cb6a4ef0b3e7c0d68" }, - "vim-airline-themes": { "branch": "master", "commit": "77aab8c6cf7179ddb8a05741da7e358a86b2c3ab" }, - "vim-crunch": { "branch": "master", "commit": "f368288490937c846853c9f8ace98f44508b4ae5" }, - "vim-dadbod": { "branch": "master", "commit": "6d1d41da4873a445c5605f2005ad2c68c99d8770" }, - "vim-dadbod-completion": { "branch": "master", "commit": "a8dac0b3cf6132c80dc9b18bef36d4cf7a9e1fe6" }, - "vim-dadbod-ui": { "branch": "master", "commit": "07e92e22114cc5b1ba4938d99897d85b58e20475" }, - "vim-devicons": { "branch": "master", "commit": "71f239af28b7214eebb60d4ea5bd040291fb7e33" }, - "vim-floaterm": { "branch": "master", "commit": "bb4ba7952e906408e1f83b215f55ffe57efcade6" }, - "vim-sensible": { "branch": "master", "commit": "0ce2d843d6f588bb0c8c7eec6449171615dc56d9" }, - "vim-snippets": { "branch": "master", "commit": "ededcf7581962ee616cadab360d5966f3307f11a" }, - "vim-visual-multi": { "branch": "master", "commit": "a6975e7c1ee157615bbc80fc25e4392f71c344d4" } -} From f453b1d3d3d05ad10c860c69852b5235c078a3a9 Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 19 May 2026 10:22:56 +0200 Subject: [PATCH 035/116] =?UTF-8?q?feat(desktopenvs):=20add=20hyprland=20?= =?UTF-8?q?=E2=86=92=20hyprlua=20migration=20script?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- desktopenvs/migrate-hyprland-to-hyprlua.sh | 165 +++++++++++++++++++++ 1 file changed, 165 insertions(+) create mode 100755 desktopenvs/migrate-hyprland-to-hyprlua.sh diff --git a/desktopenvs/migrate-hyprland-to-hyprlua.sh b/desktopenvs/migrate-hyprland-to-hyprlua.sh new file mode 100755 index 0000000..b188a65 --- /dev/null +++ b/desktopenvs/migrate-hyprland-to-hyprlua.sh @@ -0,0 +1,165 @@ +#!/usr/bin/env bash +# migrate-hyprland-to-hyprlua — switch an existing hyprland install to hyprlua +# +# Packages are identical between the two environments; this script only +# swaps configs. Run it from inside (or outside) a live Hyprland session. +# If run from inside, Hyprland is reloaded automatically at the end. +# +# Usage: +# ./migrate-hyprland-to-hyprlua.sh # interactive +# ./migrate-hyprland-to-hyprlua.sh --dry-run # preview only, no changes + +set -euo pipefail + +DOTFILES="${DOTFILES:-$HOME/Dotfiles}" +SRC="$DOTFILES/desktopenvs/hyprlua" +TARGET="${XDG_CONFIG_HOME:-$HOME/.config}" +BACKUP_DIR="$HOME/.config-hyprland-backup-$(date +%Y%m%d-%H%M%S)" +DRY_RUN=0 + +RED='\033[0;31m'; YEL='\033[1;33m'; GRN='\033[0;32m'; DIM='\033[2m'; RST='\033[0m' +err() { printf "${RED}✖ %s${RST}\n" "$*" >&2; } +warn() { printf "${YEL}⚠ %s${RST}\n" "$*"; } +ok() { printf "${GRN}✔ %s${RST}\n" "$*"; } +note() { printf "${DIM} %s${RST}\n" "$*"; } +die() { err "$*"; exit 1; } +run() { + if (( DRY_RUN )); then + printf "${DIM} [dry] %s${RST}\n" "$*" + else + eval "$@" + fi +} + +# ── args ────────────────────────────────────────────────────────────────────── +for arg in "$@"; do + case "$arg" in + --dry-run|-n) DRY_RUN=1 ;; + --help|-h) + echo "Usage: $0 [--dry-run]" + echo " --dry-run Preview changes without applying them." + exit 0 ;; + *) die "Unknown argument: $arg" ;; + esac +done + +# ── preflight ───────────────────────────────────────────────────────────────── +[[ -d "$SRC" ]] || die "hyprlua source not found: $SRC" +[[ -d "$DOTFILES" ]] || die "Dotfiles directory not found: $DOTFILES" + +if [[ -f "$TARGET/hypr/hyprland.lua" ]] && [[ ! -f "$TARGET/hypr/hyprland.conf" ]]; then + warn "Already on hyprlua (hyprland.lua found, no hyprland.conf). Nothing to do." + exit 0 +fi + +(( DRY_RUN )) && warn "Dry-run mode — no files will be modified." + +printf '\n' +note "Source : $SRC" +note "Target : $TARGET" +note "Backup : $BACKUP_DIR" +printf '\n' + +# ── backup ──────────────────────────────────────────────────────────────────── +# Save the hypr-usr .conf files that will be removed from ~/.config/ +HYPR_USR_CONFS=(autostart.conf binds.conf envvars.conf input.conf monitors.conf windowrules.conf) + +run "mkdir -p '$BACKUP_DIR/hypr-usr' '$BACKUP_DIR/hypr'" + +for f in "${HYPR_USR_CONFS[@]}"; do + [[ -f "$TARGET/$f" ]] && run "cp '$TARGET/$f' '$BACKUP_DIR/hypr-usr/'" +done + +[[ -f "$TARGET/hypr/hyprland.conf" ]] && run "cp '$TARGET/hypr/hyprland.conf' '$BACKUP_DIR/hypr/'" + +ok "Backup staged at $BACKUP_DIR" + +# ── swap config directories ─────────────────────────────────────────────────── +# These directories are identical between hyprland and hyprlua, but we +# re-copy anyway so script paths inside them point to the correct source. +CONFIGS=( + kitty mimeapps.list vicinae walker ulauncher + hypr xfce4 wofi dunst alacritty + nwg-dock-hyprland nwg-drawer nwg-panel + scripts btop gtk-3.0 +) + +printf '\n' +for cfg in "${CONFIGS[@]}"; do + src_path="$SRC/$cfg" + dst_path="$TARGET/$cfg" + if [[ ! -e "$src_path" ]]; then + warn "Source missing, skipping: $cfg" + continue + fi + run "rm -rf '$dst_path'" + run "cp -r '$src_path' '$dst_path'" + ok "config $cfg" +done + +# ── swap hypr-usr (the part that actually differs) ──────────────────────────── +# hyprland: *.conf files live at ~/.config/ root (sourced by hyprland.conf) +# hyprlua: *.lua files live at ~/.config/hypr/ (required by hyprland.lua) +# wallpaper.conf stays at ~/.config/ root (hyprpaper still reads it) + +printf '\n' + +# Remove old .conf files from ~/.config/ root +for f in "${HYPR_USR_CONFS[@]}"; do + [[ -f "$TARGET/$f" ]] && run "rm '$TARGET/$f'" && note "removed ~/.config/$f" +done + +# Deploy new .lua files into ~/.config/hypr/ +if [[ -d "$SRC/hypr-usr" ]]; then + run "mkdir -p '$TARGET/hypr'" + for lua in "$SRC/hypr-usr"/*.lua; do + [[ -e "$lua" ]] || continue + run "cp '$lua' '$TARGET/hypr/'" + ok "hypr-usr $(basename "$lua") → ~/.config/hypr/" + done + # wallpaper.conf stays at ~/.config/ root + if [[ -f "$SRC/hypr-usr/wallpaper.conf" ]]; then + run "cp '$SRC/hypr-usr/wallpaper.conf' '$TARGET/'" + ok "hypr-usr wallpaper.conf → ~/.config/" + fi +fi + +# ── update config-updater ───────────────────────────────────────────────────── +printf '\n' +UPDATER_DIR="$TARGET/config-updater" +UPDATER_CONF="$UPDATER_DIR/updater.conf" +UPDATER_SCRIPT="$HOME/update-configs.sh" + +run "mkdir -p '$UPDATER_DIR'" + +# Re-point the symlink (or file) to hyprlua's updater.conf +if [[ -L "$UPDATER_CONF" ]] || [[ -f "$UPDATER_CONF" ]]; then + run "rm '$UPDATER_CONF'" +fi +run "ln -sf '$SRC/config-updater/updater.conf' '$UPDATER_CONF'" +ok "config-updater → hyprlua" + +# Re-point the update-configs.sh convenience symlink if it exists +if [[ -L "$UPDATER_SCRIPT" ]] || [[ -f "$UPDATER_SCRIPT" ]]; then + run "ln -sf '$SRC/config-updater/update-configs.sh' '$UPDATER_SCRIPT'" + ok "~/update-configs.sh → hyprlua" +fi + +# ── reload Hyprland ─────────────────────────────────────────────────────────── +printf '\n' +if command -v hyprctl &>/dev/null && hyprctl version &>/dev/null 2>&1; then + ok "Hyprland session detected — reloading..." + run "hyprctl reload" +else + warn "Not inside a Hyprland session — start/restart Hyprland to apply changes." +fi + +# ── done ────────────────────────────────────────────────────────────────────── +printf '\n' +if (( DRY_RUN )); then + note "Dry run complete. Run without --dry-run to apply." +else + ok "Migration complete." + note "Rollback: restore files from $BACKUP_DIR" + note " and re-run ~/Dotfiles/desktopenvs/hyprland/config-updater/update-configs.sh" +fi From bf4821c48e6ebfe3db410cd962a5e984f29dd635 Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 19 May 2026 11:13:18 +0200 Subject: [PATCH 036/116] fix(hyprlua): correct Lua dispatcher API calls in binds.lua - window.tag: pass table { tag = "..." } instead of bare string - window.cycle_next: remove invalid false argument - window.resize: use { x, y } fields instead of { delta = "x y" } - group.change_active: replaced with hyprctl dispatch fallback (not in Lua API) Co-Authored-By: Claude Sonnet 4.6 --- desktopenvs/hyprlua/hypr-usr/binds.lua | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/desktopenvs/hyprlua/hypr-usr/binds.lua b/desktopenvs/hyprlua/hypr-usr/binds.lua index 2f683f1..c67237b 100644 --- a/desktopenvs/hyprlua/hypr-usr/binds.lua +++ b/desktopenvs/hyprlua/hypr-usr/binds.lua @@ -73,7 +73,7 @@ hl.bind(mainMod .. " + CTRL + P", hl.dsp.exec_cmd("~/.config/scripts/scre hl.bind(mainMod .. " + Q", hl.dsp.window.close()) hl.bind(mainMod .. " + V", hl.dsp.window.float({ action = "toggle" })) hl.bind(mainMod .. " + C", hl.dsp.window.pseudo()) -hl.bind(mainMod .. " + SHIFT + V", hl.dsp.window.tag("+centered")) -- TODO: verify hl.dsp.window.tag() API +hl.bind(mainMod .. " + SHIFT + V", hl.dsp.window.tag({ tag = "+centered" })) hl.bind(mainMod .. " + SHIFT + Q", hl.dsp.exec_cmd("hyprctl kill")) hl.bind(mainMod .. " + CTRL + M", hl.dsp.exec_cmd("~/.config/scripts/toggle-layout.sh")) @@ -102,7 +102,7 @@ hl.bind(mainMod .. " + right", hl.dsp.focus({ direction = "right" })) hl.bind(mainMod .. " + up", hl.dsp.focus({ direction = "up" })) hl.bind(mainMod .. " + down", hl.dsp.focus({ direction = "down" })) -hl.bind(mainMod .. " + TAB", hl.dsp.focus({ cycle = true })) -- TODO: verify cycle focus API +hl.bind(mainMod .. " + TAB", hl.dsp.window.cycle_next()) hl.bind(mainMod .. " + SHIFT + TAB", hl.dsp.exec_cmd(winswitch)) -------------------- @@ -127,14 +127,14 @@ hl.bind(mainMod .. " + SHIFT + mouse:272", hl.dsp.window.resize(), { mouse = tru ---- RESIZE -------- -------------------- -hl.bind(mainMod .. " + ALT + right", hl.dsp.window.resize({ delta = "10 0" }), { repeating = true }) -- TODO: verify resize delta API -hl.bind(mainMod .. " + ALT + left", hl.dsp.window.resize({ delta = "-10 0" }), { repeating = true }) -hl.bind(mainMod .. " + ALT + up", hl.dsp.window.resize({ delta = "0 -10" }), { repeating = true }) -hl.bind(mainMod .. " + ALT + down", hl.dsp.window.resize({ delta = "0 10" }), { repeating = true }) -hl.bind(mainMod .. " + ALT + l", hl.dsp.window.resize({ delta = "10 0" }), { repeating = true }) -hl.bind(mainMod .. " + ALT + h", hl.dsp.window.resize({ delta = "-10 0" }), { repeating = true }) -hl.bind(mainMod .. " + ALT + k", hl.dsp.window.resize({ delta = "0 -10" }), { repeating = true }) -hl.bind(mainMod .. " + ALT + j", hl.dsp.window.resize({ delta = "0 10" }), { repeating = true }) +hl.bind(mainMod .. " + ALT + right", hl.dsp.window.resize({ x = 10, y = 0 }), { repeating = true }) +hl.bind(mainMod .. " + ALT + left", hl.dsp.window.resize({ x = -10, y = 0 }), { repeating = true }) +hl.bind(mainMod .. " + ALT + up", hl.dsp.window.resize({ x = 0, y = -10 }), { repeating = true }) +hl.bind(mainMod .. " + ALT + down", hl.dsp.window.resize({ x = 0, y = 10 }), { repeating = true }) +hl.bind(mainMod .. " + ALT + l", hl.dsp.window.resize({ x = 10, y = 0 }), { repeating = true }) +hl.bind(mainMod .. " + ALT + h", hl.dsp.window.resize({ x = -10, y = 0 }), { repeating = true }) +hl.bind(mainMod .. " + ALT + k", hl.dsp.window.resize({ x = 0, y = -10 }), { repeating = true }) +hl.bind(mainMod .. " + ALT + j", hl.dsp.window.resize({ x = 0, y = 10 }), { repeating = true }) -------------------- ---- WORKSPACES ---- @@ -192,8 +192,8 @@ hl.bind(mainMod .. " + SHIFT + XF86AudioMute", hl.dsp.window.move({ workspace = hl.bind(mainMod .. " + ALT + C", hl.dsp.group.toggle()) -- TODO: verify hl.dsp.group API hl.bind(mainMod .. " + CTRL + SHIFT + C", hl.dsp.group.lock_active("toggle")) -hl.bind(mainMod .. " + A", hl.dsp.group.change_active("f")) -hl.bind(mainMod .. " + Y", hl.dsp.group.change_active("b")) +hl.bind(mainMod .. " + A", hl.dsp.exec_cmd("hyprctl dispatch changegroupactive f")) +hl.bind(mainMod .. " + Y", hl.dsp.exec_cmd("hyprctl dispatch changegroupactive b")) hl.bind(mainMod .. " + SHIFT + ALT + left", hl.dsp.group.move_window("l")) hl.bind(mainMod .. " + SHIFT + ALT + right", hl.dsp.group.move_window("r")) From 3cd4cb5df71fc8178facf21f744b1b9cc7f9779e Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 19 May 2026 11:48:14 +0200 Subject: [PATCH 037/116] fix(hyprlua): theme and position vicinae correctly Move settings.json out of the wrong vicinae/vicinae/ subdir so it deploys to ~/.config/vicinae/settings.json where vicinae actually reads it, enabling the cyberqueer theme. Add GTK_THEME=cyberqueer on launch for correct font rendering. Add float=true to the launcher window rule so the cursor-position move formula is applied. Co-Authored-By: Claude Sonnet 4.6 --- desktopenvs/hyprlua/hypr-usr/autostart.lua | 2 +- desktopenvs/hyprlua/hypr-usr/windowrules.lua | 1 + desktopenvs/hyprlua/vicinae/{vicinae => }/settings.json | 0 3 files changed, 2 insertions(+), 1 deletion(-) rename desktopenvs/hyprlua/vicinae/{vicinae => }/settings.json (100%) diff --git a/desktopenvs/hyprlua/hypr-usr/autostart.lua b/desktopenvs/hyprlua/hypr-usr/autostart.lua index a9c9756..a4f01dd 100644 --- a/desktopenvs/hyprlua/hypr-usr/autostart.lua +++ b/desktopenvs/hyprlua/hypr-usr/autostart.lua @@ -3,7 +3,7 @@ hl.on("hyprland.start", function() -- monitorhandler (was exec-once in monitors.conf) hl.exec_cmd("~/Dotfiles/desktopenvs/hyprlua/scripts/monitorhandler.sh") - hl.exec_cmd("export QT_QPA_PLATFORMTHEME='' && vicinae server") + hl.exec_cmd("GTK_THEME=cyberqueer QT_QPA_PLATFORMTHEME='' vicinae server") hl.exec_cmd("bash ~/Dotfiles/desktopenvs/hyprlua/scripts/bluetooth-applet.sh") hl.exec_cmd("bash ~/Dotfiles/desktopenvs/hyprlua/scripts/ulwatchdog.sh") hl.exec_cmd("bash ~/Dotfiles/desktopenvs/hyprlua/scripts/ewwstart.sh") diff --git a/desktopenvs/hyprlua/hypr-usr/windowrules.lua b/desktopenvs/hyprlua/hypr-usr/windowrules.lua index 2f4e5d6..bce7ac6 100644 --- a/desktopenvs/hyprlua/hypr-usr/windowrules.lua +++ b/desktopenvs/hyprlua/hypr-usr/windowrules.lua @@ -7,6 +7,7 @@ hl.window_rule({ name = "vicinae-launcher", match = { class = "vicinae" }, t hl.window_rule({ name = "launcher", match = { tag = "launcher" }, + float = true, pin = true, no_shadow = true, no_blur = true, diff --git a/desktopenvs/hyprlua/vicinae/vicinae/settings.json b/desktopenvs/hyprlua/vicinae/settings.json similarity index 100% rename from desktopenvs/hyprlua/vicinae/vicinae/settings.json rename to desktopenvs/hyprlua/vicinae/settings.json From cfb949dff3906930817013bfb4c48f440dd06671 Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 19 May 2026 11:49:25 +0200 Subject: [PATCH 038/116] timeshift installer module --- setup/modules/optional-Modules/apps/timeshift.sh | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100755 setup/modules/optional-Modules/apps/timeshift.sh diff --git a/setup/modules/optional-Modules/apps/timeshift.sh b/setup/modules/optional-Modules/apps/timeshift.sh new file mode 100755 index 0000000..6d07d1b --- /dev/null +++ b/setup/modules/optional-Modules/apps/timeshift.sh @@ -0,0 +1,9 @@ +#!/bin/bash +set -euo pipefail + +sudo pacman -S --noconfirm --needed timeshift cronie + +# Auto-snapshot before pacman transactions +yay -S --answerdiff None --answerclean All --noconfirm timeshift-autosnap + +sudo systemctl enable --now cronie.service From 3a49ab44d937f1faf536447690c484398124aba6 Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 19 May 2026 13:43:13 +0200 Subject: [PATCH 039/116] =?UTF-8?q?feat(qt,gtk):=20overhaul=20theming=20?= =?UTF-8?q?=E2=80=94=20qt6ct=20style=20plugin,=20dark=20palette,=20GTK=20c?= =?UTF-8?q?olor-scheme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Qt: replace QT_STYLE_OVERRIDE/QT_STYLE_SHEET env vars with QT_QPA_PLATFORMTHEME=qt6ct + QT_QUICK_CONTROLS_STYLE=Fusion; add cyberqueer Qt6 style plugin (QProxyStyle wrapping Fusion with hardcoded dark palette); enable custom_palette in qt6ct.conf so qt6ct applies the dark QPalette directly for both Qt Widgets and Qt Quick apps. GTK: fix dark mode not applying — set gtk-application-prefer-dark-theme=1 in GTK3 settings.ini; add gsettings color-scheme=prefer-dark to install script (required by libadwaita apps which ignore gtk-theme-name); add index.theme so the theme is recognized by GTK theme discovery. Co-Authored-By: Claude Sonnet 4.6 --- apply-theme.sh | 24 ++++++++++ desktopenvs/hyprland/hypr-usr/envvars.conf | 3 +- desktopenvs/hyprlua/gtk-3.0/settings.ini | 2 +- desktopenvs/hyprlua/hypr-usr/envvars.lua | 13 +++--- gtk-themes/cyberqueer/index.theme | 11 +++++ qt-themes/cyberqueer/cyberqueer.conf | 4 ++ qt-themes/cyberqueer/enable.sh | 32 ++++++++++++-- qt-themes/cyberqueer/hyprpolkitagent-qt.conf | 7 +++ qt-themes/cyberqueer/qt6ct.conf | 29 ++++++++++++ .../cyberqueer/style-plugin/CMakeLists.txt | 19 ++++++++ .../style-plugin/CyberQueerStyle.cpp | 44 +++++++++++++++++++ .../cyberqueer/style-plugin/CyberQueerStyle.h | 9 ++++ qt-themes/cyberqueer/style-plugin/build.sh | 12 +++++ .../cyberqueer/style-plugin/cyberqueer.json | 1 + qt-themes/cyberqueer/style-plugin/plugin.cpp | 16 +++++++ setup/modules/Desktop-Environments/hyprlua.sh | 2 + 16 files changed, 215 insertions(+), 13 deletions(-) create mode 100644 gtk-themes/cyberqueer/index.theme create mode 100644 qt-themes/cyberqueer/cyberqueer.conf create mode 100644 qt-themes/cyberqueer/hyprpolkitagent-qt.conf create mode 100644 qt-themes/cyberqueer/qt6ct.conf create mode 100644 qt-themes/cyberqueer/style-plugin/CMakeLists.txt create mode 100644 qt-themes/cyberqueer/style-plugin/CyberQueerStyle.cpp create mode 100644 qt-themes/cyberqueer/style-plugin/CyberQueerStyle.h create mode 100755 qt-themes/cyberqueer/style-plugin/build.sh create mode 100644 qt-themes/cyberqueer/style-plugin/cyberqueer.json create mode 100644 qt-themes/cyberqueer/style-plugin/plugin.cpp diff --git a/apply-theme.sh b/apply-theme.sh index 78f8093..981ac91 100755 --- a/apply-theme.sh +++ b/apply-theme.sh @@ -51,6 +51,10 @@ USER_FILES=( "desktopenvs/hyprland/ulauncher/user-themes/cyberqueer/generated.css|$HOME/.config/ulauncher/user-themes/cyberqueer/generated.css" "desktopenvs/hyprland/Vencord/themes/cyberqueer.theme.css|$HOME/.config/Vencord/themes/cyberqueer.theme.css" "desktopenvs/hyprland/Vencord/themes/system24/theme/flavors/cyberqueer.theme.css|$HOME/.config/Vencord/themes/system24/theme/flavors/cyberqueer.theme.css" + "qt-themes/cyberqueer/style.qss|$HOME/.config/qt6ct/qss/style.qss" + "qt-themes/cyberqueer/cyberqueer.conf|$HOME/.config/qt6ct/colors/cyberqueer.conf" + "qt-themes/cyberqueer/style-plugin/CyberQueerStyle.cpp|$DOTFILES/qt-themes/cyberqueer/style-plugin/CyberQueerStyle.cpp" + "qt-themes/cyberqueer/hyprpolkitagent-qt.conf|$HOME/.config/systemd/user/hyprpolkitagent.service.d/qt-theme.conf" ) # System-owned paths — sed is run via sudo @@ -200,6 +204,26 @@ for entry in "${SYS_FILES[@]}"; do fi done +# --------------------------------------------------------------------------- +# Reload services that read their config once at start + +POLKIT_DROP="$HOME/.config/systemd/user/hyprpolkitagent.service.d/qt-theme.conf" +if [[ -f "$POLKIT_DROP" ]] && systemctl --user is-active --quiet hyprpolkitagent 2>/dev/null; then + systemctl --user daemon-reload + systemctl --user restart hyprpolkitagent + echo "Restarted hyprpolkitagent with updated colors." +fi + +# Rebuild Qt style plugin if its source was updated +PLUGIN_BUILD="$DOTFILES/qt-themes/cyberqueer/style-plugin/build.sh" +if [[ -f "$PLUGIN_BUILD" ]]; then + if bash "$PLUGIN_BUILD"; then + echo "Rebuilt cyberqueer Qt style plugin." + else + echo "Warning: Qt style plugin rebuild failed — relaunch apps will still use old colors." + fi +fi + # --------------------------------------------------------------------------- # Persist state diff --git a/desktopenvs/hyprland/hypr-usr/envvars.conf b/desktopenvs/hyprland/hypr-usr/envvars.conf index 586df3e..ce7f5c6 100644 --- a/desktopenvs/hyprland/hypr-usr/envvars.conf +++ b/desktopenvs/hyprland/hypr-usr/envvars.conf @@ -3,5 +3,4 @@ env = GDK_SCALE,2 env = XCURSOR_SIZE,40 env = HYPRCURSOR_SIZE,40 env = QT_QPA_PLATFORMTHEME,qt6ct -env = QT_STYLE_OVERRIDE,Fusion -env = QT_STYLE_SHEET,~/.config/qt6ct/qss/style.qss +env = QT_QUICK_CONTROLS_STYLE,Fusion diff --git a/desktopenvs/hyprlua/gtk-3.0/settings.ini b/desktopenvs/hyprlua/gtk-3.0/settings.ini index 9be50da..01fa035 100644 --- a/desktopenvs/hyprlua/gtk-3.0/settings.ini +++ b/desktopenvs/hyprlua/gtk-3.0/settings.ini @@ -14,4 +14,4 @@ gtk-xft-antialias=1 gtk-xft-hinting=1 gtk-xft-hintstyle=hintslight gtk-xft-rgba=rgb -gtk-application-prefer-dark-theme=0 +gtk-application-prefer-dark-theme=1 diff --git a/desktopenvs/hyprlua/hypr-usr/envvars.lua b/desktopenvs/hyprlua/hypr-usr/envvars.lua index d3eb38a..5298ffd 100644 --- a/desktopenvs/hyprlua/hypr-usr/envvars.lua +++ b/desktopenvs/hyprlua/hypr-usr/envvars.lua @@ -1,7 +1,6 @@ -hl.env("GTK_THEME", "cyberqueer") -hl.env("GDK_SCALE", "2") -hl.env("XCURSOR_SIZE", "40") -hl.env("HYPRCURSOR_SIZE", "40") -hl.env("QT_QPA_PLATFORMTHEME", "qt6ct") -hl.env("QT_STYLE_OVERRIDE", "Fusion") -hl.env("QT_STYLE_SHEET", "~/.config/qt6ct/qss/style.qss") +hl.env("GTK_THEME", "cyberqueer") +hl.env("GDK_SCALE", "2") +hl.env("XCURSOR_SIZE", "40") +hl.env("HYPRCURSOR_SIZE", "40") +hl.env("QT_QPA_PLATFORMTHEME", "qt6ct") +hl.env("QT_QUICK_CONTROLS_STYLE", "Fusion") diff --git a/gtk-themes/cyberqueer/index.theme b/gtk-themes/cyberqueer/index.theme new file mode 100644 index 0000000..dc1c5a9 --- /dev/null +++ b/gtk-themes/cyberqueer/index.theme @@ -0,0 +1,11 @@ +[Desktop Entry] +Type=X-GNOME-Metatheme +Name=cyberqueer +Comment=CyberQueer dark theme +Encoding=UTF-8 + +[X-GNOME-Metatheme] +GtkTheme=cyberqueer +MetacityTheme=cyberqueer +IconTheme=Papirus-Dark +CursorTheme=Nordzy-cursors-lefthand diff --git a/qt-themes/cyberqueer/cyberqueer.conf b/qt-themes/cyberqueer/cyberqueer.conf new file mode 100644 index 0000000..78611a5 --- /dev/null +++ b/qt-themes/cyberqueer/cyberqueer.conf @@ -0,0 +1,4 @@ +[ColorScheme] +active_colors=#ffd6abab, #ff1a1a1a, #ff2a2a2a, #ff252525, #ff0d0d0d, #ff1f1f1f, #ffd6abab, #ffffffff, #ffd6abab, #ff1a1a1a, #ff1a1a1a, #ff2a2a2a, #ff5018dd, #ffffffff, #ff5018dd, #ffe40046, #ff222222, #ffffffff, #ff5018dd, #ffffffff, #80808086 +inactive_colors=#ffd6abab, #ff1a1a1a, #ff2a2a2a, #ff252525, #ff0d0d0d, #ff1f1f1f, #ffd6abab, #ffffffff, #ffd6abab, #ff1a1a1a, #ff1a1a1a, #ff2a2a2a, #ff5018dd, #ffffffff, #ff5018dd, #ffe40046, #ff222222, #ffffffff, #ff5018dd, #ffffffff, #80808086 +disabled_colors=#ff808086, #ff1a1a1a, #ff2a2a2a, #ff252525, #ff0d0d0d, #ff1f1f1f, #ff808086, #ffffffff, #ff808086, #ff1a1a1a, #ff1a1a1a, #ff2a2a2a, #ff5018dd, #ffffffff, #ff5018dd, #ffe40046, #ff222222, #ffffffff, #ff5018dd, #ffffffff, #80808086 diff --git a/qt-themes/cyberqueer/enable.sh b/qt-themes/cyberqueer/enable.sh index 7bb339e..7347c1c 100755 --- a/qt-themes/cyberqueer/enable.sh +++ b/qt-themes/cyberqueer/enable.sh @@ -1,5 +1,31 @@ #!/usr/bin/bash -export QT_STYLE_OVERRIDE="Fusion" -export QT_QPA_PLATFORMTHEME="qt5ct" -export QT_STYLE_SHEET="~/Dotfiles/qt-themes/cyberqueer/style.qss" +# Deploy the cyberqueer Qt theme files to ~/.config/qt6ct/ and the +# hyprpolkitagent systemd drop-in. Safe to re-run after reinstalls. +set -euo pipefail +DOTFILES="${DOTFILES:-$HOME/Dotfiles}" +SRC="$DOTFILES/qt-themes/cyberqueer" + +# QSS stylesheet for Qt Widgets apps (loaded by qt6ct) +mkdir -p "$HOME/.config/qt6ct/qss" +cp "$SRC/style.qss" "$HOME/.config/qt6ct/qss/style.qss" + +# qt6ct color palette (QPalette roles for Fusion style) +mkdir -p "$HOME/.config/qt6ct/colors" +cp "$SRC/cyberqueer.conf" "$HOME/.config/qt6ct/colors/cyberqueer.conf" + +# qt6ct config — expand leading ~ to $HOME in file paths +mkdir -p "$HOME/.config/qt6ct" +sed "s|~|$HOME|g" "$SRC/qt6ct.conf" > "$HOME/.config/qt6ct/qt6ct.conf" + +# cyberqueer Qt style plugin +bash "$SRC/style-plugin/build.sh" + +# hyprpolkitagent systemd drop-in: Material style + cyberqueer colors +POLKIT_DROP="$HOME/.config/systemd/user/hyprpolkitagent.service.d" +mkdir -p "$POLKIT_DROP" +cp "$SRC/hyprpolkitagent-qt.conf" "$POLKIT_DROP/qt-theme.conf" +systemctl --user daemon-reload || true +systemctl --user restart hyprpolkitagent || true + +echo "cyberqueer Qt theme deployed." diff --git a/qt-themes/cyberqueer/hyprpolkitagent-qt.conf b/qt-themes/cyberqueer/hyprpolkitagent-qt.conf new file mode 100644 index 0000000..c4d2195 --- /dev/null +++ b/qt-themes/cyberqueer/hyprpolkitagent-qt.conf @@ -0,0 +1,7 @@ +[Service] +Environment="QT_QUICK_CONTROLS_STYLE=Material" +Environment="QT_QUICK_CONTROLS_MATERIAL_THEME=Dark" +Environment="QT_QUICK_CONTROLS_MATERIAL_ACCENT=#5018DD" +Environment="QT_QUICK_CONTROLS_MATERIAL_BACKGROUND=#1A1A1A" +Environment="QT_QUICK_CONTROLS_MATERIAL_FOREGROUND=#D6ABAB" +Environment="QT_QUICK_CONTROLS_MATERIAL_PRIMARY=#1A1A1A" diff --git a/qt-themes/cyberqueer/qt6ct.conf b/qt-themes/cyberqueer/qt6ct.conf new file mode 100644 index 0000000..d6208df --- /dev/null +++ b/qt-themes/cyberqueer/qt6ct.conf @@ -0,0 +1,29 @@ +[Appearance] +custom_palette=true +color_scheme_path=~/.config/qt6ct/colors/cyberqueer.conf +icon_theme=Papirus-Dark +standard_dialogs=default +style=cyberqueer + +[Fonts] +fixed="Agave Nerd Font Mono,14,-1,5,400,0,0,0,0,0,0,0,0,0,0,1" +general="Agave Nerd Font Mono,14,-1,5,400,0,0,0,0,0,0,0,0,0,0,1" + +[Interface] +activate_item_on_single_click=1 +buttonbox_layout=0 +cursor_flash_time=1000 +dialog_buttons_have_icons=1 +double_click_interval=400 +gui_effects=@Invalid() +keyboard_scheme=2 +menus_have_icons=true +show_shortcuts_in_context_menus=true +stylesheets=~/.config/qt6ct/qss/style.qss +toolbutton_style=4 +underline_shortcut=1 +wheel_scroll_lines=3 + +[Troubleshooting] +force_raster_widgets=1 +ignored_applications=@Invalid() diff --git a/qt-themes/cyberqueer/style-plugin/CMakeLists.txt b/qt-themes/cyberqueer/style-plugin/CMakeLists.txt new file mode 100644 index 0000000..8e34904 --- /dev/null +++ b/qt-themes/cyberqueer/style-plugin/CMakeLists.txt @@ -0,0 +1,19 @@ +cmake_minimum_required(VERSION 3.16) +project(cyberqueer-qt-style) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_CXX_STANDARD 17) + +find_package(Qt6 REQUIRED COMPONENTS Widgets) + +add_library(cyberqueer MODULE + plugin.cpp + CyberQueerStyle.cpp + CyberQueerStyle.h +) + +target_link_libraries(cyberqueer PRIVATE Qt6::Widgets) + +install(TARGETS cyberqueer + LIBRARY DESTINATION /usr/lib/qt6/plugins/styles +) diff --git a/qt-themes/cyberqueer/style-plugin/CyberQueerStyle.cpp b/qt-themes/cyberqueer/style-plugin/CyberQueerStyle.cpp new file mode 100644 index 0000000..177bc85 --- /dev/null +++ b/qt-themes/cyberqueer/style-plugin/CyberQueerStyle.cpp @@ -0,0 +1,44 @@ +#include "CyberQueerStyle.h" +#include + +CyberQueerStyle::CyberQueerStyle() + : QProxyStyle(QStringLiteral("Fusion")) +{} + +// Primary theme colors — hex literals are updated by apply-theme.sh. +// After changing colors, rebuild with: qt-themes/cyberqueer/style-plugin/build.sh +void CyberQueerStyle::polish(QPalette &p) +{ + QProxyStyle::polish(p); + + const QColor bg (QRgb(0xFF1A1A1A)); + const QColor fg (QRgb(0xFFD6ABAB)); + const QColor accent(QRgb(0xFF5018DD)); + const QColor hot (QRgb(0xFFE40046)); + + for (auto grp : {QPalette::Active, QPalette::Inactive}) { + p.setColor(grp, QPalette::Window, bg); + p.setColor(grp, QPalette::WindowText, fg); + p.setColor(grp, QPalette::Base, bg); + p.setColor(grp, QPalette::AlternateBase, QColor(0x22, 0x22, 0x22)); + p.setColor(grp, QPalette::Text, fg); + p.setColor(grp, QPalette::BrightText, Qt::white); + p.setColor(grp, QPalette::Button, bg); + p.setColor(grp, QPalette::ButtonText, fg); + p.setColor(grp, QPalette::Highlight, accent); + p.setColor(grp, QPalette::HighlightedText, Qt::white); + p.setColor(grp, QPalette::Link, accent); + p.setColor(grp, QPalette::LinkVisited, hot); + p.setColor(grp, QPalette::ToolTipBase, accent); + p.setColor(grp, QPalette::ToolTipText, Qt::white); + p.setColor(grp, QPalette::Light, QColor(0x2A, 0x2A, 0x2A)); + p.setColor(grp, QPalette::Midlight, QColor(0x25, 0x25, 0x25)); + p.setColor(grp, QPalette::Dark, QColor(0x0D, 0x0D, 0x0D)); + p.setColor(grp, QPalette::Mid, QColor(0x1F, 0x1F, 0x1F)); + p.setColor(grp, QPalette::Shadow, QColor(0x2A, 0x2A, 0x2A)); + p.setColor(grp, QPalette::PlaceholderText, QColor(0x80, 0x80, 0x86)); + } + p.setColor(QPalette::Disabled, QPalette::WindowText, QColor(0x80, 0x80, 0x86)); + p.setColor(QPalette::Disabled, QPalette::Text, QColor(0x80, 0x80, 0x86)); + p.setColor(QPalette::Disabled, QPalette::ButtonText, QColor(0x80, 0x80, 0x86)); +} diff --git a/qt-themes/cyberqueer/style-plugin/CyberQueerStyle.h b/qt-themes/cyberqueer/style-plugin/CyberQueerStyle.h new file mode 100644 index 0000000..3f7009c --- /dev/null +++ b/qt-themes/cyberqueer/style-plugin/CyberQueerStyle.h @@ -0,0 +1,9 @@ +#pragma once +#include + +class CyberQueerStyle : public QProxyStyle { + Q_OBJECT +public: + CyberQueerStyle(); + void polish(QPalette &palette) override; +}; diff --git a/qt-themes/cyberqueer/style-plugin/build.sh b/qt-themes/cyberqueer/style-plugin/build.sh new file mode 100755 index 0000000..1b4a6eb --- /dev/null +++ b/qt-themes/cyberqueer/style-plugin/build.sh @@ -0,0 +1,12 @@ +#!/usr/bin/bash +# Build and install the cyberqueer Qt6 style plugin. +# Re-run after changing colors in CyberQueerStyle.cpp. +set -euo pipefail + +DIR="$(dirname "$(realpath "$0")")" +BUILD="$DIR/build" + +cmake -B "$BUILD" -S "$DIR" -DCMAKE_BUILD_TYPE=Release -Wno-dev --log-level=WARNING +cmake --build "$BUILD" -j"$(nproc)" +sudo cmake --install "$BUILD" +echo "cyberqueer Qt style installed to /usr/lib/qt6/plugins/styles/" diff --git a/qt-themes/cyberqueer/style-plugin/cyberqueer.json b/qt-themes/cyberqueer/style-plugin/cyberqueer.json new file mode 100644 index 0000000..ae02b44 --- /dev/null +++ b/qt-themes/cyberqueer/style-plugin/cyberqueer.json @@ -0,0 +1 @@ +{"Keys": ["cyberqueer"]} diff --git a/qt-themes/cyberqueer/style-plugin/plugin.cpp b/qt-themes/cyberqueer/style-plugin/plugin.cpp new file mode 100644 index 0000000..a3271ea --- /dev/null +++ b/qt-themes/cyberqueer/style-plugin/plugin.cpp @@ -0,0 +1,16 @@ +#include +#include "CyberQueerStyle.h" + +class CyberQueerStylePlugin : public QStylePlugin { + Q_OBJECT + Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QStyleFactoryInterface" FILE "cyberqueer.json") +public: + QStyle *create(const QString &key) override + { + if (key.compare(QLatin1String("cyberqueer"), Qt::CaseInsensitive) == 0) + return new CyberQueerStyle; + return nullptr; + } +}; + +#include "plugin.moc" diff --git a/setup/modules/Desktop-Environments/hyprlua.sh b/setup/modules/Desktop-Environments/hyprlua.sh index 07bea34..ec7f9f0 100755 --- a/setup/modules/Desktop-Environments/hyprlua.sh +++ b/setup/modules/Desktop-Environments/hyprlua.sh @@ -70,6 +70,8 @@ sudo cp ~/Dotfiles/desktopenvs/hyprlua/btop/themes/cyberqueer.theme /usr/share/b sudo cp -f ~/Dotfiles/etc-ly-config.ini /etc/ly/config.ini sudo ln -sf /usr/bin/kitty /usr/bin/xdg-terminal-exec sudo ln -sf /usr/bin/ksshaskpass /usr/lib/ssh/ssh-askpass +bash ~/Dotfiles/qt-themes/cyberqueer/enable.sh +gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' # 7. Cursor setup mkdir -p ~/.icons From 1c278b38306e53f9ad7bdcb7c5161ddbac972d64 Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 19 May 2026 14:05:49 +0200 Subject: [PATCH 040/116] fix(qt): drop custom style plugin, use Fusion + qt6ct custom palette The cyberqueer style plugin only overrode polish(QPalette&) with colors identical to those already in cyberqueer.conf. Qt failed to load the plugin for apps after the first, falling back to Fusion Light entirely. Switching to the built-in Fusion style with qt6ct's custom_palette mechanism gives the same result reliably for every app. Co-Authored-By: Claude Sonnet 4.6 --- qt-themes/cyberqueer/enable.sh | 3 --- qt-themes/cyberqueer/qt6ct.conf | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/qt-themes/cyberqueer/enable.sh b/qt-themes/cyberqueer/enable.sh index 7347c1c..56f5828 100755 --- a/qt-themes/cyberqueer/enable.sh +++ b/qt-themes/cyberqueer/enable.sh @@ -18,9 +18,6 @@ cp "$SRC/cyberqueer.conf" "$HOME/.config/qt6ct/colors/cyberqueer.conf" mkdir -p "$HOME/.config/qt6ct" sed "s|~|$HOME|g" "$SRC/qt6ct.conf" > "$HOME/.config/qt6ct/qt6ct.conf" -# cyberqueer Qt style plugin -bash "$SRC/style-plugin/build.sh" - # hyprpolkitagent systemd drop-in: Material style + cyberqueer colors POLKIT_DROP="$HOME/.config/systemd/user/hyprpolkitagent.service.d" mkdir -p "$POLKIT_DROP" diff --git a/qt-themes/cyberqueer/qt6ct.conf b/qt-themes/cyberqueer/qt6ct.conf index d6208df..c4b5154 100644 --- a/qt-themes/cyberqueer/qt6ct.conf +++ b/qt-themes/cyberqueer/qt6ct.conf @@ -3,7 +3,7 @@ custom_palette=true color_scheme_path=~/.config/qt6ct/colors/cyberqueer.conf icon_theme=Papirus-Dark standard_dialogs=default -style=cyberqueer +style=Fusion [Fonts] fixed="Agave Nerd Font Mono,14,-1,5,400,0,0,0,0,0,0,0,0,0,0,1" From 820a12616c2412a6eea1ee935a95468abc1bdc2b Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 19 May 2026 14:39:29 +0200 Subject: [PATCH 041/116] fixed theming issues --- desktopenvs/hyprland/hypr-usr/envvars.conf | 3 +- desktopenvs/hyprlua/hypr-usr/autostart.lua | 4 +- desktopenvs/hyprlua/hypr-usr/envvars.lua | 3 +- .../cyberqueer/cyberqueer.conf | 0 .../{ => deprecated}/cyberqueer/enable.sh | 0 .../cyberqueer/hyprpolkitagent-qt.conf | 0 .../{ => deprecated}/cyberqueer/qt6ct.conf | 0 .../cyberqueer/style-plugin/CMakeLists.txt | 0 .../style-plugin/CyberQueerStyle.cpp | 0 .../cyberqueer/style-plugin/CyberQueerStyle.h | 0 .../cyberqueer/style-plugin/build.sh | 0 .../build/.qt/QtDeploySupport.cmake | 71 + .../build/.qt/QtDeployTargets.cmake | 2 + .../style-plugin/build/CMakeCache.txt | 1453 ++++ .../CMakeFiles/4.3.2/CMakeCCompiler.cmake | 85 + .../CMakeFiles/4.3.2/CMakeCXXCompiler.cmake | 102 + .../4.3.2/CMakeDetermineCompilerABI_C.bin | Bin 0 -> 16024 bytes .../4.3.2/CMakeDetermineCompilerABI_CXX.bin | Bin 0 -> 16048 bytes .../build/CMakeFiles/4.3.2/CMakeSystem.cmake | 15 + .../4.3.2/CompilerIdC/CMakeCCompilerId.c | 934 +++ .../build/CMakeFiles/4.3.2/CompilerIdC/a.out | Bin 0 -> 16088 bytes .../CompilerIdCXX/CMakeCXXCompilerId.cpp | 949 +++ .../CMakeFiles/4.3.2/CompilerIdCXX/a.out | Bin 0 -> 16096 bytes .../build/CMakeFiles/CMakeConfigureLog.yaml | 7234 +++++++++++++++++ .../CMakeDirectoryInformation.cmake | 16 + .../build/CMakeFiles/CMakeRuleHashes.txt | 3 + .../build/CMakeFiles/InstallScripts.json | 7 + .../build/CMakeFiles/Makefile.cmake | 460 ++ .../style-plugin/build/CMakeFiles/Makefile2 | 189 + .../build/CMakeFiles/TargetDirectories.txt | 9 + .../build/CMakeFiles/cmake.check_cache | 1 + .../cyberqueer.dir/CyberQueerStyle.cpp.o | Bin 0 -> 11048 bytes .../cyberqueer.dir/CyberQueerStyle.cpp.o.d | 335 + .../cyberqueer.dir/DependInfo.cmake | 27 + .../CMakeFiles/cyberqueer.dir/build.make | 157 + .../cyberqueer.dir/cmake_clean.cmake | 21 + .../cyberqueer.dir/compiler_depend.internal | 2387 ++++++ .../cyberqueer.dir/compiler_depend.make | 4434 ++++++++++ .../cyberqueer.dir/compiler_depend.ts | 2 + .../cyberqueer_autogen/mocs_compilation.cpp.o | Bin 0 -> 12048 bytes .../mocs_compilation.cpp.o.d | 338 + .../CMakeFiles/cyberqueer.dir/depend.make | 2 + .../CMakeFiles/cyberqueer.dir/flags.make | 10 + .../build/CMakeFiles/cyberqueer.dir/link.d | 115 + .../build/CMakeFiles/cyberqueer.dir/link.txt | 1 + .../CMakeFiles/cyberqueer.dir/plugin.cpp.o | Bin 0 -> 13808 bytes .../CMakeFiles/cyberqueer.dir/plugin.cpp.o.d | 367 + .../CMakeFiles/cyberqueer.dir/progress.make | 6 + .../cyberqueer_autogen.dir/AutogenInfo.json | 641 ++ .../cyberqueer_autogen.dir/AutogenUsed.txt | 1 + .../cyberqueer_autogen.dir/DependInfo.cmake | 23 + .../cyberqueer_autogen.dir/ParseCache.txt | 892 ++ .../cyberqueer_autogen.dir/build.make | 96 + .../cyberqueer_autogen.dir/cmake_clean.cmake | 10 + .../compiler_depend.internal | 980 +++ .../compiler_depend.make | 2929 +++++++ .../cyberqueer_autogen.dir/compiler_depend.ts | 2 + .../cyberqueer_autogen.dir/progress.make | 2 + .../DependInfo.cmake | 22 + .../build.make | 86 + .../cmake_clean.cmake | 5 + .../compiler_depend.make | 2 + .../compiler_depend.ts | 2 + .../progress.make | 1 + .../build/CMakeFiles/progress.marks | 1 + .../cyberqueer/style-plugin/build/Makefile | 312 + .../style-plugin/build/cmake_install.cmake | 90 + .../EWIEGA46WW/moc_CyberQueerStyle.cpp | 90 + .../EWIEGA46WW/moc_CyberQueerStyle.cpp.d | 423 + .../build/cyberqueer_autogen/deps | 976 +++ .../cyberqueer_autogen/include/plugin.moc | 139 + .../cyberqueer_autogen/include/plugin.moc.d | 462 ++ .../build/cyberqueer_autogen/moc_predefs.h | 481 ++ .../cyberqueer_autogen/mocs_compilation.cpp | 2 + .../build/cyberqueer_autogen/timestamp | 0 .../style-plugin/build/install_manifest.txt | 1 + .../style-plugin/build/libcyberqueer.so | Bin 0 -> 37408 bytes .../cyberqueer/style-plugin/cyberqueer.json | 0 .../cyberqueer/style-plugin/plugin.cpp | 0 .../{ => deprecated}/cyberqueer/style.qss | 0 setup/modules/Desktop-Environments/hyprlua.sh | 4 +- 81 files changed, 28409 insertions(+), 8 deletions(-) rename qt-themes/{ => deprecated}/cyberqueer/cyberqueer.conf (100%) rename qt-themes/{ => deprecated}/cyberqueer/enable.sh (100%) rename qt-themes/{ => deprecated}/cyberqueer/hyprpolkitagent-qt.conf (100%) rename qt-themes/{ => deprecated}/cyberqueer/qt6ct.conf (100%) rename qt-themes/{ => deprecated}/cyberqueer/style-plugin/CMakeLists.txt (100%) rename qt-themes/{ => deprecated}/cyberqueer/style-plugin/CyberQueerStyle.cpp (100%) rename qt-themes/{ => deprecated}/cyberqueer/style-plugin/CyberQueerStyle.h (100%) rename qt-themes/{ => deprecated}/cyberqueer/style-plugin/build.sh (100%) create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/.qt/QtDeploySupport.cmake create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/.qt/QtDeployTargets.cmake create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeCache.txt create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CMakeCCompiler.cmake create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CMakeCXXCompiler.cmake create mode 100755 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CMakeDetermineCompilerABI_C.bin create mode 100755 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CMakeDetermineCompilerABI_CXX.bin create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CMakeSystem.cmake create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CompilerIdC/CMakeCCompilerId.c create mode 100755 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CompilerIdC/a.out create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CompilerIdCXX/CMakeCXXCompilerId.cpp create mode 100755 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CompilerIdCXX/a.out create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/CMakeConfigureLog.yaml create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/CMakeRuleHashes.txt create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/InstallScripts.json create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/Makefile.cmake create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/Makefile2 create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/TargetDirectories.txt create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cmake.check_cache create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.o create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.o.d create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/DependInfo.cmake create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/build.make create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/cmake_clean.cmake create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/compiler_depend.internal create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/compiler_depend.make create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/compiler_depend.ts create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.o create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.o.d create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/depend.make create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/flags.make create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/link.d create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/link.txt create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/plugin.cpp.o create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/plugin.cpp.o.d create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/progress.make create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer_autogen.dir/AutogenInfo.json create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer_autogen.dir/AutogenUsed.txt create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer_autogen.dir/DependInfo.cmake create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer_autogen.dir/ParseCache.txt create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer_autogen.dir/build.make create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer_autogen.dir/cmake_clean.cmake create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer_autogen.dir/compiler_depend.internal create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer_autogen.dir/compiler_depend.make create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer_autogen.dir/compiler_depend.ts create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer_autogen.dir/progress.make create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer_autogen_timestamp_deps.dir/DependInfo.cmake create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer_autogen_timestamp_deps.dir/build.make create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer_autogen_timestamp_deps.dir/cmake_clean.cmake create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer_autogen_timestamp_deps.dir/compiler_depend.make create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer_autogen_timestamp_deps.dir/compiler_depend.ts create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer_autogen_timestamp_deps.dir/progress.make create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/progress.marks create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/Makefile create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/cmake_install.cmake create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/cyberqueer_autogen/EWIEGA46WW/moc_CyberQueerStyle.cpp create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/cyberqueer_autogen/EWIEGA46WW/moc_CyberQueerStyle.cpp.d create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/cyberqueer_autogen/deps create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/cyberqueer_autogen/include/plugin.moc create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/cyberqueer_autogen/include/plugin.moc.d create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/cyberqueer_autogen/moc_predefs.h create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/cyberqueer_autogen/mocs_compilation.cpp create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/cyberqueer_autogen/timestamp create mode 100644 qt-themes/deprecated/cyberqueer/style-plugin/build/install_manifest.txt create mode 100755 qt-themes/deprecated/cyberqueer/style-plugin/build/libcyberqueer.so rename qt-themes/{ => deprecated}/cyberqueer/style-plugin/cyberqueer.json (100%) rename qt-themes/{ => deprecated}/cyberqueer/style-plugin/plugin.cpp (100%) rename qt-themes/{ => deprecated}/cyberqueer/style.qss (100%) diff --git a/desktopenvs/hyprland/hypr-usr/envvars.conf b/desktopenvs/hyprland/hypr-usr/envvars.conf index ce7f5c6..879aeb4 100644 --- a/desktopenvs/hyprland/hypr-usr/envvars.conf +++ b/desktopenvs/hyprland/hypr-usr/envvars.conf @@ -2,5 +2,4 @@ env = GTK_THEME,cyberqueer env = GDK_SCALE,2 env = XCURSOR_SIZE,40 env = HYPRCURSOR_SIZE,40 -env = QT_QPA_PLATFORMTHEME,qt6ct -env = QT_QUICK_CONTROLS_STYLE,Fusion +env = QT_QPA_PLATFORMTHEME,gtk3 diff --git a/desktopenvs/hyprlua/hypr-usr/autostart.lua b/desktopenvs/hyprlua/hypr-usr/autostart.lua index a4f01dd..d1512d3 100644 --- a/desktopenvs/hyprlua/hypr-usr/autostart.lua +++ b/desktopenvs/hyprlua/hypr-usr/autostart.lua @@ -3,7 +3,7 @@ hl.on("hyprland.start", function() -- monitorhandler (was exec-once in monitors.conf) hl.exec_cmd("~/Dotfiles/desktopenvs/hyprlua/scripts/monitorhandler.sh") - hl.exec_cmd("GTK_THEME=cyberqueer QT_QPA_PLATFORMTHEME='' vicinae server") + hl.exec_cmd("export QT_QPA_PLATFORMTHEME='' && vicinae server") hl.exec_cmd("bash ~/Dotfiles/desktopenvs/hyprlua/scripts/bluetooth-applet.sh") hl.exec_cmd("bash ~/Dotfiles/desktopenvs/hyprlua/scripts/ulwatchdog.sh") hl.exec_cmd("bash ~/Dotfiles/desktopenvs/hyprlua/scripts/ewwstart.sh") @@ -16,7 +16,7 @@ hl.on("hyprland.start", function() hl.exec_cmd("[workspace special:magic silent] kitty") hl.exec_cmd("hyprctl setcursor Nordzy-cursors-lefthand 50") hl.exec_cmd("hyprpaper") - hl.exec_cmd("GTK_THEME=Default nwg-dock-hyprland -mb 15 -r -p right -s style.css") + hl.exec_cmd("GTK_THEME=cyberqueer; QT_QPA_PLATFORMTHEME=gtk3; nwg-dock-hyprland -mb 15 -r -p right -s style.css") hl.exec_cmd("blueman-applet") hl.exec_cmd("blueman-tray") hl.exec_cmd("hypridle") diff --git a/desktopenvs/hyprlua/hypr-usr/envvars.lua b/desktopenvs/hyprlua/hypr-usr/envvars.lua index 5298ffd..9ed1a4b 100644 --- a/desktopenvs/hyprlua/hypr-usr/envvars.lua +++ b/desktopenvs/hyprlua/hypr-usr/envvars.lua @@ -2,5 +2,4 @@ hl.env("GTK_THEME", "cyberqueer") hl.env("GDK_SCALE", "2") hl.env("XCURSOR_SIZE", "40") hl.env("HYPRCURSOR_SIZE", "40") -hl.env("QT_QPA_PLATFORMTHEME", "qt6ct") -hl.env("QT_QUICK_CONTROLS_STYLE", "Fusion") +hl.env("QT_QPA_PLATFORMTHEME", "gtk3") diff --git a/qt-themes/cyberqueer/cyberqueer.conf b/qt-themes/deprecated/cyberqueer/cyberqueer.conf similarity index 100% rename from qt-themes/cyberqueer/cyberqueer.conf rename to qt-themes/deprecated/cyberqueer/cyberqueer.conf diff --git a/qt-themes/cyberqueer/enable.sh b/qt-themes/deprecated/cyberqueer/enable.sh similarity index 100% rename from qt-themes/cyberqueer/enable.sh rename to qt-themes/deprecated/cyberqueer/enable.sh diff --git a/qt-themes/cyberqueer/hyprpolkitagent-qt.conf b/qt-themes/deprecated/cyberqueer/hyprpolkitagent-qt.conf similarity index 100% rename from qt-themes/cyberqueer/hyprpolkitagent-qt.conf rename to qt-themes/deprecated/cyberqueer/hyprpolkitagent-qt.conf diff --git a/qt-themes/cyberqueer/qt6ct.conf b/qt-themes/deprecated/cyberqueer/qt6ct.conf similarity index 100% rename from qt-themes/cyberqueer/qt6ct.conf rename to qt-themes/deprecated/cyberqueer/qt6ct.conf diff --git a/qt-themes/cyberqueer/style-plugin/CMakeLists.txt b/qt-themes/deprecated/cyberqueer/style-plugin/CMakeLists.txt similarity index 100% rename from qt-themes/cyberqueer/style-plugin/CMakeLists.txt rename to qt-themes/deprecated/cyberqueer/style-plugin/CMakeLists.txt diff --git a/qt-themes/cyberqueer/style-plugin/CyberQueerStyle.cpp b/qt-themes/deprecated/cyberqueer/style-plugin/CyberQueerStyle.cpp similarity index 100% rename from qt-themes/cyberqueer/style-plugin/CyberQueerStyle.cpp rename to qt-themes/deprecated/cyberqueer/style-plugin/CyberQueerStyle.cpp diff --git a/qt-themes/cyberqueer/style-plugin/CyberQueerStyle.h b/qt-themes/deprecated/cyberqueer/style-plugin/CyberQueerStyle.h similarity index 100% rename from qt-themes/cyberqueer/style-plugin/CyberQueerStyle.h rename to qt-themes/deprecated/cyberqueer/style-plugin/CyberQueerStyle.h diff --git a/qt-themes/cyberqueer/style-plugin/build.sh b/qt-themes/deprecated/cyberqueer/style-plugin/build.sh similarity index 100% rename from qt-themes/cyberqueer/style-plugin/build.sh rename to qt-themes/deprecated/cyberqueer/style-plugin/build.sh diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/.qt/QtDeploySupport.cmake b/qt-themes/deprecated/cyberqueer/style-plugin/build/.qt/QtDeploySupport.cmake new file mode 100644 index 0000000..e8946e0 --- /dev/null +++ b/qt-themes/deprecated/cyberqueer/style-plugin/build/.qt/QtDeploySupport.cmake @@ -0,0 +1,71 @@ +cmake_minimum_required(VERSION 3.16...3.21) + +# These are part of the public API. Projects should use them to provide a +# consistent set of prefix-relative destinations. +if(NOT QT_DEPLOY_BIN_DIR) + set(QT_DEPLOY_BIN_DIR "bin") +endif() +if(NOT QT_DEPLOY_LIBEXEC_DIR) + set(QT_DEPLOY_LIBEXEC_DIR "libexec") +endif() +if(NOT QT_DEPLOY_LIB_DIR) + set(QT_DEPLOY_LIB_DIR "lib") +endif() +if(NOT QT_DEPLOY_PLUGINS_DIR) + set(QT_DEPLOY_PLUGINS_DIR "lib/qt6/plugins") +endif() +if(NOT QT_DEPLOY_QML_DIR) + set(QT_DEPLOY_QML_DIR "lib/qt6/qml") +endif() +if(NOT QT_DEPLOY_TRANSLATIONS_DIR) + set(QT_DEPLOY_TRANSLATIONS_DIR "share/qt6/translations") +endif() +if(NOT QT_DEPLOY_PREFIX) + set(QT_DEPLOY_PREFIX "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}") +endif() +if(QT_DEPLOY_PREFIX STREQUAL "") + set(QT_DEPLOY_PREFIX .) +endif() +if(NOT QT_DEPLOY_IGNORED_LIB_DIRS) + set(QT_DEPLOY_IGNORED_LIB_DIRS "/lib") +endif() + +# These are internal implementation details. They may be removed at any time. +set(__QT_DEPLOY_SYSTEM_NAME "Linux") +set(__QT_DEPLOY_SHARED_LIBRARY_SUFFIX ".so") +set(__QT_DEPLOY_IS_SHARED_LIBS_BUILD "ON") +set(__QT_DEPLOY_TOOL "GRD") +set(__QT_DEPLOY_IMPL_DIR "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/.qt") +set(__QT_DEPLOY_VERBOSE "") +set(__QT_CMAKE_EXPORT_NAMESPACE "Qt6") +set(__QT_LIBINFIX "") +set(__QT_DEPLOY_GENERATOR_IS_MULTI_CONFIG "0") +set(__QT_DEPLOY_ACTIVE_CONFIG "Release") +set(__QT_NO_CREATE_VERSIONLESS_FUNCTIONS "") +set(__QT_DEFAULT_MAJOR_VERSION "6") +set(__QT_DEPLOY_QT_ADDITIONAL_PACKAGES_PREFIX_PATH "") +set(__QT_DEPLOY_QT_INSTALL_PREFIX "/usr") +set(__QT_DEPLOY_QT_INSTALL_BINS "lib/qt6/bin") +set(__QT_DEPLOY_QT_INSTALL_DATA "share/qt6") +set(__QT_DEPLOY_QT_INSTALL_DESCRIPTIONSDIR "lib/qt6/modules") +set(__QT_DEPLOY_QT_INSTALL_LIBEXECS "lib/qt6") +set(__QT_DEPLOY_QT_INSTALL_PLUGINS "lib/qt6/plugins") +set(__QT_DEPLOY_QT_INSTALL_TRANSLATIONS "share/qt6/translations") +set(__QT_DEPLOY_TARGET_QT_PATHS_PATH "/usr/lib/qt6/bin/qtpaths6") +set(__QT_DEPLOY_MUST_ADJUST_PLUGINS_RPATH "ON") +set(__QT_DEPLOY_USE_PATCHELF "") +set(__QT_DEPLOY_PATCHELF_EXECUTABLE "") +set(__QT_DEPLOY_QT_IS_MULTI_CONFIG_BUILD_WITH_DEBUG "FALSE") +set(__QT_DEPLOY_QT_DEBUG_POSTFIX "") + +# Define the CMake commands to be made available during deployment. +set(__qt_deploy_support_files + "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/.qt/QtDeployTargets.cmake" + "/usr/lib/cmake/Qt6Core/Qt6CoreDeploySupport.cmake" +) +foreach(__qt_deploy_support_file IN LISTS __qt_deploy_support_files) + include("${__qt_deploy_support_file}") +endforeach() + +unset(__qt_deploy_support_file) +unset(__qt_deploy_support_files) diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/.qt/QtDeployTargets.cmake b/qt-themes/deprecated/cyberqueer/style-plugin/build/.qt/QtDeployTargets.cmake new file mode 100644 index 0000000..d8e81d0 --- /dev/null +++ b/qt-themes/deprecated/cyberqueer/style-plugin/build/.qt/QtDeployTargets.cmake @@ -0,0 +1,2 @@ +set(__QT_DEPLOY_TARGET_cyberqueer_FILE /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/libcyberqueer.so) +set(__QT_DEPLOY_TARGET_cyberqueer_TYPE MODULE_LIBRARY) diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeCache.txt b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeCache.txt new file mode 100644 index 0000000..32f1300 --- /dev/null +++ b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeCache.txt @@ -0,0 +1,1453 @@ +# This is the CMakeCache file. +# For build in directory: /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build +# It was generated by CMake: /usr/sbin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=/usr/sbin/addr2line + +//Path to a program. +CMAKE_AR:FILEPATH=/usr/sbin/ar + +//Choose the type of build, options are: None Debug Release RelWithDebInfo +// MinSizeRel ... +CMAKE_BUILD_TYPE:STRING=Release + +//Enable/Disable color output during build. +CMAKE_COLOR_MAKEFILE:BOOL=ON + +//CXX compiler +CMAKE_CXX_COMPILER:FILEPATH=/usr/sbin/c++ + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/sbin/gcc-ar + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/sbin/gcc-ranlib + +//Flags used by the CXX compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the CXX compiler during DEBUG builds. +CMAKE_CXX_FLAGS_DEBUG:STRING=-g + +//Flags used by the CXX compiler during MINSIZEREL builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the CXX compiler during RELEASE builds. +CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the CXX compiler during RELWITHDEBINFO builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//C compiler +CMAKE_C_COMPILER:FILEPATH=/usr/sbin/cc + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_AR:FILEPATH=/usr/sbin/gcc-ar + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/sbin/gcc-ranlib + +//Flags used by the C compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the C compiler during DEBUG builds. +CMAKE_C_FLAGS_DEBUG:STRING=-g + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the C compiler during RELEASE builds. +CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND + +//Flags used by the linker during all build types. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= + +//Value Computed by CMake. +CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects + +//User executables (bin) +CMAKE_INSTALL_BINDIR:PATH=bin + +//Read-only architecture-independent data (DATAROOTDIR) +CMAKE_INSTALL_DATADIR:PATH= + +//Read-only architecture-independent data root (share) +CMAKE_INSTALL_DATAROOTDIR:PATH=share + +//Documentation root (DATAROOTDIR/doc/PROJECT_NAME) +CMAKE_INSTALL_DOCDIR:PATH= + +//C header files (include) +CMAKE_INSTALL_INCLUDEDIR:PATH=include + +//Info documentation (DATAROOTDIR/info) +CMAKE_INSTALL_INFODIR:PATH= + +//Object code libraries (lib) +CMAKE_INSTALL_LIBDIR:PATH=lib + +//Program executables (libexec) +CMAKE_INSTALL_LIBEXECDIR:PATH=libexec + +//Locale-dependent data (DATAROOTDIR/locale) +CMAKE_INSTALL_LOCALEDIR:PATH= + +//Modifiable single-machine data (var) +CMAKE_INSTALL_LOCALSTATEDIR:PATH=var + +//Man documentation (DATAROOTDIR/man) +CMAKE_INSTALL_MANDIR:PATH= + +//C header files for non-gcc (/usr/include) +CMAKE_INSTALL_OLDINCLUDEDIR:PATH=/usr/include + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//Run-time variable data (LOCALSTATEDIR/run) +CMAKE_INSTALL_RUNSTATEDIR:PATH= + +//System admin executables (sbin) +CMAKE_INSTALL_SBINDIR:PATH=sbin + +//Modifiable architecture-independent data (com) +CMAKE_INSTALL_SHAREDSTATEDIR:PATH=com + +//Read-only single-machine data (etc) +CMAKE_INSTALL_SYSCONFDIR:PATH=etc + +//Path to a program. +CMAKE_LINKER:FILEPATH=/usr/sbin/ld + +//Path to a program. +CMAKE_MAKE_PROGRAM:FILEPATH=/usr/sbin/make + +//Flags used by the linker during the creation of modules during +// all build types. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/usr/sbin/nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/usr/sbin/objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/usr/sbin/objdump + +//Value Computed by CMake +CMAKE_PROJECT_COMPAT_VERSION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=cyberqueer-qt-style + +//Value Computed by CMake +CMAKE_PROJECT_SPDX_LICENSE:STATIC= + +//Path to a program. +CMAKE_RANLIB:FILEPATH=/usr/sbin/ranlib + +//Path to a program. +CMAKE_READELF:FILEPATH=/usr/sbin/readelf + +//Flags used by the linker during the creation of shared libraries +// during all build types. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the archiver during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the archiver during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the archiver during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the archiver during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the archiver during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_STRIP:FILEPATH=/usr/sbin/strip + +//Path to a program. +CMAKE_TAPI:FILEPATH=CMAKE_TAPI-NOTFOUND + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Path to a file. +OPENGL_EGL_INCLUDE_DIR:PATH=/usr/include + +//Path to a file. +OPENGL_GLES2_INCLUDE_DIR:PATH=/usr/include + +//Path to a file. +OPENGL_GLES3_INCLUDE_DIR:PATH=/usr/include + +//Path to a file. +OPENGL_GLU_INCLUDE_DIR:PATH=/usr/include + +//Path to a file. +OPENGL_GLX_INCLUDE_DIR:PATH=/usr/include + +//Path to a file. +OPENGL_INCLUDE_DIR:PATH=/usr/include + +//Path to a library. +OPENGL_egl_LIBRARY:FILEPATH=/usr/lib/libEGL.so + +//Path to a library. +OPENGL_gles2_LIBRARY:FILEPATH=/usr/lib/libGLESv2.so + +//Path to a library. +OPENGL_gles3_LIBRARY:FILEPATH=/usr/lib/libGLESv2.so + +//Path to a library. +OPENGL_glu_LIBRARY:FILEPATH=/usr/lib/libGLU.so + +//Path to a library. +OPENGL_glx_LIBRARY:FILEPATH=/usr/lib/libGLX.so + +//Path to a library. +OPENGL_opengl_LIBRARY:FILEPATH=/usr/lib/libOpenGL.so + +//Path to a file. +OPENGL_xmesa_INCLUDE_DIR:PATH=OPENGL_xmesa_INCLUDE_DIR-NOTFOUND + +//Additional directories where find(Qt6 ...) host Qt components +// are searched +QT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH:STRING= + +//Additional directories where find(Qt6 ...) components are searched +QT_ADDITIONAL_PACKAGES_PREFIX_PATH:STRING= + +//The directory containing a CMake configuration file for Qt6CoreTools. +Qt6CoreTools_DIR:PATH=/usr/lib/cmake/Qt6CoreTools + +//The directory containing a CMake configuration file for Qt6Core. +Qt6Core_DIR:PATH=/usr/lib/cmake/Qt6Core + +//The directory containing a CMake configuration file for Qt6DBusTools. +Qt6DBusTools_DIR:PATH=/usr/lib/cmake/Qt6DBusTools + +//The directory containing a CMake configuration file for Qt6DBus. +Qt6DBus_DIR:PATH=/usr/lib/cmake/Qt6DBus + +//The directory containing a CMake configuration file for Qt6GuiTools. +Qt6GuiTools_DIR:PATH=/usr/lib/cmake/Qt6GuiTools + +//The directory containing a CMake configuration file for Qt6Gui. +Qt6Gui_DIR:PATH=/usr/lib/cmake/Qt6Gui + +//The directory containing a CMake configuration file for Qt6WidgetsTools. +Qt6WidgetsTools_DIR:PATH=/usr/lib/cmake/Qt6WidgetsTools + +//The directory containing a CMake configuration file for Qt6Widgets. +Qt6Widgets_DIR:PATH=/usr/lib/cmake/Qt6Widgets + +//The directory containing a CMake configuration file for Qt6. +Qt6_DIR:PATH=/usr/lib/cmake/Qt6 + +//Path to a program. +Vulkan_GLSLANG_VALIDATOR_EXECUTABLE:FILEPATH=/usr/sbin/glslangValidator + +//Path to a program. +Vulkan_GLSLC_EXECUTABLE:FILEPATH=/usr/sbin/glslc + +//Path to a file. +Vulkan_INCLUDE_DIR:PATH=Vulkan_INCLUDE_DIR-NOTFOUND + +//Path to a library. +Vulkan_LIBRARY:FILEPATH=/usr/lib/libvulkan.so + +//Value Computed by CMake +cyberqueer-qt-style_BINARY_DIR:STATIC=/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build + +//Value Computed by CMake +cyberqueer-qt-style_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +cyberqueer-qt-style_SOURCE_DIR:STATIC=/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=4 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=3 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=2 +//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE +CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/usr/sbin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/usr/sbin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/usr/sbin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER +CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR +CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB +CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER +CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_AR +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Path to cache edit program executable. +CMAKE_EDIT_COMMAND:INTERNAL=/usr/sbin/ccmake +//Whether to issue deprecation errors for macros and functions. +CMAKE_ERROR_DEPRECATED:INTERNAL=FALSE +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Unix Makefiles +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Test CMAKE_HAVE_LIBC_PTHREAD +CMAKE_HAVE_LIBC_PTHREAD:INTERNAL=1 +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin +//ADVANCED property for variable: CMAKE_INSTALL_BINDIR +CMAKE_INSTALL_BINDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_DATADIR +CMAKE_INSTALL_DATADIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_DATAROOTDIR +CMAKE_INSTALL_DATAROOTDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_DOCDIR +CMAKE_INSTALL_DOCDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_INCLUDEDIR +CMAKE_INSTALL_INCLUDEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_INFODIR +CMAKE_INSTALL_INFODIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LIBDIR +CMAKE_INSTALL_LIBDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LIBEXECDIR +CMAKE_INSTALL_LIBEXECDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LOCALEDIR +CMAKE_INSTALL_LOCALEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LOCALSTATEDIR +CMAKE_INSTALL_LOCALSTATEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_MANDIR +CMAKE_INSTALL_MANDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_OLDINCLUDEDIR +CMAKE_INSTALL_OLDINCLUDEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_RUNSTATEDIR +CMAKE_INSTALL_RUNSTATEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_SBINDIR +CMAKE_INSTALL_SBINDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_SHAREDSTATEDIR +CMAKE_INSTALL_SHAREDSTATEDIR-ADVANCED:INTERNAL=1 +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=0 +//ADVANCED property for variable: CMAKE_INSTALL_SYSCONFDIR +CMAKE_INSTALL_SYSCONFDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//Name of CMakeLists files to read +CMAKE_LIST_FILE_NAME:INTERNAL=CMakeLists.txt +//ADVANCED property for variable: CMAKE_MAKE_PROGRAM +CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/usr/share/cmake +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//Suppress errors that are meant for the author of the CMakeLists.txt +// files. +CMAKE_SUPPRESS_DEVELOPER_ERRORS:INTERNAL=TRUE +//Suppress Warnings that are meant for the author of the CMakeLists.txt +// files. +CMAKE_SUPPRESS_DEVELOPER_WARNINGS:INTERNAL=TRUE +//ADVANCED property for variable: CMAKE_TAPI +CMAKE_TAPI-ADVANCED:INTERNAL=1 +//uname command +CMAKE_UNAME:INTERNAL=/usr/sbin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//Whether to issue warnings for deprecated functionality. +CMAKE_WARN_DEPRECATED:INTERNAL=FALSE +//Details about finding OpenGL +FIND_PACKAGE_MESSAGE_DETAILS_OpenGL:INTERNAL=[/usr/lib/libOpenGL.so][/usr/lib/libGLX.so][/usr/include][ ][v()] +//Details about finding Threads +FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()] +//Details about finding WrapAtomic +FIND_PACKAGE_MESSAGE_DETAILS_WrapAtomic:INTERNAL=[1][v()] +//Details about finding WrapOpenGL +FIND_PACKAGE_MESSAGE_DETAILS_WrapOpenGL:INTERNAL=[ON][v()] +//Test HAVE_STDATOMIC +HAVE_STDATOMIC:INTERNAL=1 +//ADVANCED property for variable: OPENGL_EGL_INCLUDE_DIR +OPENGL_EGL_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: OPENGL_GLES2_INCLUDE_DIR +OPENGL_GLES2_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: OPENGL_GLES3_INCLUDE_DIR +OPENGL_GLES3_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: OPENGL_GLU_INCLUDE_DIR +OPENGL_GLU_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: OPENGL_GLX_INCLUDE_DIR +OPENGL_GLX_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: OPENGL_INCLUDE_DIR +OPENGL_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: OPENGL_egl_LIBRARY +OPENGL_egl_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: OPENGL_gles2_LIBRARY +OPENGL_gles2_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: OPENGL_gles3_LIBRARY +OPENGL_gles3_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: OPENGL_glu_LIBRARY +OPENGL_glu_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: OPENGL_glx_LIBRARY +OPENGL_glx_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: OPENGL_opengl_LIBRARY +OPENGL_opengl_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: OPENGL_xmesa_INCLUDE_DIR +OPENGL_xmesa_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//Qt feature: abstractbutton (from target Qt6::Widgets) +QT_FEATURE_abstractbutton:INTERNAL=ON +//Qt feature: abstractslider (from target Qt6::Widgets) +QT_FEATURE_abstractslider:INTERNAL=ON +//Qt feature: accept4 (from target Qt6::Core) +QT_FEATURE_accept4:INTERNAL=ON +//Qt feature: accessibility (from target Qt6::Gui) +QT_FEATURE_accessibility:INTERNAL=ON +//Qt feature: accessibility_atspi_bridge (from target Qt6::Gui) +QT_FEATURE_accessibility_atspi_bridge:INTERNAL=ON +//Qt feature: action (from target Qt6::Gui) +QT_FEATURE_action:INTERNAL=ON +//Qt feature: aesni (from target Qt6::Core) +QT_FEATURE_aesni:INTERNAL=ON +//Qt feature: android_style_assets (from target Qt6::Core) +QT_FEATURE_android_style_assets:INTERNAL=OFF +//Qt feature: animation (from target Qt6::Core) +QT_FEATURE_animation:INTERNAL=ON +//Qt feature: appstore_compliant (from target Qt6::Core) +QT_FEATURE_appstore_compliant:INTERNAL=OFF +//Qt feature: arm_crc32 (from target Qt6::Core) +QT_FEATURE_arm_crc32:INTERNAL=OFF +//Qt feature: arm_crypto (from target Qt6::Core) +QT_FEATURE_arm_crypto:INTERNAL=OFF +//Qt feature: arm_sve (from target Qt6::Core) +QT_FEATURE_arm_sve:INTERNAL=OFF +//Qt feature: async_io (from target Qt6::Core) +QT_FEATURE_async_io:INTERNAL=ON +//Qt feature: avx (from target Qt6::Core) +QT_FEATURE_avx:INTERNAL=ON +//Qt feature: avx2 (from target Qt6::Core) +QT_FEATURE_avx2:INTERNAL=ON +//Qt feature: avx512bw (from target Qt6::Core) +QT_FEATURE_avx512bw:INTERNAL=ON +//Qt feature: avx512cd (from target Qt6::Core) +QT_FEATURE_avx512cd:INTERNAL=ON +//Qt feature: avx512dq (from target Qt6::Core) +QT_FEATURE_avx512dq:INTERNAL=ON +//Qt feature: avx512er (from target Qt6::Core) +QT_FEATURE_avx512er:INTERNAL=ON +//Qt feature: avx512f (from target Qt6::Core) +QT_FEATURE_avx512f:INTERNAL=ON +//Qt feature: avx512ifma (from target Qt6::Core) +QT_FEATURE_avx512ifma:INTERNAL=ON +//Qt feature: avx512pf (from target Qt6::Core) +QT_FEATURE_avx512pf:INTERNAL=ON +//Qt feature: avx512vbmi (from target Qt6::Core) +QT_FEATURE_avx512vbmi:INTERNAL=ON +//Qt feature: avx512vbmi2 (from target Qt6::Core) +QT_FEATURE_avx512vbmi2:INTERNAL=ON +//Qt feature: avx512vl (from target Qt6::Core) +QT_FEATURE_avx512vl:INTERNAL=ON +//Qt feature: backtrace (from target Qt6::Core) +QT_FEATURE_backtrace:INTERNAL=ON +//Qt feature: broken_threadlocal_dtors (from target Qt6::Core) +QT_FEATURE_broken_threadlocal_dtors:INTERNAL=OFF +//Qt feature: buttongroup (from target Qt6::Widgets) +QT_FEATURE_buttongroup:INTERNAL=ON +//Qt feature: calendarwidget (from target Qt6::Widgets) +QT_FEATURE_calendarwidget:INTERNAL=ON +//Qt feature: cborstreamreader (from target Qt6::Core) +QT_FEATURE_cborstreamreader:INTERNAL=ON +//Qt feature: cborstreamwriter (from target Qt6::Core) +QT_FEATURE_cborstreamwriter:INTERNAL=ON +//Qt feature: checkbox (from target Qt6::Widgets) +QT_FEATURE_checkbox:INTERNAL=ON +//Qt feature: clipboard (from target Qt6::Gui) +QT_FEATURE_clipboard:INTERNAL=ON +//Qt feature: clock_gettime (from target Qt6::Core) +QT_FEATURE_clock_gettime:INTERNAL=ON +//Qt feature: clock_monotonic (from target Qt6::Core) +QT_FEATURE_clock_monotonic:INTERNAL=ON +//Qt feature: colordialog (from target Qt6::Widgets) +QT_FEATURE_colordialog:INTERNAL=ON +//Qt feature: colornames (from target Qt6::Gui) +QT_FEATURE_colornames:INTERNAL=ON +//Qt feature: columnview (from target Qt6::Widgets) +QT_FEATURE_columnview:INTERNAL=ON +//Qt feature: combobox (from target Qt6::Widgets) +QT_FEATURE_combobox:INTERNAL=ON +//Qt feature: commandlineparser (from target Qt6::Core) +QT_FEATURE_commandlineparser:INTERNAL=ON +//Qt feature: commandlinkbutton (from target Qt6::Widgets) +QT_FEATURE_commandlinkbutton:INTERNAL=ON +//Qt feature: completer (from target Qt6::Widgets) +QT_FEATURE_completer:INTERNAL=ON +//Qt feature: concatenatetablesproxymodel (from target Qt6::Core) +QT_FEATURE_concatenatetablesproxymodel:INTERNAL=ON +//Qt feature: concurrent (from target Qt6::Core) +QT_FEATURE_concurrent:INTERNAL=ON +//Qt feature: contextmenu (from target Qt6::Widgets) +QT_FEATURE_contextmenu:INTERNAL=ON +//Qt feature: copy_file_range (from target Qt6::Core) +QT_FEATURE_copy_file_range:INTERNAL=ON +//Qt feature: cpp_winrt (from target Qt6::Core) +QT_FEATURE_cpp_winrt:INTERNAL=OFF +//Qt feature: cross_compile (from target Qt6::Core) +QT_FEATURE_cross_compile:INTERNAL=OFF +//Qt feature: cssparser (from target Qt6::Gui) +QT_FEATURE_cssparser:INTERNAL=ON +//Qt feature: ctf (from target Qt6::Core) +QT_FEATURE_ctf:INTERNAL=OFF +//Qt feature: cursor (from target Qt6::Gui) +QT_FEATURE_cursor:INTERNAL=ON +//Qt feature: cxx11_future (from target Qt6::Core) +QT_FEATURE_cxx11_future:INTERNAL=ON +//Qt feature: cxx17_filesystem (from target Qt6::Core) +QT_FEATURE_cxx17_filesystem:INTERNAL=ON +//Qt feature: cxx20 (from target Qt6::Core) +QT_FEATURE_cxx20:INTERNAL=OFF +//Qt feature: cxx20_format (from target Qt6::Core) +QT_FEATURE_cxx20_format:INTERNAL=ON +//Qt feature: cxx23_stacktrace (from target Qt6::Core) +QT_FEATURE_cxx23_stacktrace:INTERNAL=OFF +//Qt feature: cxx2a (from target Qt6::Core) +QT_FEATURE_cxx2a:INTERNAL=OFF +//Qt feature: cxx2b (from target Qt6::Core) +QT_FEATURE_cxx2b:INTERNAL=OFF +//Qt feature: cxx2c (from target Qt6::Core) +QT_FEATURE_cxx2c:INTERNAL=OFF +//Qt feature: datawidgetmapper (from target Qt6::Widgets) +QT_FEATURE_datawidgetmapper:INTERNAL=ON +//Qt feature: datestring (from target Qt6::Core) +QT_FEATURE_datestring:INTERNAL=ON +//Qt feature: datetimeedit (from target Qt6::Widgets) +QT_FEATURE_datetimeedit:INTERNAL=ON +//Qt feature: datetimeparser (from target Qt6::Core) +QT_FEATURE_datetimeparser:INTERNAL=ON +//Qt feature: dbus (from target Qt6::Core) +QT_FEATURE_dbus:INTERNAL=ON +//Qt feature: dbus_linked (from target Qt6::Core) +QT_FEATURE_dbus_linked:INTERNAL=ON +//Qt feature: debug (from target Qt6::Core) +QT_FEATURE_debug:INTERNAL=OFF +//Qt feature: debug_and_release (from target Qt6::Core) +QT_FEATURE_debug_and_release:INTERNAL=OFF +//Qt feature: desktopservices (from target Qt6::Gui) +QT_FEATURE_desktopservices:INTERNAL=ON +//Qt feature: developer_build (from target Qt6::Core) +QT_FEATURE_developer_build:INTERNAL=OFF +//Qt feature: dial (from target Qt6::Widgets) +QT_FEATURE_dial:INTERNAL=ON +//Qt feature: dialog (from target Qt6::Widgets) +QT_FEATURE_dialog:INTERNAL=ON +//Qt feature: dialogbuttonbox (from target Qt6::Widgets) +QT_FEATURE_dialogbuttonbox:INTERNAL=ON +//Qt feature: direct2d (from target Qt6::Gui) +QT_FEATURE_direct2d:INTERNAL=OFF +//Qt feature: direct2d1_1 (from target Qt6::Gui) +QT_FEATURE_direct2d1_1:INTERNAL=OFF +//Qt feature: directfb (from target Qt6::Gui) +QT_FEATURE_directfb:INTERNAL=OFF +//Qt feature: directwrite (from target Qt6::Gui) +QT_FEATURE_directwrite:INTERNAL=OFF +//Qt feature: directwrite3 (from target Qt6::Gui) +QT_FEATURE_directwrite3:INTERNAL=OFF +//Qt feature: directwritecolrv1 (from target Qt6::Gui) +QT_FEATURE_directwritecolrv1:INTERNAL=OFF +//Qt feature: dladdr (from target Qt6::Core) +QT_FEATURE_dladdr:INTERNAL=ON +//Qt feature: dlopen (from target Qt6::Core) +QT_FEATURE_dlopen:INTERNAL=ON +//Qt feature: doc_snippets (from target Qt6::Core) +QT_FEATURE_doc_snippets:INTERNAL=OFF +//Qt feature: dockwidget (from target Qt6::Widgets) +QT_FEATURE_dockwidget:INTERNAL=ON +//Qt feature: doubleconversion (from target Qt6::Core) +QT_FEATURE_doubleconversion:INTERNAL=ON +//Qt feature: draganddrop (from target Qt6::Gui) +QT_FEATURE_draganddrop:INTERNAL=ON +//Qt feature: drm_atomic (from target Qt6::Gui) +QT_FEATURE_drm_atomic:INTERNAL=ON +//Qt feature: dup3 (from target Qt6::Core) +QT_FEATURE_dup3:INTERNAL=ON +//Qt feature: dynamicgl (from target Qt6::Gui) +QT_FEATURE_dynamicgl:INTERNAL=OFF +//Qt feature: easingcurve (from target Qt6::Core) +QT_FEATURE_easingcurve:INTERNAL=ON +//Qt feature: effects (from target Qt6::Widgets) +QT_FEATURE_effects:INTERNAL=ON +//Qt feature: egl (from target Qt6::Gui) +QT_FEATURE_egl:INTERNAL=ON +//Qt feature: egl_extension_platform_wayland (from target Qt6::Gui) +QT_FEATURE_egl_extension_platform_wayland:INTERNAL=ON +//Qt feature: egl_x11 (from target Qt6::Gui) +QT_FEATURE_egl_x11:INTERNAL=ON +//Qt feature: eglfs (from target Qt6::Gui) +QT_FEATURE_eglfs:INTERNAL=ON +//Qt feature: eglfs_brcm (from target Qt6::Gui) +QT_FEATURE_eglfs_brcm:INTERNAL=OFF +//Qt feature: eglfs_egldevice (from target Qt6::Gui) +QT_FEATURE_eglfs_egldevice:INTERNAL=ON +//Qt feature: eglfs_gbm (from target Qt6::Gui) +QT_FEATURE_eglfs_gbm:INTERNAL=ON +//Qt feature: eglfs_mali (from target Qt6::Gui) +QT_FEATURE_eglfs_mali:INTERNAL=OFF +//Qt feature: eglfs_openwfd (from target Qt6::Gui) +QT_FEATURE_eglfs_openwfd:INTERNAL=OFF +//Qt feature: eglfs_rcar (from target Qt6::Gui) +QT_FEATURE_eglfs_rcar:INTERNAL=OFF +//Qt feature: eglfs_viv (from target Qt6::Gui) +QT_FEATURE_eglfs_viv:INTERNAL=OFF +//Qt feature: eglfs_viv_wl (from target Qt6::Gui) +QT_FEATURE_eglfs_viv_wl:INTERNAL=OFF +//Qt feature: eglfs_vsp2 (from target Qt6::Gui) +QT_FEATURE_eglfs_vsp2:INTERNAL=OFF +//Qt feature: eglfs_x11 (from target Qt6::Gui) +QT_FEATURE_eglfs_x11:INTERNAL=ON +//Qt feature: elf_private_full_version (from target Qt6::Core) +QT_FEATURE_elf_private_full_version:INTERNAL=OFF +//Qt feature: emojisegmenter (from target Qt6::Gui) +QT_FEATURE_emojisegmenter:INTERNAL=ON +//Qt feature: enable_new_dtags (from target Qt6::Core) +QT_FEATURE_enable_new_dtags:INTERNAL=ON +//Qt feature: errormessage (from target Qt6::Widgets) +QT_FEATURE_errormessage:INTERNAL=ON +//Qt feature: etw (from target Qt6::Core) +QT_FEATURE_etw:INTERNAL=OFF +//Qt feature: evdev (from target Qt6::Gui) +QT_FEATURE_evdev:INTERNAL=ON +//Qt feature: f16c (from target Qt6::Core) +QT_FEATURE_f16c:INTERNAL=ON +//Qt feature: filedialog (from target Qt6::Widgets) +QT_FEATURE_filedialog:INTERNAL=ON +//Qt feature: filesystemiterator (from target Qt6::Core) +QT_FEATURE_filesystemiterator:INTERNAL=ON +//Qt feature: filesystemmodel (from target Qt6::Gui) +QT_FEATURE_filesystemmodel:INTERNAL=ON +//Qt feature: filesystemwatcher (from target Qt6::Core) +QT_FEATURE_filesystemwatcher:INTERNAL=ON +//Qt feature: fontcombobox (from target Qt6::Widgets) +QT_FEATURE_fontcombobox:INTERNAL=ON +//Qt feature: fontconfig (from target Qt6::Gui) +QT_FEATURE_fontconfig:INTERNAL=ON +//Qt feature: fontdialog (from target Qt6::Widgets) +QT_FEATURE_fontdialog:INTERNAL=ON +//Qt feature: force_asserts (from target Qt6::Core) +QT_FEATURE_force_asserts:INTERNAL=OFF +//Qt feature: force_bundled_libs (from target Qt6::Core) +QT_FEATURE_force_bundled_libs:INTERNAL=OFF +//Qt feature: force_debug_info (from target Qt6::Core) +QT_FEATURE_force_debug_info:INTERNAL=ON +//Qt feature: force_system_libs (from target Qt6::Core) +QT_FEATURE_force_system_libs:INTERNAL=OFF +//Qt feature: forkfd_pidfd (from target Qt6::Core) +QT_FEATURE_forkfd_pidfd:INTERNAL=ON +//Qt feature: formlayout (from target Qt6::Widgets) +QT_FEATURE_formlayout:INTERNAL=ON +//Qt feature: framework (from target Qt6::Core) +QT_FEATURE_framework:INTERNAL=OFF +//Qt feature: freetype (from target Qt6::Gui) +QT_FEATURE_freetype:INTERNAL=ON +//Qt feature: fscompleter (from target Qt6::Widgets) +QT_FEATURE_fscompleter:INTERNAL=ON +//Qt feature: futimens (from target Qt6::Core) +QT_FEATURE_futimens:INTERNAL=ON +//Qt feature: future (from target Qt6::Core) +QT_FEATURE_future:INTERNAL=ON +//Qt feature: gbm (from target Qt6::Gui) +QT_FEATURE_gbm:INTERNAL=ON +//Qt feature: gc_binaries (from target Qt6::Core) +QT_FEATURE_gc_binaries:INTERNAL=OFF +//Qt feature: gestures (from target Qt6::Core) +QT_FEATURE_gestures:INTERNAL=ON +//Qt feature: getauxval (from target Qt6::Core) +QT_FEATURE_getauxval:INTERNAL=ON +//Qt feature: getentropy (from target Qt6::Core) +QT_FEATURE_getentropy:INTERNAL=ON +//Qt feature: gif (from target Qt6::Gui) +QT_FEATURE_gif:INTERNAL=ON +//Qt feature: glib (from target Qt6::Core) +QT_FEATURE_glib:INTERNAL=ON +//Qt feature: glibc_fortify_source (from target Qt6::Core) +QT_FEATURE_glibc_fortify_source:INTERNAL=ON +//Qt feature: graphicseffect (from target Qt6::Widgets) +QT_FEATURE_graphicseffect:INTERNAL=ON +//Qt feature: graphicsframecapture (from target Qt6::Gui) +QT_FEATURE_graphicsframecapture:INTERNAL=ON +//Qt feature: graphicsview (from target Qt6::Widgets) +QT_FEATURE_graphicsview:INTERNAL=ON +//Qt feature: groupbox (from target Qt6::Widgets) +QT_FEATURE_groupbox:INTERNAL=ON +//Qt feature: gtk3 (from target Qt6::Widgets) +QT_FEATURE_gtk3:INTERNAL=ON +//Qt feature: gui (from target Qt6::Core) +QT_FEATURE_gui:INTERNAL=ON +//Qt feature: harfbuzz (from target Qt6::Gui) +QT_FEATURE_harfbuzz:INTERNAL=ON +//Qt feature: highdpiscaling (from target Qt6::Gui) +QT_FEATURE_highdpiscaling:INTERNAL=ON +//Qt feature: hijricalendar (from target Qt6::Core) +QT_FEATURE_hijricalendar:INTERNAL=ON +//Qt feature: ico (from target Qt6::Gui) +QT_FEATURE_ico:INTERNAL=ON +//Qt feature: icu (from target Qt6::Core) +QT_FEATURE_icu:INTERNAL=ON +//Qt feature: identityproxymodel (from target Qt6::Core) +QT_FEATURE_identityproxymodel:INTERNAL=ON +//Qt feature: im (from target Qt6::Gui) +QT_FEATURE_im:INTERNAL=ON +//Qt feature: image_heuristic_mask (from target Qt6::Gui) +QT_FEATURE_image_heuristic_mask:INTERNAL=ON +//Qt feature: image_text (from target Qt6::Gui) +QT_FEATURE_image_text:INTERNAL=ON +//Qt feature: imageformat_bmp (from target Qt6::Gui) +QT_FEATURE_imageformat_bmp:INTERNAL=ON +//Qt feature: imageformat_jpeg (from target Qt6::Gui) +QT_FEATURE_imageformat_jpeg:INTERNAL=ON +//Qt feature: imageformat_png (from target Qt6::Gui) +QT_FEATURE_imageformat_png:INTERNAL=ON +//Qt feature: imageformat_ppm (from target Qt6::Gui) +QT_FEATURE_imageformat_ppm:INTERNAL=ON +//Qt feature: imageformat_xbm (from target Qt6::Gui) +QT_FEATURE_imageformat_xbm:INTERNAL=ON +//Qt feature: imageformat_xpm (from target Qt6::Gui) +QT_FEATURE_imageformat_xpm:INTERNAL=ON +//Qt feature: imageformatplugin (from target Qt6::Gui) +QT_FEATURE_imageformatplugin:INTERNAL=ON +//Qt feature: imageio_text_loading (from target Qt6::Gui) +QT_FEATURE_imageio_text_loading:INTERNAL=ON +//Qt feature: inotify (from target Qt6::Core) +QT_FEATURE_inotify:INTERNAL=ON +//Qt feature: inputdialog (from target Qt6::Widgets) +QT_FEATURE_inputdialog:INTERNAL=ON +//Qt feature: integrityfb (from target Qt6::Gui) +QT_FEATURE_integrityfb:INTERNAL=OFF +//Qt feature: integrityhid (from target Qt6::Gui) +QT_FEATURE_integrityhid:INTERNAL=OFF +//Qt feature: intelcet (from target Qt6::Core) +QT_FEATURE_intelcet:INTERNAL=ON +//Qt feature: islamiccivilcalendar (from target Qt6::Core) +QT_FEATURE_islamiccivilcalendar:INTERNAL=ON +//Qt feature: itemmodel (from target Qt6::Core) +QT_FEATURE_itemmodel:INTERNAL=ON +//Qt feature: itemviews (from target Qt6::Widgets) +QT_FEATURE_itemviews:INTERNAL=ON +//Qt feature: jalalicalendar (from target Qt6::Core) +QT_FEATURE_jalalicalendar:INTERNAL=ON +//Qt feature: jemalloc (from target Qt6::Core) +QT_FEATURE_jemalloc:INTERNAL=OFF +//Qt feature: journald (from target Qt6::Core) +QT_FEATURE_journald:INTERNAL=ON +//Qt feature: jpeg (from target Qt6::Gui) +QT_FEATURE_jpeg:INTERNAL=ON +//Qt feature: keysequenceedit (from target Qt6::Widgets) +QT_FEATURE_keysequenceedit:INTERNAL=ON +//Qt feature: kms (from target Qt6::Gui) +QT_FEATURE_kms:INTERNAL=ON +//Qt feature: label (from target Qt6::Widgets) +QT_FEATURE_label:INTERNAL=ON +//Qt feature: largefile (from target Qt6::Core) +QT_FEATURE_largefile:INTERNAL=ON +//Qt feature: lasx (from target Qt6::Core) +QT_FEATURE_lasx:INTERNAL=OFF +//Qt feature: lcdnumber (from target Qt6::Widgets) +QT_FEATURE_lcdnumber:INTERNAL=ON +//Qt feature: libcpp_hardening (from target Qt6::Core) +QT_FEATURE_libcpp_hardening:INTERNAL=OFF +//Qt feature: libinput (from target Qt6::Gui) +QT_FEATURE_libinput:INTERNAL=ON +//Qt feature: libinput_axis_api (from target Qt6::Gui) +QT_FEATURE_libinput_axis_api:INTERNAL=ON +//Qt feature: libinput_hires_wheel_support (from target Qt6::Gui) +QT_FEATURE_libinput_hires_wheel_support:INTERNAL=ON +//Qt feature: library (from target Qt6::Core) +QT_FEATURE_library:INTERNAL=ON +//Qt feature: libstdcpp_assertions (from target Qt6::Core) +QT_FEATURE_libstdcpp_assertions:INTERNAL=ON +//Qt feature: libudev (from target Qt6::Core) +QT_FEATURE_libudev:INTERNAL=ON +//Qt feature: liburing (from target Qt6::Core) +QT_FEATURE_liburing:INTERNAL=ON +//Qt feature: lineedit (from target Qt6::Widgets) +QT_FEATURE_lineedit:INTERNAL=ON +//Qt feature: linkat (from target Qt6::Core) +QT_FEATURE_linkat:INTERNAL=ON +//Qt feature: linuxfb (from target Qt6::Gui) +QT_FEATURE_linuxfb:INTERNAL=ON +//Qt feature: listview (from target Qt6::Widgets) +QT_FEATURE_listview:INTERNAL=ON +//Qt feature: listwidget (from target Qt6::Widgets) +QT_FEATURE_listwidget:INTERNAL=ON +//Qt feature: localtime_r (from target Qt6::Core) +QT_FEATURE_localtime_r:INTERNAL=ON +//Qt feature: localtime_s (from target Qt6::Core) +QT_FEATURE_localtime_s:INTERNAL=OFF +//Qt feature: lsx (from target Qt6::Core) +QT_FEATURE_lsx:INTERNAL=OFF +//Qt feature: ltcg (from target Qt6::Core) +QT_FEATURE_ltcg:INTERNAL=ON +//Qt feature: lttng (from target Qt6::Core) +QT_FEATURE_lttng:INTERNAL=OFF +//Qt feature: mainwindow (from target Qt6::Widgets) +QT_FEATURE_mainwindow:INTERNAL=ON +//Qt feature: mdiarea (from target Qt6::Widgets) +QT_FEATURE_mdiarea:INTERNAL=ON +//Qt feature: memmem (from target Qt6::Core) +QT_FEATURE_memmem:INTERNAL=ON +//Qt feature: memrchr (from target Qt6::Core) +QT_FEATURE_memrchr:INTERNAL=ON +//Qt feature: menu (from target Qt6::Widgets) +QT_FEATURE_menu:INTERNAL=ON +//Qt feature: menubar (from target Qt6::Widgets) +QT_FEATURE_menubar:INTERNAL=ON +//Qt feature: messagebox (from target Qt6::Widgets) +QT_FEATURE_messagebox:INTERNAL=ON +//Qt feature: metal (from target Qt6::Gui) +QT_FEATURE_metal:INTERNAL=OFF +//Qt feature: mimetype (from target Qt6::Core) +QT_FEATURE_mimetype:INTERNAL=ON +//Qt feature: mimetype_database (from target Qt6::Core) +QT_FEATURE_mimetype_database:INTERNAL=OFF +//Qt feature: mips_dsp (from target Qt6::Core) +QT_FEATURE_mips_dsp:INTERNAL=OFF +//Qt feature: mips_dspr2 (from target Qt6::Core) +QT_FEATURE_mips_dspr2:INTERNAL=OFF +//Qt feature: movie (from target Qt6::Gui) +QT_FEATURE_movie:INTERNAL=ON +//Qt feature: mtdev (from target Qt6::Gui) +QT_FEATURE_mtdev:INTERNAL=ON +//Qt feature: multiprocess (from target Qt6::Gui) +QT_FEATURE_multiprocess:INTERNAL=ON +//Qt feature: neon (from target Qt6::Core) +QT_FEATURE_neon:INTERNAL=OFF +//Qt feature: network (from target Qt6::Core) +QT_FEATURE_network:INTERNAL=ON +//Qt feature: no_direct_extern_access (from target Qt6::Core) +QT_FEATURE_no_direct_extern_access:INTERNAL=ON +//Qt feature: opengl (from target Qt6::Gui) +QT_FEATURE_opengl:INTERNAL=ON +//Qt feature: opengles2 (from target Qt6::Gui) +QT_FEATURE_opengles2:INTERNAL=OFF +//Qt feature: opengles3 (from target Qt6::Gui) +QT_FEATURE_opengles3:INTERNAL=OFF +//Qt feature: opengles31 (from target Qt6::Gui) +QT_FEATURE_opengles31:INTERNAL=OFF +//Qt feature: opengles32 (from target Qt6::Gui) +QT_FEATURE_opengles32:INTERNAL=OFF +//Qt feature: openssl (from target Qt6::Core) +QT_FEATURE_openssl:INTERNAL=ON +//Qt feature: openssl_hash (from target Qt6::Core) +QT_FEATURE_openssl_hash:INTERNAL=OFF +//Qt feature: openssl_linked (from target Qt6::Core) +QT_FEATURE_openssl_linked:INTERNAL=ON +//Qt feature: opensslv11 (from target Qt6::Core) +QT_FEATURE_opensslv11:INTERNAL=OFF +//Qt feature: opensslv30 (from target Qt6::Core) +QT_FEATURE_opensslv30:INTERNAL=ON +//Qt feature: openvg (from target Qt6::Gui) +QT_FEATURE_openvg:INTERNAL=OFF +//Qt feature: pcre2 (from target Qt6::Core) +QT_FEATURE_pcre2:INTERNAL=ON +//Qt feature: pdf (from target Qt6::Gui) +QT_FEATURE_pdf:INTERNAL=ON +//Qt feature: permissions (from target Qt6::Core) +QT_FEATURE_permissions:INTERNAL=ON +//Qt feature: picture (from target Qt6::Gui) +QT_FEATURE_picture:INTERNAL=ON +//Qt feature: pkg_config (from target Qt6::Core) +QT_FEATURE_pkg_config:INTERNAL=ON +//Qt feature: plugin_manifest (from target Qt6::Core) +QT_FEATURE_plugin_manifest:INTERNAL=ON +//Qt feature: png (from target Qt6::Gui) +QT_FEATURE_png:INTERNAL=ON +//Qt feature: poll_exit_on_error (from target Qt6::Core) +QT_FEATURE_poll_exit_on_error:INTERNAL=OFF +//Qt feature: poll_poll (from target Qt6::Core) +QT_FEATURE_poll_poll:INTERNAL=OFF +//Qt feature: poll_pollts (from target Qt6::Core) +QT_FEATURE_poll_pollts:INTERNAL=OFF +//Qt feature: poll_ppoll (from target Qt6::Core) +QT_FEATURE_poll_ppoll:INTERNAL=ON +//Qt feature: poll_select (from target Qt6::Core) +QT_FEATURE_poll_select:INTERNAL=OFF +//Qt feature: posix_fallocate (from target Qt6::Core) +QT_FEATURE_posix_fallocate:INTERNAL=ON +//Qt feature: posix_sem (from target Qt6::Core) +QT_FEATURE_posix_sem:INTERNAL=ON +//Qt feature: posix_shm (from target Qt6::Core) +QT_FEATURE_posix_shm:INTERNAL=ON +//Qt feature: printsupport (from target Qt6::Core) +QT_FEATURE_printsupport:INTERNAL=ON +//Qt feature: private_tests (from target Qt6::Core) +QT_FEATURE_private_tests:INTERNAL=OFF +//Qt feature: process (from target Qt6::Core) +QT_FEATURE_process:INTERNAL=ON +//Qt feature: processenvironment (from target Qt6::Core) +QT_FEATURE_processenvironment:INTERNAL=ON +//Qt feature: progressbar (from target Qt6::Widgets) +QT_FEATURE_progressbar:INTERNAL=ON +//Qt feature: progressdialog (from target Qt6::Widgets) +QT_FEATURE_progressdialog:INTERNAL=ON +//Qt feature: proxymodel (from target Qt6::Core) +QT_FEATURE_proxymodel:INTERNAL=ON +//Qt feature: pthread_clockjoin (from target Qt6::Core) +QT_FEATURE_pthread_clockjoin:INTERNAL=ON +//Qt feature: pthread_condattr_setclock (from target Qt6::Core) +QT_FEATURE_pthread_condattr_setclock:INTERNAL=ON +//Qt feature: pthread_timedjoin (from target Qt6::Core) +QT_FEATURE_pthread_timedjoin:INTERNAL=ON +//Qt feature: pushbutton (from target Qt6::Widgets) +QT_FEATURE_pushbutton:INTERNAL=ON +//Qt feature: qqnx_imf (from target Qt6::Gui) +QT_FEATURE_qqnx_imf:INTERNAL=OFF +//Qt feature: qqnx_pps (from target Qt6::Core) +QT_FEATURE_qqnx_pps:INTERNAL=OFF +//Qt feature: qtgui_threadpool (from target Qt6::Gui) +QT_FEATURE_qtgui_threadpool:INTERNAL=ON +//Qt feature: radiobutton (from target Qt6::Widgets) +QT_FEATURE_radiobutton:INTERNAL=ON +//Qt feature: raster_64bit (from target Qt6::Gui) +QT_FEATURE_raster_64bit:INTERNAL=ON +//Qt feature: raster_fp (from target Qt6::Gui) +QT_FEATURE_raster_fp:INTERNAL=ON +//Qt feature: rdrnd (from target Qt6::Core) +QT_FEATURE_rdrnd:INTERNAL=ON +//Qt feature: rdseed (from target Qt6::Core) +QT_FEATURE_rdseed:INTERNAL=ON +//Qt feature: reduce_exports (from target Qt6::Core) +QT_FEATURE_reduce_exports:INTERNAL=ON +//Qt feature: reduce_relocations (from target Qt6::Core) +QT_FEATURE_reduce_relocations:INTERNAL=ON +//Qt feature: regularexpression (from target Qt6::Core) +QT_FEATURE_regularexpression:INTERNAL=ON +//Qt feature: relocatable (from target Qt6::Core) +QT_FEATURE_relocatable:INTERNAL=ON +//Qt feature: relro_now_linker (from target Qt6::Core) +QT_FEATURE_relro_now_linker:INTERNAL=ON +//Qt feature: renameat2 (from target Qt6::Core) +QT_FEATURE_renameat2:INTERNAL=ON +//Qt feature: resizehandler (from target Qt6::Widgets) +QT_FEATURE_resizehandler:INTERNAL=ON +//Qt feature: rpath (from target Qt6::Core) +QT_FEATURE_rpath:INTERNAL=ON +//Qt feature: rubberband (from target Qt6::Widgets) +QT_FEATURE_rubberband:INTERNAL=ON +//Qt feature: run_opengl_tests (from target Qt6::Gui) +QT_FEATURE_run_opengl_tests:INTERNAL=ON +//Qt feature: scrollarea (from target Qt6::Widgets) +QT_FEATURE_scrollarea:INTERNAL=ON +//Qt feature: scrollbar (from target Qt6::Widgets) +QT_FEATURE_scrollbar:INTERNAL=ON +//Qt feature: scroller (from target Qt6::Widgets) +QT_FEATURE_scroller:INTERNAL=ON +//Qt feature: separate_debug_info (from target Qt6::Core) +QT_FEATURE_separate_debug_info:INTERNAL=OFF +//Qt feature: sessionmanager (from target Qt6::Gui) +QT_FEATURE_sessionmanager:INTERNAL=ON +//Qt feature: settings (from target Qt6::Core) +QT_FEATURE_settings:INTERNAL=ON +//Qt feature: sha3_fast (from target Qt6::Core) +QT_FEATURE_sha3_fast:INTERNAL=ON +//Qt feature: shani (from target Qt6::Core) +QT_FEATURE_shani:INTERNAL=ON +//Qt feature: shared (from target Qt6::Core) +QT_FEATURE_shared:INTERNAL=ON +//Qt feature: sharedmemory (from target Qt6::Core) +QT_FEATURE_sharedmemory:INTERNAL=ON +//Qt feature: shortcut (from target Qt6::Core) +QT_FEATURE_shortcut:INTERNAL=ON +//Qt feature: signaling_nan (from target Qt6::Core) +QT_FEATURE_signaling_nan:INTERNAL=ON +//Qt feature: simulator_and_device (from target Qt6::Core) +QT_FEATURE_simulator_and_device:INTERNAL=OFF +//Qt feature: sizegrip (from target Qt6::Widgets) +QT_FEATURE_sizegrip:INTERNAL=ON +//Qt feature: slider (from target Qt6::Widgets) +QT_FEATURE_slider:INTERNAL=ON +//Qt feature: slog2 (from target Qt6::Core) +QT_FEATURE_slog2:INTERNAL=OFF +//Qt feature: sortfilterproxymodel (from target Qt6::Core) +QT_FEATURE_sortfilterproxymodel:INTERNAL=ON +//Qt feature: spinbox (from target Qt6::Widgets) +QT_FEATURE_spinbox:INTERNAL=ON +//Qt feature: splashscreen (from target Qt6::Widgets) +QT_FEATURE_splashscreen:INTERNAL=ON +//Qt feature: splitter (from target Qt6::Widgets) +QT_FEATURE_splitter:INTERNAL=ON +//Qt feature: sql (from target Qt6::Core) +QT_FEATURE_sql:INTERNAL=ON +//Qt feature: sse2 (from target Qt6::Core) +QT_FEATURE_sse2:INTERNAL=ON +//Qt feature: sse3 (from target Qt6::Core) +QT_FEATURE_sse3:INTERNAL=ON +//Qt feature: sse4_1 (from target Qt6::Core) +QT_FEATURE_sse4_1:INTERNAL=ON +//Qt feature: sse4_2 (from target Qt6::Core) +QT_FEATURE_sse4_2:INTERNAL=ON +//Qt feature: ssse3 (from target Qt6::Core) +QT_FEATURE_ssse3:INTERNAL=ON +//Qt feature: stack_clash_protection (from target Qt6::Core) +QT_FEATURE_stack_clash_protection:INTERNAL=ON +//Qt feature: stack_protector (from target Qt6::Core) +QT_FEATURE_stack_protector:INTERNAL=ON +//Qt feature: stackedwidget (from target Qt6::Widgets) +QT_FEATURE_stackedwidget:INTERNAL=ON +//Qt feature: standarditemmodel (from target Qt6::Gui) +QT_FEATURE_standarditemmodel:INTERNAL=ON +//Qt feature: static (from target Qt6::Core) +QT_FEATURE_static:INTERNAL=OFF +//Qt feature: statusbar (from target Qt6::Widgets) +QT_FEATURE_statusbar:INTERNAL=ON +//Qt feature: statustip (from target Qt6::Widgets) +QT_FEATURE_statustip:INTERNAL=ON +//Qt feature: std_atomic64 (from target Qt6::Core) +QT_FEATURE_std_atomic64:INTERNAL=ON +//Qt feature: stdlib_libcpp (from target Qt6::Core) +QT_FEATURE_stdlib_libcpp:INTERNAL=OFF +//Qt feature: stringlistmodel (from target Qt6::Core) +QT_FEATURE_stringlistmodel:INTERNAL=ON +//Qt feature: style_android (from target Qt6::Widgets) +QT_FEATURE_style_android:INTERNAL=OFF +//Qt feature: style_fusion (from target Qt6::Widgets) +QT_FEATURE_style_fusion:INTERNAL=ON +//Qt feature: style_mac (from target Qt6::Widgets) +QT_FEATURE_style_mac:INTERNAL=OFF +//Qt feature: style_stylesheet (from target Qt6::Widgets) +QT_FEATURE_style_stylesheet:INTERNAL=ON +//Qt feature: style_windows (from target Qt6::Widgets) +QT_FEATURE_style_windows:INTERNAL=ON +//Qt feature: style_windows11 (from target Qt6::Widgets) +QT_FEATURE_style_windows11:INTERNAL=OFF +//Qt feature: style_windowsvista (from target Qt6::Widgets) +QT_FEATURE_style_windowsvista:INTERNAL=OFF +//Qt feature: syntaxhighlighter (from target Qt6::Widgets) +QT_FEATURE_syntaxhighlighter:INTERNAL=ON +//Qt feature: syslog (from target Qt6::Core) +QT_FEATURE_syslog:INTERNAL=OFF +//Qt feature: system_doubleconversion (from target Qt6::Core) +QT_FEATURE_system_doubleconversion:INTERNAL=ON +//Qt feature: system_freetype (from target Qt6::Gui) +QT_FEATURE_system_freetype:INTERNAL=ON +//Qt feature: system_harfbuzz (from target Qt6::Gui) +QT_FEATURE_system_harfbuzz:INTERNAL=ON +//Qt feature: system_jpeg (from target Qt6::Gui) +QT_FEATURE_system_jpeg:INTERNAL=ON +//Qt feature: system_libb2 (from target Qt6::Core) +QT_FEATURE_system_libb2:INTERNAL=ON +//Qt feature: system_pcre2 (from target Qt6::Core) +QT_FEATURE_system_pcre2:INTERNAL=ON +//Qt feature: system_png (from target Qt6::Gui) +QT_FEATURE_system_png:INTERNAL=ON +//Qt feature: system_textmarkdownreader (from target Qt6::Gui) +QT_FEATURE_system_textmarkdownreader:INTERNAL=ON +//Qt feature: system_xcb_xinput (from target Qt6::Gui) +QT_FEATURE_system_xcb_xinput:INTERNAL=ON +//Qt feature: system_zlib (from target Qt6::Core) +QT_FEATURE_system_zlib:INTERNAL=ON +//Qt feature: systemsemaphore (from target Qt6::Core) +QT_FEATURE_systemsemaphore:INTERNAL=ON +//Qt feature: systemtrayicon (from target Qt6::Gui) +QT_FEATURE_systemtrayicon:INTERNAL=ON +//Qt feature: sysv_sem (from target Qt6::Core) +QT_FEATURE_sysv_sem:INTERNAL=ON +//Qt feature: sysv_shm (from target Qt6::Core) +QT_FEATURE_sysv_shm:INTERNAL=ON +//Qt feature: tabbar (from target Qt6::Widgets) +QT_FEATURE_tabbar:INTERNAL=ON +//Qt feature: tabletevent (from target Qt6::Gui) +QT_FEATURE_tabletevent:INTERNAL=ON +//Qt feature: tableview (from target Qt6::Widgets) +QT_FEATURE_tableview:INTERNAL=ON +//Qt feature: tablewidget (from target Qt6::Widgets) +QT_FEATURE_tablewidget:INTERNAL=ON +//Qt feature: tabwidget (from target Qt6::Widgets) +QT_FEATURE_tabwidget:INTERNAL=ON +//Qt feature: temporaryfile (from target Qt6::Core) +QT_FEATURE_temporaryfile:INTERNAL=ON +//Qt feature: test_gui (from target Qt6::Core) +QT_FEATURE_test_gui:INTERNAL=ON +//Qt feature: test_squish (from target Qt6::Core) +QT_FEATURE_test_squish:INTERNAL=ON +//Qt feature: testlib (from target Qt6::Core) +QT_FEATURE_testlib:INTERNAL=ON +//Qt feature: textbrowser (from target Qt6::Widgets) +QT_FEATURE_textbrowser:INTERNAL=ON +//Qt feature: textdate (from target Qt6::Core) +QT_FEATURE_textdate:INTERNAL=ON +//Qt feature: textedit (from target Qt6::Widgets) +QT_FEATURE_textedit:INTERNAL=ON +//Qt feature: texthtmlparser (from target Qt6::Gui) +QT_FEATURE_texthtmlparser:INTERNAL=ON +//Qt feature: textmarkdownreader (from target Qt6::Gui) +QT_FEATURE_textmarkdownreader:INTERNAL=ON +//Qt feature: textmarkdownwriter (from target Qt6::Gui) +QT_FEATURE_textmarkdownwriter:INTERNAL=ON +//Qt feature: textodfwriter (from target Qt6::Gui) +QT_FEATURE_textodfwriter:INTERNAL=ON +//Qt feature: thread (from target Qt6::Core) +QT_FEATURE_thread:INTERNAL=ON +//Qt feature: threadsafe_cloexec (from target Qt6::Core) +QT_FEATURE_threadsafe_cloexec:INTERNAL=ON +//Qt feature: timezone (from target Qt6::Core) +QT_FEATURE_timezone:INTERNAL=ON +//Qt feature: timezone_locale (from target Qt6::Core) +QT_FEATURE_timezone_locale:INTERNAL=ON +//Qt feature: timezone_tzdb (from target Qt6::Core) +QT_FEATURE_timezone_tzdb:INTERNAL=OFF +//Qt feature: toolbar (from target Qt6::Widgets) +QT_FEATURE_toolbar:INTERNAL=ON +//Qt feature: toolbox (from target Qt6::Widgets) +QT_FEATURE_toolbox:INTERNAL=ON +//Qt feature: toolbutton (from target Qt6::Widgets) +QT_FEATURE_toolbutton:INTERNAL=ON +//Qt feature: tooltip (from target Qt6::Widgets) +QT_FEATURE_tooltip:INTERNAL=ON +//Qt feature: translation (from target Qt6::Core) +QT_FEATURE_translation:INTERNAL=ON +//Qt feature: transposeproxymodel (from target Qt6::Core) +QT_FEATURE_transposeproxymodel:INTERNAL=ON +//Qt feature: treeview (from target Qt6::Widgets) +QT_FEATURE_treeview:INTERNAL=ON +//Qt feature: treewidget (from target Qt6::Widgets) +QT_FEATURE_treewidget:INTERNAL=ON +//Qt feature: trivial_auto_var_init_pattern (from target Qt6::Core) +QT_FEATURE_trivial_auto_var_init_pattern:INTERNAL=ON +//Qt feature: tslib (from target Qt6::Gui) +QT_FEATURE_tslib:INTERNAL=ON +//Qt feature: tuiotouch (from target Qt6::Gui) +QT_FEATURE_tuiotouch:INTERNAL=ON +//Qt feature: undocommand (from target Qt6::Gui) +QT_FEATURE_undocommand:INTERNAL=ON +//Qt feature: undogroup (from target Qt6::Gui) +QT_FEATURE_undogroup:INTERNAL=ON +//Qt feature: undostack (from target Qt6::Gui) +QT_FEATURE_undostack:INTERNAL=ON +//Qt feature: undoview (from target Qt6::Widgets) +QT_FEATURE_undoview:INTERNAL=ON +//Qt feature: use_bfd_linker (from target Qt6::Core) +QT_FEATURE_use_bfd_linker:INTERNAL=OFF +//Qt feature: use_gold_linker (from target Qt6::Core) +QT_FEATURE_use_gold_linker:INTERNAL=OFF +//Qt feature: use_lld_linker (from target Qt6::Core) +QT_FEATURE_use_lld_linker:INTERNAL=OFF +//Qt feature: use_mold_linker (from target Qt6::Core) +QT_FEATURE_use_mold_linker:INTERNAL=OFF +//Qt feature: vaes (from target Qt6::Core) +QT_FEATURE_vaes:INTERNAL=ON +//Qt feature: validator (from target Qt6::Gui) +QT_FEATURE_validator:INTERNAL=ON +//Qt feature: version_tagging (from target Qt6::Core) +QT_FEATURE_version_tagging:INTERNAL=ON +//Qt feature: vkgen (from target Qt6::Gui) +QT_FEATURE_vkgen:INTERNAL=ON +//Qt feature: vkkhrdisplay (from target Qt6::Gui) +QT_FEATURE_vkkhrdisplay:INTERNAL=ON +//Qt feature: vnc (from target Qt6::Gui) +QT_FEATURE_vnc:INTERNAL=ON +//Qt feature: vsp2 (from target Qt6::Gui) +QT_FEATURE_vsp2:INTERNAL=OFF +//Qt feature: vulkan (from target Qt6::Gui) +QT_FEATURE_vulkan:INTERNAL=ON +//Qt feature: vxpipedrv (from target Qt6::Core) +QT_FEATURE_vxpipedrv:INTERNAL=OFF +//Qt feature: vxworksevdev (from target Qt6::Gui) +QT_FEATURE_vxworksevdev:INTERNAL=OFF +//Qt feature: wasm_exceptions (from target Qt6::Core) +QT_FEATURE_wasm_exceptions:INTERNAL=OFF +//Qt feature: wasm_jspi (from target Qt6::Core) +QT_FEATURE_wasm_jspi:INTERNAL=OFF +//Qt feature: wasm_simd128 (from target Qt6::Core) +QT_FEATURE_wasm_simd128:INTERNAL=OFF +//Qt feature: wayland (from target Qt6::Gui) +QT_FEATURE_wayland:INTERNAL=ON +//Qt feature: wayland_brcm (from target Qt6::Gui) +QT_FEATURE_wayland_brcm:INTERNAL=OFF +//Qt feature: wayland_client (from target Qt6::Gui) +QT_FEATURE_wayland_client:INTERNAL=ON +//Qt feature: wayland_client_fullscreen_shell_v1 (from target Qt6::Gui) +QT_FEATURE_wayland_client_fullscreen_shell_v1:INTERNAL=ON +//Qt feature: wayland_client_primary_selection (from target Qt6::Gui) +QT_FEATURE_wayland_client_primary_selection:INTERNAL=ON +//Qt feature: wayland_client_wl_shell (from target Qt6::Gui) +QT_FEATURE_wayland_client_wl_shell:INTERNAL=ON +//Qt feature: wayland_client_xdg_shell (from target Qt6::Gui) +QT_FEATURE_wayland_client_xdg_shell:INTERNAL=ON +//Qt feature: wayland_datadevice (from target Qt6::Gui) +QT_FEATURE_wayland_datadevice:INTERNAL=ON +//Qt feature: wayland_dmabuf_server_buffer (from target Qt6::Gui) +QT_FEATURE_wayland_dmabuf_server_buffer:INTERNAL=ON +//Qt feature: wayland_drm_egl_server_buffer (from target Qt6::Gui) +QT_FEATURE_wayland_drm_egl_server_buffer:INTERNAL=ON +//Qt feature: wayland_egl (from target Qt6::Gui) +QT_FEATURE_wayland_egl:INTERNAL=ON +//Qt feature: wayland_libhybris_egl_server_buffer (from target +// Qt6::Gui) +QT_FEATURE_wayland_libhybris_egl_server_buffer:INTERNAL=OFF +//Qt feature: wayland_server (from target Qt6::Gui) +QT_FEATURE_wayland_server:INTERNAL=ON +//Qt feature: wayland_shm_emulation_server_buffer (from target +// Qt6::Gui) +QT_FEATURE_wayland_shm_emulation_server_buffer:INTERNAL=ON +//Qt feature: wayland_vulkan_server_buffer (from target Qt6::Gui) +QT_FEATURE_wayland_vulkan_server_buffer:INTERNAL=ON +//Qt feature: waylandscanner (from target Qt6::Gui) +QT_FEATURE_waylandscanner:INTERNAL=ON +//Qt feature: whatsthis (from target Qt6::Gui) +QT_FEATURE_whatsthis:INTERNAL=ON +//Qt feature: wheelevent (from target Qt6::Gui) +QT_FEATURE_wheelevent:INTERNAL=ON +//Qt feature: widgets (from target Qt6::Core) +QT_FEATURE_widgets:INTERNAL=ON +//Qt feature: widgettextcontrol (from target Qt6::Widgets) +QT_FEATURE_widgettextcontrol:INTERNAL=ON +//Qt feature: windows_ioring (from target Qt6::Core) +QT_FEATURE_windows_ioring:INTERNAL=OFF +//Qt feature: windows_ioring_skip_builder_param_checks (from target +// Qt6::Core) +QT_FEATURE_windows_ioring_skip_builder_param_checks:INTERNAL=OFF +//Qt feature: winsdkicu (from target Qt6::Core) +QT_FEATURE_winsdkicu:INTERNAL=OFF +//Qt feature: wizard (from target Qt6::Widgets) +QT_FEATURE_wizard:INTERNAL=ON +//Qt feature: x86intrin (from target Qt6::Core) +QT_FEATURE_x86intrin:INTERNAL=ON +//Qt feature: xcb (from target Qt6::Gui) +QT_FEATURE_xcb:INTERNAL=ON +//Qt feature: xcb_egl_plugin (from target Qt6::Gui) +QT_FEATURE_xcb_egl_plugin:INTERNAL=ON +//Qt feature: xcb_glx (from target Qt6::Gui) +QT_FEATURE_xcb_glx:INTERNAL=ON +//Qt feature: xcb_glx_plugin (from target Qt6::Gui) +QT_FEATURE_xcb_glx_plugin:INTERNAL=ON +//Qt feature: xcb_sm (from target Qt6::Gui) +QT_FEATURE_xcb_sm:INTERNAL=ON +//Qt feature: xcb_xlib (from target Qt6::Gui) +QT_FEATURE_xcb_xlib:INTERNAL=ON +//Qt feature: xkbcommon (from target Qt6::Gui) +QT_FEATURE_xkbcommon:INTERNAL=ON +//Qt feature: xkbcommon_x11 (from target Qt6::Gui) +QT_FEATURE_xkbcommon_x11:INTERNAL=ON +//Qt feature: xlib (from target Qt6::Gui) +QT_FEATURE_xlib:INTERNAL=ON +//Qt feature: xml (from target Qt6::Core) +QT_FEATURE_xml:INTERNAL=ON +//Qt feature: xmlstream (from target Qt6::Core) +QT_FEATURE_xmlstream:INTERNAL=ON +//Qt feature: xmlstreamreader (from target Qt6::Core) +QT_FEATURE_xmlstreamreader:INTERNAL=ON +//Qt feature: xmlstreamwriter (from target Qt6::Core) +QT_FEATURE_xmlstreamwriter:INTERNAL=ON +//Qt feature: zstd (from target Qt6::Core) +QT_FEATURE_zstd:INTERNAL=ON +//ADVANCED property for variable: Vulkan_GLSLANG_VALIDATOR_EXECUTABLE +Vulkan_GLSLANG_VALIDATOR_EXECUTABLE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: Vulkan_GLSLC_EXECUTABLE +Vulkan_GLSLC_EXECUTABLE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: Vulkan_INCLUDE_DIR +Vulkan_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: Vulkan_LIBRARY +Vulkan_LIBRARY-ADVANCED:INTERNAL=1 +//CMAKE_INSTALL_PREFIX during last run +_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX:INTERNAL=/usr/local + diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CMakeCCompiler.cmake b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CMakeCCompiler.cmake new file mode 100644 index 0000000..7b4b69e --- /dev/null +++ b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CMakeCCompiler.cmake @@ -0,0 +1,85 @@ +set(CMAKE_C_COMPILER "/usr/sbin/cc") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "GNU") +set(CMAKE_C_COMPILER_VERSION "16.1.1") +set(CMAKE_C_COMPILER_VERSION_INTERNAL "") +set(CMAKE_C_COMPILER_WRAPPER "") +set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "23") +set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_C_STANDARD_LATEST "23") +set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23") +set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") +set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") +set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") +set(CMAKE_C17_COMPILE_FEATURES "c_std_17") +set(CMAKE_C23_COMPILE_FEATURES "c_std_23") + +set(CMAKE_C_PLATFORM_ID "Linux") +set(CMAKE_C_SIMULATE_ID "") +set(CMAKE_C_COMPILER_FRONTEND_VARIANT "GNU") +set(CMAKE_C_COMPILER_APPLE_SYSROOT "") +set(CMAKE_C_SIMULATE_VERSION "") +set(CMAKE_C_COMPILER_ARCHITECTURE_ID "x86_64") + + + + +set(CMAKE_AR "/usr/sbin/ar") +set(CMAKE_C_COMPILER_AR "/usr/sbin/gcc-ar") +set(CMAKE_RANLIB "/usr/sbin/ranlib") +set(CMAKE_C_COMPILER_RANLIB "/usr/sbin/gcc-ranlib") +set(CMAKE_LINKER "/usr/sbin/ld") +set(CMAKE_LINKER_LINK "") +set(CMAKE_LINKER_LLD "") +set(CMAKE_C_COMPILER_LINKER "/usr/sbin/ld") +set(CMAKE_C_COMPILER_LINKER_ID "GNU") +set(CMAKE_C_COMPILER_LINKER_VERSION 2.46.0) +set(CMAKE_C_COMPILER_LINKER_FRONTEND_VARIANT GNU) +set(CMAKE_MT "") +set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND") +set(CMAKE_COMPILER_IS_GNUCC 1) +set(CMAKE_C_COMPILER_LOADED 1) +set(CMAKE_C_COMPILER_WORKS TRUE) +set(CMAKE_C_ABI_COMPILED TRUE) + +set(CMAKE_C_COMPILER_ENV_VAR "CC") + +set(CMAKE_C_COMPILER_ID_RUN 1) +set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) +set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_C_LINKER_PREFERENCE 10) +set(CMAKE_C_LINKER_DEPFILE_SUPPORTED TRUE) +set(CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED TRUE) +set(CMAKE_C_LINKER_PUSHPOP_STATE_SUPPORTED TRUE) + +# Save compiler ABI information. +set(CMAKE_C_SIZEOF_DATA_PTR "8") +set(CMAKE_C_COMPILER_ABI "ELF") +set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_C_LIBRARY_ARCHITECTURE "") + +if(CMAKE_C_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_C_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +endif() + +if(CMAKE_C_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include;/usr/local/include;/usr/include") +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s_asneeded;atomic_asneeded;c;gcc;gcc_s_asneeded") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1;/usr/lib;/lib") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CMakeCXXCompiler.cmake b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CMakeCXXCompiler.cmake new file mode 100644 index 0000000..be7fcc2 --- /dev/null +++ b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CMakeCXXCompiler.cmake @@ -0,0 +1,102 @@ +set(CMAKE_CXX_COMPILER "/usr/sbin/c++") +set(CMAKE_CXX_COMPILER_ARG1 "") +set(CMAKE_CXX_COMPILER_ID "GNU") +set(CMAKE_CXX_COMPILER_VERSION "16.1.1") +set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") +set(CMAKE_CXX_COMPILER_WRAPPER "") +set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "20") +set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_CXX_STANDARD_LATEST "26") +set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23;cxx_std_26") +set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") +set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") +set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") +set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") +set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20") +set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23") +set(CMAKE_CXX26_COMPILE_FEATURES "cxx_std_26") + +set(CMAKE_CXX_PLATFORM_ID "Linux") +set(CMAKE_CXX_SIMULATE_ID "") +set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "GNU") +set(CMAKE_CXX_COMPILER_APPLE_SYSROOT "") +set(CMAKE_CXX_SIMULATE_VERSION "") +set(CMAKE_CXX_COMPILER_ARCHITECTURE_ID "x86_64") + + + + +set(CMAKE_AR "/usr/sbin/ar") +set(CMAKE_CXX_COMPILER_AR "/usr/sbin/gcc-ar") +set(CMAKE_RANLIB "/usr/sbin/ranlib") +set(CMAKE_CXX_COMPILER_RANLIB "/usr/sbin/gcc-ranlib") +set(CMAKE_LINKER "/usr/sbin/ld") +set(CMAKE_LINKER_LINK "") +set(CMAKE_LINKER_LLD "") +set(CMAKE_CXX_COMPILER_LINKER "/usr/sbin/ld") +set(CMAKE_CXX_COMPILER_LINKER_ID "GNU") +set(CMAKE_CXX_COMPILER_LINKER_VERSION 2.46.0) +set(CMAKE_CXX_COMPILER_LINKER_FRONTEND_VARIANT GNU) +set(CMAKE_MT "") +set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND") +set(CMAKE_COMPILER_IS_GNUCXX 1) +set(CMAKE_CXX_COMPILER_LOADED 1) +set(CMAKE_CXX_COMPILER_WORKS TRUE) +set(CMAKE_CXX_ABI_COMPILED TRUE) + +set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +set(CMAKE_CXX_COMPILER_ID_RUN 1) +set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm;ccm;cxxm;c++m) +set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) + +foreach (lang IN ITEMS C OBJC OBJCXX) + if (CMAKE_${lang}_COMPILER_ID_RUN) + foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS) + list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension}) + endforeach() + endif() +endforeach() + +set(CMAKE_CXX_LINKER_PREFERENCE 30) +set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) +set(CMAKE_CXX_LINKER_DEPFILE_SUPPORTED TRUE) +set(CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED TRUE) +set(CMAKE_CXX_LINKER_PUSHPOP_STATE_SUPPORTED TRUE) + +# Save compiler ABI information. +set(CMAKE_CXX_SIZEOF_DATA_PTR "8") +set(CMAKE_CXX_COMPILER_ABI "ELF") +set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_CXX_LIBRARY_ARCHITECTURE "") + +if(CMAKE_CXX_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_CXX_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +endif() + +if(CMAKE_CXX_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/16.1.1;/usr/include/c++/16.1.1/x86_64-pc-linux-gnu;/usr/include/c++/16.1.1/backward;/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include;/usr/local/include;/usr/include") +set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;atomic_asneeded;c;gcc_s;gcc") +set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1;/usr/lib;/lib") +set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") +set(CMAKE_CXX_COMPILER_CLANG_RESOURCE_DIR "") + +set(CMAKE_CXX_COMPILER_IMPORT_STD "") +set(CMAKE_CXX_COMPILER_IMPORT_STD_ERROR_MESSAGE "Unsupported generator: Unix Makefiles") +set(CMAKE_CXX_STDLIB_MODULES_JSON "") diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CMakeDetermineCompilerABI_C.bin b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CMakeDetermineCompilerABI_C.bin new file mode 100755 index 0000000000000000000000000000000000000000..8404b8827d3901dcaa10c21df3ed4608c1bd46cc GIT binary patch literal 16024 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 literal 0 HcmV?d00001 diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CMakeSystem.cmake b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CMakeSystem.cmake new file mode 100644 index 0000000..a226f12 --- /dev/null +++ b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Linux-7.0.5-arch1-1") +set(CMAKE_HOST_SYSTEM_NAME "Linux") +set(CMAKE_HOST_SYSTEM_VERSION "7.0.5-arch1-1") +set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") + + + +set(CMAKE_SYSTEM "Linux-7.0.5-arch1-1") +set(CMAKE_SYSTEM_NAME "Linux") +set(CMAKE_SYSTEM_VERSION "7.0.5-arch1-1") +set(CMAKE_SYSTEM_PROCESSOR "x86_64") + +set(CMAKE_CROSSCOMPILING "FALSE") + +set(CMAKE_SYSTEM_LOADED 1) diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CompilerIdC/CMakeCCompilerId.c b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 0000000..ab3c359 --- /dev/null +++ b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,934 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif +#if defined(__CLASSIC_C__) +/* cv-qualifiers did not exist in K&R C */ +# define const +# define volatile +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__open_xl__) && defined(__clang__) +# define COMPILER_ID "IBMClang" +# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) +# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) +# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(__clang__) && defined(__cray__) +# define COMPILER_ID "CrayClang" +# define COMPILER_VERSION_MAJOR DEC(__cray_major__) +# define COMPILER_VERSION_MINOR DEC(__cray_minor__) +# define COMPILER_VERSION_PATCH DEC(__cray_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TASKING__) +# define COMPILER_ID "Tasking" + # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000) + # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100) +# define COMPILER_VERSION_INTERNAL DEC(__VERSION__) + +#elif defined(__ORANGEC__) +# define COMPILER_ID "OrangeC" +# define COMPILER_VERSION_MAJOR DEC(__ORANGEC_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__ORANGEC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__ORANGEC_PATCHLEVEL__) + +#elif defined(__RENESAS__) +# define COMPILER_ID "Renesas" +/* __RENESAS_VERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__RENESAS_VERSION__ >> 24 & 0xFF) +# define COMPILER_VERSION_MINOR HEX(__RENESAS_VERSION__ >> 16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__RENESAS_VERSION__ >> 8 & 0xFF) + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION/100 % 100) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) && defined(__ti__) +# define COMPILER_ID "TIClang" + # define COMPILER_VERSION_MAJOR DEC(__ti_major__) + # define COMPILER_VERSION_MINOR DEC(__ti_minor__) + # define COMPILER_VERSION_PATCH DEC(__ti_patchlevel__) +# define COMPILER_VERSION_INTERNAL DEC(__ti_version__) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) +# define COMPILER_ID "LCC" +# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100) +# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100) +# if defined(__LCC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) +# endif +# if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define SIMULATE_ID "GNU" +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(_ADI_COMPILER) +# define COMPILER_ID "ADSP" +#if defined(__VERSIONNUM__) + /* __VERSIONNUM__ = 0xVVRRPPTT */ +# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF) +# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF) +# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF) +# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__DCC__) && defined(_DIAB_TOOL) +# define COMPILER_ID "Diab" + # define COMPILER_VERSION_MAJOR DEC(__VERSION_MAJOR_NUMBER__) + # define COMPILER_VERSION_MINOR DEC(__VERSION_MINOR_NUMBER__) + # define COMPILER_VERSION_PATCH DEC(__VERSION_ARCH_FEATURE_NUMBER__) + # define COMPILER_VERSION_TWEAK DEC(__VERSION_BUG_FIX_NUMBER__) + + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +# elif defined(_ADI_COMPILER) +# define PLATFORM_ID "ADSP" + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__clang__) && defined(__ti__) +# if defined(__ARM_ARCH) +# define ARCHITECTURE_ID "ARM" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +# elif defined(__ADSPSHARC__) +# define ARCHITECTURE_ID "SHARC" + +# elif defined(__ADSPBLACKFIN__) +# define ARCHITECTURE_ID "Blackfin" + +#elif defined(__TASKING__) + +# if defined(__CTC__) || defined(__CPTC__) +# define ARCHITECTURE_ID "TriCore" + +# elif defined(__CMCS__) +# define ARCHITECTURE_ID "MCS" + +# elif defined(__CARM__) || defined(__CPARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__CARC__) +# define ARCHITECTURE_ID "ARC" + +# elif defined(__C51__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__CPCP__) +# define ARCHITECTURE_ID "PCP" + +# else +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__RENESAS__) +# if defined(__CCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__CCRL__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__CCRH__) +# define ARCHITECTURE_ID "RH850" + +# else +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#define C_STD_99 199901L +#define C_STD_11 201112L +#define C_STD_17 201710L +#define C_STD_23 202311L + +#ifdef __STDC_VERSION__ +# define C_STD __STDC_VERSION__ +#endif + +#if !defined(__STDC__) && !defined(__clang__) && !defined(__RENESAS__) +# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__) +# define C_VERSION "90" +# else +# define C_VERSION +# endif +#elif C_STD > C_STD_17 +# define C_VERSION "23" +#elif C_STD > C_STD_11 +# define C_VERSION "17" +#elif C_STD > C_STD_99 +# define C_VERSION "11" +#elif C_STD >= C_STD_99 +# define C_VERSION "99" +#else +# define C_VERSION "90" +#endif +const char* info_language_standard_default = + "INFO" ":" "standard_default[" C_VERSION "]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ + defined(__TI_COMPILER_VERSION__) || defined(__RENESAS__)) && \ + !defined(__STRICT_ANSI__) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#if defined(COMPILER_VERSION_INTERNAL) || defined(COMPILER_VERSION_INTERNAL_STR) + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CompilerIdC/a.out b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CompilerIdC/a.out new file mode 100755 index 0000000000000000000000000000000000000000..a1d3aeee4532b7a39c90649a46e874738710546f GIT binary patch literal 16088 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 H2&wAd6Q4hm literal 0 HcmV?d00001 diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CompilerIdCXX/CMakeCXXCompilerId.cpp b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 0000000..b35f567 --- /dev/null +++ b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -0,0 +1,949 @@ +/* This source file must have a .cpp extension so that all C++ compilers + recognize the extension without flags. Borland does not know .cxx for + example. */ +#ifndef __cplusplus +# error "A C compiler has been selected for C++." +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" +# if __SUNPRO_CC >= 0x5100 + /* __SUNPRO_CC = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# endif + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + /* __HP_aCC = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + /* __DECCXX_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__open_xl__) && defined(__clang__) +# define COMPILER_ID "IBMClang" +# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) +# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) +# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 +# define COMPILER_ID "XL" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(__clang__) && defined(__cray__) +# define COMPILER_ID "CrayClang" +# define COMPILER_VERSION_MAJOR DEC(__cray_major__) +# define COMPILER_VERSION_MINOR DEC(__cray_minor__) +# define COMPILER_VERSION_PATCH DEC(__cray_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TASKING__) +# define COMPILER_ID "Tasking" + # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000) + # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100) +# define COMPILER_VERSION_INTERNAL DEC(__VERSION__) + +#elif defined(__ORANGEC__) +# define COMPILER_ID "OrangeC" +# define COMPILER_VERSION_MAJOR DEC(__ORANGEC_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__ORANGEC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__ORANGEC_PATCHLEVEL__) + +#elif defined(__RENESAS__) +# define COMPILER_ID "Renesas" +/* __RENESAS_VERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__RENESAS_VERSION__ >> 24 & 0xFF) +# define COMPILER_VERSION_MINOR HEX(__RENESAS_VERSION__ >> 16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__RENESAS_VERSION__ >> 8 & 0xFF) + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION/100 % 100) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) && defined(__ti__) +# define COMPILER_ID "TIClang" + # define COMPILER_VERSION_MAJOR DEC(__ti_major__) + # define COMPILER_VERSION_MINOR DEC(__ti_minor__) + # define COMPILER_VERSION_PATCH DEC(__ti_patchlevel__) +# define COMPILER_VERSION_INTERNAL DEC(__ti_version__) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) +# define COMPILER_ID "LCC" +# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100) +# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100) +# if defined(__LCC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) +# endif +# if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define SIMULATE_ID "GNU" +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif +# endif + +#elif defined(__GNUC__) || defined(__GNUG__) +# define COMPILER_ID "GNU" +# if defined(__GNUC__) +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# else +# define COMPILER_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(_ADI_COMPILER) +# define COMPILER_ID "ADSP" +#if defined(__VERSIONNUM__) + /* __VERSIONNUM__ = 0xVVRRPPTT */ +# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF) +# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF) +# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF) +# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__DCC__) && defined(_DIAB_TOOL) +# define COMPILER_ID "Diab" + # define COMPILER_VERSION_MAJOR DEC(__VERSION_MAJOR_NUMBER__) + # define COMPILER_VERSION_MINOR DEC(__VERSION_MINOR_NUMBER__) + # define COMPILER_VERSION_PATCH DEC(__VERSION_ARCH_FEATURE_NUMBER__) + # define COMPILER_VERSION_TWEAK DEC(__VERSION_BUG_FIX_NUMBER__) + + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +# elif defined(_ADI_COMPILER) +# define PLATFORM_ID "ADSP" + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__clang__) && defined(__ti__) +# if defined(__ARM_ARCH) +# define ARCHITECTURE_ID "ARM" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +# elif defined(__ADSPSHARC__) +# define ARCHITECTURE_ID "SHARC" + +# elif defined(__ADSPBLACKFIN__) +# define ARCHITECTURE_ID "Blackfin" + +#elif defined(__TASKING__) + +# if defined(__CTC__) || defined(__CPTC__) +# define ARCHITECTURE_ID "TriCore" + +# elif defined(__CMCS__) +# define ARCHITECTURE_ID "MCS" + +# elif defined(__CARM__) || defined(__CPARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__CARC__) +# define ARCHITECTURE_ID "ARC" + +# elif defined(__C51__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__CPCP__) +# define ARCHITECTURE_ID "PCP" + +# else +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__RENESAS__) +# if defined(__CCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__CCRL__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__CCRH__) +# define ARCHITECTURE_ID "RH850" + +# else +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#define CXX_STD_98 199711L +#define CXX_STD_11 201103L +#define CXX_STD_14 201402L +#define CXX_STD_17 201703L +#define CXX_STD_20 202002L +#define CXX_STD_23 202302L + +#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) +# if _MSVC_LANG > CXX_STD_17 +# define CXX_STD _MSVC_LANG +# elif _MSVC_LANG == CXX_STD_17 && defined(__cpp_aggregate_paren_init) +# define CXX_STD CXX_STD_20 +# elif _MSVC_LANG > CXX_STD_14 && __cplusplus > CXX_STD_17 +# define CXX_STD CXX_STD_20 +# elif _MSVC_LANG > CXX_STD_14 +# define CXX_STD CXX_STD_17 +# elif defined(__INTEL_CXX11_MODE__) && defined(__cpp_aggregate_nsdmi) +# define CXX_STD CXX_STD_14 +# elif defined(__INTEL_CXX11_MODE__) +# define CXX_STD CXX_STD_11 +# else +# define CXX_STD CXX_STD_98 +# endif +#elif defined(_MSC_VER) && defined(_MSVC_LANG) +# if _MSVC_LANG > __cplusplus +# define CXX_STD _MSVC_LANG +# else +# define CXX_STD __cplusplus +# endif +#elif defined(__NVCOMPILER) +# if __cplusplus == CXX_STD_17 && defined(__cpp_aggregate_paren_init) +# define CXX_STD CXX_STD_20 +# else +# define CXX_STD __cplusplus +# endif +#elif defined(__INTEL_COMPILER) || defined(__PGI) +# if __cplusplus == CXX_STD_11 && defined(__cpp_namespace_attributes) +# define CXX_STD CXX_STD_17 +# elif __cplusplus == CXX_STD_11 && defined(__cpp_aggregate_nsdmi) +# define CXX_STD CXX_STD_14 +# else +# define CXX_STD __cplusplus +# endif +#elif (defined(__IBMCPP__) || defined(__ibmxl__)) && defined(__linux__) +# if __cplusplus == CXX_STD_11 && defined(__cpp_aggregate_nsdmi) +# define CXX_STD CXX_STD_14 +# else +# define CXX_STD __cplusplus +# endif +#elif __cplusplus == 1 && defined(__GXX_EXPERIMENTAL_CXX0X__) +# define CXX_STD CXX_STD_11 +#else +# define CXX_STD __cplusplus +#endif + +const char* info_language_standard_default = "INFO" ":" "standard_default[" +#if CXX_STD > CXX_STD_23 + "26" +#elif CXX_STD > CXX_STD_20 + "23" +#elif CXX_STD > CXX_STD_17 + "20" +#elif CXX_STD > CXX_STD_14 + "17" +#elif CXX_STD > CXX_STD_11 + "14" +#elif CXX_STD >= CXX_STD_11 + "11" +#else + "98" +#endif +"]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ + defined(__TI_COMPILER_VERSION__) || defined(__RENESAS__)) && \ + !defined(__STRICT_ANSI__) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#if defined(COMPILER_VERSION_INTERNAL) || defined(COMPILER_VERSION_INTERNAL_STR) + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CompilerIdCXX/a.out b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CompilerIdCXX/a.out new file mode 100755 index 0000000000000000000000000000000000000000..99396c1f83b3c461659b2560234523448ae67b49 GIT binary patch literal 16096 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 search starts here: + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include + /usr/local/include + /usr/include + End of search list. + Compiler executable checksum: d640c2d0cc84ebd71ee43ed7e2df63fb + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_4671a.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4671a.dir/' + as -v --64 -o CMakeFiles/cmTC_4671a.dir/CMakeCCompilerABI.c.o /tmp/ccxTN0ti.s + GNU assembler version 2.46.0 (x86_64-pc-linux-gnu) using BFD version (GNU Binutils) 2.46.0 + COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/ + LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../:/lib/:/usr/lib/ + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_4671a.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4671a.dir/CMakeCCompilerABI.c.' + Linking C executable cmTC_4671a + /usr/sbin/cmake -E cmake_link_script CMakeFiles/cmTC_4671a.dir/link.txt --verbose=1 + Using built-in specs. + COLLECT_GCC=/usr/sbin/cc + COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/lto-wrapper + Target: x86_64-pc-linux-gnu + Configured with: /build/gcc/src/gcc/configure --enable-languages=ada,c,c++,d,fortran,go,lto,m2,objc,obj-c++,rust,cobol --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://gitlab.archlinux.org/archlinux/packaging/packages/gcc/-/issues --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror --disable-fixincludes + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 16.1.1 20260430 (GCC) + COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/ + LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../:/lib/:/usr/lib/ + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_4671a' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_4671a.' + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/collect2 -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/lto-wrapper -plugin-opt=-fresolution=/tmp/cc4DeplT.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s_asneeded -plugin-opt=-pass-through=-latomic_asneeded -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s_asneeded --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_4671a /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../.. -L/lib -L/usr/lib -v CMakeFiles/cmTC_4671a.dir/CMakeCCompilerABI.c.o -lgcc -lgcc_s_asneeded -latomic_asneeded -lc -lgcc -lgcc_s_asneeded /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/crtn.o + collect2 version 16.1.1 20260430 + /usr/sbin/ld -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/lto-wrapper -plugin-opt=-fresolution=/tmp/cc4DeplT.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s_asneeded -plugin-opt=-pass-through=-latomic_asneeded -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s_asneeded --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_4671a /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../.. -L/lib -L/usr/lib -v CMakeFiles/cmTC_4671a.dir/CMakeCCompilerABI.c.o -lgcc -lgcc_s_asneeded -latomic_asneeded -lc -lgcc -lgcc_s_asneeded /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/crtn.o + GNU ld (GNU Binutils) 2.46.0 + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_4671a' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_4671a.' + /usr/sbin/cc -v -Wl,-v CMakeFiles/cmTC_4671a.dir/CMakeCCompilerABI.c.o -o cmTC_4671a + make[1]: Leaving directory '/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/CMakeScratch/TryCompile-92mmzh' + + exitCode: 0 + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:217 (message)" + - "/usr/share/cmake/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + message: | + Parsed C implicit include dir info: rv=done + found start of include info + found start of implicit include info + add: [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include] + add: [/usr/local/include] + add: [/usr/include] + end of search list found + collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include;/usr/local/include;/usr/include] + + + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:253 (message)" + - "/usr/share/cmake/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + message: | + Parsed C implicit link information: + link line regex: [^( *|.*[/\\])(ld[0-9]*(|\\.[a-rt-z][a-z]*|\\.s[a-np-z][a-z]*|\\.so[a-z]+)|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] + linker tool regex: [^[ ]*(->|"|[0-9]+>[ -]*Build:[ 0-9]+ ms[ ]*)?[ ]*(([^"]*[/\\])?(ld[0-9]*(|\\.[a-rt-z][a-z]*|\\.s[a-np-z][a-z]*|\\.so[a-z]+)))("|,| |$)] + ignore line: [Change Dir: '/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/CMakeScratch/TryCompile-92mmzh'] + ignore line: [] + ignore line: [Run Build Command(s): /usr/sbin/cmake -E env VERBOSE=1 /usr/sbin/make -f Makefile cmTC_4671a/fast] + ignore line: [/usr/sbin/make -f CMakeFiles/cmTC_4671a.dir/build.make CMakeFiles/cmTC_4671a.dir/build] + ignore line: [make[1]: Entering directory '/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/CMakeScratch/TryCompile-92mmzh'] + ignore line: [Building C object CMakeFiles/cmTC_4671a.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/sbin/cc -v -o CMakeFiles/cmTC_4671a.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake/Modules/CMakeCCompilerABI.c] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/sbin/cc] + ignore line: [Target: x86_64-pc-linux-gnu] + ignore line: [Configured with: /build/gcc/src/gcc/configure --enable-languages=ada c c++ d fortran go lto m2 objc obj-c++ rust cobol --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://gitlab.archlinux.org/archlinux/packaging/packages/gcc/-/issues --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror --disable-fixincludes] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 16.1.1 20260430 (GCC) ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_4671a.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4671a.dir/'] + ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/cc1 -quiet -v /usr/share/cmake/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_4671a.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -o /tmp/ccxTN0ti.s] + ignore line: [GNU C23 (GCC) version 16.1.1 20260430 (x86_64-pc-linux-gnu)] + ignore line: [ compiled by GNU C version 16.1.1 20260430 GMP version 6.3.0 MPFR version 4.2.2 MPC version 1.4.1 isl version isl-0.27-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include-fixed"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../x86_64-pc-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [Compiler executable checksum: d640c2d0cc84ebd71ee43ed7e2df63fb] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_4671a.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4671a.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_4671a.dir/CMakeCCompilerABI.c.o /tmp/ccxTN0ti.s] + ignore line: [GNU assembler version 2.46.0 (x86_64-pc-linux-gnu) using BFD version (GNU Binutils) 2.46.0] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_4671a.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4671a.dir/CMakeCCompilerABI.c.'] + ignore line: [Linking C executable cmTC_4671a] + ignore line: [/usr/sbin/cmake -E cmake_link_script CMakeFiles/cmTC_4671a.dir/link.txt --verbose=1] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/sbin/cc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/lto-wrapper] + ignore line: [Target: x86_64-pc-linux-gnu] + ignore line: [Configured with: /build/gcc/src/gcc/configure --enable-languages=ada c c++ d fortran go lto m2 objc obj-c++ rust cobol --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://gitlab.archlinux.org/archlinux/packaging/packages/gcc/-/issues --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror --disable-fixincludes] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 16.1.1 20260430 (GCC) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_4671a' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_4671a.'] + link line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/collect2 -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/lto-wrapper -plugin-opt=-fresolution=/tmp/cc4DeplT.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s_asneeded -plugin-opt=-pass-through=-latomic_asneeded -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s_asneeded --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_4671a /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../.. -L/lib -L/usr/lib -v CMakeFiles/cmTC_4671a.dir/CMakeCCompilerABI.c.o -lgcc -lgcc_s_asneeded -latomic_asneeded -lc -lgcc -lgcc_s_asneeded /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/crtn.o] + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/cc4DeplT.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s_asneeded] ==> ignore + arg [-plugin-opt=-pass-through=-latomic_asneeded] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s_asneeded] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-pie] ==> ignore + arg [-o] ==> ignore + arg [cmTC_4671a] ==> ignore + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/Scrt1.o] + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/crti.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/crti.o] + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtbeginS.o] + arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1] + arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../..] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../..] + arg [-L/lib] ==> dir [/lib] + arg [-L/usr/lib] ==> dir [/usr/lib] + arg [-v] ==> ignore + arg [CMakeFiles/cmTC_4671a.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [-lgcc_s_asneeded] ==> lib [gcc_s_asneeded] + arg [-latomic_asneeded] ==> lib [atomic_asneeded] + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [-lgcc_s_asneeded] ==> lib [gcc_s_asneeded] + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtendS.o] + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/crtn.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/crtn.o] + ignore line: [collect2 version 16.1.1 20260430] + ignore line: [/usr/sbin/ld -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/lto-wrapper -plugin-opt=-fresolution=/tmp/cc4DeplT.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s_asneeded -plugin-opt=-pass-through=-latomic_asneeded -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s_asneeded --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_4671a /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../.. -L/lib -L/usr/lib -v CMakeFiles/cmTC_4671a.dir/CMakeCCompilerABI.c.o -lgcc -lgcc_s_asneeded -latomic_asneeded -lc -lgcc -lgcc_s_asneeded /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/crtn.o] + linker tool for 'C': /usr/sbin/ld + collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/Scrt1.o] ==> [/usr/lib/Scrt1.o] + collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/crti.o] ==> [/usr/lib/crti.o] + collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/crtn.o] ==> [/usr/lib/crtn.o] + collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1] + collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../..] ==> [/usr/lib] + collapse library dir [/lib] ==> [/lib] + collapse library dir [/usr/lib] ==> [/usr/lib] + implicit libs: [gcc;gcc_s_asneeded;atomic_asneeded;c;gcc;gcc_s_asneeded] + implicit objs: [/usr/lib/Scrt1.o;/usr/lib/crti.o;/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtbeginS.o;/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtendS.o;/usr/lib/crtn.o] + implicit dirs: [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1;/usr/lib;/lib] + implicit fwks: [] + + + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake/Modules/Internal/CMakeDetermineLinkerId.cmake:38 (message)" + - "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:299 (cmake_determine_linker_id)" + - "/usr/share/cmake/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + message: | + Running the C compiler's linker: "/usr/sbin/ld" "-v" + GNU ld (GNU Binutils) 2.46.0 + - + kind: "try_compile-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:83 (try_compile)" + - "/usr/share/cmake/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + directories: + source: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/CMakeScratch/TryCompile-5ObJrT" + binary: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/CMakeScratch/TryCompile-5ObJrT" + cmakeVariables: + CMAKE_CXX_FLAGS: "" + CMAKE_CXX_FLAGS_DEBUG: "-g" + CMAKE_CXX_SCAN_FOR_MODULES: "OFF" + CMAKE_CXX_STDLIB_MODULES_JSON: "" + CMAKE_EXE_LINKER_FLAGS: "" + CMAKE_WARN_DEPRECATED: "FALSE" + buildResult: + variable: "CMAKE_CXX_ABI_COMPILED" + cached: true + stdout: | + Change Dir: '/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/CMakeScratch/TryCompile-5ObJrT' + + Run Build Command(s): /usr/sbin/cmake -E env VERBOSE=1 /usr/sbin/make -f Makefile cmTC_5080b/fast + /usr/sbin/make -f CMakeFiles/cmTC_5080b.dir/build.make CMakeFiles/cmTC_5080b.dir/build + make[1]: Entering directory '/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/CMakeScratch/TryCompile-5ObJrT' + Building CXX object CMakeFiles/cmTC_5080b.dir/CMakeCXXCompilerABI.cpp.o + /usr/sbin/c++ -v -o CMakeFiles/cmTC_5080b.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp + Using built-in specs. + COLLECT_GCC=/usr/sbin/c++ + Target: x86_64-pc-linux-gnu + Configured with: /build/gcc/src/gcc/configure --enable-languages=ada,c,c++,d,fortran,go,lto,m2,objc,obj-c++,rust,cobol --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://gitlab.archlinux.org/archlinux/packaging/packages/gcc/-/issues --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror --disable-fixincludes + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 16.1.1 20260430 (GCC) + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_5080b.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_5080b.dir/' + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/cc1plus -quiet -v -D_GNU_SOURCE /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_5080b.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -o /tmp/ccclMVHy.s + GNU C++20 (GCC) version 16.1.1 20260430 (x86_64-pc-linux-gnu) + compiled by GNU C version 16.1.1 20260430, GMP version 6.3.0, MPFR version 4.2.2, MPC version 1.4.1, isl version isl-0.27-GMP + + GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 + ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include-fixed" + ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../x86_64-pc-linux-gnu/include" + #include "..." search starts here: + #include <...> search starts here: + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../include/c++/16.1.1 + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../include/c++/16.1.1/x86_64-pc-linux-gnu + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../include/c++/16.1.1/backward + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include + /usr/local/include + /usr/include + End of search list. + Compiler executable checksum: d47d0c990a24bc0dbaf3bd00656bd5f3 + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_5080b.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_5080b.dir/' + as -v --64 -o CMakeFiles/cmTC_5080b.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccclMVHy.s + GNU assembler version 2.46.0 (x86_64-pc-linux-gnu) using BFD version (GNU Binutils) 2.46.0 + COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/ + LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../:/lib/:/usr/lib/ + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_5080b.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_5080b.dir/CMakeCXXCompilerABI.cpp.' + Linking CXX executable cmTC_5080b + /usr/sbin/cmake -E cmake_link_script CMakeFiles/cmTC_5080b.dir/link.txt --verbose=1 + Using built-in specs. + COLLECT_GCC=/usr/sbin/c++ + COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/lto-wrapper + Target: x86_64-pc-linux-gnu + Configured with: /build/gcc/src/gcc/configure --enable-languages=ada,c,c++,d,fortran,go,lto,m2,objc,obj-c++,rust,cobol --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://gitlab.archlinux.org/archlinux/packaging/packages/gcc/-/issues --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror --disable-fixincludes + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 16.1.1 20260430 (GCC) + COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/ + LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../:/lib/:/usr/lib/ + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_5080b' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_5080b.' + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/collect2 -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccYZXChk.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-latomic_asneeded -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_5080b /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../.. -L/lib -L/usr/lib -v CMakeFiles/cmTC_5080b.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -latomic_asneeded -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/crtn.o + collect2 version 16.1.1 20260430 + /usr/sbin/ld -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccYZXChk.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-latomic_asneeded -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_5080b /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../.. -L/lib -L/usr/lib -v CMakeFiles/cmTC_5080b.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -latomic_asneeded -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/crtn.o + GNU ld (GNU Binutils) 2.46.0 + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_5080b' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_5080b.' + /usr/sbin/c++ -v -Wl,-v CMakeFiles/cmTC_5080b.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_5080b + make[1]: Leaving directory '/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/CMakeScratch/TryCompile-5ObJrT' + + exitCode: 0 + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:217 (message)" + - "/usr/share/cmake/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + message: | + Parsed CXX implicit include dir info: rv=done + found start of include info + found start of implicit include info + add: [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../include/c++/16.1.1] + add: [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../include/c++/16.1.1/x86_64-pc-linux-gnu] + add: [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../include/c++/16.1.1/backward] + add: [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include] + add: [/usr/local/include] + add: [/usr/include] + end of search list found + collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../include/c++/16.1.1] ==> [/usr/include/c++/16.1.1] + collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../include/c++/16.1.1/x86_64-pc-linux-gnu] ==> [/usr/include/c++/16.1.1/x86_64-pc-linux-gnu] + collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../include/c++/16.1.1/backward] ==> [/usr/include/c++/16.1.1/backward] + collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/include/c++/16.1.1;/usr/include/c++/16.1.1/x86_64-pc-linux-gnu;/usr/include/c++/16.1.1/backward;/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include;/usr/local/include;/usr/include] + + + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:253 (message)" + - "/usr/share/cmake/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + message: | + Parsed CXX implicit link information: + link line regex: [^( *|.*[/\\])(ld[0-9]*(|\\.[a-rt-z][a-z]*|\\.s[a-np-z][a-z]*|\\.so[a-z]+)|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] + linker tool regex: [^[ ]*(->|"|[0-9]+>[ -]*Build:[ 0-9]+ ms[ ]*)?[ ]*(([^"]*[/\\])?(ld[0-9]*(|\\.[a-rt-z][a-z]*|\\.s[a-np-z][a-z]*|\\.so[a-z]+)))("|,| |$)] + ignore line: [Change Dir: '/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/CMakeScratch/TryCompile-5ObJrT'] + ignore line: [] + ignore line: [Run Build Command(s): /usr/sbin/cmake -E env VERBOSE=1 /usr/sbin/make -f Makefile cmTC_5080b/fast] + ignore line: [/usr/sbin/make -f CMakeFiles/cmTC_5080b.dir/build.make CMakeFiles/cmTC_5080b.dir/build] + ignore line: [make[1]: Entering directory '/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/CMakeScratch/TryCompile-5ObJrT'] + ignore line: [Building CXX object CMakeFiles/cmTC_5080b.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/sbin/c++ -v -o CMakeFiles/cmTC_5080b.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/sbin/c++] + ignore line: [Target: x86_64-pc-linux-gnu] + ignore line: [Configured with: /build/gcc/src/gcc/configure --enable-languages=ada c c++ d fortran go lto m2 objc obj-c++ rust cobol --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://gitlab.archlinux.org/archlinux/packaging/packages/gcc/-/issues --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror --disable-fixincludes] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 16.1.1 20260430 (GCC) ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_5080b.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_5080b.dir/'] + ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/cc1plus -quiet -v -D_GNU_SOURCE /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_5080b.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -o /tmp/ccclMVHy.s] + ignore line: [GNU C++20 (GCC) version 16.1.1 20260430 (x86_64-pc-linux-gnu)] + ignore line: [ compiled by GNU C version 16.1.1 20260430 GMP version 6.3.0 MPFR version 4.2.2 MPC version 1.4.1 isl version isl-0.27-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include-fixed"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../x86_64-pc-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../include/c++/16.1.1] + ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../include/c++/16.1.1/x86_64-pc-linux-gnu] + ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../include/c++/16.1.1/backward] + ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [Compiler executable checksum: d47d0c990a24bc0dbaf3bd00656bd5f3] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_5080b.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_5080b.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_5080b.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccclMVHy.s] + ignore line: [GNU assembler version 2.46.0 (x86_64-pc-linux-gnu) using BFD version (GNU Binutils) 2.46.0] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_5080b.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_5080b.dir/CMakeCXXCompilerABI.cpp.'] + ignore line: [Linking CXX executable cmTC_5080b] + ignore line: [/usr/sbin/cmake -E cmake_link_script CMakeFiles/cmTC_5080b.dir/link.txt --verbose=1] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/sbin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/lto-wrapper] + ignore line: [Target: x86_64-pc-linux-gnu] + ignore line: [Configured with: /build/gcc/src/gcc/configure --enable-languages=ada c c++ d fortran go lto m2 objc obj-c++ rust cobol --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://gitlab.archlinux.org/archlinux/packaging/packages/gcc/-/issues --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror --disable-fixincludes] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 16.1.1 20260430 (GCC) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_5080b' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_5080b.'] + link line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/collect2 -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccYZXChk.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-latomic_asneeded -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_5080b /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../.. -L/lib -L/usr/lib -v CMakeFiles/cmTC_5080b.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -latomic_asneeded -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/crtn.o] + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccYZXChk.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-latomic_asneeded] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-pie] ==> ignore + arg [-o] ==> ignore + arg [cmTC_5080b] ==> ignore + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/Scrt1.o] + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/crti.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/crti.o] + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtbeginS.o] + arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1] + arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../..] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../..] + arg [-L/lib] ==> dir [/lib] + arg [-L/usr/lib] ==> dir [/usr/lib] + arg [-v] ==> ignore + arg [CMakeFiles/cmTC_5080b.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-latomic_asneeded] ==> lib [atomic_asneeded] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtendS.o] + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/crtn.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/crtn.o] + ignore line: [collect2 version 16.1.1 20260430] + ignore line: [/usr/sbin/ld -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccYZXChk.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-latomic_asneeded -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_5080b /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../.. -L/lib -L/usr/lib -v CMakeFiles/cmTC_5080b.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -latomic_asneeded -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/crtn.o] + linker tool for 'CXX': /usr/sbin/ld + collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/Scrt1.o] ==> [/usr/lib/Scrt1.o] + collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/crti.o] ==> [/usr/lib/crti.o] + collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/crtn.o] ==> [/usr/lib/crtn.o] + collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1] + collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../..] ==> [/usr/lib] + collapse library dir [/lib] ==> [/lib] + collapse library dir [/usr/lib] ==> [/usr/lib] + implicit libs: [stdc++;m;gcc_s;gcc;atomic_asneeded;c;gcc_s;gcc] + implicit objs: [/usr/lib/Scrt1.o;/usr/lib/crti.o;/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtbeginS.o;/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtendS.o;/usr/lib/crtn.o] + implicit dirs: [/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1;/usr/lib;/lib] + implicit fwks: [] + + + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake/Modules/Internal/CMakeDetermineLinkerId.cmake:38 (message)" + - "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:299 (cmake_determine_linker_id)" + - "/usr/share/cmake/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + message: | + Running the CXX compiler's linker: "/usr/sbin/ld" "-v" + GNU ld (GNU Binutils) 2.46.0 + - + kind: "try_compile-v1" + backtrace: + - "/usr/share/cmake/Modules/Internal/CheckSourceCompiles.cmake:104 (try_compile)" + - "/usr/share/cmake/Modules/CheckCSourceCompiles.cmake:103 (cmake_check_source_compiles)" + - "/usr/share/cmake/Modules/FindThreads.cmake:160 (check_c_source_compiles)" + - "/usr/share/cmake/Modules/FindThreads.cmake:226 (_threads_check_libc)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:36 (find_dependency)" + - "/usr/lib/cmake/Qt6/Qt6Dependencies.cmake:38 (_qt_internal_find_third_party_dependencies)" + - "/usr/lib/cmake/Qt6/Qt6Config.cmake:195 (include)" + - "CMakeLists.txt:7 (find_package)" + directories: + source: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/CMakeScratch/TryCompile-llHxke" + binary: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/CMakeScratch/TryCompile-llHxke" + cmakeVariables: + CMAKE_CXX_STDLIB_MODULES_JSON: "" + CMAKE_C_FLAGS: "" + CMAKE_C_FLAGS_DEBUG: "-g" + CMAKE_EXE_LINKER_FLAGS: "" + CMAKE_MODULE_PATH: "/usr/lib/cmake/Qt6;/usr/lib/cmake/Qt6/3rdparty/extra-cmake-modules/find-modules;/usr/lib/cmake/Qt6/3rdparty/kwin" + CMAKE_WARN_DEPRECATED: "FALSE" + buildResult: + variable: "CMAKE_HAVE_LIBC_PTHREAD" + cached: true + stdout: | + Change Dir: '/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/CMakeScratch/TryCompile-llHxke' + + Run Build Command(s): /usr/sbin/cmake -E env VERBOSE=1 /usr/sbin/make -f Makefile cmTC_ee9d9/fast + /usr/sbin/make -f CMakeFiles/cmTC_ee9d9.dir/build.make CMakeFiles/cmTC_ee9d9.dir/build + make[1]: Entering directory '/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/CMakeScratch/TryCompile-llHxke' + Building C object CMakeFiles/cmTC_ee9d9.dir/src.c.o + /usr/sbin/cc -DCMAKE_HAVE_LIBC_PTHREAD -o CMakeFiles/cmTC_ee9d9.dir/src.c.o -c /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/CMakeScratch/TryCompile-llHxke/src.c + Linking C executable cmTC_ee9d9 + /usr/sbin/cmake -E cmake_link_script CMakeFiles/cmTC_ee9d9.dir/link.txt --verbose=1 + /usr/sbin/cc CMakeFiles/cmTC_ee9d9.dir/src.c.o -o cmTC_ee9d9 + make[1]: Leaving directory '/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/CMakeScratch/TryCompile-llHxke' + + exitCode: 0 + - + kind: "find_package-v1" + backtrace: + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:100 (find_package)" + - "/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsDependencies.cmake:14 (_qt_internal_find_tool_dependencies)" + - "/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsConfig.cmake:46 (include)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:100 (find_package)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsDependencies.cmake:42 (_qt_internal_find_tool_dependencies)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake:50 (include)" + - "/usr/lib/cmake/Qt6/Qt6Config.cmake:256 (find_package)" + - "CMakeLists.txt:7 (find_package)" + name: "Qt6CoreTools" + configs: + - + filename: "Qt6CoreTools.cps" + kind: "cps" + - + filename: "qt6coretools.cps" + kind: "cps" + - + filename: "Qt6CoreToolsConfig.cmake" + kind: "cmake" + - + filename: "qt6coretools-config.cmake" + kind: "cmake" + version_request: + version: "6.11.0" + version_complete: "6.11.0" + exact: false + settings: + required: "optional" + quiet: false + global: false + policy_scope: true + bypass_provider: false + names: + - "Qt6CoreTools" + search_paths: + - "/usr/lib/cmake/Qt6WidgetsTools/.." + - "/usr/lib/cmake" + path_suffixes: + - "" + paths: + CMAKE_FIND_USE_CMAKE_PATH: true + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + CMAKE_FIND_USE_PACKAGE_ROOT_PATH: true + CMAKE_FIND_USE_CMAKE_PACKAGE_REGISTRY: true + CMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY: true + CMAKE_FIND_ROOT_PATH_MODE: "BOTH" + candidates: + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/Qt6CoreToolsConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/qt6coretools-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/lib/cps/Qt6CoreTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/lib/cps/qt6coretools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/share/cps/Qt6CoreTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/share/cps/qt6coretools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.local/Qt6CoreToolsConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/.local/qt6coretools-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/.local/lib/cps/Qt6CoreTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.local/lib/cps/qt6coretools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.local/share/cps/Qt6CoreTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.local/share/cps/qt6coretools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.nvm/versions/node/v22.21.1/Qt6CoreToolsConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/.nvm/versions/node/v22.21.1/qt6coretools-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/.nvm/versions/node/v22.21.1/lib/cps/Qt6CoreTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.nvm/versions/node/v22.21.1/lib/cps/qt6coretools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.nvm/versions/node/v22.21.1/share/cps/Qt6CoreTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.nvm/versions/node/v22.21.1/share/cps/qt6coretools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/local/Qt6CoreToolsConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/local/qt6coretools-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/local/lib/cps/Qt6CoreTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/local/lib/cps/qt6coretools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/local/share/cps/Qt6CoreTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/local/share/cps/qt6coretools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/Qt6CoreToolsConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/qt6coretools-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cps/Qt6CoreTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/lib/cps/qt6coretools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/share/cps/Qt6CoreTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/share/cps/qt6coretools.cps" + mode: "cps" + reason: "no_exist" + found: + path: "/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfig.cmake" + mode: "config" + version: "6.11.0" + search_context: + ENV{PATH}: + - "/home/themiro/.local/bin" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin" + - "/usr/local/sbin" + - "/usr/local/bin" + - "/usr/sbin" + - "/usr/bin" + - "/sbin" + - "/bin" + - "/var/lib/flatpak/exports/bin" + - "/usr/lib/jvm/default/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/usr/lib/rustup/bin" + - "/home/themiro/.spicetify" + - "~/.local/bin" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin" + CMAKE_INSTALL_PREFIX: "/usr/local" + CMAKE_SYSTEM_PREFIX_PATH: + - "/usr/local" + - "/usr" + - "/" + - "/usr" + - "/usr/local" + - "/usr/X11R6" + - "/usr/pkg" + - "/opt" + - + kind: "find_package-v1" + backtrace: + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:100 (find_package)" + - "/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsDependencies.cmake:14 (_qt_internal_find_tool_dependencies)" + - "/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsConfig.cmake:46 (include)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:100 (find_package)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsDependencies.cmake:42 (_qt_internal_find_tool_dependencies)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake:50 (include)" + - "/usr/lib/cmake/Qt6/Qt6Config.cmake:256 (find_package)" + - "CMakeLists.txt:7 (find_package)" + name: "Qt6GuiTools" + configs: + - + filename: "Qt6GuiTools.cps" + kind: "cps" + - + filename: "qt6guitools.cps" + kind: "cps" + - + filename: "Qt6GuiToolsConfig.cmake" + kind: "cmake" + - + filename: "qt6guitools-config.cmake" + kind: "cmake" + version_request: + version: "6.11.0" + version_complete: "6.11.0" + exact: false + settings: + required: "optional" + quiet: false + global: false + policy_scope: true + bypass_provider: false + names: + - "Qt6GuiTools" + search_paths: + - "/usr/lib/cmake/Qt6WidgetsTools/.." + - "/usr/lib/cmake" + path_suffixes: + - "" + paths: + CMAKE_FIND_USE_CMAKE_PATH: true + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + CMAKE_FIND_USE_PACKAGE_ROOT_PATH: true + CMAKE_FIND_USE_CMAKE_PACKAGE_REGISTRY: true + CMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY: true + CMAKE_FIND_ROOT_PATH_MODE: "BOTH" + candidates: + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/Qt6GuiToolsConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/qt6guitools-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/lib/cps/Qt6GuiTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/lib/cps/qt6guitools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/share/cps/Qt6GuiTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/share/cps/qt6guitools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.local/Qt6GuiToolsConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/.local/qt6guitools-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/.local/lib/cps/Qt6GuiTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.local/lib/cps/qt6guitools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.local/share/cps/Qt6GuiTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.local/share/cps/qt6guitools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.nvm/versions/node/v22.21.1/Qt6GuiToolsConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/.nvm/versions/node/v22.21.1/qt6guitools-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/.nvm/versions/node/v22.21.1/lib/cps/Qt6GuiTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.nvm/versions/node/v22.21.1/lib/cps/qt6guitools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.nvm/versions/node/v22.21.1/share/cps/Qt6GuiTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.nvm/versions/node/v22.21.1/share/cps/qt6guitools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/local/Qt6GuiToolsConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/local/qt6guitools-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/local/lib/cps/Qt6GuiTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/local/lib/cps/qt6guitools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/local/share/cps/Qt6GuiTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/local/share/cps/qt6guitools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/Qt6GuiToolsConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/qt6guitools-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cps/Qt6GuiTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/lib/cps/qt6guitools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/share/cps/Qt6GuiTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/share/cps/qt6guitools.cps" + mode: "cps" + reason: "no_exist" + found: + path: "/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsConfig.cmake" + mode: "config" + version: "6.11.0" + search_context: + ENV{PATH}: + - "/home/themiro/.local/bin" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin" + - "/usr/local/sbin" + - "/usr/local/bin" + - "/usr/sbin" + - "/usr/bin" + - "/sbin" + - "/bin" + - "/var/lib/flatpak/exports/bin" + - "/usr/lib/jvm/default/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/usr/lib/rustup/bin" + - "/home/themiro/.spicetify" + - "~/.local/bin" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin" + CMAKE_INSTALL_PREFIX: "/usr/local" + CMAKE_SYSTEM_PREFIX_PATH: + - "/usr/local" + - "/usr" + - "/" + - "/usr" + - "/usr/local" + - "/usr/X11R6" + - "/usr/pkg" + - "/opt" + - + kind: "find_package-v1" + backtrace: + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:100 (find_package)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsDependencies.cmake:42 (_qt_internal_find_tool_dependencies)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake:50 (include)" + - "/usr/lib/cmake/Qt6/Qt6Config.cmake:256 (find_package)" + - "CMakeLists.txt:7 (find_package)" + name: "Qt6WidgetsTools" + configs: + - + filename: "Qt6WidgetsTools.cps" + kind: "cps" + - + filename: "qt6widgetstools.cps" + kind: "cps" + - + filename: "Qt6WidgetsToolsConfig.cmake" + kind: "cmake" + - + filename: "qt6widgetstools-config.cmake" + kind: "cmake" + version_request: + version: "6.11.0" + version_complete: "6.11.0" + exact: false + settings: + required: "optional" + quiet: false + global: false + policy_scope: true + bypass_provider: false + names: + - "Qt6WidgetsTools" + search_paths: + - "/usr/lib/cmake/Qt6Widgets/.." + - "/usr/lib/cmake" + path_suffixes: + - "" + paths: + CMAKE_FIND_USE_CMAKE_PATH: true + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + CMAKE_FIND_USE_PACKAGE_ROOT_PATH: true + CMAKE_FIND_USE_CMAKE_PACKAGE_REGISTRY: true + CMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY: true + CMAKE_FIND_ROOT_PATH_MODE: "BOTH" + candidates: + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/Qt6WidgetsToolsConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/qt6widgetstools-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/lib/cps/Qt6WidgetsTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/lib/cps/qt6widgetstools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/share/cps/Qt6WidgetsTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/share/cps/qt6widgetstools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.local/Qt6WidgetsToolsConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/.local/qt6widgetstools-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/.local/lib/cps/Qt6WidgetsTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.local/lib/cps/qt6widgetstools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.local/share/cps/Qt6WidgetsTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.local/share/cps/qt6widgetstools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.nvm/versions/node/v22.21.1/Qt6WidgetsToolsConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/.nvm/versions/node/v22.21.1/qt6widgetstools-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/.nvm/versions/node/v22.21.1/lib/cps/Qt6WidgetsTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.nvm/versions/node/v22.21.1/lib/cps/qt6widgetstools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.nvm/versions/node/v22.21.1/share/cps/Qt6WidgetsTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.nvm/versions/node/v22.21.1/share/cps/qt6widgetstools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/local/Qt6WidgetsToolsConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/local/qt6widgetstools-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/local/lib/cps/Qt6WidgetsTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/local/lib/cps/qt6widgetstools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/local/share/cps/Qt6WidgetsTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/local/share/cps/qt6widgetstools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/Qt6WidgetsToolsConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/qt6widgetstools-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cps/Qt6WidgetsTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/lib/cps/qt6widgetstools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/share/cps/Qt6WidgetsTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/share/cps/qt6widgetstools.cps" + mode: "cps" + reason: "no_exist" + found: + path: "/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsConfig.cmake" + mode: "config" + version: "6.11.0" + search_context: + ENV{PATH}: + - "/home/themiro/.local/bin" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin" + - "/usr/local/sbin" + - "/usr/local/bin" + - "/usr/sbin" + - "/usr/bin" + - "/sbin" + - "/bin" + - "/var/lib/flatpak/exports/bin" + - "/usr/lib/jvm/default/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/usr/lib/rustup/bin" + - "/home/themiro/.spicetify" + - "~/.local/bin" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin" + CMAKE_INSTALL_PREFIX: "/usr/local" + CMAKE_SYSTEM_PREFIX_PATH: + - "/usr/local" + - "/usr" + - "/" + - "/usr" + - "/usr/local" + - "/usr/X11R6" + - "/usr/pkg" + - "/opt" + - + kind: "try_compile-v1" + backtrace: + - "/usr/share/cmake/Modules/Internal/CheckSourceCompiles.cmake:104 (try_compile)" + - "/usr/share/cmake/Modules/CheckCXXSourceCompiles.cmake:103 (cmake_check_source_compiles)" + - "/usr/lib/cmake/Qt6/FindWrapAtomic.cmake:36 (check_cxx_source_compiles)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:36 (find_dependency)" + - "/usr/lib/cmake/Qt6Core/Qt6CoreDependencies.cmake:36 (_qt_internal_find_third_party_dependencies)" + - "/usr/lib/cmake/Qt6Core/Qt6CoreConfig.cmake:52 (include)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:142 (find_dependency)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsDependencies.cmake:50 (_qt_internal_find_qt_dependencies)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake:50 (include)" + - "/usr/lib/cmake/Qt6/Qt6Config.cmake:256 (find_package)" + - "CMakeLists.txt:7 (find_package)" + directories: + source: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/CMakeScratch/TryCompile-dbnSqB" + binary: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/CMakeScratch/TryCompile-dbnSqB" + cmakeVariables: + CMAKE_CXX_FLAGS: "" + CMAKE_CXX_FLAGS_DEBUG: "-g" + CMAKE_CXX_STDLIB_MODULES_JSON: "" + CMAKE_EXE_LINKER_FLAGS: "" + CMAKE_MODULE_PATH: "/usr/lib/cmake/Qt6;/usr/lib/cmake/Qt6/3rdparty/extra-cmake-modules/find-modules;/usr/lib/cmake/Qt6/3rdparty/kwin" + CMAKE_WARN_DEPRECATED: "FALSE" + buildResult: + variable: "HAVE_STDATOMIC" + cached: true + stdout: | + Change Dir: '/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/CMakeScratch/TryCompile-dbnSqB' + + Run Build Command(s): /usr/sbin/cmake -E env VERBOSE=1 /usr/sbin/make -f Makefile cmTC_83ce1/fast + /usr/sbin/make -f CMakeFiles/cmTC_83ce1.dir/build.make CMakeFiles/cmTC_83ce1.dir/build + make[1]: Entering directory '/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/CMakeScratch/TryCompile-dbnSqB' + Building CXX object CMakeFiles/cmTC_83ce1.dir/src.cxx.o + /usr/sbin/c++ -DHAVE_STDATOMIC -std=gnu++17 -o CMakeFiles/cmTC_83ce1.dir/src.cxx.o -c /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/CMakeScratch/TryCompile-dbnSqB/src.cxx + Linking CXX executable cmTC_83ce1 + /usr/sbin/cmake -E cmake_link_script CMakeFiles/cmTC_83ce1.dir/link.txt --verbose=1 + /usr/sbin/c++ CMakeFiles/cmTC_83ce1.dir/src.cxx.o -o cmTC_83ce1 + make[1]: Leaving directory '/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/CMakeScratch/TryCompile-dbnSqB' + + exitCode: 0 + - + kind: "find_package-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:142 (find_dependency)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsDependencies.cmake:50 (_qt_internal_find_qt_dependencies)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake:50 (include)" + - "/usr/lib/cmake/Qt6/Qt6Config.cmake:256 (find_package)" + - "CMakeLists.txt:7 (find_package)" + name: "Qt6Core" + configs: + - + filename: "Qt6Core.cps" + kind: "cps" + - + filename: "qt6core.cps" + kind: "cps" + - + filename: "Qt6CoreConfig.cmake" + kind: "cmake" + - + filename: "qt6core-config.cmake" + kind: "cmake" + version_request: + version: "6.11.0" + version_complete: "6.11.0" + exact: false + settings: + required: "optional" + quiet: false + global: false + policy_scope: true + bypass_provider: false + names: + - "Qt6Core" + search_paths: + - "/usr/lib/cmake/Qt6Widgets/.." + - "/usr/lib/cmake" + path_suffixes: + - "" + paths: + CMAKE_FIND_USE_CMAKE_PATH: false + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + CMAKE_FIND_USE_PACKAGE_ROOT_PATH: true + CMAKE_FIND_USE_CMAKE_PACKAGE_REGISTRY: true + CMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY: true + CMAKE_FIND_ROOT_PATH_MODE: "BOTH" + candidates: + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/Qt6CoreConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/qt6core-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/lib/cps/Qt6Core.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/lib/cps/qt6core.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/share/cps/Qt6Core.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/share/cps/qt6core.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6CoreConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/qt6core-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6CoreTools/Qt6CoreConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6CoreTools/qt6core-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6CorePrivate/Qt6CoreConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6CorePrivate/qt6core-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Core5CompatPrivate/Qt6CoreConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Core5CompatPrivate/qt6core-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Core5Compat/Qt6CoreConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Core5Compat/qt6core-config.cmake" + mode: "config" + reason: "no_exist" + found: + path: "/usr/lib/cmake/Qt6Core/Qt6CoreConfig.cmake" + mode: "config" + version: "6.11.0" + search_context: + ENV{PATH}: + - "/home/themiro/.local/bin" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin" + - "/usr/local/sbin" + - "/usr/local/bin" + - "/usr/sbin" + - "/usr/bin" + - "/sbin" + - "/bin" + - "/var/lib/flatpak/exports/bin" + - "/usr/lib/jvm/default/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/usr/lib/rustup/bin" + - "/home/themiro/.spicetify" + - "~/.local/bin" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin" + CMAKE_INSTALL_PREFIX: "/usr/local" + CMAKE_SYSTEM_PREFIX_PATH: + - "/usr/local" + - "/usr" + - "/" + - "/usr" + - "/usr/local" + - "/usr/X11R6" + - "/usr/pkg" + - "/opt" + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/FindOpenGL.cmake:408 (find_path)" + - "/usr/lib/cmake/Qt6/FindWrapOpenGL.cmake:13 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:36 (find_dependency)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiDependencies.cmake:37 (_qt_internal_find_third_party_dependencies)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiConfig.cmake:50 (include)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:142 (find_dependency)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsDependencies.cmake:50 (_qt_internal_find_qt_dependencies)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake:50 (include)" + - "/usr/lib/cmake/Qt6/Qt6Config.cmake:256 (find_package)" + - "CMakeLists.txt:7 (find_package)" + mode: "path" + variable: "OPENGL_INCLUDE_DIR" + description: "Path to a file." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: true + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "GL/gl.h" + candidate_directories: + - "/home/themiro/.local/bin/" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/" + - "/usr/local/sbin/" + - "/usr/local/bin/" + - "/usr/sbin/" + - "/usr/bin/" + - "/sbin/" + - "/bin/" + - "/var/lib/flatpak/exports/bin/" + - "/usr/lib/jvm/default/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/usr/lib/rustup/bin/" + - "/home/themiro/.spicetify/" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/" + - "/usr/local/include/" + - "/usr/local/" + - "/usr/include/" + - "/usr/" + - "/include/" + - "/usr/X11R6/include/" + - "/usr/X11R6/" + - "/usr/pkg/include/" + - "/usr/pkg/" + - "/opt/include/" + - "/opt/" + - "/usr/include/X11/" + - "/usr/share/doc/NVIDIA_GLX-1.0/include/" + - "/usr/openwin/share/include/" + - "/opt/graphics/OpenGL/include/" + searched_directories: + - "/home/themiro/.local/bin/GL/gl.h" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/GL/gl.h" + - "/usr/local/sbin/GL/gl.h" + - "/usr/local/bin/GL/gl.h" + - "/usr/sbin/GL/gl.h" + - "/usr/bin/GL/gl.h" + - "/sbin/GL/gl.h" + - "/bin/GL/gl.h" + - "/var/lib/flatpak/exports/bin/GL/gl.h" + - "/usr/lib/jvm/default/bin/GL/gl.h" + - "/usr/bin/site_perl/GL/gl.h" + - "/usr/bin/vendor_perl/GL/gl.h" + - "/usr/bin/core_perl/GL/gl.h" + - "/usr/lib/rustup/bin/GL/gl.h" + - "/home/themiro/.spicetify/GL/gl.h" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/GL/gl.h" + - "/usr/local/include/GL/gl.h" + - "/usr/local/GL/gl.h" + found: "/usr/include/" + search_context: + ENV{PATH}: + - "/home/themiro/.local/bin" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin" + - "/usr/local/sbin" + - "/usr/local/bin" + - "/usr/sbin" + - "/usr/bin" + - "/sbin" + - "/bin" + - "/var/lib/flatpak/exports/bin" + - "/usr/lib/jvm/default/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/usr/lib/rustup/bin" + - "/home/themiro/.spicetify" + - "~/.local/bin" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin" + CMAKE_INSTALL_PREFIX: "/usr/local" + CMAKE_SYSTEM_PREFIX_PATH: + - "/usr/local" + - "/usr" + - "/" + - "/usr" + - "/usr/local" + - "/usr/X11R6" + - "/usr/pkg" + - "/opt" + CMAKE_SYSTEM_INCLUDE_PATH: + - "/usr/include/X11" + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/FindOpenGL.cmake:414 (find_path)" + - "/usr/lib/cmake/Qt6/FindWrapOpenGL.cmake:13 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:36 (find_dependency)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiDependencies.cmake:37 (_qt_internal_find_third_party_dependencies)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiConfig.cmake:50 (include)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:142 (find_dependency)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsDependencies.cmake:50 (_qt_internal_find_qt_dependencies)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake:50 (include)" + - "/usr/lib/cmake/Qt6/Qt6Config.cmake:256 (find_package)" + - "CMakeLists.txt:7 (find_package)" + mode: "path" + variable: "OPENGL_GLX_INCLUDE_DIR" + description: "Path to a file." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: true + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "GL/glx.h" + candidate_directories: + - "/home/themiro/.local/bin/" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/" + - "/usr/local/sbin/" + - "/usr/local/bin/" + - "/usr/sbin/" + - "/usr/bin/" + - "/sbin/" + - "/bin/" + - "/var/lib/flatpak/exports/bin/" + - "/usr/lib/jvm/default/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/usr/lib/rustup/bin/" + - "/home/themiro/.spicetify/" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/" + - "/usr/local/include/" + - "/usr/local/" + - "/usr/include/" + - "/usr/" + - "/include/" + - "/usr/X11R6/include/" + - "/usr/X11R6/" + - "/usr/pkg/include/" + - "/usr/pkg/" + - "/opt/include/" + - "/opt/" + - "/usr/include/X11/" + searched_directories: + - "/home/themiro/.local/bin/GL/glx.h" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/GL/glx.h" + - "/usr/local/sbin/GL/glx.h" + - "/usr/local/bin/GL/glx.h" + - "/usr/sbin/GL/glx.h" + - "/usr/bin/GL/glx.h" + - "/sbin/GL/glx.h" + - "/bin/GL/glx.h" + - "/var/lib/flatpak/exports/bin/GL/glx.h" + - "/usr/lib/jvm/default/bin/GL/glx.h" + - "/usr/bin/site_perl/GL/glx.h" + - "/usr/bin/vendor_perl/GL/glx.h" + - "/usr/bin/core_perl/GL/glx.h" + - "/usr/lib/rustup/bin/GL/glx.h" + - "/home/themiro/.spicetify/GL/glx.h" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/GL/glx.h" + - "/usr/local/include/GL/glx.h" + - "/usr/local/GL/glx.h" + found: "/usr/include/" + search_context: + ENV{PATH}: + - "/home/themiro/.local/bin" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin" + - "/usr/local/sbin" + - "/usr/local/bin" + - "/usr/sbin" + - "/usr/bin" + - "/sbin" + - "/bin" + - "/var/lib/flatpak/exports/bin" + - "/usr/lib/jvm/default/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/usr/lib/rustup/bin" + - "/home/themiro/.spicetify" + - "~/.local/bin" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin" + CMAKE_INSTALL_PREFIX: "/usr/local" + CMAKE_SYSTEM_PREFIX_PATH: + - "/usr/local" + - "/usr" + - "/" + - "/usr" + - "/usr/local" + - "/usr/X11R6" + - "/usr/pkg" + - "/opt" + CMAKE_SYSTEM_INCLUDE_PATH: + - "/usr/include/X11" + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/FindOpenGL.cmake:415 (find_path)" + - "/usr/lib/cmake/Qt6/FindWrapOpenGL.cmake:13 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:36 (find_dependency)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiDependencies.cmake:37 (_qt_internal_find_third_party_dependencies)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiConfig.cmake:50 (include)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:142 (find_dependency)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsDependencies.cmake:50 (_qt_internal_find_qt_dependencies)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake:50 (include)" + - "/usr/lib/cmake/Qt6/Qt6Config.cmake:256 (find_package)" + - "CMakeLists.txt:7 (find_package)" + mode: "path" + variable: "OPENGL_EGL_INCLUDE_DIR" + description: "Path to a file." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: true + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "EGL/egl.h" + candidate_directories: + - "/home/themiro/.local/bin/" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/" + - "/usr/local/sbin/" + - "/usr/local/bin/" + - "/usr/sbin/" + - "/usr/bin/" + - "/sbin/" + - "/bin/" + - "/var/lib/flatpak/exports/bin/" + - "/usr/lib/jvm/default/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/usr/lib/rustup/bin/" + - "/home/themiro/.spicetify/" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/" + - "/usr/local/include/" + - "/usr/local/" + - "/usr/include/" + - "/usr/" + - "/include/" + - "/usr/X11R6/include/" + - "/usr/X11R6/" + - "/usr/pkg/include/" + - "/usr/pkg/" + - "/opt/include/" + - "/opt/" + - "/usr/include/X11/" + searched_directories: + - "/home/themiro/.local/bin/EGL/egl.h" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/EGL/egl.h" + - "/usr/local/sbin/EGL/egl.h" + - "/usr/local/bin/EGL/egl.h" + - "/usr/sbin/EGL/egl.h" + - "/usr/bin/EGL/egl.h" + - "/sbin/EGL/egl.h" + - "/bin/EGL/egl.h" + - "/var/lib/flatpak/exports/bin/EGL/egl.h" + - "/usr/lib/jvm/default/bin/EGL/egl.h" + - "/usr/bin/site_perl/EGL/egl.h" + - "/usr/bin/vendor_perl/EGL/egl.h" + - "/usr/bin/core_perl/EGL/egl.h" + - "/usr/lib/rustup/bin/EGL/egl.h" + - "/home/themiro/.spicetify/EGL/egl.h" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/EGL/egl.h" + - "/usr/local/include/EGL/egl.h" + - "/usr/local/EGL/egl.h" + found: "/usr/include/" + search_context: + ENV{PATH}: + - "/home/themiro/.local/bin" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin" + - "/usr/local/sbin" + - "/usr/local/bin" + - "/usr/sbin" + - "/usr/bin" + - "/sbin" + - "/bin" + - "/var/lib/flatpak/exports/bin" + - "/usr/lib/jvm/default/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/usr/lib/rustup/bin" + - "/home/themiro/.spicetify" + - "~/.local/bin" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin" + CMAKE_INSTALL_PREFIX: "/usr/local" + CMAKE_SYSTEM_PREFIX_PATH: + - "/usr/local" + - "/usr" + - "/" + - "/usr" + - "/usr/local" + - "/usr/X11R6" + - "/usr/pkg" + - "/opt" + CMAKE_SYSTEM_INCLUDE_PATH: + - "/usr/include/X11" + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/FindOpenGL.cmake:416 (find_path)" + - "/usr/lib/cmake/Qt6/FindWrapOpenGL.cmake:13 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:36 (find_dependency)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiDependencies.cmake:37 (_qt_internal_find_third_party_dependencies)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiConfig.cmake:50 (include)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:142 (find_dependency)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsDependencies.cmake:50 (_qt_internal_find_qt_dependencies)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake:50 (include)" + - "/usr/lib/cmake/Qt6/Qt6Config.cmake:256 (find_package)" + - "CMakeLists.txt:7 (find_package)" + mode: "path" + variable: "OPENGL_GLES2_INCLUDE_DIR" + description: "Path to a file." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: true + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "GLES2/gl2.h" + candidate_directories: + - "/home/themiro/.local/bin/" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/" + - "/usr/local/sbin/" + - "/usr/local/bin/" + - "/usr/sbin/" + - "/usr/bin/" + - "/sbin/" + - "/bin/" + - "/var/lib/flatpak/exports/bin/" + - "/usr/lib/jvm/default/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/usr/lib/rustup/bin/" + - "/home/themiro/.spicetify/" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/" + - "/usr/local/include/" + - "/usr/local/" + - "/usr/include/" + - "/usr/" + - "/include/" + - "/usr/X11R6/include/" + - "/usr/X11R6/" + - "/usr/pkg/include/" + - "/usr/pkg/" + - "/opt/include/" + - "/opt/" + - "/usr/include/X11/" + searched_directories: + - "/home/themiro/.local/bin/GLES2/gl2.h" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/GLES2/gl2.h" + - "/usr/local/sbin/GLES2/gl2.h" + - "/usr/local/bin/GLES2/gl2.h" + - "/usr/sbin/GLES2/gl2.h" + - "/usr/bin/GLES2/gl2.h" + - "/sbin/GLES2/gl2.h" + - "/bin/GLES2/gl2.h" + - "/var/lib/flatpak/exports/bin/GLES2/gl2.h" + - "/usr/lib/jvm/default/bin/GLES2/gl2.h" + - "/usr/bin/site_perl/GLES2/gl2.h" + - "/usr/bin/vendor_perl/GLES2/gl2.h" + - "/usr/bin/core_perl/GLES2/gl2.h" + - "/usr/lib/rustup/bin/GLES2/gl2.h" + - "/home/themiro/.spicetify/GLES2/gl2.h" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/GLES2/gl2.h" + - "/usr/local/include/GLES2/gl2.h" + - "/usr/local/GLES2/gl2.h" + found: "/usr/include/" + search_context: + ENV{PATH}: + - "/home/themiro/.local/bin" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin" + - "/usr/local/sbin" + - "/usr/local/bin" + - "/usr/sbin" + - "/usr/bin" + - "/sbin" + - "/bin" + - "/var/lib/flatpak/exports/bin" + - "/usr/lib/jvm/default/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/usr/lib/rustup/bin" + - "/home/themiro/.spicetify" + - "~/.local/bin" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin" + CMAKE_INSTALL_PREFIX: "/usr/local" + CMAKE_SYSTEM_PREFIX_PATH: + - "/usr/local" + - "/usr" + - "/" + - "/usr" + - "/usr/local" + - "/usr/X11R6" + - "/usr/pkg" + - "/opt" + CMAKE_SYSTEM_INCLUDE_PATH: + - "/usr/include/X11" + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/FindOpenGL.cmake:417 (find_path)" + - "/usr/lib/cmake/Qt6/FindWrapOpenGL.cmake:13 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:36 (find_dependency)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiDependencies.cmake:37 (_qt_internal_find_third_party_dependencies)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiConfig.cmake:50 (include)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:142 (find_dependency)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsDependencies.cmake:50 (_qt_internal_find_qt_dependencies)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake:50 (include)" + - "/usr/lib/cmake/Qt6/Qt6Config.cmake:256 (find_package)" + - "CMakeLists.txt:7 (find_package)" + mode: "path" + variable: "OPENGL_GLES3_INCLUDE_DIR" + description: "Path to a file." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: true + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "GLES3/gl3.h" + candidate_directories: + - "/home/themiro/.local/bin/" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/" + - "/usr/local/sbin/" + - "/usr/local/bin/" + - "/usr/sbin/" + - "/usr/bin/" + - "/sbin/" + - "/bin/" + - "/var/lib/flatpak/exports/bin/" + - "/usr/lib/jvm/default/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/usr/lib/rustup/bin/" + - "/home/themiro/.spicetify/" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/" + - "/usr/local/include/" + - "/usr/local/" + - "/usr/include/" + - "/usr/" + - "/include/" + - "/usr/X11R6/include/" + - "/usr/X11R6/" + - "/usr/pkg/include/" + - "/usr/pkg/" + - "/opt/include/" + - "/opt/" + - "/usr/include/X11/" + searched_directories: + - "/home/themiro/.local/bin/GLES3/gl3.h" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/GLES3/gl3.h" + - "/usr/local/sbin/GLES3/gl3.h" + - "/usr/local/bin/GLES3/gl3.h" + - "/usr/sbin/GLES3/gl3.h" + - "/usr/bin/GLES3/gl3.h" + - "/sbin/GLES3/gl3.h" + - "/bin/GLES3/gl3.h" + - "/var/lib/flatpak/exports/bin/GLES3/gl3.h" + - "/usr/lib/jvm/default/bin/GLES3/gl3.h" + - "/usr/bin/site_perl/GLES3/gl3.h" + - "/usr/bin/vendor_perl/GLES3/gl3.h" + - "/usr/bin/core_perl/GLES3/gl3.h" + - "/usr/lib/rustup/bin/GLES3/gl3.h" + - "/home/themiro/.spicetify/GLES3/gl3.h" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/GLES3/gl3.h" + - "/usr/local/include/GLES3/gl3.h" + - "/usr/local/GLES3/gl3.h" + found: "/usr/include/" + search_context: + ENV{PATH}: + - "/home/themiro/.local/bin" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin" + - "/usr/local/sbin" + - "/usr/local/bin" + - "/usr/sbin" + - "/usr/bin" + - "/sbin" + - "/bin" + - "/var/lib/flatpak/exports/bin" + - "/usr/lib/jvm/default/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/usr/lib/rustup/bin" + - "/home/themiro/.spicetify" + - "~/.local/bin" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin" + CMAKE_INSTALL_PREFIX: "/usr/local" + CMAKE_SYSTEM_PREFIX_PATH: + - "/usr/local" + - "/usr" + - "/" + - "/usr" + - "/usr/local" + - "/usr/X11R6" + - "/usr/pkg" + - "/opt" + CMAKE_SYSTEM_INCLUDE_PATH: + - "/usr/include/X11" + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/FindOpenGL.cmake:418 (find_path)" + - "/usr/lib/cmake/Qt6/FindWrapOpenGL.cmake:13 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:36 (find_dependency)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiDependencies.cmake:37 (_qt_internal_find_third_party_dependencies)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiConfig.cmake:50 (include)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:142 (find_dependency)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsDependencies.cmake:50 (_qt_internal_find_qt_dependencies)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake:50 (include)" + - "/usr/lib/cmake/Qt6/Qt6Config.cmake:256 (find_package)" + - "CMakeLists.txt:7 (find_package)" + mode: "path" + variable: "OPENGL_xmesa_INCLUDE_DIR" + description: "Path to a file." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: true + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "GL/xmesa.h" + candidate_directories: + - "/home/themiro/.local/bin/" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/" + - "/usr/local/sbin/" + - "/usr/local/bin/" + - "/usr/sbin/" + - "/usr/bin/" + - "/sbin/" + - "/bin/" + - "/var/lib/flatpak/exports/bin/" + - "/usr/lib/jvm/default/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/usr/lib/rustup/bin/" + - "/home/themiro/.spicetify/" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/" + - "/usr/local/include/" + - "/usr/local/" + - "/usr/include/" + - "/usr/" + - "/include/" + - "/usr/X11R6/include/" + - "/usr/X11R6/" + - "/usr/pkg/include/" + - "/usr/pkg/" + - "/opt/include/" + - "/opt/" + - "/usr/include/X11/" + - "/usr/share/doc/NVIDIA_GLX-1.0/include/" + - "/usr/openwin/share/include/" + - "/opt/graphics/OpenGL/include/" + searched_directories: + - "/home/themiro/.local/bin/GL/xmesa.h" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/GL/xmesa.h" + - "/usr/local/sbin/GL/xmesa.h" + - "/usr/local/bin/GL/xmesa.h" + - "/usr/sbin/GL/xmesa.h" + - "/usr/bin/GL/xmesa.h" + - "/sbin/GL/xmesa.h" + - "/bin/GL/xmesa.h" + - "/var/lib/flatpak/exports/bin/GL/xmesa.h" + - "/usr/lib/jvm/default/bin/GL/xmesa.h" + - "/usr/bin/site_perl/GL/xmesa.h" + - "/usr/bin/vendor_perl/GL/xmesa.h" + - "/usr/bin/core_perl/GL/xmesa.h" + - "/usr/lib/rustup/bin/GL/xmesa.h" + - "/home/themiro/.spicetify/GL/xmesa.h" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/GL/xmesa.h" + - "/usr/local/include/GL/xmesa.h" + - "/usr/local/GL/xmesa.h" + - "/usr/include/GL/xmesa.h" + - "/usr/GL/xmesa.h" + - "/include/GL/xmesa.h" + - "/usr/X11R6/include/GL/xmesa.h" + - "/usr/X11R6/GL/xmesa.h" + - "/usr/pkg/include/GL/xmesa.h" + - "/usr/pkg/GL/xmesa.h" + - "/opt/include/GL/xmesa.h" + - "/opt/GL/xmesa.h" + - "/usr/include/X11/GL/xmesa.h" + - "/usr/share/doc/NVIDIA_GLX-1.0/include/GL/xmesa.h" + - "/usr/openwin/share/include/GL/xmesa.h" + - "/opt/graphics/OpenGL/include/GL/xmesa.h" + found: false + search_context: + ENV{PATH}: + - "/home/themiro/.local/bin" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin" + - "/usr/local/sbin" + - "/usr/local/bin" + - "/usr/sbin" + - "/usr/bin" + - "/sbin" + - "/bin" + - "/var/lib/flatpak/exports/bin" + - "/usr/lib/jvm/default/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/usr/lib/rustup/bin" + - "/home/themiro/.spicetify" + - "~/.local/bin" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin" + CMAKE_INSTALL_PREFIX: "/usr/local" + CMAKE_SYSTEM_PREFIX_PATH: + - "/usr/local" + - "/usr" + - "/" + - "/usr" + - "/usr/local" + - "/usr/X11R6" + - "/usr/pkg" + - "/opt" + CMAKE_SYSTEM_INCLUDE_PATH: + - "/usr/include/X11" + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/FindOpenGL.cmake:424 (find_path)" + - "/usr/lib/cmake/Qt6/FindWrapOpenGL.cmake:13 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:36 (find_dependency)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiDependencies.cmake:37 (_qt_internal_find_third_party_dependencies)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiConfig.cmake:50 (include)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:142 (find_dependency)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsDependencies.cmake:50 (_qt_internal_find_qt_dependencies)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake:50 (include)" + - "/usr/lib/cmake/Qt6/Qt6Config.cmake:256 (find_package)" + - "CMakeLists.txt:7 (find_package)" + mode: "path" + variable: "OPENGL_GLU_INCLUDE_DIR" + description: "Path to a file." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: true + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "GL/glu.h" + candidate_directories: + - "/home/themiro/.local/bin/" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/" + - "/usr/local/sbin/" + - "/usr/local/bin/" + - "/usr/sbin/" + - "/usr/bin/" + - "/sbin/" + - "/bin/" + - "/var/lib/flatpak/exports/bin/" + - "/usr/lib/jvm/default/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/usr/lib/rustup/bin/" + - "/home/themiro/.spicetify/" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/" + - "/usr/local/include/" + - "/usr/local/" + - "/usr/include/" + - "/usr/" + - "/include/" + - "/usr/X11R6/include/" + - "/usr/X11R6/" + - "/usr/pkg/include/" + - "/usr/pkg/" + - "/opt/include/" + - "/opt/" + - "/usr/include/X11/" + searched_directories: + - "/home/themiro/.local/bin/GL/glu.h" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/GL/glu.h" + - "/usr/local/sbin/GL/glu.h" + - "/usr/local/bin/GL/glu.h" + - "/usr/sbin/GL/glu.h" + - "/usr/bin/GL/glu.h" + - "/sbin/GL/glu.h" + - "/bin/GL/glu.h" + - "/var/lib/flatpak/exports/bin/GL/glu.h" + - "/usr/lib/jvm/default/bin/GL/glu.h" + - "/usr/bin/site_perl/GL/glu.h" + - "/usr/bin/vendor_perl/GL/glu.h" + - "/usr/bin/core_perl/GL/glu.h" + - "/usr/lib/rustup/bin/GL/glu.h" + - "/home/themiro/.spicetify/GL/glu.h" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/GL/glu.h" + - "/usr/local/include/GL/glu.h" + - "/usr/local/GL/glu.h" + found: "/usr/include/" + search_context: + ENV{PATH}: + - "/home/themiro/.local/bin" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin" + - "/usr/local/sbin" + - "/usr/local/bin" + - "/usr/sbin" + - "/usr/bin" + - "/sbin" + - "/bin" + - "/var/lib/flatpak/exports/bin" + - "/usr/lib/jvm/default/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/usr/lib/rustup/bin" + - "/home/themiro/.spicetify" + - "~/.local/bin" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin" + CMAKE_INSTALL_PREFIX: "/usr/local" + CMAKE_SYSTEM_PREFIX_PATH: + - "/usr/local" + - "/usr" + - "/" + - "/usr" + - "/usr/local" + - "/usr/X11R6" + - "/usr/pkg" + - "/opt" + CMAKE_SYSTEM_INCLUDE_PATH: + - "/usr/include/X11" + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/FindOpenGL.cmake:438 (find_library)" + - "/usr/lib/cmake/Qt6/FindWrapOpenGL.cmake:13 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:36 (find_dependency)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiDependencies.cmake:37 (_qt_internal_find_third_party_dependencies)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiConfig.cmake:50 (include)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:142 (find_dependency)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsDependencies.cmake:50 (_qt_internal_find_qt_dependencies)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake:50 (include)" + - "/usr/lib/cmake/Qt6/Qt6Config.cmake:256 (find_package)" + - "CMakeLists.txt:7 (find_package)" + mode: "library" + variable: "OPENGL_opengl_LIBRARY" + description: "Path to a library." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: true + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "OpenGL" + candidate_directories: + - "/home/themiro/.local/bin/" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/" + - "/usr/local/sbin/" + - "/usr/local/bin/" + - "/usr/sbin/" + - "/usr/bin/" + - "/sbin/" + - "/bin/" + - "/var/lib/flatpak/exports/bin/" + - "/usr/lib/jvm/default/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/usr/lib/rustup/bin/" + - "/home/themiro/.spicetify/" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/" + - "/usr/local/lib/" + - "/usr/local/" + - "/usr/lib/" + - "/usr/" + - "/lib/" + - "/usr/X11R6/lib/" + - "/usr/X11R6/" + - "/usr/pkg/lib/" + - "/usr/pkg/" + - "/opt/lib/" + - "/opt/" + - "/usr/lib/X11/" + searched_directories: + - "/home/themiro/.local/bin/" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/" + - "/usr/local/sbin/" + - "/usr/local/bin/" + - "/usr/sbin/" + - "/usr/bin/" + - "/sbin/" + - "/bin/" + - "/var/lib/flatpak/exports/bin/" + - "/usr/lib/jvm/default/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/usr/lib/rustup/bin/" + - "/home/themiro/.spicetify/" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/" + - "/usr/local/lib/" + - "/usr/local/" + found: "/usr/lib/libOpenGL.so" + search_context: + ENV{PATH}: + - "/home/themiro/.local/bin" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin" + - "/usr/local/sbin" + - "/usr/local/bin" + - "/usr/sbin" + - "/usr/bin" + - "/sbin" + - "/bin" + - "/var/lib/flatpak/exports/bin" + - "/usr/lib/jvm/default/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/usr/lib/rustup/bin" + - "/home/themiro/.spicetify" + - "~/.local/bin" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin" + CMAKE_INSTALL_PREFIX: "/usr/local" + CMAKE_SYSTEM_PREFIX_PATH: + - "/usr/local" + - "/usr" + - "/" + - "/usr" + - "/usr/local" + - "/usr/X11R6" + - "/usr/pkg" + - "/opt" + CMAKE_SYSTEM_LIBRARY_PATH: + - "/usr/lib/X11" + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/FindOpenGL.cmake:443 (find_library)" + - "/usr/lib/cmake/Qt6/FindWrapOpenGL.cmake:13 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:36 (find_dependency)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiDependencies.cmake:37 (_qt_internal_find_third_party_dependencies)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiConfig.cmake:50 (include)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:142 (find_dependency)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsDependencies.cmake:50 (_qt_internal_find_qt_dependencies)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake:50 (include)" + - "/usr/lib/cmake/Qt6/Qt6Config.cmake:256 (find_package)" + - "CMakeLists.txt:7 (find_package)" + mode: "library" + variable: "OPENGL_glx_LIBRARY" + description: "Path to a library." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: true + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "GLX" + candidate_directories: + - "/home/themiro/.local/bin/libglvnd/" + - "/home/themiro/.local/bin/" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/libglvnd/" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/" + - "/usr/local/sbin/libglvnd/" + - "/usr/local/sbin/" + - "/usr/local/bin/libglvnd/" + - "/usr/local/bin/" + - "/usr/sbin/libglvnd/" + - "/usr/sbin/" + - "/usr/bin/libglvnd/" + - "/usr/bin/" + - "/sbin/libglvnd/" + - "/sbin/" + - "/bin/libglvnd/" + - "/bin/" + - "/var/lib/flatpak/exports/bin/libglvnd/" + - "/var/lib/flatpak/exports/bin/" + - "/usr/lib/jvm/default/bin/libglvnd/" + - "/usr/lib/jvm/default/bin/" + - "/usr/bin/site_perl/libglvnd/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/libglvnd/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/libglvnd/" + - "/usr/bin/core_perl/" + - "/usr/lib/rustup/bin/libglvnd/" + - "/usr/lib/rustup/bin/" + - "/home/themiro/.spicetify/libglvnd/" + - "/home/themiro/.spicetify/" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/libglvnd/" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/" + - "/usr/local/lib/libglvnd/" + - "/usr/local/lib/" + - "/usr/local/libglvnd/" + - "/usr/local/" + - "/usr/lib/libglvnd/" + - "/usr/lib/" + - "/usr/libglvnd/" + - "/usr/" + - "/lib/libglvnd/" + - "/lib/" + - "/usr/X11R6/lib/libglvnd/" + - "/usr/X11R6/lib/" + - "/usr/X11R6/libglvnd/" + - "/usr/X11R6/" + - "/usr/pkg/lib/libglvnd/" + - "/usr/pkg/lib/" + - "/usr/pkg/libglvnd/" + - "/usr/pkg/" + - "/opt/lib/libglvnd/" + - "/opt/lib/" + - "/opt/libglvnd/" + - "/opt/" + - "/usr/lib/X11/libglvnd/" + - "/usr/lib/X11/" + searched_directories: + - "/home/themiro/.local/bin/libglvnd/" + - "/home/themiro/.local/bin/" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/libglvnd/" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/" + - "/usr/local/sbin/libglvnd/" + - "/usr/local/sbin/" + - "/usr/local/bin/libglvnd/" + - "/usr/local/bin/" + - "/usr/sbin/libglvnd/" + - "/usr/sbin/" + - "/usr/bin/libglvnd/" + - "/usr/bin/" + - "/sbin/libglvnd/" + - "/sbin/" + - "/bin/libglvnd/" + - "/bin/" + - "/var/lib/flatpak/exports/bin/libglvnd/" + - "/var/lib/flatpak/exports/bin/" + - "/usr/lib/jvm/default/bin/libglvnd/" + - "/usr/lib/jvm/default/bin/" + - "/usr/bin/site_perl/libglvnd/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/libglvnd/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/libglvnd/" + - "/usr/bin/core_perl/" + - "/usr/lib/rustup/bin/libglvnd/" + - "/usr/lib/rustup/bin/" + - "/home/themiro/.spicetify/libglvnd/" + - "/home/themiro/.spicetify/" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/libglvnd/" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/" + - "/usr/local/lib/libglvnd/" + - "/usr/local/lib/" + - "/usr/local/libglvnd/" + - "/usr/local/" + - "/usr/lib/libglvnd/" + found: "/usr/lib/libGLX.so" + search_context: + ENV{PATH}: + - "/home/themiro/.local/bin" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin" + - "/usr/local/sbin" + - "/usr/local/bin" + - "/usr/sbin" + - "/usr/bin" + - "/sbin" + - "/bin" + - "/var/lib/flatpak/exports/bin" + - "/usr/lib/jvm/default/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/usr/lib/rustup/bin" + - "/home/themiro/.spicetify" + - "~/.local/bin" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin" + CMAKE_INSTALL_PREFIX: "/usr/local" + CMAKE_SYSTEM_PREFIX_PATH: + - "/usr/local" + - "/usr" + - "/" + - "/usr" + - "/usr/local" + - "/usr/X11R6" + - "/usr/pkg" + - "/opt" + CMAKE_SYSTEM_LIBRARY_PATH: + - "/usr/lib/X11" + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/FindOpenGL.cmake:449 (find_library)" + - "/usr/lib/cmake/Qt6/FindWrapOpenGL.cmake:13 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:36 (find_dependency)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiDependencies.cmake:37 (_qt_internal_find_third_party_dependencies)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiConfig.cmake:50 (include)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:142 (find_dependency)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsDependencies.cmake:50 (_qt_internal_find_qt_dependencies)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake:50 (include)" + - "/usr/lib/cmake/Qt6/Qt6Config.cmake:256 (find_package)" + - "CMakeLists.txt:7 (find_package)" + mode: "library" + variable: "OPENGL_egl_LIBRARY" + description: "Path to a library." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: true + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "EGL" + candidate_directories: + - "/home/themiro/.local/bin/libglvnd/" + - "/home/themiro/.local/bin/" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/libglvnd/" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/" + - "/usr/local/sbin/libglvnd/" + - "/usr/local/sbin/" + - "/usr/local/bin/libglvnd/" + - "/usr/local/bin/" + - "/usr/sbin/libglvnd/" + - "/usr/sbin/" + - "/usr/bin/libglvnd/" + - "/usr/bin/" + - "/sbin/libglvnd/" + - "/sbin/" + - "/bin/libglvnd/" + - "/bin/" + - "/var/lib/flatpak/exports/bin/libglvnd/" + - "/var/lib/flatpak/exports/bin/" + - "/usr/lib/jvm/default/bin/libglvnd/" + - "/usr/lib/jvm/default/bin/" + - "/usr/bin/site_perl/libglvnd/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/libglvnd/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/libglvnd/" + - "/usr/bin/core_perl/" + - "/usr/lib/rustup/bin/libglvnd/" + - "/usr/lib/rustup/bin/" + - "/home/themiro/.spicetify/libglvnd/" + - "/home/themiro/.spicetify/" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/libglvnd/" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/" + - "/usr/local/lib/libglvnd/" + - "/usr/local/lib/" + - "/usr/local/libglvnd/" + - "/usr/local/" + - "/usr/lib/libglvnd/" + - "/usr/lib/" + - "/usr/libglvnd/" + - "/usr/" + - "/lib/libglvnd/" + - "/lib/" + - "/usr/X11R6/lib/libglvnd/" + - "/usr/X11R6/lib/" + - "/usr/X11R6/libglvnd/" + - "/usr/X11R6/" + - "/usr/pkg/lib/libglvnd/" + - "/usr/pkg/lib/" + - "/usr/pkg/libglvnd/" + - "/usr/pkg/" + - "/opt/lib/libglvnd/" + - "/opt/lib/" + - "/opt/libglvnd/" + - "/opt/" + - "/usr/lib/X11/libglvnd/" + - "/usr/lib/X11/" + searched_directories: + - "/home/themiro/.local/bin/libglvnd/" + - "/home/themiro/.local/bin/" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/libglvnd/" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/" + - "/usr/local/sbin/libglvnd/" + - "/usr/local/sbin/" + - "/usr/local/bin/libglvnd/" + - "/usr/local/bin/" + - "/usr/sbin/libglvnd/" + - "/usr/sbin/" + - "/usr/bin/libglvnd/" + - "/usr/bin/" + - "/sbin/libglvnd/" + - "/sbin/" + - "/bin/libglvnd/" + - "/bin/" + - "/var/lib/flatpak/exports/bin/libglvnd/" + - "/var/lib/flatpak/exports/bin/" + - "/usr/lib/jvm/default/bin/libglvnd/" + - "/usr/lib/jvm/default/bin/" + - "/usr/bin/site_perl/libglvnd/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/libglvnd/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/libglvnd/" + - "/usr/bin/core_perl/" + - "/usr/lib/rustup/bin/libglvnd/" + - "/usr/lib/rustup/bin/" + - "/home/themiro/.spicetify/libglvnd/" + - "/home/themiro/.spicetify/" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/libglvnd/" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/" + - "/usr/local/lib/libglvnd/" + - "/usr/local/lib/" + - "/usr/local/libglvnd/" + - "/usr/local/" + - "/usr/lib/libglvnd/" + found: "/usr/lib/libEGL.so" + search_context: + ENV{PATH}: + - "/home/themiro/.local/bin" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin" + - "/usr/local/sbin" + - "/usr/local/bin" + - "/usr/sbin" + - "/usr/bin" + - "/sbin" + - "/bin" + - "/var/lib/flatpak/exports/bin" + - "/usr/lib/jvm/default/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/usr/lib/rustup/bin" + - "/home/themiro/.spicetify" + - "~/.local/bin" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin" + CMAKE_INSTALL_PREFIX: "/usr/local" + CMAKE_SYSTEM_PREFIX_PATH: + - "/usr/local" + - "/usr" + - "/" + - "/usr" + - "/usr/local" + - "/usr/X11R6" + - "/usr/pkg" + - "/opt" + CMAKE_SYSTEM_LIBRARY_PATH: + - "/usr/lib/X11" + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/FindOpenGL.cmake:455 (find_library)" + - "/usr/lib/cmake/Qt6/FindWrapOpenGL.cmake:13 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:36 (find_dependency)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiDependencies.cmake:37 (_qt_internal_find_third_party_dependencies)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiConfig.cmake:50 (include)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:142 (find_dependency)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsDependencies.cmake:50 (_qt_internal_find_qt_dependencies)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake:50 (include)" + - "/usr/lib/cmake/Qt6/Qt6Config.cmake:256 (find_package)" + - "CMakeLists.txt:7 (find_package)" + mode: "library" + variable: "OPENGL_gles2_LIBRARY" + description: "Path to a library." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: true + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "GLESv2" + candidate_directories: + - "/home/themiro/.local/bin/" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/" + - "/usr/local/sbin/" + - "/usr/local/bin/" + - "/usr/sbin/" + - "/usr/bin/" + - "/sbin/" + - "/bin/" + - "/var/lib/flatpak/exports/bin/" + - "/usr/lib/jvm/default/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/usr/lib/rustup/bin/" + - "/home/themiro/.spicetify/" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/" + - "/usr/local/lib/" + - "/usr/local/" + - "/usr/lib/" + - "/usr/" + - "/lib/" + - "/usr/X11R6/lib/" + - "/usr/X11R6/" + - "/usr/pkg/lib/" + - "/usr/pkg/" + - "/opt/lib/" + - "/opt/" + - "/usr/lib/X11/" + searched_directories: + - "/home/themiro/.local/bin/" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/" + - "/usr/local/sbin/" + - "/usr/local/bin/" + - "/usr/sbin/" + - "/usr/bin/" + - "/sbin/" + - "/bin/" + - "/var/lib/flatpak/exports/bin/" + - "/usr/lib/jvm/default/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/usr/lib/rustup/bin/" + - "/home/themiro/.spicetify/" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/" + - "/usr/local/lib/" + - "/usr/local/" + found: "/usr/lib/libGLESv2.so" + search_context: + ENV{PATH}: + - "/home/themiro/.local/bin" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin" + - "/usr/local/sbin" + - "/usr/local/bin" + - "/usr/sbin" + - "/usr/bin" + - "/sbin" + - "/bin" + - "/var/lib/flatpak/exports/bin" + - "/usr/lib/jvm/default/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/usr/lib/rustup/bin" + - "/home/themiro/.spicetify" + - "~/.local/bin" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin" + CMAKE_INSTALL_PREFIX: "/usr/local" + CMAKE_SYSTEM_PREFIX_PATH: + - "/usr/local" + - "/usr" + - "/" + - "/usr" + - "/usr/local" + - "/usr/X11R6" + - "/usr/pkg" + - "/opt" + CMAKE_SYSTEM_LIBRARY_PATH: + - "/usr/lib/X11" + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/FindOpenGL.cmake:460 (find_library)" + - "/usr/lib/cmake/Qt6/FindWrapOpenGL.cmake:13 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:36 (find_dependency)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiDependencies.cmake:37 (_qt_internal_find_third_party_dependencies)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiConfig.cmake:50 (include)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:142 (find_dependency)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsDependencies.cmake:50 (_qt_internal_find_qt_dependencies)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake:50 (include)" + - "/usr/lib/cmake/Qt6/Qt6Config.cmake:256 (find_package)" + - "CMakeLists.txt:7 (find_package)" + mode: "library" + variable: "OPENGL_gles3_LIBRARY" + description: "Path to a library." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: true + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "GLESv3" + - "GLESv2" + candidate_directories: + - "/home/themiro/.local/bin/" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/" + - "/usr/local/sbin/" + - "/usr/local/bin/" + - "/usr/sbin/" + - "/usr/bin/" + - "/sbin/" + - "/bin/" + - "/var/lib/flatpak/exports/bin/" + - "/usr/lib/jvm/default/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/usr/lib/rustup/bin/" + - "/home/themiro/.spicetify/" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/" + - "/usr/local/lib/" + - "/usr/local/" + - "/usr/lib/" + - "/usr/" + - "/lib/" + - "/usr/X11R6/lib/" + - "/usr/X11R6/" + - "/usr/pkg/lib/" + - "/usr/pkg/" + - "/opt/lib/" + - "/opt/" + - "/usr/lib/X11/" + searched_directories: + - "/home/themiro/.local/bin/" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/" + - "/usr/local/sbin/" + - "/usr/local/bin/" + - "/usr/sbin/" + - "/usr/bin/" + - "/sbin/" + - "/bin/" + - "/var/lib/flatpak/exports/bin/" + - "/usr/lib/jvm/default/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/usr/lib/rustup/bin/" + - "/home/themiro/.spicetify/" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/" + - "/usr/local/lib/" + - "/usr/local/" + - "/usr/lib/" + - "/usr/" + - "/lib/" + - "/usr/X11R6/lib/" + - "/usr/X11R6/" + - "/usr/pkg/lib/" + - "/usr/pkg/" + - "/opt/lib/" + - "/opt/" + - "/usr/lib/X11/" + - "/home/themiro/.local/bin/" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/" + - "/usr/local/sbin/" + - "/usr/local/bin/" + - "/usr/sbin/" + - "/usr/bin/" + - "/sbin/" + - "/bin/" + - "/var/lib/flatpak/exports/bin/" + - "/usr/lib/jvm/default/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/usr/lib/rustup/bin/" + - "/home/themiro/.spicetify/" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/" + - "/usr/local/lib/" + - "/usr/local/" + found: "/usr/lib/libGLESv2.so" + search_context: + ENV{PATH}: + - "/home/themiro/.local/bin" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin" + - "/usr/local/sbin" + - "/usr/local/bin" + - "/usr/sbin" + - "/usr/bin" + - "/sbin" + - "/bin" + - "/var/lib/flatpak/exports/bin" + - "/usr/lib/jvm/default/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/usr/lib/rustup/bin" + - "/home/themiro/.spicetify" + - "~/.local/bin" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin" + CMAKE_INSTALL_PREFIX: "/usr/local" + CMAKE_SYSTEM_PREFIX_PATH: + - "/usr/local" + - "/usr" + - "/" + - "/usr" + - "/usr/local" + - "/usr/X11R6" + - "/usr/pkg" + - "/opt" + CMAKE_SYSTEM_LIBRARY_PATH: + - "/usr/lib/X11" + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/FindOpenGL.cmake:466 (find_library)" + - "/usr/lib/cmake/Qt6/FindWrapOpenGL.cmake:13 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:36 (find_dependency)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiDependencies.cmake:37 (_qt_internal_find_third_party_dependencies)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiConfig.cmake:50 (include)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:142 (find_dependency)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsDependencies.cmake:50 (_qt_internal_find_qt_dependencies)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake:50 (include)" + - "/usr/lib/cmake/Qt6/Qt6Config.cmake:256 (find_package)" + - "CMakeLists.txt:7 (find_package)" + mode: "library" + variable: "OPENGL_glu_LIBRARY" + description: "Path to a library." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: true + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "GLU" + - "MesaGLU" + candidate_directories: + - "/home/themiro/.local/bin/" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/" + - "/usr/local/sbin/" + - "/usr/local/bin/" + - "/usr/sbin/" + - "/usr/bin/" + - "/sbin/" + - "/bin/" + - "/var/lib/flatpak/exports/bin/" + - "/usr/lib/jvm/default/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/usr/lib/rustup/bin/" + - "/home/themiro/.spicetify/" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/" + - "/usr/local/lib/" + - "/usr/local/" + - "/usr/lib/" + - "/usr/" + - "/lib/" + - "/usr/X11R6/lib/" + - "/usr/X11R6/" + - "/usr/pkg/lib/" + - "/usr/pkg/" + - "/opt/lib/" + - "/opt/" + - "/usr/lib/X11/" + - "/opt/graphics/OpenGL/lib/" + - "/usr/openwin/lib/" + - "/usr/shlib/" + searched_directories: + - "/home/themiro/.local/bin/" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/" + - "/usr/local/sbin/" + - "/usr/local/bin/" + - "/usr/sbin/" + - "/usr/bin/" + - "/sbin/" + - "/bin/" + - "/var/lib/flatpak/exports/bin/" + - "/usr/lib/jvm/default/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/usr/lib/rustup/bin/" + - "/home/themiro/.spicetify/" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/" + - "/usr/local/lib/" + - "/usr/local/" + found: "/usr/lib/libGLU.so" + search_context: + ENV{PATH}: + - "/home/themiro/.local/bin" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin" + - "/usr/local/sbin" + - "/usr/local/bin" + - "/usr/sbin" + - "/usr/bin" + - "/sbin" + - "/bin" + - "/var/lib/flatpak/exports/bin" + - "/usr/lib/jvm/default/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/usr/lib/rustup/bin" + - "/home/themiro/.spicetify" + - "~/.local/bin" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin" + CMAKE_INSTALL_PREFIX: "/usr/local" + CMAKE_SYSTEM_PREFIX_PATH: + - "/usr/local" + - "/usr" + - "/" + - "/usr" + - "/usr/local" + - "/usr/X11R6" + - "/usr/pkg" + - "/opt" + CMAKE_SYSTEM_LIBRARY_PATH: + - "/usr/lib/X11" + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/FindVulkan.cmake:409 (find_path)" + - "/usr/lib/cmake/Qt6/FindWrapVulkanHeaders.cmake:13 (find_package)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:34 (find_package)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiDependencies.cmake:37 (_qt_internal_find_third_party_dependencies)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiConfig.cmake:50 (include)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:142 (find_dependency)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsDependencies.cmake:50 (_qt_internal_find_qt_dependencies)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake:50 (include)" + - "/usr/lib/cmake/Qt6/Qt6Config.cmake:256 (find_package)" + - "CMakeLists.txt:7 (find_package)" + mode: "path" + variable: "Vulkan_INCLUDE_DIR" + description: "Path to a file." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: true + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "vulkan/vulkan.h" + candidate_directories: + - "/home/themiro/.local/bin/" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/" + - "/usr/local/sbin/" + - "/usr/local/bin/" + - "/usr/sbin/" + - "/usr/bin/" + - "/sbin/" + - "/bin/" + - "/var/lib/flatpak/exports/bin/" + - "/usr/lib/jvm/default/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/usr/lib/rustup/bin/" + - "/home/themiro/.spicetify/" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/" + - "/usr/local/include/" + - "/usr/local/" + - "/usr/include/" + - "/usr/" + - "/include/" + - "/usr/X11R6/include/" + - "/usr/X11R6/" + - "/usr/pkg/include/" + - "/usr/pkg/" + - "/opt/include/" + - "/opt/" + - "/usr/include/X11/" + searched_directories: + - "/home/themiro/.local/bin/vulkan/vulkan.h" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/vulkan/vulkan.h" + - "/usr/local/sbin/vulkan/vulkan.h" + - "/usr/local/bin/vulkan/vulkan.h" + - "/usr/sbin/vulkan/vulkan.h" + - "/usr/bin/vulkan/vulkan.h" + - "/sbin/vulkan/vulkan.h" + - "/bin/vulkan/vulkan.h" + - "/var/lib/flatpak/exports/bin/vulkan/vulkan.h" + - "/usr/lib/jvm/default/bin/vulkan/vulkan.h" + - "/usr/bin/site_perl/vulkan/vulkan.h" + - "/usr/bin/vendor_perl/vulkan/vulkan.h" + - "/usr/bin/core_perl/vulkan/vulkan.h" + - "/usr/lib/rustup/bin/vulkan/vulkan.h" + - "/home/themiro/.spicetify/vulkan/vulkan.h" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/vulkan/vulkan.h" + - "/usr/local/include/vulkan/vulkan.h" + - "/usr/local/vulkan/vulkan.h" + - "/usr/include/vulkan/vulkan.h" + - "/usr/vulkan/vulkan.h" + - "/include/vulkan/vulkan.h" + - "/usr/X11R6/include/vulkan/vulkan.h" + - "/usr/X11R6/vulkan/vulkan.h" + - "/usr/pkg/include/vulkan/vulkan.h" + - "/usr/pkg/vulkan/vulkan.h" + - "/opt/include/vulkan/vulkan.h" + - "/opt/vulkan/vulkan.h" + - "/usr/include/X11/vulkan/vulkan.h" + found: false + search_context: + ENV{PATH}: + - "/home/themiro/.local/bin" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin" + - "/usr/local/sbin" + - "/usr/local/bin" + - "/usr/sbin" + - "/usr/bin" + - "/sbin" + - "/bin" + - "/var/lib/flatpak/exports/bin" + - "/usr/lib/jvm/default/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/usr/lib/rustup/bin" + - "/home/themiro/.spicetify" + - "~/.local/bin" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin" + CMAKE_INSTALL_PREFIX: "/usr/local" + CMAKE_SYSTEM_PREFIX_PATH: + - "/usr/local" + - "/usr" + - "/" + - "/usr" + - "/usr/local" + - "/usr/X11R6" + - "/usr/pkg" + - "/opt" + CMAKE_SYSTEM_INCLUDE_PATH: + - "/usr/include/X11" + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/FindVulkan.cmake:416 (find_library)" + - "/usr/lib/cmake/Qt6/FindWrapVulkanHeaders.cmake:13 (find_package)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:34 (find_package)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiDependencies.cmake:37 (_qt_internal_find_third_party_dependencies)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiConfig.cmake:50 (include)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:142 (find_dependency)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsDependencies.cmake:50 (_qt_internal_find_qt_dependencies)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake:50 (include)" + - "/usr/lib/cmake/Qt6/Qt6Config.cmake:256 (find_package)" + - "CMakeLists.txt:7 (find_package)" + mode: "library" + variable: "Vulkan_LIBRARY" + description: "Path to a library." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: true + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "vulkan" + candidate_directories: + - "/home/themiro/.local/bin/" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/" + - "/usr/local/sbin/" + - "/usr/local/bin/" + - "/usr/sbin/" + - "/usr/bin/" + - "/sbin/" + - "/bin/" + - "/var/lib/flatpak/exports/bin/" + - "/usr/lib/jvm/default/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/usr/lib/rustup/bin/" + - "/home/themiro/.spicetify/" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/" + - "/usr/local/lib/" + - "/usr/local/" + - "/usr/lib/" + - "/usr/" + - "/lib/" + - "/usr/X11R6/lib/" + - "/usr/X11R6/" + - "/usr/pkg/lib/" + - "/usr/pkg/" + - "/opt/lib/" + - "/opt/" + - "/usr/lib/X11/" + searched_directories: + - "/home/themiro/.local/bin/" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/" + - "/usr/local/sbin/" + - "/usr/local/bin/" + - "/usr/sbin/" + - "/usr/bin/" + - "/sbin/" + - "/bin/" + - "/var/lib/flatpak/exports/bin/" + - "/usr/lib/jvm/default/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/usr/lib/rustup/bin/" + - "/home/themiro/.spicetify/" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/" + - "/usr/local/lib/" + - "/usr/local/" + found: "/usr/lib/libvulkan.so" + search_context: + ENV{PATH}: + - "/home/themiro/.local/bin" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin" + - "/usr/local/sbin" + - "/usr/local/bin" + - "/usr/sbin" + - "/usr/bin" + - "/sbin" + - "/bin" + - "/var/lib/flatpak/exports/bin" + - "/usr/lib/jvm/default/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/usr/lib/rustup/bin" + - "/home/themiro/.spicetify" + - "~/.local/bin" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin" + CMAKE_INSTALL_PREFIX: "/usr/local" + CMAKE_SYSTEM_PREFIX_PATH: + - "/usr/local" + - "/usr" + - "/" + - "/usr" + - "/usr/local" + - "/usr/X11R6" + - "/usr/pkg" + - "/opt" + CMAKE_SYSTEM_LIBRARY_PATH: + - "/usr/lib/X11" + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/FindVulkan.cmake:424 (find_program)" + - "/usr/lib/cmake/Qt6/FindWrapVulkanHeaders.cmake:13 (find_package)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:34 (find_package)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiDependencies.cmake:37 (_qt_internal_find_third_party_dependencies)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiConfig.cmake:50 (include)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:142 (find_dependency)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsDependencies.cmake:50 (_qt_internal_find_qt_dependencies)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake:50 (include)" + - "/usr/lib/cmake/Qt6/Qt6Config.cmake:256 (find_package)" + - "CMakeLists.txt:7 (find_package)" + mode: "program" + variable: "Vulkan_GLSLC_EXECUTABLE" + description: "Path to a program." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: true + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "glslc" + candidate_directories: + - "/home/themiro/.local/bin/" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/" + - "/usr/local/sbin/" + - "/usr/local/bin/" + - "/usr/sbin/" + - "/usr/bin/" + - "/sbin/" + - "/bin/" + - "/var/lib/flatpak/exports/bin/" + - "/usr/lib/jvm/default/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/usr/lib/rustup/bin/" + - "/home/themiro/.spicetify/" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/" + - "/usr/local/bin/" + - "/usr/local/sbin/" + - "/usr/local/" + - "/usr/bin/" + - "/usr/sbin/" + - "/usr/" + - "/bin/" + - "/sbin/" + - "/usr/X11R6/bin/" + - "/usr/X11R6/sbin/" + - "/usr/X11R6/" + - "/usr/pkg/bin/" + - "/usr/pkg/sbin/" + - "/usr/pkg/" + - "/opt/bin/" + - "/opt/sbin/" + - "/opt/" + searched_directories: + - "/home/themiro/.local/bin/glslc" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/glslc" + - "/usr/local/sbin/glslc" + - "/usr/local/bin/glslc" + found: "/usr/sbin/glslc" + search_context: + ENV{PATH}: + - "/home/themiro/.local/bin" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin" + - "/usr/local/sbin" + - "/usr/local/bin" + - "/usr/sbin" + - "/usr/bin" + - "/sbin" + - "/bin" + - "/var/lib/flatpak/exports/bin" + - "/usr/lib/jvm/default/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/usr/lib/rustup/bin" + - "/home/themiro/.spicetify" + - "~/.local/bin" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin" + CMAKE_INSTALL_PREFIX: "/usr/local" + CMAKE_SYSTEM_PREFIX_PATH: + - "/usr/local" + - "/usr" + - "/" + - "/usr" + - "/usr/local" + - "/usr/X11R6" + - "/usr/pkg" + - "/opt" + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/FindVulkan.cmake:432 (find_program)" + - "/usr/lib/cmake/Qt6/FindWrapVulkanHeaders.cmake:13 (find_package)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:34 (find_package)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiDependencies.cmake:37 (_qt_internal_find_third_party_dependencies)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiConfig.cmake:50 (include)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:142 (find_dependency)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsDependencies.cmake:50 (_qt_internal_find_qt_dependencies)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake:50 (include)" + - "/usr/lib/cmake/Qt6/Qt6Config.cmake:256 (find_package)" + - "CMakeLists.txt:7 (find_package)" + mode: "program" + variable: "Vulkan_GLSLANG_VALIDATOR_EXECUTABLE" + description: "Path to a program." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: true + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "glslangValidator" + candidate_directories: + - "/home/themiro/.local/bin/" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/" + - "/usr/local/sbin/" + - "/usr/local/bin/" + - "/usr/sbin/" + - "/usr/bin/" + - "/sbin/" + - "/bin/" + - "/var/lib/flatpak/exports/bin/" + - "/usr/lib/jvm/default/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/usr/lib/rustup/bin/" + - "/home/themiro/.spicetify/" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin/" + - "/usr/local/bin/" + - "/usr/local/sbin/" + - "/usr/local/" + - "/usr/bin/" + - "/usr/sbin/" + - "/usr/" + - "/bin/" + - "/sbin/" + - "/usr/X11R6/bin/" + - "/usr/X11R6/sbin/" + - "/usr/X11R6/" + - "/usr/pkg/bin/" + - "/usr/pkg/sbin/" + - "/usr/pkg/" + - "/opt/bin/" + - "/opt/sbin/" + - "/opt/" + searched_directories: + - "/home/themiro/.local/bin/glslangValidator" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin/glslangValidator" + - "/usr/local/sbin/glslangValidator" + - "/usr/local/bin/glslangValidator" + found: "/usr/sbin/glslangValidator" + search_context: + ENV{PATH}: + - "/home/themiro/.local/bin" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin" + - "/usr/local/sbin" + - "/usr/local/bin" + - "/usr/sbin" + - "/usr/bin" + - "/sbin" + - "/bin" + - "/var/lib/flatpak/exports/bin" + - "/usr/lib/jvm/default/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/usr/lib/rustup/bin" + - "/home/themiro/.spicetify" + - "~/.local/bin" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin" + CMAKE_INSTALL_PREFIX: "/usr/local" + CMAKE_SYSTEM_PREFIX_PATH: + - "/usr/local" + - "/usr" + - "/" + - "/usr" + - "/usr/local" + - "/usr/X11R6" + - "/usr/pkg" + - "/opt" + - + kind: "find_package-v1" + backtrace: + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:100 (find_package)" + - "/usr/lib/cmake/Qt6DBus/Qt6DBusDependencies.cmake:42 (_qt_internal_find_tool_dependencies)" + - "/usr/lib/cmake/Qt6DBus/Qt6DBusConfig.cmake:50 (include)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:142 (find_dependency)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiDependencies.cmake:52 (_qt_internal_find_qt_dependencies)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiConfig.cmake:50 (include)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:142 (find_dependency)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsDependencies.cmake:50 (_qt_internal_find_qt_dependencies)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake:50 (include)" + - "/usr/lib/cmake/Qt6/Qt6Config.cmake:256 (find_package)" + - "CMakeLists.txt:7 (find_package)" + name: "Qt6DBusTools" + configs: + - + filename: "Qt6DBusTools.cps" + kind: "cps" + - + filename: "qt6dbustools.cps" + kind: "cps" + - + filename: "Qt6DBusToolsConfig.cmake" + kind: "cmake" + - + filename: "qt6dbustools-config.cmake" + kind: "cmake" + version_request: + version: "6.11.0" + version_complete: "6.11.0" + exact: false + settings: + required: "optional" + quiet: false + global: false + policy_scope: true + bypass_provider: false + names: + - "Qt6DBusTools" + search_paths: + - "/usr/lib/cmake/Qt6DBus/.." + - "/usr/lib/cmake" + path_suffixes: + - "" + paths: + CMAKE_FIND_USE_CMAKE_PATH: true + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + CMAKE_FIND_USE_PACKAGE_ROOT_PATH: true + CMAKE_FIND_USE_CMAKE_PACKAGE_REGISTRY: true + CMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY: true + CMAKE_FIND_ROOT_PATH_MODE: "BOTH" + candidates: + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/Qt6DBusToolsConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/qt6dbustools-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/lib/cps/Qt6DBusTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/lib/cps/qt6dbustools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/share/cps/Qt6DBusTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/share/cps/qt6dbustools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.local/Qt6DBusToolsConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/.local/qt6dbustools-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/.local/lib/cps/Qt6DBusTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.local/lib/cps/qt6dbustools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.local/share/cps/Qt6DBusTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.local/share/cps/qt6dbustools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.nvm/versions/node/v22.21.1/Qt6DBusToolsConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/.nvm/versions/node/v22.21.1/qt6dbustools-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/.nvm/versions/node/v22.21.1/lib/cps/Qt6DBusTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.nvm/versions/node/v22.21.1/lib/cps/qt6dbustools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.nvm/versions/node/v22.21.1/share/cps/Qt6DBusTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.nvm/versions/node/v22.21.1/share/cps/qt6dbustools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/local/Qt6DBusToolsConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/local/qt6dbustools-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/local/lib/cps/Qt6DBusTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/local/lib/cps/qt6dbustools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/local/share/cps/Qt6DBusTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/local/share/cps/qt6dbustools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/Qt6DBusToolsConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/qt6dbustools-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cps/Qt6DBusTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/lib/cps/qt6dbustools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/share/cps/Qt6DBusTools.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/share/cps/qt6dbustools.cps" + mode: "cps" + reason: "no_exist" + found: + path: "/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsConfig.cmake" + mode: "config" + version: "6.11.0" + search_context: + ENV{PATH}: + - "/home/themiro/.local/bin" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin" + - "/usr/local/sbin" + - "/usr/local/bin" + - "/usr/sbin" + - "/usr/bin" + - "/sbin" + - "/bin" + - "/var/lib/flatpak/exports/bin" + - "/usr/lib/jvm/default/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/usr/lib/rustup/bin" + - "/home/themiro/.spicetify" + - "~/.local/bin" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin" + CMAKE_INSTALL_PREFIX: "/usr/local" + CMAKE_SYSTEM_PREFIX_PATH: + - "/usr/local" + - "/usr" + - "/" + - "/usr" + - "/usr/local" + - "/usr/X11R6" + - "/usr/pkg" + - "/opt" + - + kind: "find_package-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:142 (find_dependency)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiDependencies.cmake:52 (_qt_internal_find_qt_dependencies)" + - "/usr/lib/cmake/Qt6Gui/Qt6GuiConfig.cmake:50 (include)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:142 (find_dependency)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsDependencies.cmake:50 (_qt_internal_find_qt_dependencies)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake:50 (include)" + - "/usr/lib/cmake/Qt6/Qt6Config.cmake:256 (find_package)" + - "CMakeLists.txt:7 (find_package)" + name: "Qt6DBus" + configs: + - + filename: "Qt6DBus.cps" + kind: "cps" + - + filename: "qt6dbus.cps" + kind: "cps" + - + filename: "Qt6DBusConfig.cmake" + kind: "cmake" + - + filename: "qt6dbus-config.cmake" + kind: "cmake" + version_request: + version: "6.11.0" + version_complete: "6.11.0" + exact: false + settings: + required: "optional" + quiet: false + global: false + policy_scope: true + bypass_provider: false + names: + - "Qt6DBus" + search_paths: + - "/usr/lib/cmake/Qt6Gui/.." + - "/usr/lib/cmake" + path_suffixes: + - "" + paths: + CMAKE_FIND_USE_CMAKE_PATH: false + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + CMAKE_FIND_USE_PACKAGE_ROOT_PATH: true + CMAKE_FIND_USE_CMAKE_PACKAGE_REGISTRY: true + CMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY: true + CMAKE_FIND_ROOT_PATH_MODE: "BOTH" + candidates: + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/Qt6DBusConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/qt6dbus-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/lib/cps/Qt6DBus.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/lib/cps/qt6dbus.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/share/cps/Qt6DBus.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/share/cps/qt6dbus.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6DBusConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/qt6dbus-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6DBusTools/Qt6DBusConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6DBusTools/qt6dbus-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6DBusPrivate/Qt6DBusConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6DBusPrivate/qt6dbus-config.cmake" + mode: "config" + reason: "no_exist" + found: + path: "/usr/lib/cmake/Qt6DBus/Qt6DBusConfig.cmake" + mode: "config" + version: "6.11.0" + search_context: + ENV{PATH}: + - "/home/themiro/.local/bin" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin" + - "/usr/local/sbin" + - "/usr/local/bin" + - "/usr/sbin" + - "/usr/bin" + - "/sbin" + - "/bin" + - "/var/lib/flatpak/exports/bin" + - "/usr/lib/jvm/default/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/usr/lib/rustup/bin" + - "/home/themiro/.spicetify" + - "~/.local/bin" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin" + CMAKE_INSTALL_PREFIX: "/usr/local" + CMAKE_SYSTEM_PREFIX_PATH: + - "/usr/local" + - "/usr" + - "/" + - "/usr" + - "/usr/local" + - "/usr/X11R6" + - "/usr/pkg" + - "/opt" + - + kind: "find_package-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:93 (find_package)" + - "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:125 (__find_dependency_common)" + - "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:142 (find_dependency)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsDependencies.cmake:50 (_qt_internal_find_qt_dependencies)" + - "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake:50 (include)" + - "/usr/lib/cmake/Qt6/Qt6Config.cmake:256 (find_package)" + - "CMakeLists.txt:7 (find_package)" + name: "Qt6Gui" + configs: + - + filename: "Qt6Gui.cps" + kind: "cps" + - + filename: "qt6gui.cps" + kind: "cps" + - + filename: "Qt6GuiConfig.cmake" + kind: "cmake" + - + filename: "qt6gui-config.cmake" + kind: "cmake" + version_request: + version: "6.11.0" + version_complete: "6.11.0" + exact: false + settings: + required: "optional" + quiet: false + global: false + policy_scope: true + bypass_provider: false + names: + - "Qt6Gui" + search_paths: + - "/usr/lib/cmake/Qt6Widgets/.." + - "/usr/lib/cmake" + path_suffixes: + - "" + paths: + CMAKE_FIND_USE_CMAKE_PATH: false + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + CMAKE_FIND_USE_PACKAGE_ROOT_PATH: true + CMAKE_FIND_USE_CMAKE_PACKAGE_REGISTRY: true + CMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY: true + CMAKE_FIND_ROOT_PATH_MODE: "BOTH" + candidates: + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/Qt6GuiConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/qt6gui-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/lib/cps/Qt6Gui.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/lib/cps/qt6gui.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/share/cps/Qt6Gui.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/share/cps/qt6gui.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6GuiConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/qt6gui-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6GuiTools/Qt6GuiConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6GuiTools/qt6gui-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6GuiPrivate/Qt6GuiConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6GuiPrivate/qt6gui-config.cmake" + mode: "config" + reason: "no_exist" + found: + path: "/usr/lib/cmake/Qt6Gui/Qt6GuiConfig.cmake" + mode: "config" + version: "6.11.0" + search_context: + ENV{PATH}: + - "/home/themiro/.local/bin" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin" + - "/usr/local/sbin" + - "/usr/local/bin" + - "/usr/sbin" + - "/usr/bin" + - "/sbin" + - "/bin" + - "/var/lib/flatpak/exports/bin" + - "/usr/lib/jvm/default/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/usr/lib/rustup/bin" + - "/home/themiro/.spicetify" + - "~/.local/bin" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin" + CMAKE_INSTALL_PREFIX: "/usr/local" + CMAKE_SYSTEM_PREFIX_PATH: + - "/usr/local" + - "/usr" + - "/" + - "/usr" + - "/usr/local" + - "/usr/X11R6" + - "/usr/pkg" + - "/opt" + - + kind: "find_package-v1" + backtrace: + - "/usr/lib/cmake/Qt6/Qt6Config.cmake:256 (find_package)" + - "CMakeLists.txt:7 (find_package)" + name: "Qt6Widgets" + configs: + - + filename: "Qt6Widgets.cps" + kind: "cps" + - + filename: "qt6widgets.cps" + kind: "cps" + - + filename: "Qt6WidgetsConfig.cmake" + kind: "cmake" + - + filename: "qt6widgets-config.cmake" + kind: "cmake" + version_request: + exact: false + settings: + required: "optional" + quiet: false + global: false + policy_scope: true + bypass_provider: false + names: + - "Qt6Widgets" + search_paths: + - "/usr/lib/cmake" + path_suffixes: + - "" + paths: + CMAKE_FIND_USE_CMAKE_PATH: false + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + CMAKE_FIND_USE_PACKAGE_ROOT_PATH: true + CMAKE_FIND_USE_CMAKE_PACKAGE_REGISTRY: true + CMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY: true + CMAKE_FIND_ROOT_PATH_MODE: "BOTH" + candidates: + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/Qt6WidgetsConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/qt6widgets-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/lib/cps/Qt6Widgets.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/lib/cps/qt6widgets.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/share/cps/Qt6Widgets.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/share/cps/qt6widgets.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WidgetsConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/qt6widgets-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WidgetsTools/qt6widgets-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WidgetsPrivate/Qt6WidgetsConfig.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WidgetsPrivate/qt6widgets-config.cmake" + mode: "config" + reason: "no_exist" + found: + path: "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake" + mode: "config" + version: "6.11.0" + search_context: + ENV{PATH}: + - "/home/themiro/.local/bin" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin" + - "/usr/local/sbin" + - "/usr/local/bin" + - "/usr/sbin" + - "/usr/bin" + - "/sbin" + - "/bin" + - "/var/lib/flatpak/exports/bin" + - "/usr/lib/jvm/default/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/usr/lib/rustup/bin" + - "/home/themiro/.spicetify" + - "~/.local/bin" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin" + CMAKE_INSTALL_PREFIX: "/usr/local" + CMAKE_SYSTEM_PREFIX_PATH: + - "/usr/local" + - "/usr" + - "/" + - "/usr" + - "/usr/local" + - "/usr/X11R6" + - "/usr/pkg" + - "/opt" + - + kind: "find_package-v1" + backtrace: + - "CMakeLists.txt:7 (find_package)" + name: "Qt6" + components: + - + name: "Widgets" + required: true + found: false + configs: + - + filename: "Qt6.cps" + kind: "cps" + - + filename: "qt6.cps" + kind: "cps" + - + filename: "Qt6Config.cmake" + kind: "cmake" + - + filename: "qt6-config.cmake" + kind: "cmake" + version_request: + exact: false + settings: + required: "required_explicit" + quiet: false + global: false + policy_scope: true + bypass_provider: false + names: + - "Qt6" + path_suffixes: + - "" + paths: + CMAKE_FIND_USE_CMAKE_PATH: true + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + CMAKE_FIND_USE_PACKAGE_ROOT_PATH: true + CMAKE_FIND_USE_CMAKE_PACKAGE_REGISTRY: true + CMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY: true + CMAKE_FIND_ROOT_PATH_MODE: "BOTH" + candidates: + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/lib/cps/Qt6.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/lib/cps/qt6.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/share/cps/Qt6.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/pkgRedirects/share/cps/qt6.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.local/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/.local/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/.local/lib/cps/Qt6.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.local/lib/cps/qt6.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.local/share/cps/Qt6.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.local/share/cps/qt6.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.nvm/versions/node/v22.21.1/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/.nvm/versions/node/v22.21.1/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/home/themiro/.nvm/versions/node/v22.21.1/lib/cps/Qt6.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.nvm/versions/node/v22.21.1/lib/cps/qt6.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.nvm/versions/node/v22.21.1/share/cps/Qt6.cps" + mode: "cps" + reason: "no_exist" + - + path: "/home/themiro/.nvm/versions/node/v22.21.1/share/cps/qt6.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/local/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/local/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/local/lib/cps/Qt6.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/local/lib/cps/qt6.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/local/share/cps/Qt6.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/local/share/cps/qt6.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cps/Qt6.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/lib/cps/qt6.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/share/cps/Qt6.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/share/cps/qt6.cps" + mode: "cps" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6XmlPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6XmlPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Xml/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Xml/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6XcbQpaPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6XcbQpaPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WlShellIntegrationPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WlShellIntegrationPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WidgetsTools/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WidgetsTools/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WidgetsPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WidgetsPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Widgets/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Widgets/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WebSocketsPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WebSocketsPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WebSockets/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WebSockets/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WebEngineWidgetsPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WebEngineWidgetsPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WebEngineWidgets/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WebEngineWidgets/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WebEngineQuickPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WebEngineQuickPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WebEngineQuickDelegatesQml/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WebEngineQuickDelegatesQml/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WebEngineQuick/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WebEngineQuick/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WebEngineCoreTools/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WebEngineCoreTools/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WebEngineCorePrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WebEngineCorePrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WebEngineCore/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WebEngineCore/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WebChannelQuickPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WebChannelQuickPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WebChannelQuick/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WebChannelQuick/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WebChannelPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WebChannelPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WebChannel/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WebChannel/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WaylandScannerTools/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WaylandScannerTools/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WaylandGlobalPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WaylandGlobalPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WaylandEglCompositorHwIntegrationPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WaylandEglCompositorHwIntegrationPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WaylandCompositorXdgShellPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WaylandCompositorXdgShellPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WaylandCompositorXdgShell/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WaylandCompositorXdgShell/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WaylandCompositorWLShellPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WaylandCompositorWLShellPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WaylandCompositorWLShell/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WaylandCompositorWLShell/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WaylandCompositorPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WaylandCompositorPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WaylandCompositorPresentationTimePrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WaylandCompositorPresentationTimePrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WaylandCompositorPresentationTime/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WaylandCompositorPresentationTime/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WaylandCompositorIviapplicationPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WaylandCompositorIviapplicationPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WaylandCompositorIviapplication/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WaylandCompositorIviapplication/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WaylandCompositor/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WaylandCompositor/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WaylandClientPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WaylandClientPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WaylandClientFeaturesPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WaylandClientFeaturesPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WaylandClient/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6WaylandClient/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6TestPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6TestPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6TestInternalsPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6TestInternalsPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Test/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Test/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6SvgWidgets/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6SvgWidgets/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6SvgPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6SvgPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Svg/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Svg/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6SqlPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6SqlPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Sql/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Sql/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6SpatialAudioPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6SpatialAudioPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6SpatialAudio/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6SpatialAudio/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6ShaderToolsTools/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6ShaderToolsTools/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6ShaderToolsPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6ShaderToolsPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6ShaderTools/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6ShaderTools/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickWidgetsPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickWidgetsPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickWidgets/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickWidgets/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickVectorImagePrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickVectorImagePrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickVectorImageHelpersPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickVectorImageHelpersPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickVectorImageHelpers/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickVectorImageHelpers/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickVectorImageGeneratorPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickVectorImageGeneratorPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickVectorImage/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickVectorImage/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickTools/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickTools/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickTestUtilsPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickTestUtilsPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickTestPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickTestPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickTest/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickTest/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickTemplates2Private/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickTemplates2Private/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickTemplates2/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickTemplates2/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickShapesPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickShapesPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickShapesDesignHelpersPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickShapesDesignHelpersPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickShapes/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickShapes/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickParticlesPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickParticlesPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickLayoutsPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickLayoutsPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickLayouts/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickLayouts/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickEffectsPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickEffectsPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickEffects/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickEffects/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickDialogs2UtilsPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickDialogs2UtilsPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickDialogs2Utils/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickDialogs2Utils/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickDialogs2QuickImplPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickDialogs2QuickImplPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickDialogs2QuickImpl/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickDialogs2QuickImpl/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickDialogs2Private/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickDialogs2Private/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickDialogs2/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickDialogs2/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControlsTestUtilsPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControlsTestUtilsPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2UniversalStyleImplPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2UniversalStyleImplPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2UniversalStyleImpl/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2UniversalStyleImpl/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2UniversalPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2UniversalPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2Universal/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2Universal/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2Private/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2Private/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2MaterialStyleImplPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2MaterialStyleImplPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2MaterialStyleImpl/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2MaterialStyleImpl/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2MaterialPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2MaterialPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2Material/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2Material/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2ImplPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2ImplPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2Impl/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2Impl/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2ImagineStyleImpl/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2ImagineStyleImpl/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2ImaginePrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2ImaginePrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2Imagine/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2Imagine/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2FusionStyleImplPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2FusionStyleImplPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2FusionStyleImpl/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2FusionStyleImpl/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2FusionPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2FusionPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2Fusion/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2Fusion/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2FluentWinUI3StyleImplPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2FluentWinUI3StyleImplPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2FluentWinUI3StyleImpl/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2FluentWinUI3StyleImpl/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2BasicStyleImplPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2BasicStyleImplPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2BasicStyleImpl/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2BasicStyleImpl/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2BasicPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2BasicPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2Basic/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2Basic/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QuickControls2/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Quick3DSpatialAudioPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Quick3DSpatialAudioPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Quick/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Quick/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlXmlListModelPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlXmlListModelPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlXmlListModel/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlXmlListModel/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlWorkerScriptPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlWorkerScriptPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlWorkerScript/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlWorkerScript/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlTypeRegistrarPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlTypeRegistrarPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlTools/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlTools/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlToolingSettingsPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlToolingSettingsPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlNetworkPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlNetworkPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlNetwork/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlNetwork/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlModelsPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlModelsPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlModels/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlModels/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlMetaPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlMetaPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlMeta/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlMeta/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlLocalStoragePrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlLocalStoragePrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlLocalStorage/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlLocalStorage/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlLSPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlLSPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlIntegration/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlIntegration/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlImportScanner/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlImportScanner/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlFormatPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlFormatPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlDomPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlDomPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlDebugPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlDebugPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlCorePrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlCorePrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlCore/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlCore/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlCompilerPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlCompilerPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlCompiler/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6QmlCompiler/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Qml/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Qml/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6PrintSupportPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6PrintSupportPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6PrintSupport/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6PrintSupport/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6PositioningQuickPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6PositioningQuickPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6PositioningQuick/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6PositioningQuick/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6PositioningPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6PositioningPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Positioning/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Positioning/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6PdfWidgetsPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6PdfWidgetsPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6PdfWidgets/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6PdfWidgets/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6PdfQuickPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6PdfQuickPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6PdfQuick/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6PdfQuick/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6PdfPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6PdfPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Pdf/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Pdf/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6PacketProtocolPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6PacketProtocolPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6OpenGLWidgets/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6OpenGLWidgets/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6OpenGLPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6OpenGLPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6OpenGL/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6OpenGL/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6NetworkPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6NetworkPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6NetworkAuthPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6NetworkAuthPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6NetworkAuth/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6NetworkAuth/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Network/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Network/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6MultimediaWidgetsPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6MultimediaWidgetsPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6MultimediaWidgets/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6MultimediaWidgets/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6MultimediaTestLibPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6MultimediaTestLibPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6MultimediaQuickPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6MultimediaQuickPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6MultimediaPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6MultimediaPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Multimedia/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Multimedia/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsWavefrontMeshPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsWavefrontMeshPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsWavefrontMesh/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsWavefrontMesh/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsSynchronizerPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsSynchronizerPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsSynchronizer/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsSynchronizer/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsStyleKitPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsStyleKitPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsStyleKitImplPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsStyleKitImplPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsStyleKitImpl/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsStyleKitImpl/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsStyleKit/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsStyleKit/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsSharedImagePrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsSharedImagePrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsSharedImage/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsSharedImage/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsSettingsPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsSettingsPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsSettings/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsSettings/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsQmlModelsPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsQmlModelsPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsQmlModels/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsQmlModels/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsPlatformPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsPlatformPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsPlatform/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsPlatform/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsFolderListModelPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsFolderListModelPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsFolderListModel/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsFolderListModel/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsAnimationPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsAnimationPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsAnimation/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6LabsAnimation/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6KmsSupportPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6KmsSupportPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Keychain/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Keychain/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6InputSupportPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6InputSupportPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6HostInfo/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6HostInfo/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6GuiTools/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6GuiTools/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6GuiPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6GuiPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Gui/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Gui/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6FbSupportPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6FbSupportPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6FFmpegMediaPluginImplPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6FFmpegMediaPluginImplPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6EglFsKmsSupportPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6EglFsKmsSupportPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6EglFsKmsGbmSupportPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6EglFsKmsGbmSupportPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6EglFSDeviceIntegrationPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6EglFSDeviceIntegrationPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6DeviceDiscoverySupportPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6DeviceDiscoverySupportPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Designer/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Designer/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6DBusTools/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6DBusTools/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6DBusPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6DBusPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6DBus/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6DBus/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6CoreTools/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6CoreTools/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6CorePrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6CorePrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Core5CompatPrivate/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Core5CompatPrivate/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Core5Compat/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Core5Compat/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Core/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Core/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Concurrent/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6Concurrent/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6BundledResonanceAudio/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6BundledResonanceAudio/qt6-config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6BuildInternals/Qt6Config.cmake" + mode: "config" + reason: "no_exist" + - + path: "/usr/lib/cmake/Qt6BuildInternals/qt6-config.cmake" + mode: "config" + reason: "no_exist" + found: + path: "/usr/lib/cmake/Qt6/Qt6Config.cmake" + mode: "config" + version: "6.11.0" + search_context: + ENV{PATH}: + - "/home/themiro/.local/bin" + - "/home/themiro/.nvm/versions/node/v22.21.1/bin" + - "/usr/local/sbin" + - "/usr/local/bin" + - "/usr/sbin" + - "/usr/bin" + - "/sbin" + - "/bin" + - "/var/lib/flatpak/exports/bin" + - "/usr/lib/jvm/default/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/usr/lib/rustup/bin" + - "/home/themiro/.spicetify" + - "~/.local/bin" + - "/home/themiro/.claude/plugins/cache/claude-plugins-official/lua-lsp/1.0.0/bin" + CMAKE_INSTALL_PREFIX: "/usr/local" + CMAKE_SYSTEM_PREFIX_PATH: + - "/usr/local" + - "/usr" + - "/" + - "/usr" + - "/usr/local" + - "/usr/X11R6" + - "/usr/pkg" + - "/opt" + CMAKE_MODULE_PATH: + - "/usr/lib/cmake/Qt6" + - "/usr/lib/cmake/Qt6/3rdparty/extra-cmake-modules/find-modules" + - "/usr/lib/cmake/Qt6/3rdparty/kwin" +... diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/CMakeDirectoryInformation.cmake b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..923a683 --- /dev/null +++ b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 4.3 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build") + +# Force unix paths in dependencies. +set(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/CMakeRuleHashes.txt b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/CMakeRuleHashes.txt new file mode 100644 index 0000000..b594a74 --- /dev/null +++ b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/CMakeRuleHashes.txt @@ -0,0 +1,3 @@ +# Hashes of file build rules. +66463d73e2b1545c81bf69d06b66018f CMakeFiles/cyberqueer_autogen +98591a2567dcfce7488d54548f48b55e cyberqueer_autogen/timestamp diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/InstallScripts.json b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/InstallScripts.json new file mode 100644 index 0000000..106bbe4 --- /dev/null +++ b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/InstallScripts.json @@ -0,0 +1,7 @@ +{ + "InstallScripts" : + [ + "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/cmake_install.cmake" + ], + "Parallel" : false +} diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/Makefile.cmake b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/Makefile.cmake new file mode 100644 index 0000000..ff3784d --- /dev/null +++ b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/Makefile.cmake @@ -0,0 +1,460 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 4.3 + +# The generator used is: +set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") + +# The top level Makefile was generated from the following files: +set(CMAKE_MAKEFILE_DEPENDS + "CMakeCache.txt" + "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/CMakeLists.txt" + "CMakeFiles/4.3.2/CMakeCCompiler.cmake" + "CMakeFiles/4.3.2/CMakeCXXCompiler.cmake" + "CMakeFiles/4.3.2/CMakeSystem.cmake" + "/usr/lib/cmake/Qt6/FindWrapAtomic.cmake" + "/usr/lib/cmake/Qt6/FindWrapOpenGL.cmake" + "/usr/lib/cmake/Qt6/FindWrapVulkanHeaders.cmake" + "/usr/lib/cmake/Qt6/Qt6Config.cmake" + "/usr/lib/cmake/Qt6/Qt6ConfigExtras.cmake" + "/usr/lib/cmake/Qt6/Qt6ConfigVersion.cmake" + "/usr/lib/cmake/Qt6/Qt6ConfigVersionImpl.cmake" + "/usr/lib/cmake/Qt6/Qt6Dependencies.cmake" + "/usr/lib/cmake/Qt6/Qt6Targets.cmake" + "/usr/lib/cmake/Qt6/Qt6TargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6/Qt6VersionlessAliasTargets.cmake" + "/usr/lib/cmake/Qt6/QtFeature.cmake" + "/usr/lib/cmake/Qt6/QtFeatureCommon.cmake" + "/usr/lib/cmake/Qt6/QtInstallPaths.cmake" + "/usr/lib/cmake/Qt6/QtPublicAndroidHelpers.cmake" + "/usr/lib/cmake/Qt6/QtPublicAppleHelpers.cmake" + "/usr/lib/cmake/Qt6/QtPublicCMakeEarlyPolicyHelpers.cmake" + "/usr/lib/cmake/Qt6/QtPublicCMakeHelpers.cmake" + "/usr/lib/cmake/Qt6/QtPublicCMakeVersionHelpers.cmake" + "/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake" + "/usr/lib/cmake/Qt6/QtPublicExternalProjectHelpers.cmake" + "/usr/lib/cmake/Qt6/QtPublicFinalizerHelpers.cmake" + "/usr/lib/cmake/Qt6/QtPublicFindPackageHelpers.cmake" + "/usr/lib/cmake/Qt6/QtPublicGitHelpers.cmake" + "/usr/lib/cmake/Qt6/QtPublicPluginHelpers.cmake" + "/usr/lib/cmake/Qt6/QtPublicPluginHelpers_v2.cmake" + "/usr/lib/cmake/Qt6/QtPublicSbomAttributionHelpers.cmake" + "/usr/lib/cmake/Qt6/QtPublicSbomCommonGenerationHelpers.cmake" + "/usr/lib/cmake/Qt6/QtPublicSbomCpeHelpers.cmake" + "/usr/lib/cmake/Qt6/QtPublicSbomCycloneDXHelpers.cmake" + "/usr/lib/cmake/Qt6/QtPublicSbomDepHelpers.cmake" + "/usr/lib/cmake/Qt6/QtPublicSbomDocumentNamespaceHelpers.cmake" + "/usr/lib/cmake/Qt6/QtPublicSbomFileHelpers.cmake" + "/usr/lib/cmake/Qt6/QtPublicSbomGenerationCycloneDXHelpers.cmake" + "/usr/lib/cmake/Qt6/QtPublicSbomGenerationHelpers.cmake" + "/usr/lib/cmake/Qt6/QtPublicSbomHelpers.cmake" + "/usr/lib/cmake/Qt6/QtPublicSbomLicenseHelpers.cmake" + "/usr/lib/cmake/Qt6/QtPublicSbomOpsHelpers.cmake" + "/usr/lib/cmake/Qt6/QtPublicSbomPurlHelpers.cmake" + "/usr/lib/cmake/Qt6/QtPublicSbomPythonHelpers.cmake" + "/usr/lib/cmake/Qt6/QtPublicSbomQtEntityHelpers.cmake" + "/usr/lib/cmake/Qt6/QtPublicSbomSystemDepHelpers.cmake" + "/usr/lib/cmake/Qt6/QtPublicTargetHelpers.cmake" + "/usr/lib/cmake/Qt6/QtPublicTestHelpers.cmake" + "/usr/lib/cmake/Qt6/QtPublicToolHelpers.cmake" + "/usr/lib/cmake/Qt6/QtPublicWalkLibsHelpers.cmake" + "/usr/lib/cmake/Qt6/QtPublicWindowsHelpers.cmake" + "/usr/lib/cmake/Qt6Core/Qt6CoreAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Core/Qt6CoreConfig.cmake" + "/usr/lib/cmake/Qt6Core/Qt6CoreConfigExtras.cmake" + "/usr/lib/cmake/Qt6Core/Qt6CoreConfigVersion.cmake" + "/usr/lib/cmake/Qt6Core/Qt6CoreConfigVersionImpl.cmake" + "/usr/lib/cmake/Qt6Core/Qt6CoreDependencies.cmake" + "/usr/lib/cmake/Qt6Core/Qt6CoreMacros.cmake" + "/usr/lib/cmake/Qt6Core/Qt6CoreTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Core/Qt6CoreTargets.cmake" + "/usr/lib/cmake/Qt6Core/Qt6CoreTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Core/Qt6CoreVersionlessAliasTargets.cmake" + "/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfig.cmake" + "/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfigVersion.cmake" + "/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfigVersionImpl.cmake" + "/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsDependencies.cmake" + "/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsTargets.cmake" + "/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsVersionlessTargets.cmake" + "/usr/lib/cmake/Qt6DBus/Qt6DBusAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6DBus/Qt6DBusConfig.cmake" + "/usr/lib/cmake/Qt6DBus/Qt6DBusConfigVersion.cmake" + "/usr/lib/cmake/Qt6DBus/Qt6DBusConfigVersionImpl.cmake" + "/usr/lib/cmake/Qt6DBus/Qt6DBusDependencies.cmake" + "/usr/lib/cmake/Qt6DBus/Qt6DBusMacros.cmake" + "/usr/lib/cmake/Qt6DBus/Qt6DBusTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6DBus/Qt6DBusTargets.cmake" + "/usr/lib/cmake/Qt6DBus/Qt6DBusTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6DBus/Qt6DBusVersionlessAliasTargets.cmake" + "/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsConfig.cmake" + "/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsConfigVersion.cmake" + "/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsConfigVersionImpl.cmake" + "/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsDependencies.cmake" + "/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsTargets.cmake" + "/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsVersionlessTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6GuiAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6GuiConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6GuiConfigVersion.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6GuiConfigVersionImpl.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6GuiDependencies.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6GuiPlugins.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6GuiTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6GuiTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6GuiTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6GuiVersionlessAliasTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QGifPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QGifPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QGifPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QGifPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QGifPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QICNSPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QICNSPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QICNSPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QICNSPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QICNSPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QICOPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QICOPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QICOPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QICOPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QICOPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QJp2PluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QJp2PluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QJp2PluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QJp2PluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QJp2PluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QJpegPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QJpegPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QJpegPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QJpegPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QJpegPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QMngPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QMngPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QMngPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QMngPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QMngPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QPdfPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QPdfPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QPdfPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QPdfPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QPdfPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QSvgPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QSvgPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QSvgPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QSvgPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QSvgPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QTgaPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QTgaPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QTgaPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QTgaPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QTgaPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QTiffPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QTiffPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QTiffPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QTiffPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QTiffPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWebpPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWebpPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWebpPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWebpPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QWebpPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginConfig.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginTargets.cmake" + "/usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsConfig.cmake" + "/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsConfigVersion.cmake" + "/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsConfigVersionImpl.cmake" + "/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsDependencies.cmake" + "/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsTargets.cmake" + "/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsVersionlessTargets.cmake" + "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake" + "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfigVersion.cmake" + "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfigVersionImpl.cmake" + "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsDependencies.cmake" + "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsMacros.cmake" + "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsPlugins.cmake" + "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsTargets.cmake" + "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6Widgets/Qt6WidgetsVersionlessAliasTargets.cmake" + "/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsAdditionalTargetInfo.cmake" + "/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsConfig.cmake" + "/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsConfigVersion.cmake" + "/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsConfigVersionImpl.cmake" + "/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsDependencies.cmake" + "/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsTargets-relwithdebinfo.cmake" + "/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsTargets.cmake" + "/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsTargetsPrecheck.cmake" + "/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsVersionlessTargets.cmake" + "/usr/share/cmake/Modules/CMakeCInformation.cmake" + "/usr/share/cmake/Modules/CMakeCXXInformation.cmake" + "/usr/share/cmake/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake" + "/usr/share/cmake/Modules/CMakeCommonLanguageInclude.cmake" + "/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake" + "/usr/share/cmake/Modules/CMakeGenericSystem.cmake" + "/usr/share/cmake/Modules/CMakeInitializeConfigs.cmake" + "/usr/share/cmake/Modules/CMakeLanguageInformation.cmake" + "/usr/share/cmake/Modules/CMakeSystemSpecificInformation.cmake" + "/usr/share/cmake/Modules/CMakeSystemSpecificInitialize.cmake" + "/usr/share/cmake/Modules/CheckCSourceCompiles.cmake" + "/usr/share/cmake/Modules/CheckCXXCompilerFlag.cmake" + "/usr/share/cmake/Modules/CheckCXXSourceCompiles.cmake" + "/usr/share/cmake/Modules/CheckIncludeFile.cmake" + "/usr/share/cmake/Modules/CheckLibraryExists.cmake" + "/usr/share/cmake/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + "/usr/share/cmake/Modules/Compiler/GNU-C.cmake" + "/usr/share/cmake/Modules/Compiler/GNU-CXX.cmake" + "/usr/share/cmake/Modules/Compiler/GNU.cmake" + "/usr/share/cmake/Modules/FindOpenGL.cmake" + "/usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake" + "/usr/share/cmake/Modules/FindPackageMessage.cmake" + "/usr/share/cmake/Modules/FindThreads.cmake" + "/usr/share/cmake/Modules/FindVulkan.cmake" + "/usr/share/cmake/Modules/GNUInstallDirs.cmake" + "/usr/share/cmake/Modules/Internal/CMakeCLinkerInformation.cmake" + "/usr/share/cmake/Modules/Internal/CMakeCXXLinkerInformation.cmake" + "/usr/share/cmake/Modules/Internal/CMakeCommonLinkerInformation.cmake" + "/usr/share/cmake/Modules/Internal/CheckCompilerFlag.cmake" + "/usr/share/cmake/Modules/Internal/CheckFlagCommonConfig.cmake" + "/usr/share/cmake/Modules/Internal/CheckSourceCompiles.cmake" + "/usr/share/cmake/Modules/Linker/GNU-C.cmake" + "/usr/share/cmake/Modules/Linker/GNU-CXX.cmake" + "/usr/share/cmake/Modules/Linker/GNU.cmake" + "/usr/share/cmake/Modules/MacroAddFileDependencies.cmake" + "/usr/share/cmake/Modules/Platform/Linker/GNU.cmake" + "/usr/share/cmake/Modules/Platform/Linker/Linux-GNU-C.cmake" + "/usr/share/cmake/Modules/Platform/Linker/Linux-GNU-CXX.cmake" + "/usr/share/cmake/Modules/Platform/Linker/Linux-GNU.cmake" + "/usr/share/cmake/Modules/Platform/Linux-GNU-C.cmake" + "/usr/share/cmake/Modules/Platform/Linux-GNU-CXX.cmake" + "/usr/share/cmake/Modules/Platform/Linux-GNU.cmake" + "/usr/share/cmake/Modules/Platform/Linux-Initialize.cmake" + "/usr/share/cmake/Modules/Platform/Linux.cmake" + "/usr/share/cmake/Modules/Platform/UnixPaths.cmake" + ) + +# The corresponding makefile is: +set(CMAKE_MAKEFILE_OUTPUTS + "Makefile" + "CMakeFiles/cmake.check_cache" + ) + +# Byproducts of CMake generate step: +set(CMAKE_MAKEFILE_PRODUCTS + "CMakeFiles/cyberqueer_autogen.dir/AutogenInfo.json" + ".qt/QtDeploySupport.cmake" + ".qt/QtDeployTargets.cmake" + "CMakeFiles/CMakeDirectoryInformation.cmake" + ) + +# Dependency information for all targets: +set(CMAKE_DEPEND_INFO_FILES + "CMakeFiles/cyberqueer.dir/DependInfo.cmake" + "CMakeFiles/cyberqueer_autogen_timestamp_deps.dir/DependInfo.cmake" + "CMakeFiles/cyberqueer_autogen.dir/DependInfo.cmake" + ) diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/Makefile2 b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/Makefile2 new file mode 100644 index 0000000..ab836cc --- /dev/null +++ b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/Makefile2 @@ -0,0 +1,189 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 4.3 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/sbin/cmake + +# The command to remove a file. +RM = /usr/sbin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build + +#============================================================================= +# Directory level rules for the build root directory + +# The main recursive "all" target. +all: CMakeFiles/cyberqueer.dir/all +.PHONY : all + +# The main recursive "codegen" target. +codegen: CMakeFiles/cyberqueer.dir/codegen +.PHONY : codegen + +# The main recursive "preinstall" target. +preinstall: +.PHONY : preinstall + +# The main recursive "clean" target. +clean: CMakeFiles/cyberqueer.dir/clean +clean: CMakeFiles/cyberqueer_autogen_timestamp_deps.dir/clean +clean: CMakeFiles/cyberqueer_autogen.dir/clean +.PHONY : clean + +#============================================================================= +# Target rules for target CMakeFiles/cyberqueer.dir + +# All Build rule for target. +CMakeFiles/cyberqueer.dir/all: CMakeFiles/cyberqueer_autogen_timestamp_deps.dir/all +CMakeFiles/cyberqueer.dir/all: CMakeFiles/cyberqueer_autogen.dir/all + $(MAKE) $(MAKESILENT) -f CMakeFiles/cyberqueer.dir/build.make CMakeFiles/cyberqueer.dir/depend + $(MAKE) $(MAKESILENT) -f CMakeFiles/cyberqueer.dir/build.make CMakeFiles/cyberqueer.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles --progress-num=1,2,3,4,5 "Built target cyberqueer" +.PHONY : CMakeFiles/cyberqueer.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/cyberqueer.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles 6 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/cyberqueer.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles 0 +.PHONY : CMakeFiles/cyberqueer.dir/rule + +# Convenience name for target. +cyberqueer: CMakeFiles/cyberqueer.dir/rule +.PHONY : cyberqueer + +# codegen rule for target. +CMakeFiles/cyberqueer.dir/codegen: CMakeFiles/cyberqueer_autogen_timestamp_deps.dir/all + $(MAKE) $(MAKESILENT) -f CMakeFiles/cyberqueer.dir/build.make CMakeFiles/cyberqueer.dir/codegen + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles --progress-num=1,2,3,4,5 "Finished codegen for target cyberqueer" +.PHONY : CMakeFiles/cyberqueer.dir/codegen + +# clean rule for target. +CMakeFiles/cyberqueer.dir/clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/cyberqueer.dir/build.make CMakeFiles/cyberqueer.dir/clean +.PHONY : CMakeFiles/cyberqueer.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/cyberqueer_autogen_timestamp_deps.dir + +# All Build rule for target. +CMakeFiles/cyberqueer_autogen_timestamp_deps.dir/all: + $(MAKE) $(MAKESILENT) -f CMakeFiles/cyberqueer_autogen_timestamp_deps.dir/build.make CMakeFiles/cyberqueer_autogen_timestamp_deps.dir/depend + $(MAKE) $(MAKESILENT) -f CMakeFiles/cyberqueer_autogen_timestamp_deps.dir/build.make CMakeFiles/cyberqueer_autogen_timestamp_deps.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles --progress-num= "Built target cyberqueer_autogen_timestamp_deps" +.PHONY : CMakeFiles/cyberqueer_autogen_timestamp_deps.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/cyberqueer_autogen_timestamp_deps.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles 0 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/cyberqueer_autogen_timestamp_deps.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles 0 +.PHONY : CMakeFiles/cyberqueer_autogen_timestamp_deps.dir/rule + +# Convenience name for target. +cyberqueer_autogen_timestamp_deps: CMakeFiles/cyberqueer_autogen_timestamp_deps.dir/rule +.PHONY : cyberqueer_autogen_timestamp_deps + +# codegen rule for target. +CMakeFiles/cyberqueer_autogen_timestamp_deps.dir/codegen: + $(MAKE) $(MAKESILENT) -f CMakeFiles/cyberqueer_autogen_timestamp_deps.dir/build.make CMakeFiles/cyberqueer_autogen_timestamp_deps.dir/codegen + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles --progress-num= "Finished codegen for target cyberqueer_autogen_timestamp_deps" +.PHONY : CMakeFiles/cyberqueer_autogen_timestamp_deps.dir/codegen + +# clean rule for target. +CMakeFiles/cyberqueer_autogen_timestamp_deps.dir/clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/cyberqueer_autogen_timestamp_deps.dir/build.make CMakeFiles/cyberqueer_autogen_timestamp_deps.dir/clean +.PHONY : CMakeFiles/cyberqueer_autogen_timestamp_deps.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/cyberqueer_autogen.dir + +# All Build rule for target. +CMakeFiles/cyberqueer_autogen.dir/all: CMakeFiles/cyberqueer_autogen_timestamp_deps.dir/all + $(MAKE) $(MAKESILENT) -f CMakeFiles/cyberqueer_autogen.dir/build.make CMakeFiles/cyberqueer_autogen.dir/depend + $(MAKE) $(MAKESILENT) -f CMakeFiles/cyberqueer_autogen.dir/build.make CMakeFiles/cyberqueer_autogen.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles --progress-num=6 "Built target cyberqueer_autogen" +.PHONY : CMakeFiles/cyberqueer_autogen.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/cyberqueer_autogen.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles 1 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/cyberqueer_autogen.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles 0 +.PHONY : CMakeFiles/cyberqueer_autogen.dir/rule + +# Convenience name for target. +cyberqueer_autogen: CMakeFiles/cyberqueer_autogen.dir/rule +.PHONY : cyberqueer_autogen + +# codegen rule for target. +CMakeFiles/cyberqueer_autogen.dir/codegen: CMakeFiles/cyberqueer_autogen_timestamp_deps.dir/all + $(MAKE) $(MAKESILENT) -f CMakeFiles/cyberqueer_autogen.dir/build.make CMakeFiles/cyberqueer_autogen.dir/codegen + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles --progress-num=6 "Finished codegen for target cyberqueer_autogen" +.PHONY : CMakeFiles/cyberqueer_autogen.dir/codegen + +# clean rule for target. +CMakeFiles/cyberqueer_autogen.dir/clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/cyberqueer_autogen.dir/build.make CMakeFiles/cyberqueer_autogen.dir/clean +.PHONY : CMakeFiles/cyberqueer_autogen.dir/clean + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/TargetDirectories.txt b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/TargetDirectories.txt new file mode 100644 index 0000000..078d0c2 --- /dev/null +++ b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,9 @@ +/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir +/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/edit_cache.dir +/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/rebuild_cache.dir +/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/list_install_components.dir +/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/install.dir +/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/install/local.dir +/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/install/strip.dir +/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer_autogen_timestamp_deps.dir +/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer_autogen.dir diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cmake.check_cache b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cmake.check_cache new file mode 100644 index 0000000..3dccd73 --- /dev/null +++ b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.o b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.o new file mode 100644 index 0000000000000000000000000000000000000000..211086a179a6c0b20c2f399c9aa752c7cc7ae90f GIT binary patch literal 11048 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 literal 0 HcmV?d00001 diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.o.d b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.o.d new file mode 100644 index 0000000..e9d0848 --- /dev/null +++ b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.o.d @@ -0,0 +1,335 @@ +CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.o: \ + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/CyberQueerStyle.cpp \ + /usr/include/stdc-predef.h \ + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/CyberQueerStyle.h \ + /usr/include/qt6/QtWidgets/QProxyStyle \ + /usr/include/qt6/QtWidgets/qproxystyle.h \ + /usr/include/qt6/QtWidgets/qtwidgetsglobal.h \ + /usr/include/qt6/QtGui/qtguiglobal.h /usr/include/qt6/QtCore/qglobal.h \ + /usr/include/c++/16.1.1/type_traits \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++config.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/os_defines.h \ + /usr/include/features.h /usr/include/features-time64.h \ + /usr/include/bits/wordsize.h /usr/include/bits/timesize.h \ + /usr/include/sys/cdefs.h /usr/include/bits/long-double.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/cpu_defines.h \ + /usr/include/c++/16.1.1/pstl/pstl_config.h \ + /usr/include/c++/16.1.1/bits/version.h /usr/include/c++/16.1.1/cstddef \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stddef.h \ + /usr/include/c++/16.1.1/utility \ + /usr/include/c++/16.1.1/bits/stl_relops.h \ + /usr/include/c++/16.1.1/bits/stl_pair.h \ + /usr/include/c++/16.1.1/bits/move.h \ + /usr/include/c++/16.1.1/bits/utility.h \ + /usr/include/c++/16.1.1/initializer_list /usr/include/c++/16.1.1/cstdint \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdint.h \ + /usr/include/stdint.h /usr/include/bits/libc-header-start.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/bits/time64.h /usr/include/bits/wchar.h \ + /usr/include/bits/stdint-intn.h /usr/include/bits/stdint-uintn.h \ + /usr/include/bits/stdint-least.h /usr/include/assert.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdbool.h \ + /usr/include/qt6/QtCore/qtcoreglobal.h \ + /usr/include/qt6/QtCore/qtversionchecks.h \ + /usr/include/qt6/QtCore/qtconfiginclude.h \ + /usr/include/c++/16.1.1/version /usr/include/qt6/QtCore/qconfig.h \ + /usr/include/qt6/QtCore/qtcore-config.h \ + /usr/include/qt6/QtCore/qtconfigmacros.h \ + /usr/include/qt6/QtCore/qtdeprecationdefinitions.h \ + /usr/include/qt6/QtCore/qcompilerdetection.h \ + /usr/include/qt6/QtCore/qprocessordetection.h \ + /usr/include/qt6/QtCore/qsystemdetection.h \ + /usr/include/qt6/QtCore/qtcoreexports.h \ + /usr/include/qt6/QtCore/qtdeprecationmarkers.h \ + /usr/include/qt6/QtCore/qtclasshelpermacros.h \ + /usr/include/qt6/QtCore/qtpreprocessorsupport.h \ + /usr/include/qt6/QtCore/qassert.h /usr/include/qt6/QtCore/qtnoop.h \ + /usr/include/qt6/QtCore/qtypes.h /usr/include/qt6/QtCore/qtversion.h \ + /usr/include/qt6/QtCore/qtypeinfo.h \ + /usr/include/qt6/QtCore/qcontainerfwd.h /usr/include/c++/16.1.1/limits \ + /usr/include/qt6/QtCore/qsysinfo.h /usr/include/qt6/QtCore/qlogging.h \ + /usr/include/qt6/QtCore/qflags.h /usr/include/qt6/QtCore/qcompare_impl.h \ + /usr/include/c++/16.1.1/algorithm \ + /usr/include/c++/16.1.1/bits/stl_algobase.h \ + /usr/include/c++/16.1.1/bits/cpp_type_traits.h \ + /usr/include/c++/16.1.1/ext/type_traits.h \ + /usr/include/c++/16.1.1/ext/numeric_traits.h \ + /usr/include/c++/16.1.1/bits/stl_iterator_base_types.h \ + /usr/include/c++/16.1.1/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/16.1.1/bits/concept_check.h \ + /usr/include/c++/16.1.1/debug/assertions.h \ + /usr/include/c++/16.1.1/bits/stl_iterator.h \ + /usr/include/c++/16.1.1/bits/ptr_traits.h \ + /usr/include/c++/16.1.1/debug/debug.h \ + /usr/include/c++/16.1.1/bits/predefined_ops.h \ + /usr/include/c++/16.1.1/bits/stl_function.h \ + /usr/include/c++/16.1.1/backward/binders.h /usr/include/c++/16.1.1/bit \ + /usr/include/c++/16.1.1/concepts /usr/include/c++/16.1.1/bits/stl_algo.h \ + /usr/include/c++/16.1.1/bits/algorithmfwd.h \ + /usr/include/c++/16.1.1/bits/stl_heap.h \ + /usr/include/c++/16.1.1/bits/uniform_int_dist.h \ + /usr/include/c++/16.1.1/bits/stl_tempbuf.h /usr/include/c++/16.1.1/new \ + /usr/include/c++/16.1.1/bits/exception.h \ + /usr/include/c++/16.1.1/bits/new_except.h \ + /usr/include/c++/16.1.1/bits/exception_defines.h \ + /usr/include/c++/16.1.1/bits/stl_construct.h \ + /usr/include/c++/16.1.1/cstdlib /usr/include/stdlib.h \ + /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \ + /usr/include/bits/floatn.h /usr/include/bits/floatn-common.h \ + /usr/include/bits/types/locale_t.h /usr/include/bits/types/__locale_t.h \ + /usr/include/sys/types.h /usr/include/bits/types/clock_t.h \ + /usr/include/bits/types/clockid_t.h /usr/include/bits/types/time_t.h \ + /usr/include/bits/types/timer_t.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/bits/endianness.h \ + /usr/include/bits/byteswap.h /usr/include/bits/uintn-identity.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/types/sigset_t.h /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/pthreadtypes-arch.h \ + /usr/include/bits/atomic_wide_counter.h /usr/include/bits/struct_mutex.h \ + /usr/include/bits/struct_rwlock.h /usr/include/alloca.h \ + /usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \ + /usr/include/c++/16.1.1/bits/std_abs.h \ + /usr/include/c++/16.1.1/pstl/glue_algorithm_defs.h \ + /usr/include/c++/16.1.1/pstl/execution_defs.h \ + /usr/include/qt6/QtCore/qatomic.h /usr/include/qt6/QtCore/qbasicatomic.h \ + /usr/include/qt6/QtCore/qatomic_cxx11.h \ + /usr/include/qt6/QtCore/qgenericatomic.h \ + /usr/include/qt6/QtCore/qyieldcpu.h /usr/include/c++/16.1.1/atomic \ + /usr/include/c++/16.1.1/bits/atomic_base.h \ + /usr/include/c++/16.1.1/bits/atomic_lockfree_defines.h \ + /usr/include/qt6/QtCore/qconstructormacros.h \ + /usr/include/qt6/QtCore/qdarwinhelpers.h \ + /usr/include/qt6/QtCore/qexceptionhandling.h \ + /usr/include/qt6/QtCore/qforeach.h \ + /usr/include/qt6/QtCore/qttypetraits.h /usr/include/c++/16.1.1/optional \ + /usr/include/c++/16.1.1/exception \ + /usr/include/c++/16.1.1/bits/exception_ptr.h \ + /usr/include/c++/16.1.1/bits/cxxabi_init_exception.h \ + /usr/include/c++/16.1.1/typeinfo \ + /usr/include/c++/16.1.1/bits/hash_bytes.h \ + /usr/include/c++/16.1.1/bits/nested_exception.h \ + /usr/include/c++/16.1.1/bits/enable_special_members.h \ + /usr/include/c++/16.1.1/bits/functional_hash.h \ + /usr/include/c++/16.1.1/tuple \ + /usr/include/c++/16.1.1/bits/uses_allocator.h \ + /usr/include/c++/16.1.1/bits/invoke.h /usr/include/c++/16.1.1/variant \ + /usr/include/c++/16.1.1/bits/monostate.h \ + /usr/include/c++/16.1.1/bits/parse_numbers.h \ + /usr/include/c++/16.1.1/ext/aligned_buffer.h \ + /usr/include/qt6/QtCore/qfunctionpointer.h \ + /usr/include/qt6/QtCore/qglobalstatic.h \ + /usr/include/qt6/QtCore/qmalloc.h /usr/include/qt6/QtCore/qminmax.h \ + /usr/include/qt6/QtCore/qnumeric.h /usr/include/c++/16.1.1/cmath \ + /usr/include/c++/16.1.1/bits/requires_hosted.h /usr/include/math.h \ + /usr/include/bits/math-vector.h /usr/include/bits/libm-simd-decl-stubs.h \ + /usr/include/bits/flt-eval-method.h /usr/include/bits/fp-logb.h \ + /usr/include/bits/fp-fast.h /usr/include/bits/mathcalls-macros.h \ + /usr/include/bits/mathcalls-helper-functions.h \ + /usr/include/bits/mathcalls.h /usr/include/bits/mathcalls-narrow.h \ + /usr/include/bits/iscanonical.h /usr/include/c++/16.1.1/bits/specfun.h \ + /usr/include/c++/16.1.1/bits/stdexcept_throw.h \ + /usr/include/c++/16.1.1/bits/stdexcept_throwfwd.h \ + /usr/include/c++/16.1.1/tr1/gamma.tcc \ + /usr/include/c++/16.1.1/tr1/special_function_util.h \ + /usr/include/c++/16.1.1/tr1/bessel_function.tcc \ + /usr/include/c++/16.1.1/tr1/beta_function.tcc \ + /usr/include/c++/16.1.1/tr1/ell_integral.tcc \ + /usr/include/c++/16.1.1/tr1/exp_integral.tcc \ + /usr/include/c++/16.1.1/tr1/hypergeometric.tcc \ + /usr/include/c++/16.1.1/tr1/legendre_function.tcc \ + /usr/include/c++/16.1.1/tr1/modified_bessel_func.tcc \ + /usr/include/c++/16.1.1/tr1/poly_hermite.tcc \ + /usr/include/c++/16.1.1/tr1/poly_laguerre.tcc \ + /usr/include/c++/16.1.1/tr1/riemann_zeta.tcc \ + /usr/include/qt6/QtCore/q20type_traits.h \ + /usr/include/qt6/QtCore/qoverload.h /usr/include/qt6/QtCore/qswap.h \ + /usr/include/qt6/QtCore/qtenvironmentvariables.h \ + /usr/include/qt6/QtCore/qtresource.h \ + /usr/include/qt6/QtCore/qttranslation.h \ + /usr/include/qt6/QtCore/qversiontagging.h \ + /usr/include/qt6/QtGui/qtgui-config.h \ + /usr/include/qt6/QtGui/qtguiexports.h \ + /usr/include/qt6/QtWidgets/qtwidgets-config.h \ + /usr/include/qt6/QtWidgets/qtwidgetsexports.h \ + /usr/include/qt6/QtWidgets/QCommonStyle \ + /usr/include/qt6/QtWidgets/qcommonstyle.h \ + /usr/include/qt6/QtWidgets/qstyle.h /usr/include/qt6/QtCore/qobject.h \ + /usr/include/qt6/QtCore/qobjectdefs.h \ + /usr/include/qt6/QtCore/qnamespace.h /usr/include/qt6/QtCore/qcompare.h \ + /usr/include/qt6/QtCore/qstdlibdetection.h \ + /usr/include/qt6/QtCore/qcomparehelpers.h \ + /usr/include/c++/16.1.1/functional \ + /usr/include/c++/16.1.1/bits/refwrap.h \ + /usr/include/c++/16.1.1/bits/std_function.h \ + /usr/include/c++/16.1.1/bits/functexcept.h \ + /usr/include/c++/16.1.1/unordered_map \ + /usr/include/c++/16.1.1/bits/unordered_map.h \ + /usr/include/c++/16.1.1/bits/hashtable.h \ + /usr/include/c++/16.1.1/bits/hashtable_policy.h \ + /usr/include/c++/16.1.1/ext/alloc_traits.h \ + /usr/include/c++/16.1.1/bits/alloc_traits.h \ + /usr/include/c++/16.1.1/bits/memoryfwd.h \ + /usr/include/c++/16.1.1/bits/allocator.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++allocator.h \ + /usr/include/c++/16.1.1/bits/new_allocator.h \ + /usr/include/c++/16.1.1/bits/new_throw.h \ + /usr/include/c++/16.1.1/bits/node_handle.h \ + /usr/include/c++/16.1.1/bits/range_access.h \ + /usr/include/c++/16.1.1/bits/erase_if.h \ + /usr/include/c++/16.1.1/bits/memory_resource.h \ + /usr/include/c++/16.1.1/bits/uses_allocator_args.h \ + /usr/include/c++/16.1.1/vector \ + /usr/include/c++/16.1.1/bits/stl_uninitialized.h \ + /usr/include/c++/16.1.1/bits/stl_vector.h \ + /usr/include/c++/16.1.1/bits/stl_bvector.h \ + /usr/include/c++/16.1.1/bits/vector.tcc /usr/include/c++/16.1.1/array \ + /usr/include/c++/16.1.1/compare /usr/include/qt6/QtCore/qtmetamacros.h \ + /usr/include/qt6/QtCore/qobjectdefs_impl.h \ + /usr/include/qt6/QtCore/qfunctionaltools_impl.h \ + /usr/include/c++/16.1.1/memory \ + /usr/include/c++/16.1.1/bits/stl_raw_storage_iter.h \ + /usr/include/c++/16.1.1/bits/align.h \ + /usr/include/c++/16.1.1/bits/unique_ptr.h \ + /usr/include/c++/16.1.1/bits/shared_ptr.h /usr/include/c++/16.1.1/iosfwd \ + /usr/include/c++/16.1.1/bits/stringfwd.h \ + /usr/include/c++/16.1.1/bits/postypes.h /usr/include/c++/16.1.1/cwchar \ + /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdarg.h \ + /usr/include/bits/types/wint_t.h /usr/include/bits/types/mbstate_t.h \ + /usr/include/bits/types/__mbstate_t.h /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/FILE.h \ + /usr/include/c++/16.1.1/bits/shared_ptr_base.h \ + /usr/include/c++/16.1.1/bits/allocated_ptr.h \ + /usr/include/c++/16.1.1/ext/atomicity.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/gthr.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/bits/sched.h \ + /usr/include/linux/sched/types.h /usr/include/linux/types.h \ + /usr/include/asm/types.h /usr/include/asm-generic/types.h \ + /usr/include/asm-generic/int-ll64.h /usr/include/asm/bitsperlong.h \ + /usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \ + /usr/include/linux/stddef.h /usr/include/asm/posix_types.h \ + /usr/include/asm/posix_types_64.h /usr/include/asm-generic/posix_types.h \ + /usr/include/bits/types/struct_sched_param.h /usr/include/bits/cpu-set.h \ + /usr/include/time.h /usr/include/bits/time.h /usr/include/bits/timex.h \ + /usr/include/bits/types/struct_tm.h \ + /usr/include/bits/types/struct_itimerspec.h /usr/include/bits/setjmp.h \ + /usr/include/bits/types/struct___jmp_buf_tag.h \ + /usr/include/bits/pthread_stack_min-dynamic.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/atomic_word.h \ + /usr/include/sys/single_threaded.h \ + /usr/include/c++/16.1.1/ext/concurrence.h \ + /usr/include/c++/16.1.1/bits/shared_ptr_atomic.h \ + /usr/include/c++/16.1.1/backward/auto_ptr.h \ + /usr/include/c++/16.1.1/pstl/glue_memory_defs.h \ + /usr/include/qt6/QtCore/qstring.h /usr/include/qt6/QtCore/qchar.h \ + /usr/include/qt6/QtCore/qstringview.h \ + /usr/include/qt6/QtCore/qbytearray.h /usr/include/qt6/QtCore/qrefcount.h \ + /usr/include/qt6/QtCore/qarraydata.h /usr/include/qt6/QtCore/qpair.h \ + /usr/include/string.h /usr/include/strings.h \ + /usr/include/qt6/QtCore/qarraydatapointer.h \ + /usr/include/qt6/QtCore/qarraydataops.h \ + /usr/include/qt6/QtCore/qcontainertools_impl.h \ + /usr/include/qt6/QtCore/qxptype_traits.h \ + /usr/include/qt6/QtCore/q23type_traits.h /usr/include/c++/16.1.1/cstring \ + /usr/include/c++/16.1.1/iterator \ + /usr/include/c++/16.1.1/bits/stream_iterator.h \ + /usr/include/c++/16.1.1/bits/streambuf_iterator.h \ + /usr/include/c++/16.1.1/streambuf \ + /usr/include/c++/16.1.1/bits/localefwd.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++locale.h \ + /usr/include/c++/16.1.1/clocale /usr/include/locale.h \ + /usr/include/bits/locale.h /usr/include/c++/16.1.1/cctype \ + /usr/include/ctype.h /usr/include/c++/16.1.1/bits/ios_base.h \ + /usr/include/c++/16.1.1/bits/locale_classes.h \ + /usr/include/c++/16.1.1/string \ + /usr/include/c++/16.1.1/bits/char_traits.h \ + /usr/include/c++/16.1.1/bits/ostream_insert.h \ + /usr/include/c++/16.1.1/bits/cxxabi_forced.h \ + /usr/include/c++/16.1.1/bits/basic_string.h \ + /usr/include/c++/16.1.1/string_view \ + /usr/include/c++/16.1.1/bits/string_view.tcc \ + /usr/include/c++/16.1.1/ext/string_conversions.h \ + /usr/include/c++/16.1.1/cstdio /usr/include/stdio.h \ + /usr/include/bits/types/__fpos_t.h /usr/include/bits/types/__fpos64_t.h \ + /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/types/cookie_io_functions_t.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/stdio.h \ + /usr/include/c++/16.1.1/cerrno /usr/include/errno.h \ + /usr/include/bits/errno.h /usr/include/linux/errno.h \ + /usr/include/asm/errno.h /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/errno-base.h /usr/include/bits/types/error_t.h \ + /usr/include/c++/16.1.1/bits/charconv.h \ + /usr/include/c++/16.1.1/bits/basic_string.tcc \ + /usr/include/c++/16.1.1/bits/locale_classes.tcc \ + /usr/include/c++/16.1.1/system_error \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/error_constants.h \ + /usr/include/c++/16.1.1/stdexcept \ + /usr/include/c++/16.1.1/bits/stdexcept_except.h \ + /usr/include/c++/16.1.1/bits/streambuf.tcc \ + /usr/include/qt6/QtCore/q20functional.h \ + /usr/include/qt6/QtCore/q20memory.h /usr/include/qt6/QtCore/q17memory.h \ + /usr/include/qt6/QtCore/qbytearrayalgorithms.h \ + /usr/include/qt6/QtCore/qbytearrayview.h \ + /usr/include/qt6/QtCore/qstringfwd.h /usr/include/c++/16.1.1/stdlib.h \ + /usr/include/qt6/QtCore/qstringalgorithms.h \ + /usr/include/qt6/QtCore/qlatin1stringview.h \ + /usr/include/qt6/QtCore/qanystringview.h \ + /usr/include/qt6/QtCore/qutf8stringview.h \ + /usr/include/qt6/QtCore/qstringtokenizer.h \ + /usr/include/qt6/QtCore/qstringbuilder.h \ + /usr/include/qt6/QtCore/qstringconverter.h \ + /usr/include/qt6/QtCore/qstringconverter_base.h \ + /usr/include/qt6/QtCore/qlist.h /usr/include/qt6/QtCore/qhashfunctions.h \ + /usr/include/c++/16.1.1/numeric \ + /usr/include/c++/16.1.1/bits/stl_numeric.h \ + /usr/include/c++/16.1.1/pstl/glue_numeric_defs.h \ + /usr/include/qt6/QtCore/qiterator.h \ + /usr/include/qt6/QtCore/qbytearraylist.h \ + /usr/include/qt6/QtCore/qstringlist.h \ + /usr/include/qt6/QtCore/qalgorithms.h /usr/include/qt6/QtCore/q20bit.h \ + /usr/include/qt6/QtCore/qstringmatcher.h \ + /usr/include/qt6/QtCore/qscopedpointer.h \ + /usr/include/qt6/QtCore/qmetatype.h \ + /usr/include/qt6/QtCore/qdatastream.h \ + /usr/include/qt6/QtCore/qiodevicebase.h \ + /usr/include/qt6/QtCore/qfloat16.h /usr/include/qt6/QtCore/qmath.h \ + /usr/include/qt6/QtCore/qtformat_impl.h \ + /usr/include/qt6/QtCore/qiterable.h \ + /usr/include/qt6/QtCore/qtaggedpointer.h \ + /usr/include/qt6/QtCore/qmetacontainer.h \ + /usr/include/qt6/QtCore/qcontainerinfo.h \ + /usr/include/qt6/QtCore/qscopeguard.h /usr/include/c++/16.1.1/list \ + /usr/include/c++/16.1.1/bits/stl_list.h \ + /usr/include/c++/16.1.1/bits/list.tcc /usr/include/c++/16.1.1/map \ + /usr/include/c++/16.1.1/bits/stl_tree.h \ + /usr/include/c++/16.1.1/bits/stl_map.h \ + /usr/include/c++/16.1.1/bits/stl_multimap.h \ + /usr/include/qt6/QtCore/qobject_impl.h \ + /usr/include/qt6/QtCore/qbindingstorage.h /usr/include/c++/16.1.1/chrono \ + /usr/include/c++/16.1.1/bits/chrono.h /usr/include/c++/16.1.1/ratio \ + /usr/include/c++/16.1.1/ctime /usr/include/qt6/QtCore/qrect.h \ + /usr/include/qt6/QtCore/qcheckedint_impl.h \ + /usr/include/qt6/QtCore/qmargins.h /usr/include/qt6/QtCore/q23utility.h \ + /usr/include/qt6/QtCore/q20utility.h /usr/include/qt6/QtCore/qsize.h \ + /usr/include/qt6/QtCore/qpoint.h /usr/include/qt6/QtGui/qicon.h \ + /usr/include/qt6/QtGui/qpixmap.h /usr/include/qt6/QtGui/qpaintdevice.h \ + /usr/include/qt6/QtGui/qwindowdefs.h /usr/include/qt6/QtGui/qcolor.h \ + /usr/include/qt6/QtGui/qrgb.h /usr/include/qt6/QtGui/qrgba64.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/limits.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /usr/include/bits/uio_lim.h /usr/include/qt6/QtCore/qshareddata.h \ + /usr/include/qt6/QtGui/qimage.h /usr/include/qt6/QtGui/qpixelformat.h \ + /usr/include/qt6/QtGui/qtransform.h /usr/include/qt6/QtGui/qpolygon.h \ + /usr/include/qt6/QtGui/qregion.h /usr/include/qt6/QtCore/qspan.h \ + /usr/include/c++/16.1.1/cassert /usr/include/qt6/QtCore/q20iterator.h \ + /usr/include/qt6/QtCore/qline.h /usr/include/qt6/QtGui/qpalette.h \ + /usr/include/qt6/QtGui/qbrush.h /usr/include/qt6/QtWidgets/qsizepolicy.h \ + /usr/include/qt6/QtGui/QPalette diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/DependInfo.cmake b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/DependInfo.cmake new file mode 100644 index 0000000..5ed61a0 --- /dev/null +++ b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/DependInfo.cmake @@ -0,0 +1,27 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + "" "cyberqueer_autogen/timestamp" "custom" "cyberqueer_autogen/deps" + "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/CyberQueerStyle.cpp" "CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.o" "gcc" "CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.o.d" + "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/cyberqueer_autogen/mocs_compilation.cpp" "CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.o" "gcc" "CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.o.d" + "/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/plugin.cpp" "CMakeFiles/cyberqueer.dir/plugin.cpp.o" "gcc" "CMakeFiles/cyberqueer.dir/plugin.cpp.o.d" + "" "libcyberqueer.so" "gcc" "CMakeFiles/cyberqueer.dir/link.d" + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/build.make b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/build.make new file mode 100644 index 0000000..adf74cc --- /dev/null +++ b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/build.make @@ -0,0 +1,157 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 4.3 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/sbin/cmake + +# The command to remove a file. +RM = /usr/sbin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build + +# Include any dependencies generated for this target. +include CMakeFiles/cyberqueer.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include CMakeFiles/cyberqueer.dir/compiler_depend.make + +# Include the progress variables for this target. +include CMakeFiles/cyberqueer.dir/progress.make + +# Include the compile flags for this target's objects. +include CMakeFiles/cyberqueer.dir/flags.make + +cyberqueer_autogen/timestamp: /usr/lib/qt6/moc +cyberqueer_autogen/timestamp: CMakeFiles/cyberqueer.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Automatic MOC for target cyberqueer" + /usr/sbin/cmake -E cmake_autogen /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer_autogen.dir/AutogenInfo.json Release + /usr/sbin/cmake -E touch /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/cyberqueer_autogen/timestamp + +CMakeFiles/cyberqueer.dir/codegen: +.PHONY : CMakeFiles/cyberqueer.dir/codegen + +CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.o: CMakeFiles/cyberqueer.dir/flags.make +CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.o: cyberqueer_autogen/mocs_compilation.cpp +CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.o: CMakeFiles/cyberqueer.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.o" + /usr/sbin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.o -MF CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.o.d -o CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.o -c /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/cyberqueer_autogen/mocs_compilation.cpp + +CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.i" + /usr/sbin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/cyberqueer_autogen/mocs_compilation.cpp > CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.i + +CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.s" + /usr/sbin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/cyberqueer_autogen/mocs_compilation.cpp -o CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.s + +CMakeFiles/cyberqueer.dir/plugin.cpp.o: CMakeFiles/cyberqueer.dir/flags.make +CMakeFiles/cyberqueer.dir/plugin.cpp.o: /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/plugin.cpp +CMakeFiles/cyberqueer.dir/plugin.cpp.o: CMakeFiles/cyberqueer.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object CMakeFiles/cyberqueer.dir/plugin.cpp.o" + /usr/sbin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/cyberqueer.dir/plugin.cpp.o -MF CMakeFiles/cyberqueer.dir/plugin.cpp.o.d -o CMakeFiles/cyberqueer.dir/plugin.cpp.o -c /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/plugin.cpp + +CMakeFiles/cyberqueer.dir/plugin.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/cyberqueer.dir/plugin.cpp.i" + /usr/sbin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/plugin.cpp > CMakeFiles/cyberqueer.dir/plugin.cpp.i + +CMakeFiles/cyberqueer.dir/plugin.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/cyberqueer.dir/plugin.cpp.s" + /usr/sbin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/plugin.cpp -o CMakeFiles/cyberqueer.dir/plugin.cpp.s + +CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.o: CMakeFiles/cyberqueer.dir/flags.make +CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.o: /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/CyberQueerStyle.cpp +CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.o: CMakeFiles/cyberqueer.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.o" + /usr/sbin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.o -MF CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.o.d -o CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.o -c /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/CyberQueerStyle.cpp + +CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.i" + /usr/sbin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/CyberQueerStyle.cpp > CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.i + +CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.s" + /usr/sbin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/CyberQueerStyle.cpp -o CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.s + +# Object files for target cyberqueer +cyberqueer_OBJECTS = \ +"CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.o" \ +"CMakeFiles/cyberqueer.dir/plugin.cpp.o" \ +"CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.o" + +# External object files for target cyberqueer +cyberqueer_EXTERNAL_OBJECTS = + +libcyberqueer.so: CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.o +libcyberqueer.so: CMakeFiles/cyberqueer.dir/plugin.cpp.o +libcyberqueer.so: CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.o +libcyberqueer.so: CMakeFiles/cyberqueer.dir/build.make +libcyberqueer.so: CMakeFiles/cyberqueer.dir/compiler_depend.ts +libcyberqueer.so: /usr/lib/libQt6Widgets.so.6.11.0 +libcyberqueer.so: /usr/lib/libQt6Gui.so.6.11.0 +libcyberqueer.so: /usr/lib/libGLX.so +libcyberqueer.so: /usr/lib/libOpenGL.so +libcyberqueer.so: /usr/lib/libQt6Core.so.6.11.0 +libcyberqueer.so: CMakeFiles/cyberqueer.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Linking CXX shared module libcyberqueer.so" + $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/cyberqueer.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +CMakeFiles/cyberqueer.dir/build: libcyberqueer.so +.PHONY : CMakeFiles/cyberqueer.dir/build + +CMakeFiles/cyberqueer.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/cyberqueer.dir/cmake_clean.cmake +.PHONY : CMakeFiles/cyberqueer.dir/clean + +CMakeFiles/cyberqueer.dir/depend: cyberqueer_autogen/timestamp + cd /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/DependInfo.cmake "--color=$(COLOR)" cyberqueer +.PHONY : CMakeFiles/cyberqueer.dir/depend + diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/cmake_clean.cmake b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/cmake_clean.cmake new file mode 100644 index 0000000..a821c82 --- /dev/null +++ b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/cmake_clean.cmake @@ -0,0 +1,21 @@ +file(REMOVE_RECURSE + "CMakeFiles/cyberqueer.dir/link.d" + "CMakeFiles/cyberqueer_autogen.dir/AutogenUsed.txt" + "CMakeFiles/cyberqueer_autogen.dir/ParseCache.txt" + "cyberqueer_autogen" + "CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.o" + "CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.o.d" + "CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.o" + "CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.o.d" + "CMakeFiles/cyberqueer.dir/plugin.cpp.o" + "CMakeFiles/cyberqueer.dir/plugin.cpp.o.d" + "cyberqueer_autogen/mocs_compilation.cpp" + "cyberqueer_autogen/timestamp" + "libcyberqueer.pdb" + "libcyberqueer.so" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/cyberqueer.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/compiler_depend.internal b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/compiler_depend.internal new file mode 100644 index 0000000..a5026e2 --- /dev/null +++ b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/compiler_depend.internal @@ -0,0 +1,2387 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 4.3 + +/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/cyberqueer_autogen/timestamp + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/CMakeLists.txt + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/CyberQueerStyle.cpp + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/CyberQueerStyle.h + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CMakeCCompiler.cmake + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CMakeCXXCompiler.cmake + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CMakeSystem.cmake + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/cyberqueer_autogen/moc_predefs.h + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/cyberqueer.json + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/plugin.cpp + /usr/include/alloca.h + /usr/include/asm-generic/bitsperlong.h + /usr/include/asm-generic/errno-base.h + /usr/include/asm-generic/errno.h + /usr/include/asm-generic/int-ll64.h + /usr/include/asm-generic/posix_types.h + /usr/include/asm-generic/types.h + /usr/include/asm/bitsperlong.h + /usr/include/asm/errno.h + /usr/include/asm/posix_types.h + /usr/include/asm/posix_types_64.h + /usr/include/asm/types.h + /usr/include/assert.h + /usr/include/bits/atomic_wide_counter.h + /usr/include/bits/byteswap.h + /usr/include/bits/cpu-set.h + /usr/include/bits/endian.h + /usr/include/bits/endianness.h + /usr/include/bits/errno.h + /usr/include/bits/floatn-common.h + /usr/include/bits/floatn.h + /usr/include/bits/libc-header-start.h + /usr/include/bits/local_lim.h + /usr/include/bits/locale.h + /usr/include/bits/long-double.h + /usr/include/bits/posix1_lim.h + /usr/include/bits/posix2_lim.h + /usr/include/bits/pthread_stack_min-dynamic.h + /usr/include/bits/pthreadtypes-arch.h + /usr/include/bits/pthreadtypes.h + /usr/include/bits/sched.h + /usr/include/bits/select.h + /usr/include/bits/setjmp.h + /usr/include/bits/stdint-intn.h + /usr/include/bits/stdint-least.h + /usr/include/bits/stdint-uintn.h + /usr/include/bits/stdio_lim.h + /usr/include/bits/stdlib-float.h + /usr/include/bits/struct_mutex.h + /usr/include/bits/struct_rwlock.h + /usr/include/bits/thread-shared-types.h + /usr/include/bits/time.h + /usr/include/bits/time64.h + /usr/include/bits/timesize.h + /usr/include/bits/timex.h + /usr/include/bits/types.h + /usr/include/bits/types/FILE.h + /usr/include/bits/types/__FILE.h + /usr/include/bits/types/__fpos64_t.h + /usr/include/bits/types/__fpos_t.h + /usr/include/bits/types/__locale_t.h + /usr/include/bits/types/__mbstate_t.h + /usr/include/bits/types/__sigset_t.h + /usr/include/bits/types/clock_t.h + /usr/include/bits/types/clockid_t.h + /usr/include/bits/types/cookie_io_functions_t.h + /usr/include/bits/types/error_t.h + /usr/include/bits/types/locale_t.h + /usr/include/bits/types/mbstate_t.h + /usr/include/bits/types/sigset_t.h + /usr/include/bits/types/struct_FILE.h + /usr/include/bits/types/struct___jmp_buf_tag.h + /usr/include/bits/types/struct_itimerspec.h + /usr/include/bits/types/struct_sched_param.h + /usr/include/bits/types/struct_timespec.h + /usr/include/bits/types/struct_timeval.h + /usr/include/bits/types/struct_tm.h + /usr/include/bits/types/time_t.h + /usr/include/bits/types/timer_t.h + /usr/include/bits/types/wint_t.h + /usr/include/bits/typesizes.h + /usr/include/bits/uintn-identity.h + /usr/include/bits/uio_lim.h + /usr/include/bits/waitflags.h + /usr/include/bits/waitstatus.h + /usr/include/bits/wchar.h + /usr/include/bits/wordsize.h + /usr/include/bits/xopen_lim.h + /usr/include/c++/16.1.1/algorithm + /usr/include/c++/16.1.1/array + /usr/include/c++/16.1.1/atomic + /usr/include/c++/16.1.1/backward/auto_ptr.h + /usr/include/c++/16.1.1/backward/binders.h + /usr/include/c++/16.1.1/bit + /usr/include/c++/16.1.1/bits/algorithmfwd.h + /usr/include/c++/16.1.1/bits/align.h + /usr/include/c++/16.1.1/bits/alloc_traits.h + /usr/include/c++/16.1.1/bits/allocated_ptr.h + /usr/include/c++/16.1.1/bits/allocator.h + /usr/include/c++/16.1.1/bits/atomic_base.h + /usr/include/c++/16.1.1/bits/atomic_lockfree_defines.h + /usr/include/c++/16.1.1/bits/basic_string.h + /usr/include/c++/16.1.1/bits/basic_string.tcc + /usr/include/c++/16.1.1/bits/char_traits.h + /usr/include/c++/16.1.1/bits/charconv.h + /usr/include/c++/16.1.1/bits/chrono.h + /usr/include/c++/16.1.1/bits/concept_check.h + /usr/include/c++/16.1.1/bits/cpp_type_traits.h + /usr/include/c++/16.1.1/bits/cxxabi_forced.h + /usr/include/c++/16.1.1/bits/cxxabi_init_exception.h + /usr/include/c++/16.1.1/bits/enable_special_members.h + /usr/include/c++/16.1.1/bits/erase_if.h + /usr/include/c++/16.1.1/bits/exception.h + /usr/include/c++/16.1.1/bits/exception_defines.h + /usr/include/c++/16.1.1/bits/exception_ptr.h + /usr/include/c++/16.1.1/bits/functexcept.h + /usr/include/c++/16.1.1/bits/functional_hash.h + /usr/include/c++/16.1.1/bits/hash_bytes.h + /usr/include/c++/16.1.1/bits/hashtable.h + /usr/include/c++/16.1.1/bits/hashtable_policy.h + /usr/include/c++/16.1.1/bits/invoke.h + /usr/include/c++/16.1.1/bits/ios_base.h + /usr/include/c++/16.1.1/bits/list.tcc + /usr/include/c++/16.1.1/bits/locale_classes.h + /usr/include/c++/16.1.1/bits/locale_classes.tcc + /usr/include/c++/16.1.1/bits/localefwd.h + /usr/include/c++/16.1.1/bits/memory_resource.h + /usr/include/c++/16.1.1/bits/memoryfwd.h + /usr/include/c++/16.1.1/bits/move.h + /usr/include/c++/16.1.1/bits/nested_exception.h + /usr/include/c++/16.1.1/bits/new_allocator.h + /usr/include/c++/16.1.1/bits/new_except.h + /usr/include/c++/16.1.1/bits/new_throw.h + /usr/include/c++/16.1.1/bits/node_handle.h + /usr/include/c++/16.1.1/bits/ostream_insert.h + /usr/include/c++/16.1.1/bits/parse_numbers.h + /usr/include/c++/16.1.1/bits/postypes.h + /usr/include/c++/16.1.1/bits/predefined_ops.h + /usr/include/c++/16.1.1/bits/ptr_traits.h + /usr/include/c++/16.1.1/bits/range_access.h + /usr/include/c++/16.1.1/bits/refwrap.h + /usr/include/c++/16.1.1/bits/requires_hosted.h + /usr/include/c++/16.1.1/bits/shared_ptr.h + /usr/include/c++/16.1.1/bits/shared_ptr_atomic.h + /usr/include/c++/16.1.1/bits/shared_ptr_base.h + /usr/include/c++/16.1.1/bits/specfun.h + /usr/include/c++/16.1.1/bits/std_abs.h + /usr/include/c++/16.1.1/bits/std_function.h + /usr/include/c++/16.1.1/bits/stdexcept_except.h + /usr/include/c++/16.1.1/bits/stdexcept_throw.h + /usr/include/c++/16.1.1/bits/stdexcept_throwfwd.h + /usr/include/c++/16.1.1/bits/stl_algo.h + /usr/include/c++/16.1.1/bits/stl_algobase.h + /usr/include/c++/16.1.1/bits/stl_bvector.h + /usr/include/c++/16.1.1/bits/stl_construct.h + /usr/include/c++/16.1.1/bits/stl_function.h + /usr/include/c++/16.1.1/bits/stl_heap.h + /usr/include/c++/16.1.1/bits/stl_iterator.h + /usr/include/c++/16.1.1/bits/stl_iterator_base_funcs.h + /usr/include/c++/16.1.1/bits/stl_iterator_base_types.h + /usr/include/c++/16.1.1/bits/stl_list.h + /usr/include/c++/16.1.1/bits/stl_map.h + /usr/include/c++/16.1.1/bits/stl_multimap.h + /usr/include/c++/16.1.1/bits/stl_multiset.h + /usr/include/c++/16.1.1/bits/stl_numeric.h + /usr/include/c++/16.1.1/bits/stl_pair.h + /usr/include/c++/16.1.1/bits/stl_raw_storage_iter.h + /usr/include/c++/16.1.1/bits/stl_relops.h + /usr/include/c++/16.1.1/bits/stl_set.h + /usr/include/c++/16.1.1/bits/stl_tempbuf.h + /usr/include/c++/16.1.1/bits/stl_tree.h + /usr/include/c++/16.1.1/bits/stl_uninitialized.h + /usr/include/c++/16.1.1/bits/stl_vector.h + /usr/include/c++/16.1.1/bits/stream_iterator.h + /usr/include/c++/16.1.1/bits/streambuf.tcc + /usr/include/c++/16.1.1/bits/streambuf_iterator.h + /usr/include/c++/16.1.1/bits/string_view.tcc + /usr/include/c++/16.1.1/bits/stringfwd.h + /usr/include/c++/16.1.1/bits/uniform_int_dist.h + /usr/include/c++/16.1.1/bits/unique_ptr.h + /usr/include/c++/16.1.1/bits/unordered_map.h + /usr/include/c++/16.1.1/bits/unordered_set.h + /usr/include/c++/16.1.1/bits/uses_allocator.h + /usr/include/c++/16.1.1/bits/uses_allocator_args.h + /usr/include/c++/16.1.1/bits/utility.h + /usr/include/c++/16.1.1/bits/vector.tcc + /usr/include/c++/16.1.1/bits/version.h + /usr/include/c++/16.1.1/cassert + /usr/include/c++/16.1.1/cctype + /usr/include/c++/16.1.1/cerrno + /usr/include/c++/16.1.1/chrono + /usr/include/c++/16.1.1/climits + /usr/include/c++/16.1.1/clocale + /usr/include/c++/16.1.1/cmath + /usr/include/c++/16.1.1/compare + /usr/include/c++/16.1.1/concepts + /usr/include/c++/16.1.1/cstddef + /usr/include/c++/16.1.1/cstdint + /usr/include/c++/16.1.1/cstdio + /usr/include/c++/16.1.1/cstdlib + /usr/include/c++/16.1.1/cstring + /usr/include/c++/16.1.1/ctime + /usr/include/c++/16.1.1/cwchar + /usr/include/c++/16.1.1/debug/assertions.h + /usr/include/c++/16.1.1/debug/debug.h + /usr/include/c++/16.1.1/exception + /usr/include/c++/16.1.1/ext/aligned_buffer.h + /usr/include/c++/16.1.1/ext/alloc_traits.h + /usr/include/c++/16.1.1/ext/atomicity.h + /usr/include/c++/16.1.1/ext/concurrence.h + /usr/include/c++/16.1.1/ext/numeric_traits.h + /usr/include/c++/16.1.1/ext/string_conversions.h + /usr/include/c++/16.1.1/ext/type_traits.h + /usr/include/c++/16.1.1/functional + /usr/include/c++/16.1.1/initializer_list + /usr/include/c++/16.1.1/iosfwd + /usr/include/c++/16.1.1/iterator + /usr/include/c++/16.1.1/limits + /usr/include/c++/16.1.1/list + /usr/include/c++/16.1.1/map + /usr/include/c++/16.1.1/memory + /usr/include/c++/16.1.1/new + /usr/include/c++/16.1.1/numeric + /usr/include/c++/16.1.1/optional + /usr/include/c++/16.1.1/pstl/execution_defs.h + /usr/include/c++/16.1.1/pstl/glue_numeric_defs.h + /usr/include/c++/16.1.1/pstl/pstl_config.h + /usr/include/c++/16.1.1/ratio + /usr/include/c++/16.1.1/set + /usr/include/c++/16.1.1/stdexcept + /usr/include/c++/16.1.1/streambuf + /usr/include/c++/16.1.1/string + /usr/include/c++/16.1.1/string_view + /usr/include/c++/16.1.1/system_error + /usr/include/c++/16.1.1/tr1/bessel_function.tcc + /usr/include/c++/16.1.1/tr1/beta_function.tcc + /usr/include/c++/16.1.1/tr1/ell_integral.tcc + /usr/include/c++/16.1.1/tr1/exp_integral.tcc + /usr/include/c++/16.1.1/tr1/gamma.tcc + /usr/include/c++/16.1.1/tr1/hypergeometric.tcc + /usr/include/c++/16.1.1/tr1/legendre_function.tcc + /usr/include/c++/16.1.1/tr1/modified_bessel_func.tcc + /usr/include/c++/16.1.1/tr1/poly_hermite.tcc + /usr/include/c++/16.1.1/tr1/poly_laguerre.tcc + /usr/include/c++/16.1.1/tr1/riemann_zeta.tcc + /usr/include/c++/16.1.1/tr1/special_function_util.h + /usr/include/c++/16.1.1/tuple + /usr/include/c++/16.1.1/type_traits + /usr/include/c++/16.1.1/typeinfo + /usr/include/c++/16.1.1/unordered_map + /usr/include/c++/16.1.1/unordered_set + /usr/include/c++/16.1.1/utility + /usr/include/c++/16.1.1/variant + /usr/include/c++/16.1.1/vector + /usr/include/c++/16.1.1/version + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/atomic_word.h + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++allocator.h + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++config.h + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++locale.h + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/cpu_defines.h + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/error_constants.h + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/gthr.h + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/os_defines.h + /usr/include/ctype.h + /usr/include/endian.h + /usr/include/errno.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/gnu/stubs-64.h + /usr/include/gnu/stubs.h + /usr/include/limits.h + /usr/include/linux/errno.h + /usr/include/linux/limits.h + /usr/include/linux/posix_types.h + /usr/include/linux/sched/types.h + /usr/include/linux/stddef.h + /usr/include/linux/types.h + /usr/include/locale.h + /usr/include/pthread.h + /usr/include/qt6/QtCore/q17memory.h + /usr/include/qt6/QtCore/q20algorithm.h + /usr/include/qt6/QtCore/q20bit.h + /usr/include/qt6/QtCore/q20functional.h + /usr/include/qt6/QtCore/q20iterator.h + /usr/include/qt6/QtCore/q20memory.h + /usr/include/qt6/QtCore/q20type_traits.h + /usr/include/qt6/QtCore/q20utility.h + /usr/include/qt6/QtCore/q23type_traits.h + /usr/include/qt6/QtCore/q23utility.h + /usr/include/qt6/QtCore/qalgorithms.h + /usr/include/qt6/QtCore/qalloc.h + /usr/include/qt6/QtCore/qanystringview.h + /usr/include/qt6/QtCore/qarraydata.h + /usr/include/qt6/QtCore/qarraydataops.h + /usr/include/qt6/QtCore/qarraydatapointer.h + /usr/include/qt6/QtCore/qassert.h + /usr/include/qt6/QtCore/qatomic.h + /usr/include/qt6/QtCore/qatomic_cxx11.h + /usr/include/qt6/QtCore/qbasicatomic.h + /usr/include/qt6/QtCore/qbindingstorage.h + /usr/include/qt6/QtCore/qbytearray.h + /usr/include/qt6/QtCore/qbytearrayalgorithms.h + /usr/include/qt6/QtCore/qbytearraylist.h + /usr/include/qt6/QtCore/qbytearrayview.h + /usr/include/qt6/QtCore/qcalendar.h + /usr/include/qt6/QtCore/qcborcommon.h + /usr/include/qt6/QtCore/qcborvalue.h + /usr/include/qt6/QtCore/qchar.h + /usr/include/qt6/QtCore/qcheckedint_impl.h + /usr/include/qt6/QtCore/qcompare.h + /usr/include/qt6/QtCore/qcompare_impl.h + /usr/include/qt6/QtCore/qcomparehelpers.h + /usr/include/qt6/QtCore/qcompilerdetection.h + /usr/include/qt6/QtCore/qconfig.h + /usr/include/qt6/QtCore/qconstructormacros.h + /usr/include/qt6/QtCore/qcontainerfwd.h + /usr/include/qt6/QtCore/qcontainerinfo.h + /usr/include/qt6/QtCore/qcontainertools_impl.h + /usr/include/qt6/QtCore/qcontiguouscache.h + /usr/include/qt6/QtCore/qdarwinhelpers.h + /usr/include/qt6/QtCore/qdatastream.h + /usr/include/qt6/QtCore/qdatetime.h + /usr/include/qt6/QtCore/qdebug.h + /usr/include/qt6/QtCore/qendian.h + /usr/include/qt6/QtCore/qexceptionhandling.h + /usr/include/qt6/QtCore/qfactoryinterface.h + /usr/include/qt6/QtCore/qflags.h + /usr/include/qt6/QtCore/qfloat16.h + /usr/include/qt6/QtCore/qforeach.h + /usr/include/qt6/QtCore/qfunctionaltools_impl.h + /usr/include/qt6/QtCore/qfunctionpointer.h + /usr/include/qt6/QtCore/qgenericatomic.h + /usr/include/qt6/QtCore/qglobal.h + /usr/include/qt6/QtCore/qglobalstatic.h + /usr/include/qt6/QtCore/qhash.h + /usr/include/qt6/QtCore/qhashfunctions.h + /usr/include/qt6/QtCore/qiodevicebase.h + /usr/include/qt6/QtCore/qiterable.h + /usr/include/qt6/QtCore/qiterator.h + /usr/include/qt6/QtCore/qjsondocument.h + /usr/include/qt6/QtCore/qjsonobject.h + /usr/include/qt6/QtCore/qjsonparseerror.h + /usr/include/qt6/QtCore/qjsonvalue.h + /usr/include/qt6/QtCore/qlatin1stringview.h + /usr/include/qt6/QtCore/qline.h + /usr/include/qt6/QtCore/qlist.h + /usr/include/qt6/QtCore/qlocale.h + /usr/include/qt6/QtCore/qlogging.h + /usr/include/qt6/QtCore/qmalloc.h + /usr/include/qt6/QtCore/qmap.h + /usr/include/qt6/QtCore/qmargins.h + /usr/include/qt6/QtCore/qmath.h + /usr/include/qt6/QtCore/qmetacontainer.h + /usr/include/qt6/QtCore/qmetatype.h + /usr/include/qt6/QtCore/qminmax.h + /usr/include/qt6/QtCore/qnamespace.h + /usr/include/qt6/QtCore/qnumeric.h + /usr/include/qt6/QtCore/qobject.h + /usr/include/qt6/QtCore/qobject_impl.h + /usr/include/qt6/QtCore/qobjectdefs.h + /usr/include/qt6/QtCore/qobjectdefs_impl.h + /usr/include/qt6/QtCore/qoverload.h + /usr/include/qt6/QtCore/qpair.h + /usr/include/qt6/QtCore/qplugin.h + /usr/include/qt6/QtCore/qpoint.h + /usr/include/qt6/QtCore/qpointer.h + /usr/include/qt6/QtCore/qprocessordetection.h + /usr/include/qt6/QtCore/qrect.h + /usr/include/qt6/QtCore/qrefcount.h + /usr/include/qt6/QtCore/qregularexpression.h + /usr/include/qt6/QtCore/qscopedpointer.h + /usr/include/qt6/QtCore/qscopeguard.h + /usr/include/qt6/QtCore/qset.h + /usr/include/qt6/QtCore/qshareddata.h + /usr/include/qt6/QtCore/qshareddata_impl.h + /usr/include/qt6/QtCore/qsharedpointer.h + /usr/include/qt6/QtCore/qsharedpointer_impl.h + /usr/include/qt6/QtCore/qsize.h + /usr/include/qt6/QtCore/qspan.h + /usr/include/qt6/QtCore/qstdlibdetection.h + /usr/include/qt6/QtCore/qstring.h + /usr/include/qt6/QtCore/qstringalgorithms.h + /usr/include/qt6/QtCore/qstringbuilder.h + /usr/include/qt6/QtCore/qstringconverter.h + /usr/include/qt6/QtCore/qstringconverter_base.h + /usr/include/qt6/QtCore/qstringfwd.h + /usr/include/qt6/QtCore/qstringlist.h + /usr/include/qt6/QtCore/qstringmatcher.h + /usr/include/qt6/QtCore/qstringtokenizer.h + /usr/include/qt6/QtCore/qstringview.h + /usr/include/qt6/QtCore/qswap.h + /usr/include/qt6/QtCore/qsysinfo.h + /usr/include/qt6/QtCore/qsystemdetection.h + /usr/include/qt6/QtCore/qtaggedpointer.h + /usr/include/qt6/QtCore/qtclasshelpermacros.h + /usr/include/qt6/QtCore/qtconfiginclude.h + /usr/include/qt6/QtCore/qtconfigmacros.h + /usr/include/qt6/QtCore/qtcore-config.h + /usr/include/qt6/QtCore/qtcoreexports.h + /usr/include/qt6/QtCore/qtcoreglobal.h + /usr/include/qt6/QtCore/qtdeprecationdefinitions.h + /usr/include/qt6/QtCore/qtdeprecationmarkers.h + /usr/include/qt6/QtCore/qtenvironmentvariables.h + /usr/include/qt6/QtCore/qtextstream.h + /usr/include/qt6/QtCore/qtformat_impl.h + /usr/include/qt6/QtCore/qtmetamacros.h + /usr/include/qt6/QtCore/qtnoop.h + /usr/include/qt6/QtCore/qtpreprocessorsupport.h + /usr/include/qt6/QtCore/qtresource.h + /usr/include/qt6/QtCore/qttranslation.h + /usr/include/qt6/QtCore/qttypetraits.h + /usr/include/qt6/QtCore/qtversion.h + /usr/include/qt6/QtCore/qtversionchecks.h + /usr/include/qt6/QtCore/qtypeinfo.h + /usr/include/qt6/QtCore/qtypes.h + /usr/include/qt6/QtCore/qurl.h + /usr/include/qt6/QtCore/qutf8stringview.h + /usr/include/qt6/QtCore/quuid.h + /usr/include/qt6/QtCore/qvariant.h + /usr/include/qt6/QtCore/qvarlengtharray.h + /usr/include/qt6/QtCore/qversiontagging.h + /usr/include/qt6/QtCore/qxptype_traits.h + /usr/include/qt6/QtCore/qyieldcpu.h + /usr/include/qt6/QtGui/qbrush.h + /usr/include/qt6/QtGui/qcolor.h + /usr/include/qt6/QtGui/qicon.h + /usr/include/qt6/QtGui/qimage.h + /usr/include/qt6/QtGui/qpaintdevice.h + /usr/include/qt6/QtGui/qpalette.h + /usr/include/qt6/QtGui/qpixelformat.h + /usr/include/qt6/QtGui/qpixmap.h + /usr/include/qt6/QtGui/qpolygon.h + /usr/include/qt6/QtGui/qregion.h + /usr/include/qt6/QtGui/qrgb.h + /usr/include/qt6/QtGui/qrgba64.h + /usr/include/qt6/QtGui/qtgui-config.h + /usr/include/qt6/QtGui/qtguiexports.h + /usr/include/qt6/QtGui/qtguiglobal.h + /usr/include/qt6/QtGui/qtransform.h + /usr/include/qt6/QtGui/qwindowdefs.h + /usr/include/qt6/QtWidgets/QCommonStyle + /usr/include/qt6/QtWidgets/QProxyStyle + /usr/include/qt6/QtWidgets/QStylePlugin + /usr/include/qt6/QtWidgets/qcommonstyle.h + /usr/include/qt6/QtWidgets/qproxystyle.h + /usr/include/qt6/QtWidgets/qsizepolicy.h + /usr/include/qt6/QtWidgets/qstyle.h + /usr/include/qt6/QtWidgets/qstyleplugin.h + /usr/include/qt6/QtWidgets/qtwidgets-config.h + /usr/include/qt6/QtWidgets/qtwidgetsexports.h + /usr/include/qt6/QtWidgets/qtwidgetsglobal.h + /usr/include/sched.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/stdio.h + /usr/include/stdlib.h + /usr/include/string.h + /usr/include/strings.h + /usr/include/sys/cdefs.h + /usr/include/sys/select.h + /usr/include/sys/single_threaded.h + /usr/include/sys/types.h + /usr/include/time.h + /usr/include/wchar.h + /usr/lib/cmake/Qt6/FindWrapAtomic.cmake + /usr/lib/cmake/Qt6/FindWrapOpenGL.cmake + /usr/lib/cmake/Qt6/FindWrapVulkanHeaders.cmake + /usr/lib/cmake/Qt6/Qt6Config.cmake + /usr/lib/cmake/Qt6/Qt6ConfigExtras.cmake + /usr/lib/cmake/Qt6/Qt6ConfigVersion.cmake + /usr/lib/cmake/Qt6/Qt6ConfigVersionImpl.cmake + /usr/lib/cmake/Qt6/Qt6Dependencies.cmake + /usr/lib/cmake/Qt6/Qt6Targets.cmake + /usr/lib/cmake/Qt6/Qt6TargetsPrecheck.cmake + /usr/lib/cmake/Qt6/Qt6VersionlessAliasTargets.cmake + /usr/lib/cmake/Qt6/QtFeature.cmake + /usr/lib/cmake/Qt6/QtFeatureCommon.cmake + /usr/lib/cmake/Qt6/QtInstallPaths.cmake + /usr/lib/cmake/Qt6/QtPublicAndroidHelpers.cmake + /usr/lib/cmake/Qt6/QtPublicAppleHelpers.cmake + /usr/lib/cmake/Qt6/QtPublicCMakeEarlyPolicyHelpers.cmake + /usr/lib/cmake/Qt6/QtPublicCMakeHelpers.cmake + /usr/lib/cmake/Qt6/QtPublicCMakeVersionHelpers.cmake + /usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake + /usr/lib/cmake/Qt6/QtPublicExternalProjectHelpers.cmake + /usr/lib/cmake/Qt6/QtPublicFinalizerHelpers.cmake + /usr/lib/cmake/Qt6/QtPublicFindPackageHelpers.cmake + /usr/lib/cmake/Qt6/QtPublicGitHelpers.cmake + /usr/lib/cmake/Qt6/QtPublicPluginHelpers.cmake + /usr/lib/cmake/Qt6/QtPublicPluginHelpers_v2.cmake + /usr/lib/cmake/Qt6/QtPublicSbomAttributionHelpers.cmake + /usr/lib/cmake/Qt6/QtPublicSbomCommonGenerationHelpers.cmake + /usr/lib/cmake/Qt6/QtPublicSbomCpeHelpers.cmake + /usr/lib/cmake/Qt6/QtPublicSbomCycloneDXHelpers.cmake + /usr/lib/cmake/Qt6/QtPublicSbomDepHelpers.cmake + /usr/lib/cmake/Qt6/QtPublicSbomDocumentNamespaceHelpers.cmake + /usr/lib/cmake/Qt6/QtPublicSbomFileHelpers.cmake + /usr/lib/cmake/Qt6/QtPublicSbomGenerationCycloneDXHelpers.cmake + /usr/lib/cmake/Qt6/QtPublicSbomGenerationHelpers.cmake + /usr/lib/cmake/Qt6/QtPublicSbomHelpers.cmake + /usr/lib/cmake/Qt6/QtPublicSbomLicenseHelpers.cmake + /usr/lib/cmake/Qt6/QtPublicSbomOpsHelpers.cmake + /usr/lib/cmake/Qt6/QtPublicSbomPurlHelpers.cmake + /usr/lib/cmake/Qt6/QtPublicSbomPythonHelpers.cmake + /usr/lib/cmake/Qt6/QtPublicSbomQtEntityHelpers.cmake + /usr/lib/cmake/Qt6/QtPublicSbomSystemDepHelpers.cmake + /usr/lib/cmake/Qt6/QtPublicTargetHelpers.cmake + /usr/lib/cmake/Qt6/QtPublicTestHelpers.cmake + /usr/lib/cmake/Qt6/QtPublicToolHelpers.cmake + /usr/lib/cmake/Qt6/QtPublicWalkLibsHelpers.cmake + /usr/lib/cmake/Qt6/QtPublicWindowsHelpers.cmake + /usr/lib/cmake/Qt6Core/Qt6CoreAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Core/Qt6CoreConfig.cmake + /usr/lib/cmake/Qt6Core/Qt6CoreConfigExtras.cmake + /usr/lib/cmake/Qt6Core/Qt6CoreConfigVersion.cmake + /usr/lib/cmake/Qt6Core/Qt6CoreConfigVersionImpl.cmake + /usr/lib/cmake/Qt6Core/Qt6CoreDependencies.cmake + /usr/lib/cmake/Qt6Core/Qt6CoreMacros.cmake + /usr/lib/cmake/Qt6Core/Qt6CoreTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Core/Qt6CoreTargets.cmake + /usr/lib/cmake/Qt6Core/Qt6CoreTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Core/Qt6CoreVersionlessAliasTargets.cmake + /usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfig.cmake + /usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfigVersion.cmake + /usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfigVersionImpl.cmake + /usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsDependencies.cmake + /usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsTargets.cmake + /usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsTargetsPrecheck.cmake + /usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsVersionlessTargets.cmake + /usr/lib/cmake/Qt6DBus/Qt6DBusAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6DBus/Qt6DBusConfig.cmake + /usr/lib/cmake/Qt6DBus/Qt6DBusConfigVersion.cmake + /usr/lib/cmake/Qt6DBus/Qt6DBusConfigVersionImpl.cmake + /usr/lib/cmake/Qt6DBus/Qt6DBusDependencies.cmake + /usr/lib/cmake/Qt6DBus/Qt6DBusMacros.cmake + /usr/lib/cmake/Qt6DBus/Qt6DBusTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6DBus/Qt6DBusTargets.cmake + /usr/lib/cmake/Qt6DBus/Qt6DBusTargetsPrecheck.cmake + /usr/lib/cmake/Qt6DBus/Qt6DBusVersionlessAliasTargets.cmake + /usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsConfig.cmake + /usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsConfigVersion.cmake + /usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsConfigVersionImpl.cmake + /usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsDependencies.cmake + /usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsTargets.cmake + /usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsTargetsPrecheck.cmake + /usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsVersionlessTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6GuiAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6GuiConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6GuiConfigVersion.cmake + /usr/lib/cmake/Qt6Gui/Qt6GuiConfigVersionImpl.cmake + /usr/lib/cmake/Qt6Gui/Qt6GuiDependencies.cmake + /usr/lib/cmake/Qt6Gui/Qt6GuiPlugins.cmake + /usr/lib/cmake/Qt6Gui/Qt6GuiTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6GuiTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6GuiTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6GuiVersionlessAliasTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QGifPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QGifPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QGifPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QGifPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QGifPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QICNSPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QICNSPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QICNSPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QICNSPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QICNSPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QICOPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QICOPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QICOPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QICOPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QICOPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QJp2PluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QJp2PluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QJp2PluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QJp2PluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QJp2PluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QJpegPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QJpegPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QJpegPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QJpegPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QJpegPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QMngPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QMngPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QMngPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QMngPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QMngPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QPdfPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QPdfPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QPdfPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QPdfPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QPdfPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QSvgPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QSvgPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QSvgPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QSvgPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QSvgPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QTgaPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QTgaPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QTgaPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QTgaPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QTgaPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QTiffPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QTiffPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QTiffPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QTiffPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QTiffPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWebpPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWebpPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWebpPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWebpPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QWebpPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginConfig.cmake + /usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginTargets.cmake + /usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginTargetsPrecheck.cmake + /usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsConfig.cmake + /usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsConfigVersion.cmake + /usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsConfigVersionImpl.cmake + /usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsDependencies.cmake + /usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsTargets.cmake + /usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsTargetsPrecheck.cmake + /usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsVersionlessTargets.cmake + /usr/lib/cmake/Qt6Widgets/Qt6WidgetsAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake + /usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfigVersion.cmake + /usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfigVersionImpl.cmake + /usr/lib/cmake/Qt6Widgets/Qt6WidgetsDependencies.cmake + /usr/lib/cmake/Qt6Widgets/Qt6WidgetsMacros.cmake + /usr/lib/cmake/Qt6Widgets/Qt6WidgetsPlugins.cmake + /usr/lib/cmake/Qt6Widgets/Qt6WidgetsTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6Widgets/Qt6WidgetsTargets.cmake + /usr/lib/cmake/Qt6Widgets/Qt6WidgetsTargetsPrecheck.cmake + /usr/lib/cmake/Qt6Widgets/Qt6WidgetsVersionlessAliasTargets.cmake + /usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsAdditionalTargetInfo.cmake + /usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsConfig.cmake + /usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsConfigVersion.cmake + /usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsConfigVersionImpl.cmake + /usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsDependencies.cmake + /usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsTargets-relwithdebinfo.cmake + /usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsTargets.cmake + /usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsTargetsPrecheck.cmake + /usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsVersionlessTargets.cmake + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdarg.h + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdbool.h + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stddef.h + /usr/sbin/cmake + /usr/share/cmake/Modules/CMakeCCompiler.cmake.in + /usr/share/cmake/Modules/CMakeCCompilerABI.c + /usr/share/cmake/Modules/CMakeCInformation.cmake + /usr/share/cmake/Modules/CMakeCXXCompiler.cmake.in + /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp + /usr/share/cmake/Modules/CMakeCXXInformation.cmake + /usr/share/cmake/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake + /usr/share/cmake/Modules/CMakeCommonLanguageInclude.cmake + /usr/share/cmake/Modules/CMakeCompilerIdDetection.cmake + /usr/share/cmake/Modules/CMakeDetermineCCompiler.cmake + /usr/share/cmake/Modules/CMakeDetermineCXXCompiler.cmake + /usr/share/cmake/Modules/CMakeDetermineCompiler.cmake + /usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake + /usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake + /usr/share/cmake/Modules/CMakeDetermineCompilerSupport.cmake + /usr/share/cmake/Modules/CMakeDetermineSystem.cmake + /usr/share/cmake/Modules/CMakeFindBinUtils.cmake + /usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake + /usr/share/cmake/Modules/CMakeGenericSystem.cmake + /usr/share/cmake/Modules/CMakeInitializeConfigs.cmake + /usr/share/cmake/Modules/CMakeLanguageInformation.cmake + /usr/share/cmake/Modules/CMakeParseImplicitIncludeInfo.cmake + /usr/share/cmake/Modules/CMakeParseImplicitLinkInfo.cmake + /usr/share/cmake/Modules/CMakeParseLibraryArchitecture.cmake + /usr/share/cmake/Modules/CMakeSystem.cmake.in + /usr/share/cmake/Modules/CMakeSystemSpecificInformation.cmake + /usr/share/cmake/Modules/CMakeSystemSpecificInitialize.cmake + /usr/share/cmake/Modules/CMakeTestCCompiler.cmake + /usr/share/cmake/Modules/CMakeTestCXXCompiler.cmake + /usr/share/cmake/Modules/CMakeTestCompilerCommon.cmake + /usr/share/cmake/Modules/CMakeUnixFindMake.cmake + /usr/share/cmake/Modules/CheckCSourceCompiles.cmake + /usr/share/cmake/Modules/CheckCXXCompilerFlag.cmake + /usr/share/cmake/Modules/CheckCXXSourceCompiles.cmake + /usr/share/cmake/Modules/CheckIncludeFile.cmake + /usr/share/cmake/Modules/CheckLibraryExists.cmake + /usr/share/cmake/Modules/Compiler/ADSP-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/ARMCC-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/ARMClang-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/AppleClang-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/Borland-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/Bruce-C-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/CMakeCommonCompilerMacros.cmake + /usr/share/cmake/Modules/Compiler/Clang-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/Clang-DetermineCompilerInternal.cmake + /usr/share/cmake/Modules/Compiler/Compaq-C-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/Cray-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/CrayClang-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/Diab-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/Embarcadero-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/Fujitsu-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/GHS-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/GNU-C-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/GNU-C.cmake + /usr/share/cmake/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/GNU-CXX.cmake + /usr/share/cmake/Modules/Compiler/GNU-FindBinUtils.cmake + /usr/share/cmake/Modules/Compiler/GNU.cmake + /usr/share/cmake/Modules/Compiler/HP-C-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/HP-CXX-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/IAR-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake + /usr/share/cmake/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake + /usr/share/cmake/Modules/Compiler/IBMClang-C-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/IBMClang-CXX-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/Intel-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/LCC-C-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/LCC-CXX-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/MSVC-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/NVHPC-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/NVIDIA-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/OrangeC-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/PGI-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/PathScale-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/Renesas-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/SCO-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/SDCC-C-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/SunPro-C-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/TI-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/TIClang-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/Tasking-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/Watcom-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/XL-C-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/XL-CXX-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/XLClang-C-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/zOS-C-DetermineCompiler.cmake + /usr/share/cmake/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake + /usr/share/cmake/Modules/FindOpenGL.cmake + /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake + /usr/share/cmake/Modules/FindPackageMessage.cmake + /usr/share/cmake/Modules/FindThreads.cmake + /usr/share/cmake/Modules/FindVulkan.cmake + /usr/share/cmake/Modules/GNUInstallDirs.cmake + /usr/share/cmake/Modules/Internal/CMakeCLinkerInformation.cmake + /usr/share/cmake/Modules/Internal/CMakeCXXLinkerInformation.cmake + /usr/share/cmake/Modules/Internal/CMakeCommonLinkerInformation.cmake + /usr/share/cmake/Modules/Internal/CMakeDetermineLinkerId.cmake + /usr/share/cmake/Modules/Internal/CMakeInspectCLinker.cmake + /usr/share/cmake/Modules/Internal/CMakeInspectCXXLinker.cmake + /usr/share/cmake/Modules/Internal/CheckCompilerFlag.cmake + /usr/share/cmake/Modules/Internal/CheckFlagCommonConfig.cmake + /usr/share/cmake/Modules/Internal/CheckSourceCompiles.cmake + /usr/share/cmake/Modules/Internal/FeatureTesting.cmake + /usr/share/cmake/Modules/Linker/GNU-C.cmake + /usr/share/cmake/Modules/Linker/GNU-CXX.cmake + /usr/share/cmake/Modules/Linker/GNU.cmake + /usr/share/cmake/Modules/MacroAddFileDependencies.cmake + /usr/share/cmake/Modules/Platform/Linker/GNU.cmake + /usr/share/cmake/Modules/Platform/Linker/Linux-GNU-C.cmake + /usr/share/cmake/Modules/Platform/Linker/Linux-GNU-CXX.cmake + /usr/share/cmake/Modules/Platform/Linker/Linux-GNU.cmake + /usr/share/cmake/Modules/Platform/Linux-Determine-CXX.cmake + /usr/share/cmake/Modules/Platform/Linux-GNU-C.cmake + /usr/share/cmake/Modules/Platform/Linux-GNU-CXX.cmake + /usr/share/cmake/Modules/Platform/Linux-GNU.cmake + /usr/share/cmake/Modules/Platform/Linux-Initialize.cmake + /usr/share/cmake/Modules/Platform/Linux.cmake + /usr/share/cmake/Modules/Platform/UnixPaths.cmake + +CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.o + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/CyberQueerStyle.cpp + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/CyberQueerStyle.h + /usr/include/alloca.h + /usr/include/asm-generic/bitsperlong.h + /usr/include/asm-generic/errno-base.h + /usr/include/asm-generic/errno.h + /usr/include/asm-generic/int-ll64.h + /usr/include/asm-generic/posix_types.h + /usr/include/asm-generic/types.h + /usr/include/asm/bitsperlong.h + /usr/include/asm/errno.h + /usr/include/asm/posix_types.h + /usr/include/asm/posix_types_64.h + /usr/include/asm/types.h + /usr/include/assert.h + /usr/include/bits/atomic_wide_counter.h + /usr/include/bits/byteswap.h + /usr/include/bits/cpu-set.h + /usr/include/bits/endian.h + /usr/include/bits/endianness.h + /usr/include/bits/errno.h + /usr/include/bits/floatn-common.h + /usr/include/bits/floatn.h + /usr/include/bits/flt-eval-method.h + /usr/include/bits/fp-fast.h + /usr/include/bits/fp-logb.h + /usr/include/bits/iscanonical.h + /usr/include/bits/libc-header-start.h + /usr/include/bits/libm-simd-decl-stubs.h + /usr/include/bits/local_lim.h + /usr/include/bits/locale.h + /usr/include/bits/long-double.h + /usr/include/bits/math-vector.h + /usr/include/bits/mathcalls-helper-functions.h + /usr/include/bits/mathcalls-macros.h + /usr/include/bits/mathcalls-narrow.h + /usr/include/bits/mathcalls.h + /usr/include/bits/posix1_lim.h + /usr/include/bits/posix2_lim.h + /usr/include/bits/pthread_stack_min-dynamic.h + /usr/include/bits/pthreadtypes-arch.h + /usr/include/bits/pthreadtypes.h + /usr/include/bits/sched.h + /usr/include/bits/select.h + /usr/include/bits/setjmp.h + /usr/include/bits/stdint-intn.h + /usr/include/bits/stdint-least.h + /usr/include/bits/stdint-uintn.h + /usr/include/bits/stdio.h + /usr/include/bits/stdio_lim.h + /usr/include/bits/stdlib-bsearch.h + /usr/include/bits/stdlib-float.h + /usr/include/bits/struct_mutex.h + /usr/include/bits/struct_rwlock.h + /usr/include/bits/thread-shared-types.h + /usr/include/bits/time.h + /usr/include/bits/time64.h + /usr/include/bits/timesize.h + /usr/include/bits/timex.h + /usr/include/bits/types.h + /usr/include/bits/types/FILE.h + /usr/include/bits/types/__FILE.h + /usr/include/bits/types/__fpos64_t.h + /usr/include/bits/types/__fpos_t.h + /usr/include/bits/types/__locale_t.h + /usr/include/bits/types/__mbstate_t.h + /usr/include/bits/types/__sigset_t.h + /usr/include/bits/types/clock_t.h + /usr/include/bits/types/clockid_t.h + /usr/include/bits/types/cookie_io_functions_t.h + /usr/include/bits/types/error_t.h + /usr/include/bits/types/locale_t.h + /usr/include/bits/types/mbstate_t.h + /usr/include/bits/types/sigset_t.h + /usr/include/bits/types/struct_FILE.h + /usr/include/bits/types/struct___jmp_buf_tag.h + /usr/include/bits/types/struct_itimerspec.h + /usr/include/bits/types/struct_sched_param.h + /usr/include/bits/types/struct_timespec.h + /usr/include/bits/types/struct_timeval.h + /usr/include/bits/types/struct_tm.h + /usr/include/bits/types/time_t.h + /usr/include/bits/types/timer_t.h + /usr/include/bits/types/wint_t.h + /usr/include/bits/typesizes.h + /usr/include/bits/uintn-identity.h + /usr/include/bits/uio_lim.h + /usr/include/bits/waitflags.h + /usr/include/bits/waitstatus.h + /usr/include/bits/wchar.h + /usr/include/bits/wordsize.h + /usr/include/bits/xopen_lim.h + /usr/include/c++/16.1.1/algorithm + /usr/include/c++/16.1.1/array + /usr/include/c++/16.1.1/atomic + /usr/include/c++/16.1.1/backward/auto_ptr.h + /usr/include/c++/16.1.1/backward/binders.h + /usr/include/c++/16.1.1/bit + /usr/include/c++/16.1.1/bits/algorithmfwd.h + /usr/include/c++/16.1.1/bits/align.h + /usr/include/c++/16.1.1/bits/alloc_traits.h + /usr/include/c++/16.1.1/bits/allocated_ptr.h + /usr/include/c++/16.1.1/bits/allocator.h + /usr/include/c++/16.1.1/bits/atomic_base.h + /usr/include/c++/16.1.1/bits/atomic_lockfree_defines.h + /usr/include/c++/16.1.1/bits/basic_string.h + /usr/include/c++/16.1.1/bits/basic_string.tcc + /usr/include/c++/16.1.1/bits/char_traits.h + /usr/include/c++/16.1.1/bits/charconv.h + /usr/include/c++/16.1.1/bits/chrono.h + /usr/include/c++/16.1.1/bits/concept_check.h + /usr/include/c++/16.1.1/bits/cpp_type_traits.h + /usr/include/c++/16.1.1/bits/cxxabi_forced.h + /usr/include/c++/16.1.1/bits/cxxabi_init_exception.h + /usr/include/c++/16.1.1/bits/enable_special_members.h + /usr/include/c++/16.1.1/bits/erase_if.h + /usr/include/c++/16.1.1/bits/exception.h + /usr/include/c++/16.1.1/bits/exception_defines.h + /usr/include/c++/16.1.1/bits/exception_ptr.h + /usr/include/c++/16.1.1/bits/functexcept.h + /usr/include/c++/16.1.1/bits/functional_hash.h + /usr/include/c++/16.1.1/bits/hash_bytes.h + /usr/include/c++/16.1.1/bits/hashtable.h + /usr/include/c++/16.1.1/bits/hashtable_policy.h + /usr/include/c++/16.1.1/bits/invoke.h + /usr/include/c++/16.1.1/bits/ios_base.h + /usr/include/c++/16.1.1/bits/list.tcc + /usr/include/c++/16.1.1/bits/locale_classes.h + /usr/include/c++/16.1.1/bits/locale_classes.tcc + /usr/include/c++/16.1.1/bits/localefwd.h + /usr/include/c++/16.1.1/bits/memory_resource.h + /usr/include/c++/16.1.1/bits/memoryfwd.h + /usr/include/c++/16.1.1/bits/monostate.h + /usr/include/c++/16.1.1/bits/move.h + /usr/include/c++/16.1.1/bits/nested_exception.h + /usr/include/c++/16.1.1/bits/new_allocator.h + /usr/include/c++/16.1.1/bits/new_except.h + /usr/include/c++/16.1.1/bits/new_throw.h + /usr/include/c++/16.1.1/bits/node_handle.h + /usr/include/c++/16.1.1/bits/ostream_insert.h + /usr/include/c++/16.1.1/bits/parse_numbers.h + /usr/include/c++/16.1.1/bits/postypes.h + /usr/include/c++/16.1.1/bits/predefined_ops.h + /usr/include/c++/16.1.1/bits/ptr_traits.h + /usr/include/c++/16.1.1/bits/range_access.h + /usr/include/c++/16.1.1/bits/refwrap.h + /usr/include/c++/16.1.1/bits/requires_hosted.h + /usr/include/c++/16.1.1/bits/shared_ptr.h + /usr/include/c++/16.1.1/bits/shared_ptr_atomic.h + /usr/include/c++/16.1.1/bits/shared_ptr_base.h + /usr/include/c++/16.1.1/bits/specfun.h + /usr/include/c++/16.1.1/bits/std_abs.h + /usr/include/c++/16.1.1/bits/std_function.h + /usr/include/c++/16.1.1/bits/stdexcept_except.h + /usr/include/c++/16.1.1/bits/stdexcept_throw.h + /usr/include/c++/16.1.1/bits/stdexcept_throwfwd.h + /usr/include/c++/16.1.1/bits/stl_algo.h + /usr/include/c++/16.1.1/bits/stl_algobase.h + /usr/include/c++/16.1.1/bits/stl_bvector.h + /usr/include/c++/16.1.1/bits/stl_construct.h + /usr/include/c++/16.1.1/bits/stl_function.h + /usr/include/c++/16.1.1/bits/stl_heap.h + /usr/include/c++/16.1.1/bits/stl_iterator.h + /usr/include/c++/16.1.1/bits/stl_iterator_base_funcs.h + /usr/include/c++/16.1.1/bits/stl_iterator_base_types.h + /usr/include/c++/16.1.1/bits/stl_list.h + /usr/include/c++/16.1.1/bits/stl_map.h + /usr/include/c++/16.1.1/bits/stl_multimap.h + /usr/include/c++/16.1.1/bits/stl_numeric.h + /usr/include/c++/16.1.1/bits/stl_pair.h + /usr/include/c++/16.1.1/bits/stl_raw_storage_iter.h + /usr/include/c++/16.1.1/bits/stl_relops.h + /usr/include/c++/16.1.1/bits/stl_tempbuf.h + /usr/include/c++/16.1.1/bits/stl_tree.h + /usr/include/c++/16.1.1/bits/stl_uninitialized.h + /usr/include/c++/16.1.1/bits/stl_vector.h + /usr/include/c++/16.1.1/bits/stream_iterator.h + /usr/include/c++/16.1.1/bits/streambuf.tcc + /usr/include/c++/16.1.1/bits/streambuf_iterator.h + /usr/include/c++/16.1.1/bits/string_view.tcc + /usr/include/c++/16.1.1/bits/stringfwd.h + /usr/include/c++/16.1.1/bits/uniform_int_dist.h + /usr/include/c++/16.1.1/bits/unique_ptr.h + /usr/include/c++/16.1.1/bits/unordered_map.h + /usr/include/c++/16.1.1/bits/uses_allocator.h + /usr/include/c++/16.1.1/bits/uses_allocator_args.h + /usr/include/c++/16.1.1/bits/utility.h + /usr/include/c++/16.1.1/bits/vector.tcc + /usr/include/c++/16.1.1/bits/version.h + /usr/include/c++/16.1.1/cassert + /usr/include/c++/16.1.1/cctype + /usr/include/c++/16.1.1/cerrno + /usr/include/c++/16.1.1/chrono + /usr/include/c++/16.1.1/clocale + /usr/include/c++/16.1.1/cmath + /usr/include/c++/16.1.1/compare + /usr/include/c++/16.1.1/concepts + /usr/include/c++/16.1.1/cstddef + /usr/include/c++/16.1.1/cstdint + /usr/include/c++/16.1.1/cstdio + /usr/include/c++/16.1.1/cstdlib + /usr/include/c++/16.1.1/cstring + /usr/include/c++/16.1.1/ctime + /usr/include/c++/16.1.1/cwchar + /usr/include/c++/16.1.1/debug/assertions.h + /usr/include/c++/16.1.1/debug/debug.h + /usr/include/c++/16.1.1/exception + /usr/include/c++/16.1.1/ext/aligned_buffer.h + /usr/include/c++/16.1.1/ext/alloc_traits.h + /usr/include/c++/16.1.1/ext/atomicity.h + /usr/include/c++/16.1.1/ext/concurrence.h + /usr/include/c++/16.1.1/ext/numeric_traits.h + /usr/include/c++/16.1.1/ext/string_conversions.h + /usr/include/c++/16.1.1/ext/type_traits.h + /usr/include/c++/16.1.1/functional + /usr/include/c++/16.1.1/initializer_list + /usr/include/c++/16.1.1/iosfwd + /usr/include/c++/16.1.1/iterator + /usr/include/c++/16.1.1/limits + /usr/include/c++/16.1.1/list + /usr/include/c++/16.1.1/map + /usr/include/c++/16.1.1/memory + /usr/include/c++/16.1.1/new + /usr/include/c++/16.1.1/numeric + /usr/include/c++/16.1.1/optional + /usr/include/c++/16.1.1/pstl/execution_defs.h + /usr/include/c++/16.1.1/pstl/glue_algorithm_defs.h + /usr/include/c++/16.1.1/pstl/glue_memory_defs.h + /usr/include/c++/16.1.1/pstl/glue_numeric_defs.h + /usr/include/c++/16.1.1/pstl/pstl_config.h + /usr/include/c++/16.1.1/ratio + /usr/include/c++/16.1.1/stdexcept + /usr/include/c++/16.1.1/stdlib.h + /usr/include/c++/16.1.1/streambuf + /usr/include/c++/16.1.1/string + /usr/include/c++/16.1.1/string_view + /usr/include/c++/16.1.1/system_error + /usr/include/c++/16.1.1/tr1/bessel_function.tcc + /usr/include/c++/16.1.1/tr1/beta_function.tcc + /usr/include/c++/16.1.1/tr1/ell_integral.tcc + /usr/include/c++/16.1.1/tr1/exp_integral.tcc + /usr/include/c++/16.1.1/tr1/gamma.tcc + /usr/include/c++/16.1.1/tr1/hypergeometric.tcc + /usr/include/c++/16.1.1/tr1/legendre_function.tcc + /usr/include/c++/16.1.1/tr1/modified_bessel_func.tcc + /usr/include/c++/16.1.1/tr1/poly_hermite.tcc + /usr/include/c++/16.1.1/tr1/poly_laguerre.tcc + /usr/include/c++/16.1.1/tr1/riemann_zeta.tcc + /usr/include/c++/16.1.1/tr1/special_function_util.h + /usr/include/c++/16.1.1/tuple + /usr/include/c++/16.1.1/type_traits + /usr/include/c++/16.1.1/typeinfo + /usr/include/c++/16.1.1/unordered_map + /usr/include/c++/16.1.1/utility + /usr/include/c++/16.1.1/variant + /usr/include/c++/16.1.1/vector + /usr/include/c++/16.1.1/version + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/atomic_word.h + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++allocator.h + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++config.h + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++locale.h + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/cpu_defines.h + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/error_constants.h + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/gthr.h + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/os_defines.h + /usr/include/ctype.h + /usr/include/endian.h + /usr/include/errno.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/gnu/stubs-64.h + /usr/include/gnu/stubs.h + /usr/include/limits.h + /usr/include/linux/errno.h + /usr/include/linux/limits.h + /usr/include/linux/posix_types.h + /usr/include/linux/sched/types.h + /usr/include/linux/stddef.h + /usr/include/linux/types.h + /usr/include/locale.h + /usr/include/math.h + /usr/include/pthread.h + /usr/include/qt6/QtCore/q17memory.h + /usr/include/qt6/QtCore/q20bit.h + /usr/include/qt6/QtCore/q20functional.h + /usr/include/qt6/QtCore/q20iterator.h + /usr/include/qt6/QtCore/q20memory.h + /usr/include/qt6/QtCore/q20type_traits.h + /usr/include/qt6/QtCore/q20utility.h + /usr/include/qt6/QtCore/q23type_traits.h + /usr/include/qt6/QtCore/q23utility.h + /usr/include/qt6/QtCore/qalgorithms.h + /usr/include/qt6/QtCore/qanystringview.h + /usr/include/qt6/QtCore/qarraydata.h + /usr/include/qt6/QtCore/qarraydataops.h + /usr/include/qt6/QtCore/qarraydatapointer.h + /usr/include/qt6/QtCore/qassert.h + /usr/include/qt6/QtCore/qatomic.h + /usr/include/qt6/QtCore/qatomic_cxx11.h + /usr/include/qt6/QtCore/qbasicatomic.h + /usr/include/qt6/QtCore/qbindingstorage.h + /usr/include/qt6/QtCore/qbytearray.h + /usr/include/qt6/QtCore/qbytearrayalgorithms.h + /usr/include/qt6/QtCore/qbytearraylist.h + /usr/include/qt6/QtCore/qbytearrayview.h + /usr/include/qt6/QtCore/qchar.h + /usr/include/qt6/QtCore/qcheckedint_impl.h + /usr/include/qt6/QtCore/qcompare.h + /usr/include/qt6/QtCore/qcompare_impl.h + /usr/include/qt6/QtCore/qcomparehelpers.h + /usr/include/qt6/QtCore/qcompilerdetection.h + /usr/include/qt6/QtCore/qconfig.h + /usr/include/qt6/QtCore/qconstructormacros.h + /usr/include/qt6/QtCore/qcontainerfwd.h + /usr/include/qt6/QtCore/qcontainerinfo.h + /usr/include/qt6/QtCore/qcontainertools_impl.h + /usr/include/qt6/QtCore/qdarwinhelpers.h + /usr/include/qt6/QtCore/qdatastream.h + /usr/include/qt6/QtCore/qexceptionhandling.h + /usr/include/qt6/QtCore/qflags.h + /usr/include/qt6/QtCore/qfloat16.h + /usr/include/qt6/QtCore/qforeach.h + /usr/include/qt6/QtCore/qfunctionaltools_impl.h + /usr/include/qt6/QtCore/qfunctionpointer.h + /usr/include/qt6/QtCore/qgenericatomic.h + /usr/include/qt6/QtCore/qglobal.h + /usr/include/qt6/QtCore/qglobalstatic.h + /usr/include/qt6/QtCore/qhashfunctions.h + /usr/include/qt6/QtCore/qiodevicebase.h + /usr/include/qt6/QtCore/qiterable.h + /usr/include/qt6/QtCore/qiterator.h + /usr/include/qt6/QtCore/qlatin1stringview.h + /usr/include/qt6/QtCore/qline.h + /usr/include/qt6/QtCore/qlist.h + /usr/include/qt6/QtCore/qlogging.h + /usr/include/qt6/QtCore/qmalloc.h + /usr/include/qt6/QtCore/qmargins.h + /usr/include/qt6/QtCore/qmath.h + /usr/include/qt6/QtCore/qmetacontainer.h + /usr/include/qt6/QtCore/qmetatype.h + /usr/include/qt6/QtCore/qminmax.h + /usr/include/qt6/QtCore/qnamespace.h + /usr/include/qt6/QtCore/qnumeric.h + /usr/include/qt6/QtCore/qobject.h + /usr/include/qt6/QtCore/qobject_impl.h + /usr/include/qt6/QtCore/qobjectdefs.h + /usr/include/qt6/QtCore/qobjectdefs_impl.h + /usr/include/qt6/QtCore/qoverload.h + /usr/include/qt6/QtCore/qpair.h + /usr/include/qt6/QtCore/qpoint.h + /usr/include/qt6/QtCore/qprocessordetection.h + /usr/include/qt6/QtCore/qrect.h + /usr/include/qt6/QtCore/qrefcount.h + /usr/include/qt6/QtCore/qscopedpointer.h + /usr/include/qt6/QtCore/qscopeguard.h + /usr/include/qt6/QtCore/qshareddata.h + /usr/include/qt6/QtCore/qsize.h + /usr/include/qt6/QtCore/qspan.h + /usr/include/qt6/QtCore/qstdlibdetection.h + /usr/include/qt6/QtCore/qstring.h + /usr/include/qt6/QtCore/qstringalgorithms.h + /usr/include/qt6/QtCore/qstringbuilder.h + /usr/include/qt6/QtCore/qstringconverter.h + /usr/include/qt6/QtCore/qstringconverter_base.h + /usr/include/qt6/QtCore/qstringfwd.h + /usr/include/qt6/QtCore/qstringlist.h + /usr/include/qt6/QtCore/qstringmatcher.h + /usr/include/qt6/QtCore/qstringtokenizer.h + /usr/include/qt6/QtCore/qstringview.h + /usr/include/qt6/QtCore/qswap.h + /usr/include/qt6/QtCore/qsysinfo.h + /usr/include/qt6/QtCore/qsystemdetection.h + /usr/include/qt6/QtCore/qtaggedpointer.h + /usr/include/qt6/QtCore/qtclasshelpermacros.h + /usr/include/qt6/QtCore/qtconfiginclude.h + /usr/include/qt6/QtCore/qtconfigmacros.h + /usr/include/qt6/QtCore/qtcore-config.h + /usr/include/qt6/QtCore/qtcoreexports.h + /usr/include/qt6/QtCore/qtcoreglobal.h + /usr/include/qt6/QtCore/qtdeprecationdefinitions.h + /usr/include/qt6/QtCore/qtdeprecationmarkers.h + /usr/include/qt6/QtCore/qtenvironmentvariables.h + /usr/include/qt6/QtCore/qtformat_impl.h + /usr/include/qt6/QtCore/qtmetamacros.h + /usr/include/qt6/QtCore/qtnoop.h + /usr/include/qt6/QtCore/qtpreprocessorsupport.h + /usr/include/qt6/QtCore/qtresource.h + /usr/include/qt6/QtCore/qttranslation.h + /usr/include/qt6/QtCore/qttypetraits.h + /usr/include/qt6/QtCore/qtversion.h + /usr/include/qt6/QtCore/qtversionchecks.h + /usr/include/qt6/QtCore/qtypeinfo.h + /usr/include/qt6/QtCore/qtypes.h + /usr/include/qt6/QtCore/qutf8stringview.h + /usr/include/qt6/QtCore/qversiontagging.h + /usr/include/qt6/QtCore/qxptype_traits.h + /usr/include/qt6/QtCore/qyieldcpu.h + /usr/include/qt6/QtGui/QPalette + /usr/include/qt6/QtGui/qbrush.h + /usr/include/qt6/QtGui/qcolor.h + /usr/include/qt6/QtGui/qicon.h + /usr/include/qt6/QtGui/qimage.h + /usr/include/qt6/QtGui/qpaintdevice.h + /usr/include/qt6/QtGui/qpalette.h + /usr/include/qt6/QtGui/qpixelformat.h + /usr/include/qt6/QtGui/qpixmap.h + /usr/include/qt6/QtGui/qpolygon.h + /usr/include/qt6/QtGui/qregion.h + /usr/include/qt6/QtGui/qrgb.h + /usr/include/qt6/QtGui/qrgba64.h + /usr/include/qt6/QtGui/qtgui-config.h + /usr/include/qt6/QtGui/qtguiexports.h + /usr/include/qt6/QtGui/qtguiglobal.h + /usr/include/qt6/QtGui/qtransform.h + /usr/include/qt6/QtGui/qwindowdefs.h + /usr/include/qt6/QtWidgets/QCommonStyle + /usr/include/qt6/QtWidgets/QProxyStyle + /usr/include/qt6/QtWidgets/qcommonstyle.h + /usr/include/qt6/QtWidgets/qproxystyle.h + /usr/include/qt6/QtWidgets/qsizepolicy.h + /usr/include/qt6/QtWidgets/qstyle.h + /usr/include/qt6/QtWidgets/qtwidgets-config.h + /usr/include/qt6/QtWidgets/qtwidgetsexports.h + /usr/include/qt6/QtWidgets/qtwidgetsglobal.h + /usr/include/sched.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/stdio.h + /usr/include/stdlib.h + /usr/include/string.h + /usr/include/strings.h + /usr/include/sys/cdefs.h + /usr/include/sys/select.h + /usr/include/sys/single_threaded.h + /usr/include/sys/types.h + /usr/include/time.h + /usr/include/wchar.h + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/limits.h + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdarg.h + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdbool.h + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stddef.h + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdint.h + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/syslimits.h + +CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.o + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/cyberqueer_autogen/mocs_compilation.cpp + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/CyberQueerStyle.h + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/cyberqueer_autogen/EWIEGA46WW/moc_CyberQueerStyle.cpp + /usr/include/alloca.h + /usr/include/asm-generic/bitsperlong.h + /usr/include/asm-generic/errno-base.h + /usr/include/asm-generic/errno.h + /usr/include/asm-generic/int-ll64.h + /usr/include/asm-generic/posix_types.h + /usr/include/asm-generic/types.h + /usr/include/asm/bitsperlong.h + /usr/include/asm/errno.h + /usr/include/asm/posix_types.h + /usr/include/asm/posix_types_64.h + /usr/include/asm/types.h + /usr/include/assert.h + /usr/include/bits/atomic_wide_counter.h + /usr/include/bits/byteswap.h + /usr/include/bits/cpu-set.h + /usr/include/bits/endian.h + /usr/include/bits/endianness.h + /usr/include/bits/errno.h + /usr/include/bits/floatn-common.h + /usr/include/bits/floatn.h + /usr/include/bits/flt-eval-method.h + /usr/include/bits/fp-fast.h + /usr/include/bits/fp-logb.h + /usr/include/bits/iscanonical.h + /usr/include/bits/libc-header-start.h + /usr/include/bits/libm-simd-decl-stubs.h + /usr/include/bits/local_lim.h + /usr/include/bits/locale.h + /usr/include/bits/long-double.h + /usr/include/bits/math-vector.h + /usr/include/bits/mathcalls-helper-functions.h + /usr/include/bits/mathcalls-macros.h + /usr/include/bits/mathcalls-narrow.h + /usr/include/bits/mathcalls.h + /usr/include/bits/posix1_lim.h + /usr/include/bits/posix2_lim.h + /usr/include/bits/pthread_stack_min-dynamic.h + /usr/include/bits/pthreadtypes-arch.h + /usr/include/bits/pthreadtypes.h + /usr/include/bits/sched.h + /usr/include/bits/select.h + /usr/include/bits/setjmp.h + /usr/include/bits/stdint-intn.h + /usr/include/bits/stdint-least.h + /usr/include/bits/stdint-uintn.h + /usr/include/bits/stdio.h + /usr/include/bits/stdio_lim.h + /usr/include/bits/stdlib-bsearch.h + /usr/include/bits/stdlib-float.h + /usr/include/bits/struct_mutex.h + /usr/include/bits/struct_rwlock.h + /usr/include/bits/thread-shared-types.h + /usr/include/bits/time.h + /usr/include/bits/time64.h + /usr/include/bits/timesize.h + /usr/include/bits/timex.h + /usr/include/bits/types.h + /usr/include/bits/types/FILE.h + /usr/include/bits/types/__FILE.h + /usr/include/bits/types/__fpos64_t.h + /usr/include/bits/types/__fpos_t.h + /usr/include/bits/types/__locale_t.h + /usr/include/bits/types/__mbstate_t.h + /usr/include/bits/types/__sigset_t.h + /usr/include/bits/types/clock_t.h + /usr/include/bits/types/clockid_t.h + /usr/include/bits/types/cookie_io_functions_t.h + /usr/include/bits/types/error_t.h + /usr/include/bits/types/locale_t.h + /usr/include/bits/types/mbstate_t.h + /usr/include/bits/types/sigset_t.h + /usr/include/bits/types/struct_FILE.h + /usr/include/bits/types/struct___jmp_buf_tag.h + /usr/include/bits/types/struct_itimerspec.h + /usr/include/bits/types/struct_sched_param.h + /usr/include/bits/types/struct_timespec.h + /usr/include/bits/types/struct_timeval.h + /usr/include/bits/types/struct_tm.h + /usr/include/bits/types/time_t.h + /usr/include/bits/types/timer_t.h + /usr/include/bits/types/wint_t.h + /usr/include/bits/typesizes.h + /usr/include/bits/uintn-identity.h + /usr/include/bits/uio_lim.h + /usr/include/bits/waitflags.h + /usr/include/bits/waitstatus.h + /usr/include/bits/wchar.h + /usr/include/bits/wordsize.h + /usr/include/bits/xopen_lim.h + /usr/include/c++/16.1.1/algorithm + /usr/include/c++/16.1.1/array + /usr/include/c++/16.1.1/atomic + /usr/include/c++/16.1.1/backward/auto_ptr.h + /usr/include/c++/16.1.1/backward/binders.h + /usr/include/c++/16.1.1/bit + /usr/include/c++/16.1.1/bits/algorithmfwd.h + /usr/include/c++/16.1.1/bits/align.h + /usr/include/c++/16.1.1/bits/alloc_traits.h + /usr/include/c++/16.1.1/bits/allocated_ptr.h + /usr/include/c++/16.1.1/bits/allocator.h + /usr/include/c++/16.1.1/bits/atomic_base.h + /usr/include/c++/16.1.1/bits/atomic_lockfree_defines.h + /usr/include/c++/16.1.1/bits/basic_string.h + /usr/include/c++/16.1.1/bits/basic_string.tcc + /usr/include/c++/16.1.1/bits/char_traits.h + /usr/include/c++/16.1.1/bits/charconv.h + /usr/include/c++/16.1.1/bits/chrono.h + /usr/include/c++/16.1.1/bits/concept_check.h + /usr/include/c++/16.1.1/bits/cpp_type_traits.h + /usr/include/c++/16.1.1/bits/cxxabi_forced.h + /usr/include/c++/16.1.1/bits/cxxabi_init_exception.h + /usr/include/c++/16.1.1/bits/enable_special_members.h + /usr/include/c++/16.1.1/bits/erase_if.h + /usr/include/c++/16.1.1/bits/exception.h + /usr/include/c++/16.1.1/bits/exception_defines.h + /usr/include/c++/16.1.1/bits/exception_ptr.h + /usr/include/c++/16.1.1/bits/functexcept.h + /usr/include/c++/16.1.1/bits/functional_hash.h + /usr/include/c++/16.1.1/bits/hash_bytes.h + /usr/include/c++/16.1.1/bits/hashtable.h + /usr/include/c++/16.1.1/bits/hashtable_policy.h + /usr/include/c++/16.1.1/bits/invoke.h + /usr/include/c++/16.1.1/bits/ios_base.h + /usr/include/c++/16.1.1/bits/list.tcc + /usr/include/c++/16.1.1/bits/locale_classes.h + /usr/include/c++/16.1.1/bits/locale_classes.tcc + /usr/include/c++/16.1.1/bits/localefwd.h + /usr/include/c++/16.1.1/bits/memory_resource.h + /usr/include/c++/16.1.1/bits/memoryfwd.h + /usr/include/c++/16.1.1/bits/monostate.h + /usr/include/c++/16.1.1/bits/move.h + /usr/include/c++/16.1.1/bits/nested_exception.h + /usr/include/c++/16.1.1/bits/new_allocator.h + /usr/include/c++/16.1.1/bits/new_except.h + /usr/include/c++/16.1.1/bits/new_throw.h + /usr/include/c++/16.1.1/bits/node_handle.h + /usr/include/c++/16.1.1/bits/ostream_insert.h + /usr/include/c++/16.1.1/bits/parse_numbers.h + /usr/include/c++/16.1.1/bits/postypes.h + /usr/include/c++/16.1.1/bits/predefined_ops.h + /usr/include/c++/16.1.1/bits/ptr_traits.h + /usr/include/c++/16.1.1/bits/range_access.h + /usr/include/c++/16.1.1/bits/refwrap.h + /usr/include/c++/16.1.1/bits/requires_hosted.h + /usr/include/c++/16.1.1/bits/shared_ptr.h + /usr/include/c++/16.1.1/bits/shared_ptr_atomic.h + /usr/include/c++/16.1.1/bits/shared_ptr_base.h + /usr/include/c++/16.1.1/bits/specfun.h + /usr/include/c++/16.1.1/bits/std_abs.h + /usr/include/c++/16.1.1/bits/std_function.h + /usr/include/c++/16.1.1/bits/stdexcept_except.h + /usr/include/c++/16.1.1/bits/stdexcept_throw.h + /usr/include/c++/16.1.1/bits/stdexcept_throwfwd.h + /usr/include/c++/16.1.1/bits/stl_algo.h + /usr/include/c++/16.1.1/bits/stl_algobase.h + /usr/include/c++/16.1.1/bits/stl_bvector.h + /usr/include/c++/16.1.1/bits/stl_construct.h + /usr/include/c++/16.1.1/bits/stl_function.h + /usr/include/c++/16.1.1/bits/stl_heap.h + /usr/include/c++/16.1.1/bits/stl_iterator.h + /usr/include/c++/16.1.1/bits/stl_iterator_base_funcs.h + /usr/include/c++/16.1.1/bits/stl_iterator_base_types.h + /usr/include/c++/16.1.1/bits/stl_list.h + /usr/include/c++/16.1.1/bits/stl_map.h + /usr/include/c++/16.1.1/bits/stl_multimap.h + /usr/include/c++/16.1.1/bits/stl_numeric.h + /usr/include/c++/16.1.1/bits/stl_pair.h + /usr/include/c++/16.1.1/bits/stl_raw_storage_iter.h + /usr/include/c++/16.1.1/bits/stl_relops.h + /usr/include/c++/16.1.1/bits/stl_tempbuf.h + /usr/include/c++/16.1.1/bits/stl_tree.h + /usr/include/c++/16.1.1/bits/stl_uninitialized.h + /usr/include/c++/16.1.1/bits/stl_vector.h + /usr/include/c++/16.1.1/bits/stream_iterator.h + /usr/include/c++/16.1.1/bits/streambuf.tcc + /usr/include/c++/16.1.1/bits/streambuf_iterator.h + /usr/include/c++/16.1.1/bits/string_view.tcc + /usr/include/c++/16.1.1/bits/stringfwd.h + /usr/include/c++/16.1.1/bits/uniform_int_dist.h + /usr/include/c++/16.1.1/bits/unique_ptr.h + /usr/include/c++/16.1.1/bits/unordered_map.h + /usr/include/c++/16.1.1/bits/uses_allocator.h + /usr/include/c++/16.1.1/bits/uses_allocator_args.h + /usr/include/c++/16.1.1/bits/utility.h + /usr/include/c++/16.1.1/bits/vector.tcc + /usr/include/c++/16.1.1/bits/version.h + /usr/include/c++/16.1.1/cassert + /usr/include/c++/16.1.1/cctype + /usr/include/c++/16.1.1/cerrno + /usr/include/c++/16.1.1/chrono + /usr/include/c++/16.1.1/clocale + /usr/include/c++/16.1.1/cmath + /usr/include/c++/16.1.1/compare + /usr/include/c++/16.1.1/concepts + /usr/include/c++/16.1.1/cstddef + /usr/include/c++/16.1.1/cstdint + /usr/include/c++/16.1.1/cstdio + /usr/include/c++/16.1.1/cstdlib + /usr/include/c++/16.1.1/cstring + /usr/include/c++/16.1.1/ctime + /usr/include/c++/16.1.1/cwchar + /usr/include/c++/16.1.1/debug/assertions.h + /usr/include/c++/16.1.1/debug/debug.h + /usr/include/c++/16.1.1/exception + /usr/include/c++/16.1.1/ext/aligned_buffer.h + /usr/include/c++/16.1.1/ext/alloc_traits.h + /usr/include/c++/16.1.1/ext/atomicity.h + /usr/include/c++/16.1.1/ext/concurrence.h + /usr/include/c++/16.1.1/ext/numeric_traits.h + /usr/include/c++/16.1.1/ext/string_conversions.h + /usr/include/c++/16.1.1/ext/type_traits.h + /usr/include/c++/16.1.1/functional + /usr/include/c++/16.1.1/initializer_list + /usr/include/c++/16.1.1/iosfwd + /usr/include/c++/16.1.1/iterator + /usr/include/c++/16.1.1/limits + /usr/include/c++/16.1.1/list + /usr/include/c++/16.1.1/map + /usr/include/c++/16.1.1/memory + /usr/include/c++/16.1.1/new + /usr/include/c++/16.1.1/numeric + /usr/include/c++/16.1.1/optional + /usr/include/c++/16.1.1/pstl/execution_defs.h + /usr/include/c++/16.1.1/pstl/glue_algorithm_defs.h + /usr/include/c++/16.1.1/pstl/glue_memory_defs.h + /usr/include/c++/16.1.1/pstl/glue_numeric_defs.h + /usr/include/c++/16.1.1/pstl/pstl_config.h + /usr/include/c++/16.1.1/ratio + /usr/include/c++/16.1.1/stdexcept + /usr/include/c++/16.1.1/stdlib.h + /usr/include/c++/16.1.1/streambuf + /usr/include/c++/16.1.1/string + /usr/include/c++/16.1.1/string_view + /usr/include/c++/16.1.1/system_error + /usr/include/c++/16.1.1/tr1/bessel_function.tcc + /usr/include/c++/16.1.1/tr1/beta_function.tcc + /usr/include/c++/16.1.1/tr1/ell_integral.tcc + /usr/include/c++/16.1.1/tr1/exp_integral.tcc + /usr/include/c++/16.1.1/tr1/gamma.tcc + /usr/include/c++/16.1.1/tr1/hypergeometric.tcc + /usr/include/c++/16.1.1/tr1/legendre_function.tcc + /usr/include/c++/16.1.1/tr1/modified_bessel_func.tcc + /usr/include/c++/16.1.1/tr1/poly_hermite.tcc + /usr/include/c++/16.1.1/tr1/poly_laguerre.tcc + /usr/include/c++/16.1.1/tr1/riemann_zeta.tcc + /usr/include/c++/16.1.1/tr1/special_function_util.h + /usr/include/c++/16.1.1/tuple + /usr/include/c++/16.1.1/type_traits + /usr/include/c++/16.1.1/typeinfo + /usr/include/c++/16.1.1/unordered_map + /usr/include/c++/16.1.1/utility + /usr/include/c++/16.1.1/variant + /usr/include/c++/16.1.1/vector + /usr/include/c++/16.1.1/version + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/atomic_word.h + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++allocator.h + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++config.h + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++locale.h + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/cpu_defines.h + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/error_constants.h + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/gthr.h + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/os_defines.h + /usr/include/ctype.h + /usr/include/endian.h + /usr/include/errno.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/gnu/stubs-64.h + /usr/include/gnu/stubs.h + /usr/include/limits.h + /usr/include/linux/errno.h + /usr/include/linux/limits.h + /usr/include/linux/posix_types.h + /usr/include/linux/sched/types.h + /usr/include/linux/stddef.h + /usr/include/linux/types.h + /usr/include/locale.h + /usr/include/math.h + /usr/include/pthread.h + /usr/include/qt6/QtCore/q17memory.h + /usr/include/qt6/QtCore/q20algorithm.h + /usr/include/qt6/QtCore/q20bit.h + /usr/include/qt6/QtCore/q20functional.h + /usr/include/qt6/QtCore/q20iterator.h + /usr/include/qt6/QtCore/q20memory.h + /usr/include/qt6/QtCore/q20type_traits.h + /usr/include/qt6/QtCore/q20utility.h + /usr/include/qt6/QtCore/q23type_traits.h + /usr/include/qt6/QtCore/q23utility.h + /usr/include/qt6/QtCore/qalgorithms.h + /usr/include/qt6/QtCore/qanystringview.h + /usr/include/qt6/QtCore/qarraydata.h + /usr/include/qt6/QtCore/qarraydataops.h + /usr/include/qt6/QtCore/qarraydatapointer.h + /usr/include/qt6/QtCore/qassert.h + /usr/include/qt6/QtCore/qatomic.h + /usr/include/qt6/QtCore/qatomic_cxx11.h + /usr/include/qt6/QtCore/qbasicatomic.h + /usr/include/qt6/QtCore/qbindingstorage.h + /usr/include/qt6/QtCore/qbytearray.h + /usr/include/qt6/QtCore/qbytearrayalgorithms.h + /usr/include/qt6/QtCore/qbytearraylist.h + /usr/include/qt6/QtCore/qbytearrayview.h + /usr/include/qt6/QtCore/qchar.h + /usr/include/qt6/QtCore/qcheckedint_impl.h + /usr/include/qt6/QtCore/qcompare.h + /usr/include/qt6/QtCore/qcompare_impl.h + /usr/include/qt6/QtCore/qcomparehelpers.h + /usr/include/qt6/QtCore/qcompilerdetection.h + /usr/include/qt6/QtCore/qconfig.h + /usr/include/qt6/QtCore/qconstructormacros.h + /usr/include/qt6/QtCore/qcontainerfwd.h + /usr/include/qt6/QtCore/qcontainerinfo.h + /usr/include/qt6/QtCore/qcontainertools_impl.h + /usr/include/qt6/QtCore/qdarwinhelpers.h + /usr/include/qt6/QtCore/qdatastream.h + /usr/include/qt6/QtCore/qexceptionhandling.h + /usr/include/qt6/QtCore/qflags.h + /usr/include/qt6/QtCore/qfloat16.h + /usr/include/qt6/QtCore/qforeach.h + /usr/include/qt6/QtCore/qfunctionaltools_impl.h + /usr/include/qt6/QtCore/qfunctionpointer.h + /usr/include/qt6/QtCore/qgenericatomic.h + /usr/include/qt6/QtCore/qglobal.h + /usr/include/qt6/QtCore/qglobalstatic.h + /usr/include/qt6/QtCore/qhashfunctions.h + /usr/include/qt6/QtCore/qiodevicebase.h + /usr/include/qt6/QtCore/qiterable.h + /usr/include/qt6/QtCore/qiterator.h + /usr/include/qt6/QtCore/qlatin1stringview.h + /usr/include/qt6/QtCore/qline.h + /usr/include/qt6/QtCore/qlist.h + /usr/include/qt6/QtCore/qlogging.h + /usr/include/qt6/QtCore/qmalloc.h + /usr/include/qt6/QtCore/qmargins.h + /usr/include/qt6/QtCore/qmath.h + /usr/include/qt6/QtCore/qmetacontainer.h + /usr/include/qt6/QtCore/qmetatype.h + /usr/include/qt6/QtCore/qminmax.h + /usr/include/qt6/QtCore/qnamespace.h + /usr/include/qt6/QtCore/qnumeric.h + /usr/include/qt6/QtCore/qobject.h + /usr/include/qt6/QtCore/qobject_impl.h + /usr/include/qt6/QtCore/qobjectdefs.h + /usr/include/qt6/QtCore/qobjectdefs_impl.h + /usr/include/qt6/QtCore/qoverload.h + /usr/include/qt6/QtCore/qpair.h + /usr/include/qt6/QtCore/qpoint.h + /usr/include/qt6/QtCore/qprocessordetection.h + /usr/include/qt6/QtCore/qrect.h + /usr/include/qt6/QtCore/qrefcount.h + /usr/include/qt6/QtCore/qscopedpointer.h + /usr/include/qt6/QtCore/qscopeguard.h + /usr/include/qt6/QtCore/qshareddata.h + /usr/include/qt6/QtCore/qsize.h + /usr/include/qt6/QtCore/qspan.h + /usr/include/qt6/QtCore/qstdlibdetection.h + /usr/include/qt6/QtCore/qstring.h + /usr/include/qt6/QtCore/qstringalgorithms.h + /usr/include/qt6/QtCore/qstringbuilder.h + /usr/include/qt6/QtCore/qstringconverter.h + /usr/include/qt6/QtCore/qstringconverter_base.h + /usr/include/qt6/QtCore/qstringfwd.h + /usr/include/qt6/QtCore/qstringlist.h + /usr/include/qt6/QtCore/qstringmatcher.h + /usr/include/qt6/QtCore/qstringtokenizer.h + /usr/include/qt6/QtCore/qstringview.h + /usr/include/qt6/QtCore/qswap.h + /usr/include/qt6/QtCore/qsysinfo.h + /usr/include/qt6/QtCore/qsystemdetection.h + /usr/include/qt6/QtCore/qtaggedpointer.h + /usr/include/qt6/QtCore/qtclasshelpermacros.h + /usr/include/qt6/QtCore/qtconfiginclude.h + /usr/include/qt6/QtCore/qtconfigmacros.h + /usr/include/qt6/QtCore/qtcore-config.h + /usr/include/qt6/QtCore/qtcoreexports.h + /usr/include/qt6/QtCore/qtcoreglobal.h + /usr/include/qt6/QtCore/qtdeprecationdefinitions.h + /usr/include/qt6/QtCore/qtdeprecationmarkers.h + /usr/include/qt6/QtCore/qtenvironmentvariables.h + /usr/include/qt6/QtCore/qtformat_impl.h + /usr/include/qt6/QtCore/qtmetamacros.h + /usr/include/qt6/QtCore/qtmocconstants.h + /usr/include/qt6/QtCore/qtmochelpers.h + /usr/include/qt6/QtCore/qtnoop.h + /usr/include/qt6/QtCore/qtpreprocessorsupport.h + /usr/include/qt6/QtCore/qtresource.h + /usr/include/qt6/QtCore/qttranslation.h + /usr/include/qt6/QtCore/qttypetraits.h + /usr/include/qt6/QtCore/qtversion.h + /usr/include/qt6/QtCore/qtversionchecks.h + /usr/include/qt6/QtCore/qtypeinfo.h + /usr/include/qt6/QtCore/qtypes.h + /usr/include/qt6/QtCore/qutf8stringview.h + /usr/include/qt6/QtCore/qversiontagging.h + /usr/include/qt6/QtCore/qxptype_traits.h + /usr/include/qt6/QtCore/qyieldcpu.h + /usr/include/qt6/QtGui/qbrush.h + /usr/include/qt6/QtGui/qcolor.h + /usr/include/qt6/QtGui/qicon.h + /usr/include/qt6/QtGui/qimage.h + /usr/include/qt6/QtGui/qpaintdevice.h + /usr/include/qt6/QtGui/qpalette.h + /usr/include/qt6/QtGui/qpixelformat.h + /usr/include/qt6/QtGui/qpixmap.h + /usr/include/qt6/QtGui/qpolygon.h + /usr/include/qt6/QtGui/qregion.h + /usr/include/qt6/QtGui/qrgb.h + /usr/include/qt6/QtGui/qrgba64.h + /usr/include/qt6/QtGui/qtgui-config.h + /usr/include/qt6/QtGui/qtguiexports.h + /usr/include/qt6/QtGui/qtguiglobal.h + /usr/include/qt6/QtGui/qtransform.h + /usr/include/qt6/QtGui/qwindowdefs.h + /usr/include/qt6/QtWidgets/QCommonStyle + /usr/include/qt6/QtWidgets/QProxyStyle + /usr/include/qt6/QtWidgets/qcommonstyle.h + /usr/include/qt6/QtWidgets/qproxystyle.h + /usr/include/qt6/QtWidgets/qsizepolicy.h + /usr/include/qt6/QtWidgets/qstyle.h + /usr/include/qt6/QtWidgets/qtwidgets-config.h + /usr/include/qt6/QtWidgets/qtwidgetsexports.h + /usr/include/qt6/QtWidgets/qtwidgetsglobal.h + /usr/include/sched.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/stdio.h + /usr/include/stdlib.h + /usr/include/string.h + /usr/include/strings.h + /usr/include/sys/cdefs.h + /usr/include/sys/select.h + /usr/include/sys/single_threaded.h + /usr/include/sys/types.h + /usr/include/time.h + /usr/include/wchar.h + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/limits.h + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdarg.h + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdbool.h + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stddef.h + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdint.h + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/syslimits.h + +CMakeFiles/cyberqueer.dir/plugin.cpp.o + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/plugin.cpp + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/CyberQueerStyle.h + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/cyberqueer_autogen/include/plugin.moc + /usr/include/alloca.h + /usr/include/asm-generic/bitsperlong.h + /usr/include/asm-generic/errno-base.h + /usr/include/asm-generic/errno.h + /usr/include/asm-generic/int-ll64.h + /usr/include/asm-generic/posix_types.h + /usr/include/asm-generic/types.h + /usr/include/asm/bitsperlong.h + /usr/include/asm/errno.h + /usr/include/asm/posix_types.h + /usr/include/asm/posix_types_64.h + /usr/include/asm/types.h + /usr/include/assert.h + /usr/include/bits/atomic_wide_counter.h + /usr/include/bits/byteswap.h + /usr/include/bits/cpu-set.h + /usr/include/bits/endian.h + /usr/include/bits/endianness.h + /usr/include/bits/errno.h + /usr/include/bits/floatn-common.h + /usr/include/bits/floatn.h + /usr/include/bits/flt-eval-method.h + /usr/include/bits/fp-fast.h + /usr/include/bits/fp-logb.h + /usr/include/bits/iscanonical.h + /usr/include/bits/libc-header-start.h + /usr/include/bits/libm-simd-decl-stubs.h + /usr/include/bits/local_lim.h + /usr/include/bits/locale.h + /usr/include/bits/long-double.h + /usr/include/bits/math-vector.h + /usr/include/bits/mathcalls-helper-functions.h + /usr/include/bits/mathcalls-macros.h + /usr/include/bits/mathcalls-narrow.h + /usr/include/bits/mathcalls.h + /usr/include/bits/posix1_lim.h + /usr/include/bits/posix2_lim.h + /usr/include/bits/pthread_stack_min-dynamic.h + /usr/include/bits/pthreadtypes-arch.h + /usr/include/bits/pthreadtypes.h + /usr/include/bits/sched.h + /usr/include/bits/select.h + /usr/include/bits/setjmp.h + /usr/include/bits/stdint-intn.h + /usr/include/bits/stdint-least.h + /usr/include/bits/stdint-uintn.h + /usr/include/bits/stdio.h + /usr/include/bits/stdio_lim.h + /usr/include/bits/stdlib-bsearch.h + /usr/include/bits/stdlib-float.h + /usr/include/bits/struct_mutex.h + /usr/include/bits/struct_rwlock.h + /usr/include/bits/thread-shared-types.h + /usr/include/bits/time.h + /usr/include/bits/time64.h + /usr/include/bits/timesize.h + /usr/include/bits/timex.h + /usr/include/bits/types.h + /usr/include/bits/types/FILE.h + /usr/include/bits/types/__FILE.h + /usr/include/bits/types/__fpos64_t.h + /usr/include/bits/types/__fpos_t.h + /usr/include/bits/types/__locale_t.h + /usr/include/bits/types/__mbstate_t.h + /usr/include/bits/types/__sigset_t.h + /usr/include/bits/types/clock_t.h + /usr/include/bits/types/clockid_t.h + /usr/include/bits/types/cookie_io_functions_t.h + /usr/include/bits/types/error_t.h + /usr/include/bits/types/locale_t.h + /usr/include/bits/types/mbstate_t.h + /usr/include/bits/types/sigset_t.h + /usr/include/bits/types/struct_FILE.h + /usr/include/bits/types/struct___jmp_buf_tag.h + /usr/include/bits/types/struct_itimerspec.h + /usr/include/bits/types/struct_sched_param.h + /usr/include/bits/types/struct_timespec.h + /usr/include/bits/types/struct_timeval.h + /usr/include/bits/types/struct_tm.h + /usr/include/bits/types/time_t.h + /usr/include/bits/types/timer_t.h + /usr/include/bits/types/wint_t.h + /usr/include/bits/typesizes.h + /usr/include/bits/uintn-identity.h + /usr/include/bits/uio_lim.h + /usr/include/bits/waitflags.h + /usr/include/bits/waitstatus.h + /usr/include/bits/wchar.h + /usr/include/bits/wordsize.h + /usr/include/bits/xopen_lim.h + /usr/include/c++/16.1.1/algorithm + /usr/include/c++/16.1.1/array + /usr/include/c++/16.1.1/atomic + /usr/include/c++/16.1.1/backward/auto_ptr.h + /usr/include/c++/16.1.1/backward/binders.h + /usr/include/c++/16.1.1/bit + /usr/include/c++/16.1.1/bits/algorithmfwd.h + /usr/include/c++/16.1.1/bits/align.h + /usr/include/c++/16.1.1/bits/alloc_traits.h + /usr/include/c++/16.1.1/bits/allocated_ptr.h + /usr/include/c++/16.1.1/bits/allocator.h + /usr/include/c++/16.1.1/bits/atomic_base.h + /usr/include/c++/16.1.1/bits/atomic_lockfree_defines.h + /usr/include/c++/16.1.1/bits/basic_string.h + /usr/include/c++/16.1.1/bits/basic_string.tcc + /usr/include/c++/16.1.1/bits/char_traits.h + /usr/include/c++/16.1.1/bits/charconv.h + /usr/include/c++/16.1.1/bits/chrono.h + /usr/include/c++/16.1.1/bits/concept_check.h + /usr/include/c++/16.1.1/bits/cpp_type_traits.h + /usr/include/c++/16.1.1/bits/cxxabi_forced.h + /usr/include/c++/16.1.1/bits/cxxabi_init_exception.h + /usr/include/c++/16.1.1/bits/enable_special_members.h + /usr/include/c++/16.1.1/bits/erase_if.h + /usr/include/c++/16.1.1/bits/exception.h + /usr/include/c++/16.1.1/bits/exception_defines.h + /usr/include/c++/16.1.1/bits/exception_ptr.h + /usr/include/c++/16.1.1/bits/functexcept.h + /usr/include/c++/16.1.1/bits/functional_hash.h + /usr/include/c++/16.1.1/bits/hash_bytes.h + /usr/include/c++/16.1.1/bits/hashtable.h + /usr/include/c++/16.1.1/bits/hashtable_policy.h + /usr/include/c++/16.1.1/bits/invoke.h + /usr/include/c++/16.1.1/bits/ios_base.h + /usr/include/c++/16.1.1/bits/list.tcc + /usr/include/c++/16.1.1/bits/locale_classes.h + /usr/include/c++/16.1.1/bits/locale_classes.tcc + /usr/include/c++/16.1.1/bits/localefwd.h + /usr/include/c++/16.1.1/bits/memory_resource.h + /usr/include/c++/16.1.1/bits/memoryfwd.h + /usr/include/c++/16.1.1/bits/monostate.h + /usr/include/c++/16.1.1/bits/move.h + /usr/include/c++/16.1.1/bits/nested_exception.h + /usr/include/c++/16.1.1/bits/new_allocator.h + /usr/include/c++/16.1.1/bits/new_except.h + /usr/include/c++/16.1.1/bits/new_throw.h + /usr/include/c++/16.1.1/bits/node_handle.h + /usr/include/c++/16.1.1/bits/ostream_insert.h + /usr/include/c++/16.1.1/bits/parse_numbers.h + /usr/include/c++/16.1.1/bits/postypes.h + /usr/include/c++/16.1.1/bits/predefined_ops.h + /usr/include/c++/16.1.1/bits/ptr_traits.h + /usr/include/c++/16.1.1/bits/range_access.h + /usr/include/c++/16.1.1/bits/refwrap.h + /usr/include/c++/16.1.1/bits/requires_hosted.h + /usr/include/c++/16.1.1/bits/shared_ptr.h + /usr/include/c++/16.1.1/bits/shared_ptr_atomic.h + /usr/include/c++/16.1.1/bits/shared_ptr_base.h + /usr/include/c++/16.1.1/bits/specfun.h + /usr/include/c++/16.1.1/bits/std_abs.h + /usr/include/c++/16.1.1/bits/std_function.h + /usr/include/c++/16.1.1/bits/stdexcept_except.h + /usr/include/c++/16.1.1/bits/stdexcept_throw.h + /usr/include/c++/16.1.1/bits/stdexcept_throwfwd.h + /usr/include/c++/16.1.1/bits/stl_algo.h + /usr/include/c++/16.1.1/bits/stl_algobase.h + /usr/include/c++/16.1.1/bits/stl_bvector.h + /usr/include/c++/16.1.1/bits/stl_construct.h + /usr/include/c++/16.1.1/bits/stl_function.h + /usr/include/c++/16.1.1/bits/stl_heap.h + /usr/include/c++/16.1.1/bits/stl_iterator.h + /usr/include/c++/16.1.1/bits/stl_iterator_base_funcs.h + /usr/include/c++/16.1.1/bits/stl_iterator_base_types.h + /usr/include/c++/16.1.1/bits/stl_list.h + /usr/include/c++/16.1.1/bits/stl_map.h + /usr/include/c++/16.1.1/bits/stl_multimap.h + /usr/include/c++/16.1.1/bits/stl_multiset.h + /usr/include/c++/16.1.1/bits/stl_numeric.h + /usr/include/c++/16.1.1/bits/stl_pair.h + /usr/include/c++/16.1.1/bits/stl_raw_storage_iter.h + /usr/include/c++/16.1.1/bits/stl_relops.h + /usr/include/c++/16.1.1/bits/stl_set.h + /usr/include/c++/16.1.1/bits/stl_tempbuf.h + /usr/include/c++/16.1.1/bits/stl_tree.h + /usr/include/c++/16.1.1/bits/stl_uninitialized.h + /usr/include/c++/16.1.1/bits/stl_vector.h + /usr/include/c++/16.1.1/bits/stream_iterator.h + /usr/include/c++/16.1.1/bits/streambuf.tcc + /usr/include/c++/16.1.1/bits/streambuf_iterator.h + /usr/include/c++/16.1.1/bits/string_view.tcc + /usr/include/c++/16.1.1/bits/stringfwd.h + /usr/include/c++/16.1.1/bits/uniform_int_dist.h + /usr/include/c++/16.1.1/bits/unique_ptr.h + /usr/include/c++/16.1.1/bits/unordered_map.h + /usr/include/c++/16.1.1/bits/unordered_set.h + /usr/include/c++/16.1.1/bits/uses_allocator.h + /usr/include/c++/16.1.1/bits/uses_allocator_args.h + /usr/include/c++/16.1.1/bits/utility.h + /usr/include/c++/16.1.1/bits/vector.tcc + /usr/include/c++/16.1.1/bits/version.h + /usr/include/c++/16.1.1/cassert + /usr/include/c++/16.1.1/cctype + /usr/include/c++/16.1.1/cerrno + /usr/include/c++/16.1.1/chrono + /usr/include/c++/16.1.1/climits + /usr/include/c++/16.1.1/clocale + /usr/include/c++/16.1.1/cmath + /usr/include/c++/16.1.1/compare + /usr/include/c++/16.1.1/concepts + /usr/include/c++/16.1.1/cstddef + /usr/include/c++/16.1.1/cstdint + /usr/include/c++/16.1.1/cstdio + /usr/include/c++/16.1.1/cstdlib + /usr/include/c++/16.1.1/cstring + /usr/include/c++/16.1.1/ctime + /usr/include/c++/16.1.1/cwchar + /usr/include/c++/16.1.1/debug/assertions.h + /usr/include/c++/16.1.1/debug/debug.h + /usr/include/c++/16.1.1/exception + /usr/include/c++/16.1.1/ext/aligned_buffer.h + /usr/include/c++/16.1.1/ext/alloc_traits.h + /usr/include/c++/16.1.1/ext/atomicity.h + /usr/include/c++/16.1.1/ext/concurrence.h + /usr/include/c++/16.1.1/ext/numeric_traits.h + /usr/include/c++/16.1.1/ext/string_conversions.h + /usr/include/c++/16.1.1/ext/type_traits.h + /usr/include/c++/16.1.1/functional + /usr/include/c++/16.1.1/initializer_list + /usr/include/c++/16.1.1/iosfwd + /usr/include/c++/16.1.1/iterator + /usr/include/c++/16.1.1/limits + /usr/include/c++/16.1.1/list + /usr/include/c++/16.1.1/map + /usr/include/c++/16.1.1/memory + /usr/include/c++/16.1.1/new + /usr/include/c++/16.1.1/numeric + /usr/include/c++/16.1.1/optional + /usr/include/c++/16.1.1/pstl/execution_defs.h + /usr/include/c++/16.1.1/pstl/glue_algorithm_defs.h + /usr/include/c++/16.1.1/pstl/glue_memory_defs.h + /usr/include/c++/16.1.1/pstl/glue_numeric_defs.h + /usr/include/c++/16.1.1/pstl/pstl_config.h + /usr/include/c++/16.1.1/ratio + /usr/include/c++/16.1.1/set + /usr/include/c++/16.1.1/stdexcept + /usr/include/c++/16.1.1/stdlib.h + /usr/include/c++/16.1.1/streambuf + /usr/include/c++/16.1.1/string + /usr/include/c++/16.1.1/string_view + /usr/include/c++/16.1.1/system_error + /usr/include/c++/16.1.1/tr1/bessel_function.tcc + /usr/include/c++/16.1.1/tr1/beta_function.tcc + /usr/include/c++/16.1.1/tr1/ell_integral.tcc + /usr/include/c++/16.1.1/tr1/exp_integral.tcc + /usr/include/c++/16.1.1/tr1/gamma.tcc + /usr/include/c++/16.1.1/tr1/hypergeometric.tcc + /usr/include/c++/16.1.1/tr1/legendre_function.tcc + /usr/include/c++/16.1.1/tr1/modified_bessel_func.tcc + /usr/include/c++/16.1.1/tr1/poly_hermite.tcc + /usr/include/c++/16.1.1/tr1/poly_laguerre.tcc + /usr/include/c++/16.1.1/tr1/riemann_zeta.tcc + /usr/include/c++/16.1.1/tr1/special_function_util.h + /usr/include/c++/16.1.1/tuple + /usr/include/c++/16.1.1/type_traits + /usr/include/c++/16.1.1/typeinfo + /usr/include/c++/16.1.1/unordered_map + /usr/include/c++/16.1.1/unordered_set + /usr/include/c++/16.1.1/utility + /usr/include/c++/16.1.1/variant + /usr/include/c++/16.1.1/vector + /usr/include/c++/16.1.1/version + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/atomic_word.h + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++allocator.h + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++config.h + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++locale.h + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/cpu_defines.h + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/error_constants.h + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/gthr.h + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/os_defines.h + /usr/include/ctype.h + /usr/include/endian.h + /usr/include/errno.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/gnu/stubs-64.h + /usr/include/gnu/stubs.h + /usr/include/limits.h + /usr/include/linux/errno.h + /usr/include/linux/limits.h + /usr/include/linux/posix_types.h + /usr/include/linux/sched/types.h + /usr/include/linux/stddef.h + /usr/include/linux/types.h + /usr/include/locale.h + /usr/include/math.h + /usr/include/pthread.h + /usr/include/qt6/QtCore/q17memory.h + /usr/include/qt6/QtCore/q20algorithm.h + /usr/include/qt6/QtCore/q20bit.h + /usr/include/qt6/QtCore/q20functional.h + /usr/include/qt6/QtCore/q20iterator.h + /usr/include/qt6/QtCore/q20memory.h + /usr/include/qt6/QtCore/q20type_traits.h + /usr/include/qt6/QtCore/q20utility.h + /usr/include/qt6/QtCore/q23type_traits.h + /usr/include/qt6/QtCore/q23utility.h + /usr/include/qt6/QtCore/qalgorithms.h + /usr/include/qt6/QtCore/qalloc.h + /usr/include/qt6/QtCore/qanystringview.h + /usr/include/qt6/QtCore/qarraydata.h + /usr/include/qt6/QtCore/qarraydataops.h + /usr/include/qt6/QtCore/qarraydatapointer.h + /usr/include/qt6/QtCore/qassert.h + /usr/include/qt6/QtCore/qatomic.h + /usr/include/qt6/QtCore/qatomic_cxx11.h + /usr/include/qt6/QtCore/qbasicatomic.h + /usr/include/qt6/QtCore/qbindingstorage.h + /usr/include/qt6/QtCore/qbytearray.h + /usr/include/qt6/QtCore/qbytearrayalgorithms.h + /usr/include/qt6/QtCore/qbytearraylist.h + /usr/include/qt6/QtCore/qbytearrayview.h + /usr/include/qt6/QtCore/qcalendar.h + /usr/include/qt6/QtCore/qcborcommon.h + /usr/include/qt6/QtCore/qcborvalue.h + /usr/include/qt6/QtCore/qchar.h + /usr/include/qt6/QtCore/qcheckedint_impl.h + /usr/include/qt6/QtCore/qcompare.h + /usr/include/qt6/QtCore/qcompare_impl.h + /usr/include/qt6/QtCore/qcomparehelpers.h + /usr/include/qt6/QtCore/qcompilerdetection.h + /usr/include/qt6/QtCore/qconfig.h + /usr/include/qt6/QtCore/qconstructormacros.h + /usr/include/qt6/QtCore/qcontainerfwd.h + /usr/include/qt6/QtCore/qcontainerinfo.h + /usr/include/qt6/QtCore/qcontainertools_impl.h + /usr/include/qt6/QtCore/qcontiguouscache.h + /usr/include/qt6/QtCore/qdarwinhelpers.h + /usr/include/qt6/QtCore/qdatastream.h + /usr/include/qt6/QtCore/qdatetime.h + /usr/include/qt6/QtCore/qdebug.h + /usr/include/qt6/QtCore/qendian.h + /usr/include/qt6/QtCore/qexceptionhandling.h + /usr/include/qt6/QtCore/qfactoryinterface.h + /usr/include/qt6/QtCore/qflags.h + /usr/include/qt6/QtCore/qfloat16.h + /usr/include/qt6/QtCore/qforeach.h + /usr/include/qt6/QtCore/qfunctionaltools_impl.h + /usr/include/qt6/QtCore/qfunctionpointer.h + /usr/include/qt6/QtCore/qgenericatomic.h + /usr/include/qt6/QtCore/qglobal.h + /usr/include/qt6/QtCore/qglobalstatic.h + /usr/include/qt6/QtCore/qhash.h + /usr/include/qt6/QtCore/qhashfunctions.h + /usr/include/qt6/QtCore/qiodevicebase.h + /usr/include/qt6/QtCore/qiterable.h + /usr/include/qt6/QtCore/qiterator.h + /usr/include/qt6/QtCore/qjsondocument.h + /usr/include/qt6/QtCore/qjsonobject.h + /usr/include/qt6/QtCore/qjsonparseerror.h + /usr/include/qt6/QtCore/qjsonvalue.h + /usr/include/qt6/QtCore/qlatin1stringview.h + /usr/include/qt6/QtCore/qline.h + /usr/include/qt6/QtCore/qlist.h + /usr/include/qt6/QtCore/qlocale.h + /usr/include/qt6/QtCore/qlogging.h + /usr/include/qt6/QtCore/qmalloc.h + /usr/include/qt6/QtCore/qmap.h + /usr/include/qt6/QtCore/qmargins.h + /usr/include/qt6/QtCore/qmath.h + /usr/include/qt6/QtCore/qmetacontainer.h + /usr/include/qt6/QtCore/qmetatype.h + /usr/include/qt6/QtCore/qminmax.h + /usr/include/qt6/QtCore/qnamespace.h + /usr/include/qt6/QtCore/qnumeric.h + /usr/include/qt6/QtCore/qobject.h + /usr/include/qt6/QtCore/qobject_impl.h + /usr/include/qt6/QtCore/qobjectdefs.h + /usr/include/qt6/QtCore/qobjectdefs_impl.h + /usr/include/qt6/QtCore/qoverload.h + /usr/include/qt6/QtCore/qpair.h + /usr/include/qt6/QtCore/qplugin.h + /usr/include/qt6/QtCore/qpoint.h + /usr/include/qt6/QtCore/qpointer.h + /usr/include/qt6/QtCore/qprocessordetection.h + /usr/include/qt6/QtCore/qrect.h + /usr/include/qt6/QtCore/qrefcount.h + /usr/include/qt6/QtCore/qregularexpression.h + /usr/include/qt6/QtCore/qscopedpointer.h + /usr/include/qt6/QtCore/qscopeguard.h + /usr/include/qt6/QtCore/qset.h + /usr/include/qt6/QtCore/qshareddata.h + /usr/include/qt6/QtCore/qshareddata_impl.h + /usr/include/qt6/QtCore/qsharedpointer.h + /usr/include/qt6/QtCore/qsharedpointer_impl.h + /usr/include/qt6/QtCore/qsize.h + /usr/include/qt6/QtCore/qspan.h + /usr/include/qt6/QtCore/qstdlibdetection.h + /usr/include/qt6/QtCore/qstring.h + /usr/include/qt6/QtCore/qstringalgorithms.h + /usr/include/qt6/QtCore/qstringbuilder.h + /usr/include/qt6/QtCore/qstringconverter.h + /usr/include/qt6/QtCore/qstringconverter_base.h + /usr/include/qt6/QtCore/qstringfwd.h + /usr/include/qt6/QtCore/qstringlist.h + /usr/include/qt6/QtCore/qstringmatcher.h + /usr/include/qt6/QtCore/qstringtokenizer.h + /usr/include/qt6/QtCore/qstringview.h + /usr/include/qt6/QtCore/qswap.h + /usr/include/qt6/QtCore/qsysinfo.h + /usr/include/qt6/QtCore/qsystemdetection.h + /usr/include/qt6/QtCore/qtaggedpointer.h + /usr/include/qt6/QtCore/qtclasshelpermacros.h + /usr/include/qt6/QtCore/qtconfiginclude.h + /usr/include/qt6/QtCore/qtconfigmacros.h + /usr/include/qt6/QtCore/qtcore-config.h + /usr/include/qt6/QtCore/qtcoreexports.h + /usr/include/qt6/QtCore/qtcoreglobal.h + /usr/include/qt6/QtCore/qtdeprecationdefinitions.h + /usr/include/qt6/QtCore/qtdeprecationmarkers.h + /usr/include/qt6/QtCore/qtenvironmentvariables.h + /usr/include/qt6/QtCore/qtextstream.h + /usr/include/qt6/QtCore/qtformat_impl.h + /usr/include/qt6/QtCore/qtmetamacros.h + /usr/include/qt6/QtCore/qtmocconstants.h + /usr/include/qt6/QtCore/qtmochelpers.h + /usr/include/qt6/QtCore/qtnoop.h + /usr/include/qt6/QtCore/qtpreprocessorsupport.h + /usr/include/qt6/QtCore/qtresource.h + /usr/include/qt6/QtCore/qttranslation.h + /usr/include/qt6/QtCore/qttypetraits.h + /usr/include/qt6/QtCore/qtversion.h + /usr/include/qt6/QtCore/qtversionchecks.h + /usr/include/qt6/QtCore/qtypeinfo.h + /usr/include/qt6/QtCore/qtypes.h + /usr/include/qt6/QtCore/qurl.h + /usr/include/qt6/QtCore/qutf8stringview.h + /usr/include/qt6/QtCore/quuid.h + /usr/include/qt6/QtCore/qvariant.h + /usr/include/qt6/QtCore/qvarlengtharray.h + /usr/include/qt6/QtCore/qversiontagging.h + /usr/include/qt6/QtCore/qxptype_traits.h + /usr/include/qt6/QtCore/qyieldcpu.h + /usr/include/qt6/QtGui/qbrush.h + /usr/include/qt6/QtGui/qcolor.h + /usr/include/qt6/QtGui/qicon.h + /usr/include/qt6/QtGui/qimage.h + /usr/include/qt6/QtGui/qpaintdevice.h + /usr/include/qt6/QtGui/qpalette.h + /usr/include/qt6/QtGui/qpixelformat.h + /usr/include/qt6/QtGui/qpixmap.h + /usr/include/qt6/QtGui/qpolygon.h + /usr/include/qt6/QtGui/qregion.h + /usr/include/qt6/QtGui/qrgb.h + /usr/include/qt6/QtGui/qrgba64.h + /usr/include/qt6/QtGui/qtgui-config.h + /usr/include/qt6/QtGui/qtguiexports.h + /usr/include/qt6/QtGui/qtguiglobal.h + /usr/include/qt6/QtGui/qtransform.h + /usr/include/qt6/QtGui/qwindowdefs.h + /usr/include/qt6/QtWidgets/QCommonStyle + /usr/include/qt6/QtWidgets/QProxyStyle + /usr/include/qt6/QtWidgets/QStylePlugin + /usr/include/qt6/QtWidgets/qcommonstyle.h + /usr/include/qt6/QtWidgets/qproxystyle.h + /usr/include/qt6/QtWidgets/qsizepolicy.h + /usr/include/qt6/QtWidgets/qstyle.h + /usr/include/qt6/QtWidgets/qstyleplugin.h + /usr/include/qt6/QtWidgets/qtwidgets-config.h + /usr/include/qt6/QtWidgets/qtwidgetsexports.h + /usr/include/qt6/QtWidgets/qtwidgetsglobal.h + /usr/include/sched.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/stdio.h + /usr/include/stdlib.h + /usr/include/string.h + /usr/include/strings.h + /usr/include/sys/cdefs.h + /usr/include/sys/select.h + /usr/include/sys/single_threaded.h + /usr/include/sys/types.h + /usr/include/time.h + /usr/include/wchar.h + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/limits.h + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdarg.h + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdbool.h + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stddef.h + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdint.h + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/syslimits.h + +libcyberqueer.so + /usr/lib/crti.o + /usr/lib/crtn.o + /usr/lib/libatomic.so + /usr/lib/libatomic_asneeded.so + /usr/lib/libc.so + /usr/lib/libgcc_s.so + /usr/lib/libgcc_s.so.1 + /usr/lib/libm.so + /usr/lib/libstdc++.so + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtbeginS.o + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtendS.o + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/libgcc.a + /usr/lib/ld-linux-x86-64.so.2 + /usr/lib/libGLX.so + /usr/lib/libOpenGL.so + /usr/lib/libQt6Core.so.6.11.0 + /usr/lib/libQt6Gui.so.6.11.0 + /usr/lib/libQt6Widgets.so.6.11.0 + /usr/lib/libc.so.6 + /usr/lib/libc_nonshared.a + /usr/lib/libm.so.6 + /usr/lib/libmvec.so.1 + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.o + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.o + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/plugin.cpp.o + diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/compiler_depend.make b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/compiler_depend.make new file mode 100644 index 0000000..689e048 --- /dev/null +++ b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/compiler_depend.make @@ -0,0 +1,4434 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 4.3 + +cyberqueer_autogen/timestamp: /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/CMakeLists.txt \ + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/CyberQueerStyle.cpp \ + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/CyberQueerStyle.h \ + CMakeFiles/4.3.2/CMakeCCompiler.cmake \ + CMakeFiles/4.3.2/CMakeCXXCompiler.cmake \ + CMakeFiles/4.3.2/CMakeSystem.cmake \ + cyberqueer_autogen/moc_predefs.h \ + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/cyberqueer.json \ + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/plugin.cpp \ + /usr/include/alloca.h \ + /usr/include/asm-generic/bitsperlong.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/int-ll64.h \ + /usr/include/asm-generic/posix_types.h \ + /usr/include/asm-generic/types.h \ + /usr/include/asm/bitsperlong.h \ + /usr/include/asm/errno.h \ + /usr/include/asm/posix_types.h \ + /usr/include/asm/posix_types_64.h \ + /usr/include/asm/types.h \ + /usr/include/assert.h \ + /usr/include/bits/atomic_wide_counter.h \ + /usr/include/bits/byteswap.h \ + /usr/include/bits/cpu-set.h \ + /usr/include/bits/endian.h \ + /usr/include/bits/endianness.h \ + /usr/include/bits/errno.h \ + /usr/include/bits/floatn-common.h \ + /usr/include/bits/floatn.h \ + /usr/include/bits/libc-header-start.h \ + /usr/include/bits/local_lim.h \ + /usr/include/bits/locale.h \ + /usr/include/bits/long-double.h \ + /usr/include/bits/posix1_lim.h \ + /usr/include/bits/posix2_lim.h \ + /usr/include/bits/pthread_stack_min-dynamic.h \ + /usr/include/bits/pthreadtypes-arch.h \ + /usr/include/bits/pthreadtypes.h \ + /usr/include/bits/sched.h \ + /usr/include/bits/select.h \ + /usr/include/bits/setjmp.h \ + /usr/include/bits/stdint-intn.h \ + /usr/include/bits/stdint-least.h \ + /usr/include/bits/stdint-uintn.h \ + /usr/include/bits/stdio_lim.h \ + /usr/include/bits/stdlib-float.h \ + /usr/include/bits/struct_mutex.h \ + /usr/include/bits/struct_rwlock.h \ + /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/time.h \ + /usr/include/bits/time64.h \ + /usr/include/bits/timesize.h \ + /usr/include/bits/timex.h \ + /usr/include/bits/types.h \ + /usr/include/bits/types/FILE.h \ + /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/__fpos64_t.h \ + /usr/include/bits/types/__fpos_t.h \ + /usr/include/bits/types/__locale_t.h \ + /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/clock_t.h \ + /usr/include/bits/types/clockid_t.h \ + /usr/include/bits/types/cookie_io_functions_t.h \ + /usr/include/bits/types/error_t.h \ + /usr/include/bits/types/locale_t.h \ + /usr/include/bits/types/mbstate_t.h \ + /usr/include/bits/types/sigset_t.h \ + /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/types/struct___jmp_buf_tag.h \ + /usr/include/bits/types/struct_itimerspec.h \ + /usr/include/bits/types/struct_sched_param.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_tm.h \ + /usr/include/bits/types/time_t.h \ + /usr/include/bits/types/timer_t.h \ + /usr/include/bits/types/wint_t.h \ + /usr/include/bits/typesizes.h \ + /usr/include/bits/uintn-identity.h \ + /usr/include/bits/uio_lim.h \ + /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h \ + /usr/include/bits/wchar.h \ + /usr/include/bits/wordsize.h \ + /usr/include/bits/xopen_lim.h \ + /usr/include/c++/16.1.1/algorithm \ + /usr/include/c++/16.1.1/array \ + /usr/include/c++/16.1.1/atomic \ + /usr/include/c++/16.1.1/backward/auto_ptr.h \ + /usr/include/c++/16.1.1/backward/binders.h \ + /usr/include/c++/16.1.1/bit \ + /usr/include/c++/16.1.1/bits/algorithmfwd.h \ + /usr/include/c++/16.1.1/bits/align.h \ + /usr/include/c++/16.1.1/bits/alloc_traits.h \ + /usr/include/c++/16.1.1/bits/allocated_ptr.h \ + /usr/include/c++/16.1.1/bits/allocator.h \ + /usr/include/c++/16.1.1/bits/atomic_base.h \ + /usr/include/c++/16.1.1/bits/atomic_lockfree_defines.h \ + /usr/include/c++/16.1.1/bits/basic_string.h \ + /usr/include/c++/16.1.1/bits/basic_string.tcc \ + /usr/include/c++/16.1.1/bits/char_traits.h \ + /usr/include/c++/16.1.1/bits/charconv.h \ + /usr/include/c++/16.1.1/bits/chrono.h \ + /usr/include/c++/16.1.1/bits/concept_check.h \ + /usr/include/c++/16.1.1/bits/cpp_type_traits.h \ + /usr/include/c++/16.1.1/bits/cxxabi_forced.h \ + /usr/include/c++/16.1.1/bits/cxxabi_init_exception.h \ + /usr/include/c++/16.1.1/bits/enable_special_members.h \ + /usr/include/c++/16.1.1/bits/erase_if.h \ + /usr/include/c++/16.1.1/bits/exception.h \ + /usr/include/c++/16.1.1/bits/exception_defines.h \ + /usr/include/c++/16.1.1/bits/exception_ptr.h \ + /usr/include/c++/16.1.1/bits/functexcept.h \ + /usr/include/c++/16.1.1/bits/functional_hash.h \ + /usr/include/c++/16.1.1/bits/hash_bytes.h \ + /usr/include/c++/16.1.1/bits/hashtable.h \ + /usr/include/c++/16.1.1/bits/hashtable_policy.h \ + /usr/include/c++/16.1.1/bits/invoke.h \ + /usr/include/c++/16.1.1/bits/ios_base.h \ + /usr/include/c++/16.1.1/bits/list.tcc \ + /usr/include/c++/16.1.1/bits/locale_classes.h \ + /usr/include/c++/16.1.1/bits/locale_classes.tcc \ + /usr/include/c++/16.1.1/bits/localefwd.h \ + /usr/include/c++/16.1.1/bits/memory_resource.h \ + /usr/include/c++/16.1.1/bits/memoryfwd.h \ + /usr/include/c++/16.1.1/bits/move.h \ + /usr/include/c++/16.1.1/bits/nested_exception.h \ + /usr/include/c++/16.1.1/bits/new_allocator.h \ + /usr/include/c++/16.1.1/bits/new_except.h \ + /usr/include/c++/16.1.1/bits/new_throw.h \ + /usr/include/c++/16.1.1/bits/node_handle.h \ + /usr/include/c++/16.1.1/bits/ostream_insert.h \ + /usr/include/c++/16.1.1/bits/parse_numbers.h \ + /usr/include/c++/16.1.1/bits/postypes.h \ + /usr/include/c++/16.1.1/bits/predefined_ops.h \ + /usr/include/c++/16.1.1/bits/ptr_traits.h \ + /usr/include/c++/16.1.1/bits/range_access.h \ + /usr/include/c++/16.1.1/bits/refwrap.h \ + /usr/include/c++/16.1.1/bits/requires_hosted.h \ + /usr/include/c++/16.1.1/bits/shared_ptr.h \ + /usr/include/c++/16.1.1/bits/shared_ptr_atomic.h \ + /usr/include/c++/16.1.1/bits/shared_ptr_base.h \ + /usr/include/c++/16.1.1/bits/specfun.h \ + /usr/include/c++/16.1.1/bits/std_abs.h \ + /usr/include/c++/16.1.1/bits/std_function.h \ + /usr/include/c++/16.1.1/bits/stdexcept_except.h \ + /usr/include/c++/16.1.1/bits/stdexcept_throw.h \ + /usr/include/c++/16.1.1/bits/stdexcept_throwfwd.h \ + /usr/include/c++/16.1.1/bits/stl_algo.h \ + /usr/include/c++/16.1.1/bits/stl_algobase.h \ + /usr/include/c++/16.1.1/bits/stl_bvector.h \ + /usr/include/c++/16.1.1/bits/stl_construct.h \ + /usr/include/c++/16.1.1/bits/stl_function.h \ + /usr/include/c++/16.1.1/bits/stl_heap.h \ + /usr/include/c++/16.1.1/bits/stl_iterator.h \ + /usr/include/c++/16.1.1/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/16.1.1/bits/stl_iterator_base_types.h \ + /usr/include/c++/16.1.1/bits/stl_list.h \ + /usr/include/c++/16.1.1/bits/stl_map.h \ + /usr/include/c++/16.1.1/bits/stl_multimap.h \ + /usr/include/c++/16.1.1/bits/stl_multiset.h \ + /usr/include/c++/16.1.1/bits/stl_numeric.h \ + /usr/include/c++/16.1.1/bits/stl_pair.h \ + /usr/include/c++/16.1.1/bits/stl_raw_storage_iter.h \ + /usr/include/c++/16.1.1/bits/stl_relops.h \ + /usr/include/c++/16.1.1/bits/stl_set.h \ + /usr/include/c++/16.1.1/bits/stl_tempbuf.h \ + /usr/include/c++/16.1.1/bits/stl_tree.h \ + /usr/include/c++/16.1.1/bits/stl_uninitialized.h \ + /usr/include/c++/16.1.1/bits/stl_vector.h \ + /usr/include/c++/16.1.1/bits/stream_iterator.h \ + /usr/include/c++/16.1.1/bits/streambuf.tcc \ + /usr/include/c++/16.1.1/bits/streambuf_iterator.h \ + /usr/include/c++/16.1.1/bits/string_view.tcc \ + /usr/include/c++/16.1.1/bits/stringfwd.h \ + /usr/include/c++/16.1.1/bits/uniform_int_dist.h \ + /usr/include/c++/16.1.1/bits/unique_ptr.h \ + /usr/include/c++/16.1.1/bits/unordered_map.h \ + /usr/include/c++/16.1.1/bits/unordered_set.h \ + /usr/include/c++/16.1.1/bits/uses_allocator.h \ + /usr/include/c++/16.1.1/bits/uses_allocator_args.h \ + /usr/include/c++/16.1.1/bits/utility.h \ + /usr/include/c++/16.1.1/bits/vector.tcc \ + /usr/include/c++/16.1.1/bits/version.h \ + /usr/include/c++/16.1.1/cassert \ + /usr/include/c++/16.1.1/cctype \ + /usr/include/c++/16.1.1/cerrno \ + /usr/include/c++/16.1.1/chrono \ + /usr/include/c++/16.1.1/climits \ + /usr/include/c++/16.1.1/clocale \ + /usr/include/c++/16.1.1/cmath \ + /usr/include/c++/16.1.1/compare \ + /usr/include/c++/16.1.1/concepts \ + /usr/include/c++/16.1.1/cstddef \ + /usr/include/c++/16.1.1/cstdint \ + /usr/include/c++/16.1.1/cstdio \ + /usr/include/c++/16.1.1/cstdlib \ + /usr/include/c++/16.1.1/cstring \ + /usr/include/c++/16.1.1/ctime \ + /usr/include/c++/16.1.1/cwchar \ + /usr/include/c++/16.1.1/debug/assertions.h \ + /usr/include/c++/16.1.1/debug/debug.h \ + /usr/include/c++/16.1.1/exception \ + /usr/include/c++/16.1.1/ext/aligned_buffer.h \ + /usr/include/c++/16.1.1/ext/alloc_traits.h \ + /usr/include/c++/16.1.1/ext/atomicity.h \ + /usr/include/c++/16.1.1/ext/concurrence.h \ + /usr/include/c++/16.1.1/ext/numeric_traits.h \ + /usr/include/c++/16.1.1/ext/string_conversions.h \ + /usr/include/c++/16.1.1/ext/type_traits.h \ + /usr/include/c++/16.1.1/functional \ + /usr/include/c++/16.1.1/initializer_list \ + /usr/include/c++/16.1.1/iosfwd \ + /usr/include/c++/16.1.1/iterator \ + /usr/include/c++/16.1.1/limits \ + /usr/include/c++/16.1.1/list \ + /usr/include/c++/16.1.1/map \ + /usr/include/c++/16.1.1/memory \ + /usr/include/c++/16.1.1/new \ + /usr/include/c++/16.1.1/numeric \ + /usr/include/c++/16.1.1/optional \ + /usr/include/c++/16.1.1/pstl/execution_defs.h \ + /usr/include/c++/16.1.1/pstl/glue_numeric_defs.h \ + /usr/include/c++/16.1.1/pstl/pstl_config.h \ + /usr/include/c++/16.1.1/ratio \ + /usr/include/c++/16.1.1/set \ + /usr/include/c++/16.1.1/stdexcept \ + /usr/include/c++/16.1.1/streambuf \ + /usr/include/c++/16.1.1/string \ + /usr/include/c++/16.1.1/string_view \ + /usr/include/c++/16.1.1/system_error \ + /usr/include/c++/16.1.1/tr1/bessel_function.tcc \ + /usr/include/c++/16.1.1/tr1/beta_function.tcc \ + /usr/include/c++/16.1.1/tr1/ell_integral.tcc \ + /usr/include/c++/16.1.1/tr1/exp_integral.tcc \ + /usr/include/c++/16.1.1/tr1/gamma.tcc \ + /usr/include/c++/16.1.1/tr1/hypergeometric.tcc \ + /usr/include/c++/16.1.1/tr1/legendre_function.tcc \ + /usr/include/c++/16.1.1/tr1/modified_bessel_func.tcc \ + /usr/include/c++/16.1.1/tr1/poly_hermite.tcc \ + /usr/include/c++/16.1.1/tr1/poly_laguerre.tcc \ + /usr/include/c++/16.1.1/tr1/riemann_zeta.tcc \ + /usr/include/c++/16.1.1/tr1/special_function_util.h \ + /usr/include/c++/16.1.1/tuple \ + /usr/include/c++/16.1.1/type_traits \ + /usr/include/c++/16.1.1/typeinfo \ + /usr/include/c++/16.1.1/unordered_map \ + /usr/include/c++/16.1.1/unordered_set \ + /usr/include/c++/16.1.1/utility \ + /usr/include/c++/16.1.1/variant \ + /usr/include/c++/16.1.1/vector \ + /usr/include/c++/16.1.1/version \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/atomic_word.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++allocator.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++config.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++locale.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/cpu_defines.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/error_constants.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/gthr.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/os_defines.h \ + /usr/include/ctype.h \ + /usr/include/endian.h \ + /usr/include/errno.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/gnu/stubs-64.h \ + /usr/include/gnu/stubs.h \ + /usr/include/limits.h \ + /usr/include/linux/errno.h \ + /usr/include/linux/limits.h \ + /usr/include/linux/posix_types.h \ + /usr/include/linux/sched/types.h \ + /usr/include/linux/stddef.h \ + /usr/include/linux/types.h \ + /usr/include/locale.h \ + /usr/include/pthread.h \ + /usr/include/qt6/QtCore/q17memory.h \ + /usr/include/qt6/QtCore/q20algorithm.h \ + /usr/include/qt6/QtCore/q20bit.h \ + /usr/include/qt6/QtCore/q20functional.h \ + /usr/include/qt6/QtCore/q20iterator.h \ + /usr/include/qt6/QtCore/q20memory.h \ + /usr/include/qt6/QtCore/q20type_traits.h \ + /usr/include/qt6/QtCore/q20utility.h \ + /usr/include/qt6/QtCore/q23type_traits.h \ + /usr/include/qt6/QtCore/q23utility.h \ + /usr/include/qt6/QtCore/qalgorithms.h \ + /usr/include/qt6/QtCore/qalloc.h \ + /usr/include/qt6/QtCore/qanystringview.h \ + /usr/include/qt6/QtCore/qarraydata.h \ + /usr/include/qt6/QtCore/qarraydataops.h \ + /usr/include/qt6/QtCore/qarraydatapointer.h \ + /usr/include/qt6/QtCore/qassert.h \ + /usr/include/qt6/QtCore/qatomic.h \ + /usr/include/qt6/QtCore/qatomic_cxx11.h \ + /usr/include/qt6/QtCore/qbasicatomic.h \ + /usr/include/qt6/QtCore/qbindingstorage.h \ + /usr/include/qt6/QtCore/qbytearray.h \ + /usr/include/qt6/QtCore/qbytearrayalgorithms.h \ + /usr/include/qt6/QtCore/qbytearraylist.h \ + /usr/include/qt6/QtCore/qbytearrayview.h \ + /usr/include/qt6/QtCore/qcalendar.h \ + /usr/include/qt6/QtCore/qcborcommon.h \ + /usr/include/qt6/QtCore/qcborvalue.h \ + /usr/include/qt6/QtCore/qchar.h \ + /usr/include/qt6/QtCore/qcheckedint_impl.h \ + /usr/include/qt6/QtCore/qcompare.h \ + /usr/include/qt6/QtCore/qcompare_impl.h \ + /usr/include/qt6/QtCore/qcomparehelpers.h \ + /usr/include/qt6/QtCore/qcompilerdetection.h \ + /usr/include/qt6/QtCore/qconfig.h \ + /usr/include/qt6/QtCore/qconstructormacros.h \ + /usr/include/qt6/QtCore/qcontainerfwd.h \ + /usr/include/qt6/QtCore/qcontainerinfo.h \ + /usr/include/qt6/QtCore/qcontainertools_impl.h \ + /usr/include/qt6/QtCore/qcontiguouscache.h \ + /usr/include/qt6/QtCore/qdarwinhelpers.h \ + /usr/include/qt6/QtCore/qdatastream.h \ + /usr/include/qt6/QtCore/qdatetime.h \ + /usr/include/qt6/QtCore/qdebug.h \ + /usr/include/qt6/QtCore/qendian.h \ + /usr/include/qt6/QtCore/qexceptionhandling.h \ + /usr/include/qt6/QtCore/qfactoryinterface.h \ + /usr/include/qt6/QtCore/qflags.h \ + /usr/include/qt6/QtCore/qfloat16.h \ + /usr/include/qt6/QtCore/qforeach.h \ + /usr/include/qt6/QtCore/qfunctionaltools_impl.h \ + /usr/include/qt6/QtCore/qfunctionpointer.h \ + /usr/include/qt6/QtCore/qgenericatomic.h \ + /usr/include/qt6/QtCore/qglobal.h \ + /usr/include/qt6/QtCore/qglobalstatic.h \ + /usr/include/qt6/QtCore/qhash.h \ + /usr/include/qt6/QtCore/qhashfunctions.h \ + /usr/include/qt6/QtCore/qiodevicebase.h \ + /usr/include/qt6/QtCore/qiterable.h \ + /usr/include/qt6/QtCore/qiterator.h \ + /usr/include/qt6/QtCore/qjsondocument.h \ + /usr/include/qt6/QtCore/qjsonobject.h \ + /usr/include/qt6/QtCore/qjsonparseerror.h \ + /usr/include/qt6/QtCore/qjsonvalue.h \ + /usr/include/qt6/QtCore/qlatin1stringview.h \ + /usr/include/qt6/QtCore/qline.h \ + /usr/include/qt6/QtCore/qlist.h \ + /usr/include/qt6/QtCore/qlocale.h \ + /usr/include/qt6/QtCore/qlogging.h \ + /usr/include/qt6/QtCore/qmalloc.h \ + /usr/include/qt6/QtCore/qmap.h \ + /usr/include/qt6/QtCore/qmargins.h \ + /usr/include/qt6/QtCore/qmath.h \ + /usr/include/qt6/QtCore/qmetacontainer.h \ + /usr/include/qt6/QtCore/qmetatype.h \ + /usr/include/qt6/QtCore/qminmax.h \ + /usr/include/qt6/QtCore/qnamespace.h \ + /usr/include/qt6/QtCore/qnumeric.h \ + /usr/include/qt6/QtCore/qobject.h \ + /usr/include/qt6/QtCore/qobject_impl.h \ + /usr/include/qt6/QtCore/qobjectdefs.h \ + /usr/include/qt6/QtCore/qobjectdefs_impl.h \ + /usr/include/qt6/QtCore/qoverload.h \ + /usr/include/qt6/QtCore/qpair.h \ + /usr/include/qt6/QtCore/qplugin.h \ + /usr/include/qt6/QtCore/qpoint.h \ + /usr/include/qt6/QtCore/qpointer.h \ + /usr/include/qt6/QtCore/qprocessordetection.h \ + /usr/include/qt6/QtCore/qrect.h \ + /usr/include/qt6/QtCore/qrefcount.h \ + /usr/include/qt6/QtCore/qregularexpression.h \ + /usr/include/qt6/QtCore/qscopedpointer.h \ + /usr/include/qt6/QtCore/qscopeguard.h \ + /usr/include/qt6/QtCore/qset.h \ + /usr/include/qt6/QtCore/qshareddata.h \ + /usr/include/qt6/QtCore/qshareddata_impl.h \ + /usr/include/qt6/QtCore/qsharedpointer.h \ + /usr/include/qt6/QtCore/qsharedpointer_impl.h \ + /usr/include/qt6/QtCore/qsize.h \ + /usr/include/qt6/QtCore/qspan.h \ + /usr/include/qt6/QtCore/qstdlibdetection.h \ + /usr/include/qt6/QtCore/qstring.h \ + /usr/include/qt6/QtCore/qstringalgorithms.h \ + /usr/include/qt6/QtCore/qstringbuilder.h \ + /usr/include/qt6/QtCore/qstringconverter.h \ + /usr/include/qt6/QtCore/qstringconverter_base.h \ + /usr/include/qt6/QtCore/qstringfwd.h \ + /usr/include/qt6/QtCore/qstringlist.h \ + /usr/include/qt6/QtCore/qstringmatcher.h \ + /usr/include/qt6/QtCore/qstringtokenizer.h \ + /usr/include/qt6/QtCore/qstringview.h \ + /usr/include/qt6/QtCore/qswap.h \ + /usr/include/qt6/QtCore/qsysinfo.h \ + /usr/include/qt6/QtCore/qsystemdetection.h \ + /usr/include/qt6/QtCore/qtaggedpointer.h \ + /usr/include/qt6/QtCore/qtclasshelpermacros.h \ + /usr/include/qt6/QtCore/qtconfiginclude.h \ + /usr/include/qt6/QtCore/qtconfigmacros.h \ + /usr/include/qt6/QtCore/qtcore-config.h \ + /usr/include/qt6/QtCore/qtcoreexports.h \ + /usr/include/qt6/QtCore/qtcoreglobal.h \ + /usr/include/qt6/QtCore/qtdeprecationdefinitions.h \ + /usr/include/qt6/QtCore/qtdeprecationmarkers.h \ + /usr/include/qt6/QtCore/qtenvironmentvariables.h \ + /usr/include/qt6/QtCore/qtextstream.h \ + /usr/include/qt6/QtCore/qtformat_impl.h \ + /usr/include/qt6/QtCore/qtmetamacros.h \ + /usr/include/qt6/QtCore/qtnoop.h \ + /usr/include/qt6/QtCore/qtpreprocessorsupport.h \ + /usr/include/qt6/QtCore/qtresource.h \ + /usr/include/qt6/QtCore/qttranslation.h \ + /usr/include/qt6/QtCore/qttypetraits.h \ + /usr/include/qt6/QtCore/qtversion.h \ + /usr/include/qt6/QtCore/qtversionchecks.h \ + /usr/include/qt6/QtCore/qtypeinfo.h \ + /usr/include/qt6/QtCore/qtypes.h \ + /usr/include/qt6/QtCore/qurl.h \ + /usr/include/qt6/QtCore/qutf8stringview.h \ + /usr/include/qt6/QtCore/quuid.h \ + /usr/include/qt6/QtCore/qvariant.h \ + /usr/include/qt6/QtCore/qvarlengtharray.h \ + /usr/include/qt6/QtCore/qversiontagging.h \ + /usr/include/qt6/QtCore/qxptype_traits.h \ + /usr/include/qt6/QtCore/qyieldcpu.h \ + /usr/include/qt6/QtGui/qbrush.h \ + /usr/include/qt6/QtGui/qcolor.h \ + /usr/include/qt6/QtGui/qicon.h \ + /usr/include/qt6/QtGui/qimage.h \ + /usr/include/qt6/QtGui/qpaintdevice.h \ + /usr/include/qt6/QtGui/qpalette.h \ + /usr/include/qt6/QtGui/qpixelformat.h \ + /usr/include/qt6/QtGui/qpixmap.h \ + /usr/include/qt6/QtGui/qpolygon.h \ + /usr/include/qt6/QtGui/qregion.h \ + /usr/include/qt6/QtGui/qrgb.h \ + /usr/include/qt6/QtGui/qrgba64.h \ + /usr/include/qt6/QtGui/qtgui-config.h \ + /usr/include/qt6/QtGui/qtguiexports.h \ + /usr/include/qt6/QtGui/qtguiglobal.h \ + /usr/include/qt6/QtGui/qtransform.h \ + /usr/include/qt6/QtGui/qwindowdefs.h \ + /usr/include/qt6/QtWidgets/QCommonStyle \ + /usr/include/qt6/QtWidgets/QProxyStyle \ + /usr/include/qt6/QtWidgets/QStylePlugin \ + /usr/include/qt6/QtWidgets/qcommonstyle.h \ + /usr/include/qt6/QtWidgets/qproxystyle.h \ + /usr/include/qt6/QtWidgets/qsizepolicy.h \ + /usr/include/qt6/QtWidgets/qstyle.h \ + /usr/include/qt6/QtWidgets/qstyleplugin.h \ + /usr/include/qt6/QtWidgets/qtwidgets-config.h \ + /usr/include/qt6/QtWidgets/qtwidgetsexports.h \ + /usr/include/qt6/QtWidgets/qtwidgetsglobal.h \ + /usr/include/sched.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/stdio.h \ + /usr/include/stdlib.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/sys/cdefs.h \ + /usr/include/sys/select.h \ + /usr/include/sys/single_threaded.h \ + /usr/include/sys/types.h \ + /usr/include/time.h \ + /usr/include/wchar.h \ + /usr/lib/cmake/Qt6/FindWrapAtomic.cmake \ + /usr/lib/cmake/Qt6/FindWrapOpenGL.cmake \ + /usr/lib/cmake/Qt6/FindWrapVulkanHeaders.cmake \ + /usr/lib/cmake/Qt6/Qt6Config.cmake \ + /usr/lib/cmake/Qt6/Qt6ConfigExtras.cmake \ + /usr/lib/cmake/Qt6/Qt6ConfigVersion.cmake \ + /usr/lib/cmake/Qt6/Qt6ConfigVersionImpl.cmake \ + /usr/lib/cmake/Qt6/Qt6Dependencies.cmake \ + /usr/lib/cmake/Qt6/Qt6Targets.cmake \ + /usr/lib/cmake/Qt6/Qt6TargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6/Qt6VersionlessAliasTargets.cmake \ + /usr/lib/cmake/Qt6/QtFeature.cmake \ + /usr/lib/cmake/Qt6/QtFeatureCommon.cmake \ + /usr/lib/cmake/Qt6/QtInstallPaths.cmake \ + /usr/lib/cmake/Qt6/QtPublicAndroidHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicAppleHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicCMakeEarlyPolicyHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicCMakeHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicCMakeVersionHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicExternalProjectHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicFinalizerHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicFindPackageHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicGitHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicPluginHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicPluginHelpers_v2.cmake \ + /usr/lib/cmake/Qt6/QtPublicSbomAttributionHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicSbomCommonGenerationHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicSbomCpeHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicSbomCycloneDXHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicSbomDepHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicSbomDocumentNamespaceHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicSbomFileHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicSbomGenerationCycloneDXHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicSbomGenerationHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicSbomHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicSbomLicenseHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicSbomOpsHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicSbomPurlHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicSbomPythonHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicSbomQtEntityHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicSbomSystemDepHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicTargetHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicTestHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicToolHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicWalkLibsHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicWindowsHelpers.cmake \ + /usr/lib/cmake/Qt6Core/Qt6CoreAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Core/Qt6CoreConfig.cmake \ + /usr/lib/cmake/Qt6Core/Qt6CoreConfigExtras.cmake \ + /usr/lib/cmake/Qt6Core/Qt6CoreConfigVersion.cmake \ + /usr/lib/cmake/Qt6Core/Qt6CoreConfigVersionImpl.cmake \ + /usr/lib/cmake/Qt6Core/Qt6CoreDependencies.cmake \ + /usr/lib/cmake/Qt6Core/Qt6CoreMacros.cmake \ + /usr/lib/cmake/Qt6Core/Qt6CoreTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Core/Qt6CoreTargets.cmake \ + /usr/lib/cmake/Qt6Core/Qt6CoreTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Core/Qt6CoreVersionlessAliasTargets.cmake \ + /usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfig.cmake \ + /usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfigVersion.cmake \ + /usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfigVersionImpl.cmake \ + /usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsDependencies.cmake \ + /usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsTargets.cmake \ + /usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsVersionlessTargets.cmake \ + /usr/lib/cmake/Qt6DBus/Qt6DBusAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6DBus/Qt6DBusConfig.cmake \ + /usr/lib/cmake/Qt6DBus/Qt6DBusConfigVersion.cmake \ + /usr/lib/cmake/Qt6DBus/Qt6DBusConfigVersionImpl.cmake \ + /usr/lib/cmake/Qt6DBus/Qt6DBusDependencies.cmake \ + /usr/lib/cmake/Qt6DBus/Qt6DBusMacros.cmake \ + /usr/lib/cmake/Qt6DBus/Qt6DBusTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6DBus/Qt6DBusTargets.cmake \ + /usr/lib/cmake/Qt6DBus/Qt6DBusTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6DBus/Qt6DBusVersionlessAliasTargets.cmake \ + /usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsConfig.cmake \ + /usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsConfigVersion.cmake \ + /usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsConfigVersionImpl.cmake \ + /usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsDependencies.cmake \ + /usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsTargets.cmake \ + /usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsVersionlessTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6GuiAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6GuiConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6GuiConfigVersion.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6GuiConfigVersionImpl.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6GuiDependencies.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6GuiPlugins.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6GuiTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6GuiTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6GuiTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6GuiVersionlessAliasTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QGifPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QGifPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QGifPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QGifPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QGifPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QICNSPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QICNSPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QICNSPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QICNSPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QICNSPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QICOPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QICOPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QICOPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QICOPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QICOPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QJp2PluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QJp2PluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QJp2PluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QJp2PluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QJp2PluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QJpegPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QJpegPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QJpegPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QJpegPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QJpegPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QMngPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QMngPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QMngPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QMngPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QMngPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QPdfPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QPdfPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QPdfPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QPdfPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QPdfPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QSvgPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QSvgPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QSvgPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QSvgPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QSvgPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTgaPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTgaPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTgaPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTgaPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTgaPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTiffPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTiffPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTiffPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTiffPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTiffPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWebpPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWebpPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWebpPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWebpPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWebpPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsConfig.cmake \ + /usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsConfigVersion.cmake \ + /usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsConfigVersionImpl.cmake \ + /usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsDependencies.cmake \ + /usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsTargets.cmake \ + /usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsVersionlessTargets.cmake \ + /usr/lib/cmake/Qt6Widgets/Qt6WidgetsAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake \ + /usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfigVersion.cmake \ + /usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfigVersionImpl.cmake \ + /usr/lib/cmake/Qt6Widgets/Qt6WidgetsDependencies.cmake \ + /usr/lib/cmake/Qt6Widgets/Qt6WidgetsMacros.cmake \ + /usr/lib/cmake/Qt6Widgets/Qt6WidgetsPlugins.cmake \ + /usr/lib/cmake/Qt6Widgets/Qt6WidgetsTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Widgets/Qt6WidgetsTargets.cmake \ + /usr/lib/cmake/Qt6Widgets/Qt6WidgetsTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Widgets/Qt6WidgetsVersionlessAliasTargets.cmake \ + /usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsConfig.cmake \ + /usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsConfigVersion.cmake \ + /usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsConfigVersionImpl.cmake \ + /usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsDependencies.cmake \ + /usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsTargets.cmake \ + /usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsVersionlessTargets.cmake \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdarg.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdbool.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stddef.h \ + /usr/sbin/cmake \ + /usr/share/cmake/Modules/CMakeCCompiler.cmake.in \ + /usr/share/cmake/Modules/CMakeCCompilerABI.c \ + /usr/share/cmake/Modules/CMakeCInformation.cmake \ + /usr/share/cmake/Modules/CMakeCXXCompiler.cmake.in \ + /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp \ + /usr/share/cmake/Modules/CMakeCXXInformation.cmake \ + /usr/share/cmake/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake \ + /usr/share/cmake/Modules/CMakeCommonLanguageInclude.cmake \ + /usr/share/cmake/Modules/CMakeCompilerIdDetection.cmake \ + /usr/share/cmake/Modules/CMakeDetermineCCompiler.cmake \ + /usr/share/cmake/Modules/CMakeDetermineCXXCompiler.cmake \ + /usr/share/cmake/Modules/CMakeDetermineCompiler.cmake \ + /usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake \ + /usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake \ + /usr/share/cmake/Modules/CMakeDetermineCompilerSupport.cmake \ + /usr/share/cmake/Modules/CMakeDetermineSystem.cmake \ + /usr/share/cmake/Modules/CMakeFindBinUtils.cmake \ + /usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake \ + /usr/share/cmake/Modules/CMakeGenericSystem.cmake \ + /usr/share/cmake/Modules/CMakeInitializeConfigs.cmake \ + /usr/share/cmake/Modules/CMakeLanguageInformation.cmake \ + /usr/share/cmake/Modules/CMakeParseImplicitIncludeInfo.cmake \ + /usr/share/cmake/Modules/CMakeParseImplicitLinkInfo.cmake \ + /usr/share/cmake/Modules/CMakeParseLibraryArchitecture.cmake \ + /usr/share/cmake/Modules/CMakeSystem.cmake.in \ + /usr/share/cmake/Modules/CMakeSystemSpecificInformation.cmake \ + /usr/share/cmake/Modules/CMakeSystemSpecificInitialize.cmake \ + /usr/share/cmake/Modules/CMakeTestCCompiler.cmake \ + /usr/share/cmake/Modules/CMakeTestCXXCompiler.cmake \ + /usr/share/cmake/Modules/CMakeTestCompilerCommon.cmake \ + /usr/share/cmake/Modules/CMakeUnixFindMake.cmake \ + /usr/share/cmake/Modules/CheckCSourceCompiles.cmake \ + /usr/share/cmake/Modules/CheckCXXCompilerFlag.cmake \ + /usr/share/cmake/Modules/CheckCXXSourceCompiles.cmake \ + /usr/share/cmake/Modules/CheckIncludeFile.cmake \ + /usr/share/cmake/Modules/CheckLibraryExists.cmake \ + /usr/share/cmake/Modules/Compiler/ADSP-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/ARMCC-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/ARMClang-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/AppleClang-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/Borland-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/Bruce-C-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/CMakeCommonCompilerMacros.cmake \ + /usr/share/cmake/Modules/Compiler/Clang-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/Clang-DetermineCompilerInternal.cmake \ + /usr/share/cmake/Modules/Compiler/Compaq-C-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/Cray-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/CrayClang-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/Diab-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/Embarcadero-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/Fujitsu-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/GHS-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/GNU-C-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/GNU-C.cmake \ + /usr/share/cmake/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/GNU-CXX.cmake \ + /usr/share/cmake/Modules/Compiler/GNU-FindBinUtils.cmake \ + /usr/share/cmake/Modules/Compiler/GNU.cmake \ + /usr/share/cmake/Modules/Compiler/HP-C-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/HP-CXX-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/IAR-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake \ + /usr/share/cmake/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake \ + /usr/share/cmake/Modules/Compiler/IBMClang-C-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/IBMClang-CXX-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/Intel-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/LCC-C-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/LCC-CXX-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/MSVC-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/NVHPC-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/NVIDIA-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/OrangeC-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/PGI-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/PathScale-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/Renesas-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/SCO-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/SDCC-C-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/SunPro-C-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/TI-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/TIClang-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/Tasking-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/Watcom-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/XL-C-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/XL-CXX-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/XLClang-C-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/zOS-C-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/FindOpenGL.cmake \ + /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake \ + /usr/share/cmake/Modules/FindPackageMessage.cmake \ + /usr/share/cmake/Modules/FindThreads.cmake \ + /usr/share/cmake/Modules/FindVulkan.cmake \ + /usr/share/cmake/Modules/GNUInstallDirs.cmake \ + /usr/share/cmake/Modules/Internal/CMakeCLinkerInformation.cmake \ + /usr/share/cmake/Modules/Internal/CMakeCXXLinkerInformation.cmake \ + /usr/share/cmake/Modules/Internal/CMakeCommonLinkerInformation.cmake \ + /usr/share/cmake/Modules/Internal/CMakeDetermineLinkerId.cmake \ + /usr/share/cmake/Modules/Internal/CMakeInspectCLinker.cmake \ + /usr/share/cmake/Modules/Internal/CMakeInspectCXXLinker.cmake \ + /usr/share/cmake/Modules/Internal/CheckCompilerFlag.cmake \ + /usr/share/cmake/Modules/Internal/CheckFlagCommonConfig.cmake \ + /usr/share/cmake/Modules/Internal/CheckSourceCompiles.cmake \ + /usr/share/cmake/Modules/Internal/FeatureTesting.cmake \ + /usr/share/cmake/Modules/Linker/GNU-C.cmake \ + /usr/share/cmake/Modules/Linker/GNU-CXX.cmake \ + /usr/share/cmake/Modules/Linker/GNU.cmake \ + /usr/share/cmake/Modules/MacroAddFileDependencies.cmake \ + /usr/share/cmake/Modules/Platform/Linker/GNU.cmake \ + /usr/share/cmake/Modules/Platform/Linker/Linux-GNU-C.cmake \ + /usr/share/cmake/Modules/Platform/Linker/Linux-GNU-CXX.cmake \ + /usr/share/cmake/Modules/Platform/Linker/Linux-GNU.cmake \ + /usr/share/cmake/Modules/Platform/Linux-Determine-CXX.cmake \ + /usr/share/cmake/Modules/Platform/Linux-GNU-C.cmake \ + /usr/share/cmake/Modules/Platform/Linux-GNU-CXX.cmake \ + /usr/share/cmake/Modules/Platform/Linux-GNU.cmake \ + /usr/share/cmake/Modules/Platform/Linux-Initialize.cmake \ + /usr/share/cmake/Modules/Platform/Linux.cmake \ + /usr/share/cmake/Modules/Platform/UnixPaths.cmake + +CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.o: /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/CyberQueerStyle.cpp \ + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/CyberQueerStyle.h \ + /usr/include/alloca.h \ + /usr/include/asm-generic/bitsperlong.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/int-ll64.h \ + /usr/include/asm-generic/posix_types.h \ + /usr/include/asm-generic/types.h \ + /usr/include/asm/bitsperlong.h \ + /usr/include/asm/errno.h \ + /usr/include/asm/posix_types.h \ + /usr/include/asm/posix_types_64.h \ + /usr/include/asm/types.h \ + /usr/include/assert.h \ + /usr/include/bits/atomic_wide_counter.h \ + /usr/include/bits/byteswap.h \ + /usr/include/bits/cpu-set.h \ + /usr/include/bits/endian.h \ + /usr/include/bits/endianness.h \ + /usr/include/bits/errno.h \ + /usr/include/bits/floatn-common.h \ + /usr/include/bits/floatn.h \ + /usr/include/bits/flt-eval-method.h \ + /usr/include/bits/fp-fast.h \ + /usr/include/bits/fp-logb.h \ + /usr/include/bits/iscanonical.h \ + /usr/include/bits/libc-header-start.h \ + /usr/include/bits/libm-simd-decl-stubs.h \ + /usr/include/bits/local_lim.h \ + /usr/include/bits/locale.h \ + /usr/include/bits/long-double.h \ + /usr/include/bits/math-vector.h \ + /usr/include/bits/mathcalls-helper-functions.h \ + /usr/include/bits/mathcalls-macros.h \ + /usr/include/bits/mathcalls-narrow.h \ + /usr/include/bits/mathcalls.h \ + /usr/include/bits/posix1_lim.h \ + /usr/include/bits/posix2_lim.h \ + /usr/include/bits/pthread_stack_min-dynamic.h \ + /usr/include/bits/pthreadtypes-arch.h \ + /usr/include/bits/pthreadtypes.h \ + /usr/include/bits/sched.h \ + /usr/include/bits/select.h \ + /usr/include/bits/setjmp.h \ + /usr/include/bits/stdint-intn.h \ + /usr/include/bits/stdint-least.h \ + /usr/include/bits/stdint-uintn.h \ + /usr/include/bits/stdio.h \ + /usr/include/bits/stdio_lim.h \ + /usr/include/bits/stdlib-bsearch.h \ + /usr/include/bits/stdlib-float.h \ + /usr/include/bits/struct_mutex.h \ + /usr/include/bits/struct_rwlock.h \ + /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/time.h \ + /usr/include/bits/time64.h \ + /usr/include/bits/timesize.h \ + /usr/include/bits/timex.h \ + /usr/include/bits/types.h \ + /usr/include/bits/types/FILE.h \ + /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/__fpos64_t.h \ + /usr/include/bits/types/__fpos_t.h \ + /usr/include/bits/types/__locale_t.h \ + /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/clock_t.h \ + /usr/include/bits/types/clockid_t.h \ + /usr/include/bits/types/cookie_io_functions_t.h \ + /usr/include/bits/types/error_t.h \ + /usr/include/bits/types/locale_t.h \ + /usr/include/bits/types/mbstate_t.h \ + /usr/include/bits/types/sigset_t.h \ + /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/types/struct___jmp_buf_tag.h \ + /usr/include/bits/types/struct_itimerspec.h \ + /usr/include/bits/types/struct_sched_param.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_tm.h \ + /usr/include/bits/types/time_t.h \ + /usr/include/bits/types/timer_t.h \ + /usr/include/bits/types/wint_t.h \ + /usr/include/bits/typesizes.h \ + /usr/include/bits/uintn-identity.h \ + /usr/include/bits/uio_lim.h \ + /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h \ + /usr/include/bits/wchar.h \ + /usr/include/bits/wordsize.h \ + /usr/include/bits/xopen_lim.h \ + /usr/include/c++/16.1.1/algorithm \ + /usr/include/c++/16.1.1/array \ + /usr/include/c++/16.1.1/atomic \ + /usr/include/c++/16.1.1/backward/auto_ptr.h \ + /usr/include/c++/16.1.1/backward/binders.h \ + /usr/include/c++/16.1.1/bit \ + /usr/include/c++/16.1.1/bits/algorithmfwd.h \ + /usr/include/c++/16.1.1/bits/align.h \ + /usr/include/c++/16.1.1/bits/alloc_traits.h \ + /usr/include/c++/16.1.1/bits/allocated_ptr.h \ + /usr/include/c++/16.1.1/bits/allocator.h \ + /usr/include/c++/16.1.1/bits/atomic_base.h \ + /usr/include/c++/16.1.1/bits/atomic_lockfree_defines.h \ + /usr/include/c++/16.1.1/bits/basic_string.h \ + /usr/include/c++/16.1.1/bits/basic_string.tcc \ + /usr/include/c++/16.1.1/bits/char_traits.h \ + /usr/include/c++/16.1.1/bits/charconv.h \ + /usr/include/c++/16.1.1/bits/chrono.h \ + /usr/include/c++/16.1.1/bits/concept_check.h \ + /usr/include/c++/16.1.1/bits/cpp_type_traits.h \ + /usr/include/c++/16.1.1/bits/cxxabi_forced.h \ + /usr/include/c++/16.1.1/bits/cxxabi_init_exception.h \ + /usr/include/c++/16.1.1/bits/enable_special_members.h \ + /usr/include/c++/16.1.1/bits/erase_if.h \ + /usr/include/c++/16.1.1/bits/exception.h \ + /usr/include/c++/16.1.1/bits/exception_defines.h \ + /usr/include/c++/16.1.1/bits/exception_ptr.h \ + /usr/include/c++/16.1.1/bits/functexcept.h \ + /usr/include/c++/16.1.1/bits/functional_hash.h \ + /usr/include/c++/16.1.1/bits/hash_bytes.h \ + /usr/include/c++/16.1.1/bits/hashtable.h \ + /usr/include/c++/16.1.1/bits/hashtable_policy.h \ + /usr/include/c++/16.1.1/bits/invoke.h \ + /usr/include/c++/16.1.1/bits/ios_base.h \ + /usr/include/c++/16.1.1/bits/list.tcc \ + /usr/include/c++/16.1.1/bits/locale_classes.h \ + /usr/include/c++/16.1.1/bits/locale_classes.tcc \ + /usr/include/c++/16.1.1/bits/localefwd.h \ + /usr/include/c++/16.1.1/bits/memory_resource.h \ + /usr/include/c++/16.1.1/bits/memoryfwd.h \ + /usr/include/c++/16.1.1/bits/monostate.h \ + /usr/include/c++/16.1.1/bits/move.h \ + /usr/include/c++/16.1.1/bits/nested_exception.h \ + /usr/include/c++/16.1.1/bits/new_allocator.h \ + /usr/include/c++/16.1.1/bits/new_except.h \ + /usr/include/c++/16.1.1/bits/new_throw.h \ + /usr/include/c++/16.1.1/bits/node_handle.h \ + /usr/include/c++/16.1.1/bits/ostream_insert.h \ + /usr/include/c++/16.1.1/bits/parse_numbers.h \ + /usr/include/c++/16.1.1/bits/postypes.h \ + /usr/include/c++/16.1.1/bits/predefined_ops.h \ + /usr/include/c++/16.1.1/bits/ptr_traits.h \ + /usr/include/c++/16.1.1/bits/range_access.h \ + /usr/include/c++/16.1.1/bits/refwrap.h \ + /usr/include/c++/16.1.1/bits/requires_hosted.h \ + /usr/include/c++/16.1.1/bits/shared_ptr.h \ + /usr/include/c++/16.1.1/bits/shared_ptr_atomic.h \ + /usr/include/c++/16.1.1/bits/shared_ptr_base.h \ + /usr/include/c++/16.1.1/bits/specfun.h \ + /usr/include/c++/16.1.1/bits/std_abs.h \ + /usr/include/c++/16.1.1/bits/std_function.h \ + /usr/include/c++/16.1.1/bits/stdexcept_except.h \ + /usr/include/c++/16.1.1/bits/stdexcept_throw.h \ + /usr/include/c++/16.1.1/bits/stdexcept_throwfwd.h \ + /usr/include/c++/16.1.1/bits/stl_algo.h \ + /usr/include/c++/16.1.1/bits/stl_algobase.h \ + /usr/include/c++/16.1.1/bits/stl_bvector.h \ + /usr/include/c++/16.1.1/bits/stl_construct.h \ + /usr/include/c++/16.1.1/bits/stl_function.h \ + /usr/include/c++/16.1.1/bits/stl_heap.h \ + /usr/include/c++/16.1.1/bits/stl_iterator.h \ + /usr/include/c++/16.1.1/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/16.1.1/bits/stl_iterator_base_types.h \ + /usr/include/c++/16.1.1/bits/stl_list.h \ + /usr/include/c++/16.1.1/bits/stl_map.h \ + /usr/include/c++/16.1.1/bits/stl_multimap.h \ + /usr/include/c++/16.1.1/bits/stl_numeric.h \ + /usr/include/c++/16.1.1/bits/stl_pair.h \ + /usr/include/c++/16.1.1/bits/stl_raw_storage_iter.h \ + /usr/include/c++/16.1.1/bits/stl_relops.h \ + /usr/include/c++/16.1.1/bits/stl_tempbuf.h \ + /usr/include/c++/16.1.1/bits/stl_tree.h \ + /usr/include/c++/16.1.1/bits/stl_uninitialized.h \ + /usr/include/c++/16.1.1/bits/stl_vector.h \ + /usr/include/c++/16.1.1/bits/stream_iterator.h \ + /usr/include/c++/16.1.1/bits/streambuf.tcc \ + /usr/include/c++/16.1.1/bits/streambuf_iterator.h \ + /usr/include/c++/16.1.1/bits/string_view.tcc \ + /usr/include/c++/16.1.1/bits/stringfwd.h \ + /usr/include/c++/16.1.1/bits/uniform_int_dist.h \ + /usr/include/c++/16.1.1/bits/unique_ptr.h \ + /usr/include/c++/16.1.1/bits/unordered_map.h \ + /usr/include/c++/16.1.1/bits/uses_allocator.h \ + /usr/include/c++/16.1.1/bits/uses_allocator_args.h \ + /usr/include/c++/16.1.1/bits/utility.h \ + /usr/include/c++/16.1.1/bits/vector.tcc \ + /usr/include/c++/16.1.1/bits/version.h \ + /usr/include/c++/16.1.1/cassert \ + /usr/include/c++/16.1.1/cctype \ + /usr/include/c++/16.1.1/cerrno \ + /usr/include/c++/16.1.1/chrono \ + /usr/include/c++/16.1.1/clocale \ + /usr/include/c++/16.1.1/cmath \ + /usr/include/c++/16.1.1/compare \ + /usr/include/c++/16.1.1/concepts \ + /usr/include/c++/16.1.1/cstddef \ + /usr/include/c++/16.1.1/cstdint \ + /usr/include/c++/16.1.1/cstdio \ + /usr/include/c++/16.1.1/cstdlib \ + /usr/include/c++/16.1.1/cstring \ + /usr/include/c++/16.1.1/ctime \ + /usr/include/c++/16.1.1/cwchar \ + /usr/include/c++/16.1.1/debug/assertions.h \ + /usr/include/c++/16.1.1/debug/debug.h \ + /usr/include/c++/16.1.1/exception \ + /usr/include/c++/16.1.1/ext/aligned_buffer.h \ + /usr/include/c++/16.1.1/ext/alloc_traits.h \ + /usr/include/c++/16.1.1/ext/atomicity.h \ + /usr/include/c++/16.1.1/ext/concurrence.h \ + /usr/include/c++/16.1.1/ext/numeric_traits.h \ + /usr/include/c++/16.1.1/ext/string_conversions.h \ + /usr/include/c++/16.1.1/ext/type_traits.h \ + /usr/include/c++/16.1.1/functional \ + /usr/include/c++/16.1.1/initializer_list \ + /usr/include/c++/16.1.1/iosfwd \ + /usr/include/c++/16.1.1/iterator \ + /usr/include/c++/16.1.1/limits \ + /usr/include/c++/16.1.1/list \ + /usr/include/c++/16.1.1/map \ + /usr/include/c++/16.1.1/memory \ + /usr/include/c++/16.1.1/new \ + /usr/include/c++/16.1.1/numeric \ + /usr/include/c++/16.1.1/optional \ + /usr/include/c++/16.1.1/pstl/execution_defs.h \ + /usr/include/c++/16.1.1/pstl/glue_algorithm_defs.h \ + /usr/include/c++/16.1.1/pstl/glue_memory_defs.h \ + /usr/include/c++/16.1.1/pstl/glue_numeric_defs.h \ + /usr/include/c++/16.1.1/pstl/pstl_config.h \ + /usr/include/c++/16.1.1/ratio \ + /usr/include/c++/16.1.1/stdexcept \ + /usr/include/c++/16.1.1/stdlib.h \ + /usr/include/c++/16.1.1/streambuf \ + /usr/include/c++/16.1.1/string \ + /usr/include/c++/16.1.1/string_view \ + /usr/include/c++/16.1.1/system_error \ + /usr/include/c++/16.1.1/tr1/bessel_function.tcc \ + /usr/include/c++/16.1.1/tr1/beta_function.tcc \ + /usr/include/c++/16.1.1/tr1/ell_integral.tcc \ + /usr/include/c++/16.1.1/tr1/exp_integral.tcc \ + /usr/include/c++/16.1.1/tr1/gamma.tcc \ + /usr/include/c++/16.1.1/tr1/hypergeometric.tcc \ + /usr/include/c++/16.1.1/tr1/legendre_function.tcc \ + /usr/include/c++/16.1.1/tr1/modified_bessel_func.tcc \ + /usr/include/c++/16.1.1/tr1/poly_hermite.tcc \ + /usr/include/c++/16.1.1/tr1/poly_laguerre.tcc \ + /usr/include/c++/16.1.1/tr1/riemann_zeta.tcc \ + /usr/include/c++/16.1.1/tr1/special_function_util.h \ + /usr/include/c++/16.1.1/tuple \ + /usr/include/c++/16.1.1/type_traits \ + /usr/include/c++/16.1.1/typeinfo \ + /usr/include/c++/16.1.1/unordered_map \ + /usr/include/c++/16.1.1/utility \ + /usr/include/c++/16.1.1/variant \ + /usr/include/c++/16.1.1/vector \ + /usr/include/c++/16.1.1/version \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/atomic_word.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++allocator.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++config.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++locale.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/cpu_defines.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/error_constants.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/gthr.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/os_defines.h \ + /usr/include/ctype.h \ + /usr/include/endian.h \ + /usr/include/errno.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/gnu/stubs-64.h \ + /usr/include/gnu/stubs.h \ + /usr/include/limits.h \ + /usr/include/linux/errno.h \ + /usr/include/linux/limits.h \ + /usr/include/linux/posix_types.h \ + /usr/include/linux/sched/types.h \ + /usr/include/linux/stddef.h \ + /usr/include/linux/types.h \ + /usr/include/locale.h \ + /usr/include/math.h \ + /usr/include/pthread.h \ + /usr/include/qt6/QtCore/q17memory.h \ + /usr/include/qt6/QtCore/q20bit.h \ + /usr/include/qt6/QtCore/q20functional.h \ + /usr/include/qt6/QtCore/q20iterator.h \ + /usr/include/qt6/QtCore/q20memory.h \ + /usr/include/qt6/QtCore/q20type_traits.h \ + /usr/include/qt6/QtCore/q20utility.h \ + /usr/include/qt6/QtCore/q23type_traits.h \ + /usr/include/qt6/QtCore/q23utility.h \ + /usr/include/qt6/QtCore/qalgorithms.h \ + /usr/include/qt6/QtCore/qanystringview.h \ + /usr/include/qt6/QtCore/qarraydata.h \ + /usr/include/qt6/QtCore/qarraydataops.h \ + /usr/include/qt6/QtCore/qarraydatapointer.h \ + /usr/include/qt6/QtCore/qassert.h \ + /usr/include/qt6/QtCore/qatomic.h \ + /usr/include/qt6/QtCore/qatomic_cxx11.h \ + /usr/include/qt6/QtCore/qbasicatomic.h \ + /usr/include/qt6/QtCore/qbindingstorage.h \ + /usr/include/qt6/QtCore/qbytearray.h \ + /usr/include/qt6/QtCore/qbytearrayalgorithms.h \ + /usr/include/qt6/QtCore/qbytearraylist.h \ + /usr/include/qt6/QtCore/qbytearrayview.h \ + /usr/include/qt6/QtCore/qchar.h \ + /usr/include/qt6/QtCore/qcheckedint_impl.h \ + /usr/include/qt6/QtCore/qcompare.h \ + /usr/include/qt6/QtCore/qcompare_impl.h \ + /usr/include/qt6/QtCore/qcomparehelpers.h \ + /usr/include/qt6/QtCore/qcompilerdetection.h \ + /usr/include/qt6/QtCore/qconfig.h \ + /usr/include/qt6/QtCore/qconstructormacros.h \ + /usr/include/qt6/QtCore/qcontainerfwd.h \ + /usr/include/qt6/QtCore/qcontainerinfo.h \ + /usr/include/qt6/QtCore/qcontainertools_impl.h \ + /usr/include/qt6/QtCore/qdarwinhelpers.h \ + /usr/include/qt6/QtCore/qdatastream.h \ + /usr/include/qt6/QtCore/qexceptionhandling.h \ + /usr/include/qt6/QtCore/qflags.h \ + /usr/include/qt6/QtCore/qfloat16.h \ + /usr/include/qt6/QtCore/qforeach.h \ + /usr/include/qt6/QtCore/qfunctionaltools_impl.h \ + /usr/include/qt6/QtCore/qfunctionpointer.h \ + /usr/include/qt6/QtCore/qgenericatomic.h \ + /usr/include/qt6/QtCore/qglobal.h \ + /usr/include/qt6/QtCore/qglobalstatic.h \ + /usr/include/qt6/QtCore/qhashfunctions.h \ + /usr/include/qt6/QtCore/qiodevicebase.h \ + /usr/include/qt6/QtCore/qiterable.h \ + /usr/include/qt6/QtCore/qiterator.h \ + /usr/include/qt6/QtCore/qlatin1stringview.h \ + /usr/include/qt6/QtCore/qline.h \ + /usr/include/qt6/QtCore/qlist.h \ + /usr/include/qt6/QtCore/qlogging.h \ + /usr/include/qt6/QtCore/qmalloc.h \ + /usr/include/qt6/QtCore/qmargins.h \ + /usr/include/qt6/QtCore/qmath.h \ + /usr/include/qt6/QtCore/qmetacontainer.h \ + /usr/include/qt6/QtCore/qmetatype.h \ + /usr/include/qt6/QtCore/qminmax.h \ + /usr/include/qt6/QtCore/qnamespace.h \ + /usr/include/qt6/QtCore/qnumeric.h \ + /usr/include/qt6/QtCore/qobject.h \ + /usr/include/qt6/QtCore/qobject_impl.h \ + /usr/include/qt6/QtCore/qobjectdefs.h \ + /usr/include/qt6/QtCore/qobjectdefs_impl.h \ + /usr/include/qt6/QtCore/qoverload.h \ + /usr/include/qt6/QtCore/qpair.h \ + /usr/include/qt6/QtCore/qpoint.h \ + /usr/include/qt6/QtCore/qprocessordetection.h \ + /usr/include/qt6/QtCore/qrect.h \ + /usr/include/qt6/QtCore/qrefcount.h \ + /usr/include/qt6/QtCore/qscopedpointer.h \ + /usr/include/qt6/QtCore/qscopeguard.h \ + /usr/include/qt6/QtCore/qshareddata.h \ + /usr/include/qt6/QtCore/qsize.h \ + /usr/include/qt6/QtCore/qspan.h \ + /usr/include/qt6/QtCore/qstdlibdetection.h \ + /usr/include/qt6/QtCore/qstring.h \ + /usr/include/qt6/QtCore/qstringalgorithms.h \ + /usr/include/qt6/QtCore/qstringbuilder.h \ + /usr/include/qt6/QtCore/qstringconverter.h \ + /usr/include/qt6/QtCore/qstringconverter_base.h \ + /usr/include/qt6/QtCore/qstringfwd.h \ + /usr/include/qt6/QtCore/qstringlist.h \ + /usr/include/qt6/QtCore/qstringmatcher.h \ + /usr/include/qt6/QtCore/qstringtokenizer.h \ + /usr/include/qt6/QtCore/qstringview.h \ + /usr/include/qt6/QtCore/qswap.h \ + /usr/include/qt6/QtCore/qsysinfo.h \ + /usr/include/qt6/QtCore/qsystemdetection.h \ + /usr/include/qt6/QtCore/qtaggedpointer.h \ + /usr/include/qt6/QtCore/qtclasshelpermacros.h \ + /usr/include/qt6/QtCore/qtconfiginclude.h \ + /usr/include/qt6/QtCore/qtconfigmacros.h \ + /usr/include/qt6/QtCore/qtcore-config.h \ + /usr/include/qt6/QtCore/qtcoreexports.h \ + /usr/include/qt6/QtCore/qtcoreglobal.h \ + /usr/include/qt6/QtCore/qtdeprecationdefinitions.h \ + /usr/include/qt6/QtCore/qtdeprecationmarkers.h \ + /usr/include/qt6/QtCore/qtenvironmentvariables.h \ + /usr/include/qt6/QtCore/qtformat_impl.h \ + /usr/include/qt6/QtCore/qtmetamacros.h \ + /usr/include/qt6/QtCore/qtnoop.h \ + /usr/include/qt6/QtCore/qtpreprocessorsupport.h \ + /usr/include/qt6/QtCore/qtresource.h \ + /usr/include/qt6/QtCore/qttranslation.h \ + /usr/include/qt6/QtCore/qttypetraits.h \ + /usr/include/qt6/QtCore/qtversion.h \ + /usr/include/qt6/QtCore/qtversionchecks.h \ + /usr/include/qt6/QtCore/qtypeinfo.h \ + /usr/include/qt6/QtCore/qtypes.h \ + /usr/include/qt6/QtCore/qutf8stringview.h \ + /usr/include/qt6/QtCore/qversiontagging.h \ + /usr/include/qt6/QtCore/qxptype_traits.h \ + /usr/include/qt6/QtCore/qyieldcpu.h \ + /usr/include/qt6/QtGui/QPalette \ + /usr/include/qt6/QtGui/qbrush.h \ + /usr/include/qt6/QtGui/qcolor.h \ + /usr/include/qt6/QtGui/qicon.h \ + /usr/include/qt6/QtGui/qimage.h \ + /usr/include/qt6/QtGui/qpaintdevice.h \ + /usr/include/qt6/QtGui/qpalette.h \ + /usr/include/qt6/QtGui/qpixelformat.h \ + /usr/include/qt6/QtGui/qpixmap.h \ + /usr/include/qt6/QtGui/qpolygon.h \ + /usr/include/qt6/QtGui/qregion.h \ + /usr/include/qt6/QtGui/qrgb.h \ + /usr/include/qt6/QtGui/qrgba64.h \ + /usr/include/qt6/QtGui/qtgui-config.h \ + /usr/include/qt6/QtGui/qtguiexports.h \ + /usr/include/qt6/QtGui/qtguiglobal.h \ + /usr/include/qt6/QtGui/qtransform.h \ + /usr/include/qt6/QtGui/qwindowdefs.h \ + /usr/include/qt6/QtWidgets/QCommonStyle \ + /usr/include/qt6/QtWidgets/QProxyStyle \ + /usr/include/qt6/QtWidgets/qcommonstyle.h \ + /usr/include/qt6/QtWidgets/qproxystyle.h \ + /usr/include/qt6/QtWidgets/qsizepolicy.h \ + /usr/include/qt6/QtWidgets/qstyle.h \ + /usr/include/qt6/QtWidgets/qtwidgets-config.h \ + /usr/include/qt6/QtWidgets/qtwidgetsexports.h \ + /usr/include/qt6/QtWidgets/qtwidgetsglobal.h \ + /usr/include/sched.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/stdio.h \ + /usr/include/stdlib.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/sys/cdefs.h \ + /usr/include/sys/select.h \ + /usr/include/sys/single_threaded.h \ + /usr/include/sys/types.h \ + /usr/include/time.h \ + /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/limits.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdarg.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdbool.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stddef.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdint.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/syslimits.h + +CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.o: cyberqueer_autogen/mocs_compilation.cpp \ + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/CyberQueerStyle.h \ + cyberqueer_autogen/EWIEGA46WW/moc_CyberQueerStyle.cpp \ + /usr/include/alloca.h \ + /usr/include/asm-generic/bitsperlong.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/int-ll64.h \ + /usr/include/asm-generic/posix_types.h \ + /usr/include/asm-generic/types.h \ + /usr/include/asm/bitsperlong.h \ + /usr/include/asm/errno.h \ + /usr/include/asm/posix_types.h \ + /usr/include/asm/posix_types_64.h \ + /usr/include/asm/types.h \ + /usr/include/assert.h \ + /usr/include/bits/atomic_wide_counter.h \ + /usr/include/bits/byteswap.h \ + /usr/include/bits/cpu-set.h \ + /usr/include/bits/endian.h \ + /usr/include/bits/endianness.h \ + /usr/include/bits/errno.h \ + /usr/include/bits/floatn-common.h \ + /usr/include/bits/floatn.h \ + /usr/include/bits/flt-eval-method.h \ + /usr/include/bits/fp-fast.h \ + /usr/include/bits/fp-logb.h \ + /usr/include/bits/iscanonical.h \ + /usr/include/bits/libc-header-start.h \ + /usr/include/bits/libm-simd-decl-stubs.h \ + /usr/include/bits/local_lim.h \ + /usr/include/bits/locale.h \ + /usr/include/bits/long-double.h \ + /usr/include/bits/math-vector.h \ + /usr/include/bits/mathcalls-helper-functions.h \ + /usr/include/bits/mathcalls-macros.h \ + /usr/include/bits/mathcalls-narrow.h \ + /usr/include/bits/mathcalls.h \ + /usr/include/bits/posix1_lim.h \ + /usr/include/bits/posix2_lim.h \ + /usr/include/bits/pthread_stack_min-dynamic.h \ + /usr/include/bits/pthreadtypes-arch.h \ + /usr/include/bits/pthreadtypes.h \ + /usr/include/bits/sched.h \ + /usr/include/bits/select.h \ + /usr/include/bits/setjmp.h \ + /usr/include/bits/stdint-intn.h \ + /usr/include/bits/stdint-least.h \ + /usr/include/bits/stdint-uintn.h \ + /usr/include/bits/stdio.h \ + /usr/include/bits/stdio_lim.h \ + /usr/include/bits/stdlib-bsearch.h \ + /usr/include/bits/stdlib-float.h \ + /usr/include/bits/struct_mutex.h \ + /usr/include/bits/struct_rwlock.h \ + /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/time.h \ + /usr/include/bits/time64.h \ + /usr/include/bits/timesize.h \ + /usr/include/bits/timex.h \ + /usr/include/bits/types.h \ + /usr/include/bits/types/FILE.h \ + /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/__fpos64_t.h \ + /usr/include/bits/types/__fpos_t.h \ + /usr/include/bits/types/__locale_t.h \ + /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/clock_t.h \ + /usr/include/bits/types/clockid_t.h \ + /usr/include/bits/types/cookie_io_functions_t.h \ + /usr/include/bits/types/error_t.h \ + /usr/include/bits/types/locale_t.h \ + /usr/include/bits/types/mbstate_t.h \ + /usr/include/bits/types/sigset_t.h \ + /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/types/struct___jmp_buf_tag.h \ + /usr/include/bits/types/struct_itimerspec.h \ + /usr/include/bits/types/struct_sched_param.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_tm.h \ + /usr/include/bits/types/time_t.h \ + /usr/include/bits/types/timer_t.h \ + /usr/include/bits/types/wint_t.h \ + /usr/include/bits/typesizes.h \ + /usr/include/bits/uintn-identity.h \ + /usr/include/bits/uio_lim.h \ + /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h \ + /usr/include/bits/wchar.h \ + /usr/include/bits/wordsize.h \ + /usr/include/bits/xopen_lim.h \ + /usr/include/c++/16.1.1/algorithm \ + /usr/include/c++/16.1.1/array \ + /usr/include/c++/16.1.1/atomic \ + /usr/include/c++/16.1.1/backward/auto_ptr.h \ + /usr/include/c++/16.1.1/backward/binders.h \ + /usr/include/c++/16.1.1/bit \ + /usr/include/c++/16.1.1/bits/algorithmfwd.h \ + /usr/include/c++/16.1.1/bits/align.h \ + /usr/include/c++/16.1.1/bits/alloc_traits.h \ + /usr/include/c++/16.1.1/bits/allocated_ptr.h \ + /usr/include/c++/16.1.1/bits/allocator.h \ + /usr/include/c++/16.1.1/bits/atomic_base.h \ + /usr/include/c++/16.1.1/bits/atomic_lockfree_defines.h \ + /usr/include/c++/16.1.1/bits/basic_string.h \ + /usr/include/c++/16.1.1/bits/basic_string.tcc \ + /usr/include/c++/16.1.1/bits/char_traits.h \ + /usr/include/c++/16.1.1/bits/charconv.h \ + /usr/include/c++/16.1.1/bits/chrono.h \ + /usr/include/c++/16.1.1/bits/concept_check.h \ + /usr/include/c++/16.1.1/bits/cpp_type_traits.h \ + /usr/include/c++/16.1.1/bits/cxxabi_forced.h \ + /usr/include/c++/16.1.1/bits/cxxabi_init_exception.h \ + /usr/include/c++/16.1.1/bits/enable_special_members.h \ + /usr/include/c++/16.1.1/bits/erase_if.h \ + /usr/include/c++/16.1.1/bits/exception.h \ + /usr/include/c++/16.1.1/bits/exception_defines.h \ + /usr/include/c++/16.1.1/bits/exception_ptr.h \ + /usr/include/c++/16.1.1/bits/functexcept.h \ + /usr/include/c++/16.1.1/bits/functional_hash.h \ + /usr/include/c++/16.1.1/bits/hash_bytes.h \ + /usr/include/c++/16.1.1/bits/hashtable.h \ + /usr/include/c++/16.1.1/bits/hashtable_policy.h \ + /usr/include/c++/16.1.1/bits/invoke.h \ + /usr/include/c++/16.1.1/bits/ios_base.h \ + /usr/include/c++/16.1.1/bits/list.tcc \ + /usr/include/c++/16.1.1/bits/locale_classes.h \ + /usr/include/c++/16.1.1/bits/locale_classes.tcc \ + /usr/include/c++/16.1.1/bits/localefwd.h \ + /usr/include/c++/16.1.1/bits/memory_resource.h \ + /usr/include/c++/16.1.1/bits/memoryfwd.h \ + /usr/include/c++/16.1.1/bits/monostate.h \ + /usr/include/c++/16.1.1/bits/move.h \ + /usr/include/c++/16.1.1/bits/nested_exception.h \ + /usr/include/c++/16.1.1/bits/new_allocator.h \ + /usr/include/c++/16.1.1/bits/new_except.h \ + /usr/include/c++/16.1.1/bits/new_throw.h \ + /usr/include/c++/16.1.1/bits/node_handle.h \ + /usr/include/c++/16.1.1/bits/ostream_insert.h \ + /usr/include/c++/16.1.1/bits/parse_numbers.h \ + /usr/include/c++/16.1.1/bits/postypes.h \ + /usr/include/c++/16.1.1/bits/predefined_ops.h \ + /usr/include/c++/16.1.1/bits/ptr_traits.h \ + /usr/include/c++/16.1.1/bits/range_access.h \ + /usr/include/c++/16.1.1/bits/refwrap.h \ + /usr/include/c++/16.1.1/bits/requires_hosted.h \ + /usr/include/c++/16.1.1/bits/shared_ptr.h \ + /usr/include/c++/16.1.1/bits/shared_ptr_atomic.h \ + /usr/include/c++/16.1.1/bits/shared_ptr_base.h \ + /usr/include/c++/16.1.1/bits/specfun.h \ + /usr/include/c++/16.1.1/bits/std_abs.h \ + /usr/include/c++/16.1.1/bits/std_function.h \ + /usr/include/c++/16.1.1/bits/stdexcept_except.h \ + /usr/include/c++/16.1.1/bits/stdexcept_throw.h \ + /usr/include/c++/16.1.1/bits/stdexcept_throwfwd.h \ + /usr/include/c++/16.1.1/bits/stl_algo.h \ + /usr/include/c++/16.1.1/bits/stl_algobase.h \ + /usr/include/c++/16.1.1/bits/stl_bvector.h \ + /usr/include/c++/16.1.1/bits/stl_construct.h \ + /usr/include/c++/16.1.1/bits/stl_function.h \ + /usr/include/c++/16.1.1/bits/stl_heap.h \ + /usr/include/c++/16.1.1/bits/stl_iterator.h \ + /usr/include/c++/16.1.1/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/16.1.1/bits/stl_iterator_base_types.h \ + /usr/include/c++/16.1.1/bits/stl_list.h \ + /usr/include/c++/16.1.1/bits/stl_map.h \ + /usr/include/c++/16.1.1/bits/stl_multimap.h \ + /usr/include/c++/16.1.1/bits/stl_numeric.h \ + /usr/include/c++/16.1.1/bits/stl_pair.h \ + /usr/include/c++/16.1.1/bits/stl_raw_storage_iter.h \ + /usr/include/c++/16.1.1/bits/stl_relops.h \ + /usr/include/c++/16.1.1/bits/stl_tempbuf.h \ + /usr/include/c++/16.1.1/bits/stl_tree.h \ + /usr/include/c++/16.1.1/bits/stl_uninitialized.h \ + /usr/include/c++/16.1.1/bits/stl_vector.h \ + /usr/include/c++/16.1.1/bits/stream_iterator.h \ + /usr/include/c++/16.1.1/bits/streambuf.tcc \ + /usr/include/c++/16.1.1/bits/streambuf_iterator.h \ + /usr/include/c++/16.1.1/bits/string_view.tcc \ + /usr/include/c++/16.1.1/bits/stringfwd.h \ + /usr/include/c++/16.1.1/bits/uniform_int_dist.h \ + /usr/include/c++/16.1.1/bits/unique_ptr.h \ + /usr/include/c++/16.1.1/bits/unordered_map.h \ + /usr/include/c++/16.1.1/bits/uses_allocator.h \ + /usr/include/c++/16.1.1/bits/uses_allocator_args.h \ + /usr/include/c++/16.1.1/bits/utility.h \ + /usr/include/c++/16.1.1/bits/vector.tcc \ + /usr/include/c++/16.1.1/bits/version.h \ + /usr/include/c++/16.1.1/cassert \ + /usr/include/c++/16.1.1/cctype \ + /usr/include/c++/16.1.1/cerrno \ + /usr/include/c++/16.1.1/chrono \ + /usr/include/c++/16.1.1/clocale \ + /usr/include/c++/16.1.1/cmath \ + /usr/include/c++/16.1.1/compare \ + /usr/include/c++/16.1.1/concepts \ + /usr/include/c++/16.1.1/cstddef \ + /usr/include/c++/16.1.1/cstdint \ + /usr/include/c++/16.1.1/cstdio \ + /usr/include/c++/16.1.1/cstdlib \ + /usr/include/c++/16.1.1/cstring \ + /usr/include/c++/16.1.1/ctime \ + /usr/include/c++/16.1.1/cwchar \ + /usr/include/c++/16.1.1/debug/assertions.h \ + /usr/include/c++/16.1.1/debug/debug.h \ + /usr/include/c++/16.1.1/exception \ + /usr/include/c++/16.1.1/ext/aligned_buffer.h \ + /usr/include/c++/16.1.1/ext/alloc_traits.h \ + /usr/include/c++/16.1.1/ext/atomicity.h \ + /usr/include/c++/16.1.1/ext/concurrence.h \ + /usr/include/c++/16.1.1/ext/numeric_traits.h \ + /usr/include/c++/16.1.1/ext/string_conversions.h \ + /usr/include/c++/16.1.1/ext/type_traits.h \ + /usr/include/c++/16.1.1/functional \ + /usr/include/c++/16.1.1/initializer_list \ + /usr/include/c++/16.1.1/iosfwd \ + /usr/include/c++/16.1.1/iterator \ + /usr/include/c++/16.1.1/limits \ + /usr/include/c++/16.1.1/list \ + /usr/include/c++/16.1.1/map \ + /usr/include/c++/16.1.1/memory \ + /usr/include/c++/16.1.1/new \ + /usr/include/c++/16.1.1/numeric \ + /usr/include/c++/16.1.1/optional \ + /usr/include/c++/16.1.1/pstl/execution_defs.h \ + /usr/include/c++/16.1.1/pstl/glue_algorithm_defs.h \ + /usr/include/c++/16.1.1/pstl/glue_memory_defs.h \ + /usr/include/c++/16.1.1/pstl/glue_numeric_defs.h \ + /usr/include/c++/16.1.1/pstl/pstl_config.h \ + /usr/include/c++/16.1.1/ratio \ + /usr/include/c++/16.1.1/stdexcept \ + /usr/include/c++/16.1.1/stdlib.h \ + /usr/include/c++/16.1.1/streambuf \ + /usr/include/c++/16.1.1/string \ + /usr/include/c++/16.1.1/string_view \ + /usr/include/c++/16.1.1/system_error \ + /usr/include/c++/16.1.1/tr1/bessel_function.tcc \ + /usr/include/c++/16.1.1/tr1/beta_function.tcc \ + /usr/include/c++/16.1.1/tr1/ell_integral.tcc \ + /usr/include/c++/16.1.1/tr1/exp_integral.tcc \ + /usr/include/c++/16.1.1/tr1/gamma.tcc \ + /usr/include/c++/16.1.1/tr1/hypergeometric.tcc \ + /usr/include/c++/16.1.1/tr1/legendre_function.tcc \ + /usr/include/c++/16.1.1/tr1/modified_bessel_func.tcc \ + /usr/include/c++/16.1.1/tr1/poly_hermite.tcc \ + /usr/include/c++/16.1.1/tr1/poly_laguerre.tcc \ + /usr/include/c++/16.1.1/tr1/riemann_zeta.tcc \ + /usr/include/c++/16.1.1/tr1/special_function_util.h \ + /usr/include/c++/16.1.1/tuple \ + /usr/include/c++/16.1.1/type_traits \ + /usr/include/c++/16.1.1/typeinfo \ + /usr/include/c++/16.1.1/unordered_map \ + /usr/include/c++/16.1.1/utility \ + /usr/include/c++/16.1.1/variant \ + /usr/include/c++/16.1.1/vector \ + /usr/include/c++/16.1.1/version \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/atomic_word.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++allocator.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++config.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++locale.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/cpu_defines.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/error_constants.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/gthr.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/os_defines.h \ + /usr/include/ctype.h \ + /usr/include/endian.h \ + /usr/include/errno.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/gnu/stubs-64.h \ + /usr/include/gnu/stubs.h \ + /usr/include/limits.h \ + /usr/include/linux/errno.h \ + /usr/include/linux/limits.h \ + /usr/include/linux/posix_types.h \ + /usr/include/linux/sched/types.h \ + /usr/include/linux/stddef.h \ + /usr/include/linux/types.h \ + /usr/include/locale.h \ + /usr/include/math.h \ + /usr/include/pthread.h \ + /usr/include/qt6/QtCore/q17memory.h \ + /usr/include/qt6/QtCore/q20algorithm.h \ + /usr/include/qt6/QtCore/q20bit.h \ + /usr/include/qt6/QtCore/q20functional.h \ + /usr/include/qt6/QtCore/q20iterator.h \ + /usr/include/qt6/QtCore/q20memory.h \ + /usr/include/qt6/QtCore/q20type_traits.h \ + /usr/include/qt6/QtCore/q20utility.h \ + /usr/include/qt6/QtCore/q23type_traits.h \ + /usr/include/qt6/QtCore/q23utility.h \ + /usr/include/qt6/QtCore/qalgorithms.h \ + /usr/include/qt6/QtCore/qanystringview.h \ + /usr/include/qt6/QtCore/qarraydata.h \ + /usr/include/qt6/QtCore/qarraydataops.h \ + /usr/include/qt6/QtCore/qarraydatapointer.h \ + /usr/include/qt6/QtCore/qassert.h \ + /usr/include/qt6/QtCore/qatomic.h \ + /usr/include/qt6/QtCore/qatomic_cxx11.h \ + /usr/include/qt6/QtCore/qbasicatomic.h \ + /usr/include/qt6/QtCore/qbindingstorage.h \ + /usr/include/qt6/QtCore/qbytearray.h \ + /usr/include/qt6/QtCore/qbytearrayalgorithms.h \ + /usr/include/qt6/QtCore/qbytearraylist.h \ + /usr/include/qt6/QtCore/qbytearrayview.h \ + /usr/include/qt6/QtCore/qchar.h \ + /usr/include/qt6/QtCore/qcheckedint_impl.h \ + /usr/include/qt6/QtCore/qcompare.h \ + /usr/include/qt6/QtCore/qcompare_impl.h \ + /usr/include/qt6/QtCore/qcomparehelpers.h \ + /usr/include/qt6/QtCore/qcompilerdetection.h \ + /usr/include/qt6/QtCore/qconfig.h \ + /usr/include/qt6/QtCore/qconstructormacros.h \ + /usr/include/qt6/QtCore/qcontainerfwd.h \ + /usr/include/qt6/QtCore/qcontainerinfo.h \ + /usr/include/qt6/QtCore/qcontainertools_impl.h \ + /usr/include/qt6/QtCore/qdarwinhelpers.h \ + /usr/include/qt6/QtCore/qdatastream.h \ + /usr/include/qt6/QtCore/qexceptionhandling.h \ + /usr/include/qt6/QtCore/qflags.h \ + /usr/include/qt6/QtCore/qfloat16.h \ + /usr/include/qt6/QtCore/qforeach.h \ + /usr/include/qt6/QtCore/qfunctionaltools_impl.h \ + /usr/include/qt6/QtCore/qfunctionpointer.h \ + /usr/include/qt6/QtCore/qgenericatomic.h \ + /usr/include/qt6/QtCore/qglobal.h \ + /usr/include/qt6/QtCore/qglobalstatic.h \ + /usr/include/qt6/QtCore/qhashfunctions.h \ + /usr/include/qt6/QtCore/qiodevicebase.h \ + /usr/include/qt6/QtCore/qiterable.h \ + /usr/include/qt6/QtCore/qiterator.h \ + /usr/include/qt6/QtCore/qlatin1stringview.h \ + /usr/include/qt6/QtCore/qline.h \ + /usr/include/qt6/QtCore/qlist.h \ + /usr/include/qt6/QtCore/qlogging.h \ + /usr/include/qt6/QtCore/qmalloc.h \ + /usr/include/qt6/QtCore/qmargins.h \ + /usr/include/qt6/QtCore/qmath.h \ + /usr/include/qt6/QtCore/qmetacontainer.h \ + /usr/include/qt6/QtCore/qmetatype.h \ + /usr/include/qt6/QtCore/qminmax.h \ + /usr/include/qt6/QtCore/qnamespace.h \ + /usr/include/qt6/QtCore/qnumeric.h \ + /usr/include/qt6/QtCore/qobject.h \ + /usr/include/qt6/QtCore/qobject_impl.h \ + /usr/include/qt6/QtCore/qobjectdefs.h \ + /usr/include/qt6/QtCore/qobjectdefs_impl.h \ + /usr/include/qt6/QtCore/qoverload.h \ + /usr/include/qt6/QtCore/qpair.h \ + /usr/include/qt6/QtCore/qpoint.h \ + /usr/include/qt6/QtCore/qprocessordetection.h \ + /usr/include/qt6/QtCore/qrect.h \ + /usr/include/qt6/QtCore/qrefcount.h \ + /usr/include/qt6/QtCore/qscopedpointer.h \ + /usr/include/qt6/QtCore/qscopeguard.h \ + /usr/include/qt6/QtCore/qshareddata.h \ + /usr/include/qt6/QtCore/qsize.h \ + /usr/include/qt6/QtCore/qspan.h \ + /usr/include/qt6/QtCore/qstdlibdetection.h \ + /usr/include/qt6/QtCore/qstring.h \ + /usr/include/qt6/QtCore/qstringalgorithms.h \ + /usr/include/qt6/QtCore/qstringbuilder.h \ + /usr/include/qt6/QtCore/qstringconverter.h \ + /usr/include/qt6/QtCore/qstringconverter_base.h \ + /usr/include/qt6/QtCore/qstringfwd.h \ + /usr/include/qt6/QtCore/qstringlist.h \ + /usr/include/qt6/QtCore/qstringmatcher.h \ + /usr/include/qt6/QtCore/qstringtokenizer.h \ + /usr/include/qt6/QtCore/qstringview.h \ + /usr/include/qt6/QtCore/qswap.h \ + /usr/include/qt6/QtCore/qsysinfo.h \ + /usr/include/qt6/QtCore/qsystemdetection.h \ + /usr/include/qt6/QtCore/qtaggedpointer.h \ + /usr/include/qt6/QtCore/qtclasshelpermacros.h \ + /usr/include/qt6/QtCore/qtconfiginclude.h \ + /usr/include/qt6/QtCore/qtconfigmacros.h \ + /usr/include/qt6/QtCore/qtcore-config.h \ + /usr/include/qt6/QtCore/qtcoreexports.h \ + /usr/include/qt6/QtCore/qtcoreglobal.h \ + /usr/include/qt6/QtCore/qtdeprecationdefinitions.h \ + /usr/include/qt6/QtCore/qtdeprecationmarkers.h \ + /usr/include/qt6/QtCore/qtenvironmentvariables.h \ + /usr/include/qt6/QtCore/qtformat_impl.h \ + /usr/include/qt6/QtCore/qtmetamacros.h \ + /usr/include/qt6/QtCore/qtmocconstants.h \ + /usr/include/qt6/QtCore/qtmochelpers.h \ + /usr/include/qt6/QtCore/qtnoop.h \ + /usr/include/qt6/QtCore/qtpreprocessorsupport.h \ + /usr/include/qt6/QtCore/qtresource.h \ + /usr/include/qt6/QtCore/qttranslation.h \ + /usr/include/qt6/QtCore/qttypetraits.h \ + /usr/include/qt6/QtCore/qtversion.h \ + /usr/include/qt6/QtCore/qtversionchecks.h \ + /usr/include/qt6/QtCore/qtypeinfo.h \ + /usr/include/qt6/QtCore/qtypes.h \ + /usr/include/qt6/QtCore/qutf8stringview.h \ + /usr/include/qt6/QtCore/qversiontagging.h \ + /usr/include/qt6/QtCore/qxptype_traits.h \ + /usr/include/qt6/QtCore/qyieldcpu.h \ + /usr/include/qt6/QtGui/qbrush.h \ + /usr/include/qt6/QtGui/qcolor.h \ + /usr/include/qt6/QtGui/qicon.h \ + /usr/include/qt6/QtGui/qimage.h \ + /usr/include/qt6/QtGui/qpaintdevice.h \ + /usr/include/qt6/QtGui/qpalette.h \ + /usr/include/qt6/QtGui/qpixelformat.h \ + /usr/include/qt6/QtGui/qpixmap.h \ + /usr/include/qt6/QtGui/qpolygon.h \ + /usr/include/qt6/QtGui/qregion.h \ + /usr/include/qt6/QtGui/qrgb.h \ + /usr/include/qt6/QtGui/qrgba64.h \ + /usr/include/qt6/QtGui/qtgui-config.h \ + /usr/include/qt6/QtGui/qtguiexports.h \ + /usr/include/qt6/QtGui/qtguiglobal.h \ + /usr/include/qt6/QtGui/qtransform.h \ + /usr/include/qt6/QtGui/qwindowdefs.h \ + /usr/include/qt6/QtWidgets/QCommonStyle \ + /usr/include/qt6/QtWidgets/QProxyStyle \ + /usr/include/qt6/QtWidgets/qcommonstyle.h \ + /usr/include/qt6/QtWidgets/qproxystyle.h \ + /usr/include/qt6/QtWidgets/qsizepolicy.h \ + /usr/include/qt6/QtWidgets/qstyle.h \ + /usr/include/qt6/QtWidgets/qtwidgets-config.h \ + /usr/include/qt6/QtWidgets/qtwidgetsexports.h \ + /usr/include/qt6/QtWidgets/qtwidgetsglobal.h \ + /usr/include/sched.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/stdio.h \ + /usr/include/stdlib.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/sys/cdefs.h \ + /usr/include/sys/select.h \ + /usr/include/sys/single_threaded.h \ + /usr/include/sys/types.h \ + /usr/include/time.h \ + /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/limits.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdarg.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdbool.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stddef.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdint.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/syslimits.h + +CMakeFiles/cyberqueer.dir/plugin.cpp.o: /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/plugin.cpp \ + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/CyberQueerStyle.h \ + cyberqueer_autogen/include/plugin.moc \ + /usr/include/alloca.h \ + /usr/include/asm-generic/bitsperlong.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/int-ll64.h \ + /usr/include/asm-generic/posix_types.h \ + /usr/include/asm-generic/types.h \ + /usr/include/asm/bitsperlong.h \ + /usr/include/asm/errno.h \ + /usr/include/asm/posix_types.h \ + /usr/include/asm/posix_types_64.h \ + /usr/include/asm/types.h \ + /usr/include/assert.h \ + /usr/include/bits/atomic_wide_counter.h \ + /usr/include/bits/byteswap.h \ + /usr/include/bits/cpu-set.h \ + /usr/include/bits/endian.h \ + /usr/include/bits/endianness.h \ + /usr/include/bits/errno.h \ + /usr/include/bits/floatn-common.h \ + /usr/include/bits/floatn.h \ + /usr/include/bits/flt-eval-method.h \ + /usr/include/bits/fp-fast.h \ + /usr/include/bits/fp-logb.h \ + /usr/include/bits/iscanonical.h \ + /usr/include/bits/libc-header-start.h \ + /usr/include/bits/libm-simd-decl-stubs.h \ + /usr/include/bits/local_lim.h \ + /usr/include/bits/locale.h \ + /usr/include/bits/long-double.h \ + /usr/include/bits/math-vector.h \ + /usr/include/bits/mathcalls-helper-functions.h \ + /usr/include/bits/mathcalls-macros.h \ + /usr/include/bits/mathcalls-narrow.h \ + /usr/include/bits/mathcalls.h \ + /usr/include/bits/posix1_lim.h \ + /usr/include/bits/posix2_lim.h \ + /usr/include/bits/pthread_stack_min-dynamic.h \ + /usr/include/bits/pthreadtypes-arch.h \ + /usr/include/bits/pthreadtypes.h \ + /usr/include/bits/sched.h \ + /usr/include/bits/select.h \ + /usr/include/bits/setjmp.h \ + /usr/include/bits/stdint-intn.h \ + /usr/include/bits/stdint-least.h \ + /usr/include/bits/stdint-uintn.h \ + /usr/include/bits/stdio.h \ + /usr/include/bits/stdio_lim.h \ + /usr/include/bits/stdlib-bsearch.h \ + /usr/include/bits/stdlib-float.h \ + /usr/include/bits/struct_mutex.h \ + /usr/include/bits/struct_rwlock.h \ + /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/time.h \ + /usr/include/bits/time64.h \ + /usr/include/bits/timesize.h \ + /usr/include/bits/timex.h \ + /usr/include/bits/types.h \ + /usr/include/bits/types/FILE.h \ + /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/__fpos64_t.h \ + /usr/include/bits/types/__fpos_t.h \ + /usr/include/bits/types/__locale_t.h \ + /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/clock_t.h \ + /usr/include/bits/types/clockid_t.h \ + /usr/include/bits/types/cookie_io_functions_t.h \ + /usr/include/bits/types/error_t.h \ + /usr/include/bits/types/locale_t.h \ + /usr/include/bits/types/mbstate_t.h \ + /usr/include/bits/types/sigset_t.h \ + /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/types/struct___jmp_buf_tag.h \ + /usr/include/bits/types/struct_itimerspec.h \ + /usr/include/bits/types/struct_sched_param.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_tm.h \ + /usr/include/bits/types/time_t.h \ + /usr/include/bits/types/timer_t.h \ + /usr/include/bits/types/wint_t.h \ + /usr/include/bits/typesizes.h \ + /usr/include/bits/uintn-identity.h \ + /usr/include/bits/uio_lim.h \ + /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h \ + /usr/include/bits/wchar.h \ + /usr/include/bits/wordsize.h \ + /usr/include/bits/xopen_lim.h \ + /usr/include/c++/16.1.1/algorithm \ + /usr/include/c++/16.1.1/array \ + /usr/include/c++/16.1.1/atomic \ + /usr/include/c++/16.1.1/backward/auto_ptr.h \ + /usr/include/c++/16.1.1/backward/binders.h \ + /usr/include/c++/16.1.1/bit \ + /usr/include/c++/16.1.1/bits/algorithmfwd.h \ + /usr/include/c++/16.1.1/bits/align.h \ + /usr/include/c++/16.1.1/bits/alloc_traits.h \ + /usr/include/c++/16.1.1/bits/allocated_ptr.h \ + /usr/include/c++/16.1.1/bits/allocator.h \ + /usr/include/c++/16.1.1/bits/atomic_base.h \ + /usr/include/c++/16.1.1/bits/atomic_lockfree_defines.h \ + /usr/include/c++/16.1.1/bits/basic_string.h \ + /usr/include/c++/16.1.1/bits/basic_string.tcc \ + /usr/include/c++/16.1.1/bits/char_traits.h \ + /usr/include/c++/16.1.1/bits/charconv.h \ + /usr/include/c++/16.1.1/bits/chrono.h \ + /usr/include/c++/16.1.1/bits/concept_check.h \ + /usr/include/c++/16.1.1/bits/cpp_type_traits.h \ + /usr/include/c++/16.1.1/bits/cxxabi_forced.h \ + /usr/include/c++/16.1.1/bits/cxxabi_init_exception.h \ + /usr/include/c++/16.1.1/bits/enable_special_members.h \ + /usr/include/c++/16.1.1/bits/erase_if.h \ + /usr/include/c++/16.1.1/bits/exception.h \ + /usr/include/c++/16.1.1/bits/exception_defines.h \ + /usr/include/c++/16.1.1/bits/exception_ptr.h \ + /usr/include/c++/16.1.1/bits/functexcept.h \ + /usr/include/c++/16.1.1/bits/functional_hash.h \ + /usr/include/c++/16.1.1/bits/hash_bytes.h \ + /usr/include/c++/16.1.1/bits/hashtable.h \ + /usr/include/c++/16.1.1/bits/hashtable_policy.h \ + /usr/include/c++/16.1.1/bits/invoke.h \ + /usr/include/c++/16.1.1/bits/ios_base.h \ + /usr/include/c++/16.1.1/bits/list.tcc \ + /usr/include/c++/16.1.1/bits/locale_classes.h \ + /usr/include/c++/16.1.1/bits/locale_classes.tcc \ + /usr/include/c++/16.1.1/bits/localefwd.h \ + /usr/include/c++/16.1.1/bits/memory_resource.h \ + /usr/include/c++/16.1.1/bits/memoryfwd.h \ + /usr/include/c++/16.1.1/bits/monostate.h \ + /usr/include/c++/16.1.1/bits/move.h \ + /usr/include/c++/16.1.1/bits/nested_exception.h \ + /usr/include/c++/16.1.1/bits/new_allocator.h \ + /usr/include/c++/16.1.1/bits/new_except.h \ + /usr/include/c++/16.1.1/bits/new_throw.h \ + /usr/include/c++/16.1.1/bits/node_handle.h \ + /usr/include/c++/16.1.1/bits/ostream_insert.h \ + /usr/include/c++/16.1.1/bits/parse_numbers.h \ + /usr/include/c++/16.1.1/bits/postypes.h \ + /usr/include/c++/16.1.1/bits/predefined_ops.h \ + /usr/include/c++/16.1.1/bits/ptr_traits.h \ + /usr/include/c++/16.1.1/bits/range_access.h \ + /usr/include/c++/16.1.1/bits/refwrap.h \ + /usr/include/c++/16.1.1/bits/requires_hosted.h \ + /usr/include/c++/16.1.1/bits/shared_ptr.h \ + /usr/include/c++/16.1.1/bits/shared_ptr_atomic.h \ + /usr/include/c++/16.1.1/bits/shared_ptr_base.h \ + /usr/include/c++/16.1.1/bits/specfun.h \ + /usr/include/c++/16.1.1/bits/std_abs.h \ + /usr/include/c++/16.1.1/bits/std_function.h \ + /usr/include/c++/16.1.1/bits/stdexcept_except.h \ + /usr/include/c++/16.1.1/bits/stdexcept_throw.h \ + /usr/include/c++/16.1.1/bits/stdexcept_throwfwd.h \ + /usr/include/c++/16.1.1/bits/stl_algo.h \ + /usr/include/c++/16.1.1/bits/stl_algobase.h \ + /usr/include/c++/16.1.1/bits/stl_bvector.h \ + /usr/include/c++/16.1.1/bits/stl_construct.h \ + /usr/include/c++/16.1.1/bits/stl_function.h \ + /usr/include/c++/16.1.1/bits/stl_heap.h \ + /usr/include/c++/16.1.1/bits/stl_iterator.h \ + /usr/include/c++/16.1.1/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/16.1.1/bits/stl_iterator_base_types.h \ + /usr/include/c++/16.1.1/bits/stl_list.h \ + /usr/include/c++/16.1.1/bits/stl_map.h \ + /usr/include/c++/16.1.1/bits/stl_multimap.h \ + /usr/include/c++/16.1.1/bits/stl_multiset.h \ + /usr/include/c++/16.1.1/bits/stl_numeric.h \ + /usr/include/c++/16.1.1/bits/stl_pair.h \ + /usr/include/c++/16.1.1/bits/stl_raw_storage_iter.h \ + /usr/include/c++/16.1.1/bits/stl_relops.h \ + /usr/include/c++/16.1.1/bits/stl_set.h \ + /usr/include/c++/16.1.1/bits/stl_tempbuf.h \ + /usr/include/c++/16.1.1/bits/stl_tree.h \ + /usr/include/c++/16.1.1/bits/stl_uninitialized.h \ + /usr/include/c++/16.1.1/bits/stl_vector.h \ + /usr/include/c++/16.1.1/bits/stream_iterator.h \ + /usr/include/c++/16.1.1/bits/streambuf.tcc \ + /usr/include/c++/16.1.1/bits/streambuf_iterator.h \ + /usr/include/c++/16.1.1/bits/string_view.tcc \ + /usr/include/c++/16.1.1/bits/stringfwd.h \ + /usr/include/c++/16.1.1/bits/uniform_int_dist.h \ + /usr/include/c++/16.1.1/bits/unique_ptr.h \ + /usr/include/c++/16.1.1/bits/unordered_map.h \ + /usr/include/c++/16.1.1/bits/unordered_set.h \ + /usr/include/c++/16.1.1/bits/uses_allocator.h \ + /usr/include/c++/16.1.1/bits/uses_allocator_args.h \ + /usr/include/c++/16.1.1/bits/utility.h \ + /usr/include/c++/16.1.1/bits/vector.tcc \ + /usr/include/c++/16.1.1/bits/version.h \ + /usr/include/c++/16.1.1/cassert \ + /usr/include/c++/16.1.1/cctype \ + /usr/include/c++/16.1.1/cerrno \ + /usr/include/c++/16.1.1/chrono \ + /usr/include/c++/16.1.1/climits \ + /usr/include/c++/16.1.1/clocale \ + /usr/include/c++/16.1.1/cmath \ + /usr/include/c++/16.1.1/compare \ + /usr/include/c++/16.1.1/concepts \ + /usr/include/c++/16.1.1/cstddef \ + /usr/include/c++/16.1.1/cstdint \ + /usr/include/c++/16.1.1/cstdio \ + /usr/include/c++/16.1.1/cstdlib \ + /usr/include/c++/16.1.1/cstring \ + /usr/include/c++/16.1.1/ctime \ + /usr/include/c++/16.1.1/cwchar \ + /usr/include/c++/16.1.1/debug/assertions.h \ + /usr/include/c++/16.1.1/debug/debug.h \ + /usr/include/c++/16.1.1/exception \ + /usr/include/c++/16.1.1/ext/aligned_buffer.h \ + /usr/include/c++/16.1.1/ext/alloc_traits.h \ + /usr/include/c++/16.1.1/ext/atomicity.h \ + /usr/include/c++/16.1.1/ext/concurrence.h \ + /usr/include/c++/16.1.1/ext/numeric_traits.h \ + /usr/include/c++/16.1.1/ext/string_conversions.h \ + /usr/include/c++/16.1.1/ext/type_traits.h \ + /usr/include/c++/16.1.1/functional \ + /usr/include/c++/16.1.1/initializer_list \ + /usr/include/c++/16.1.1/iosfwd \ + /usr/include/c++/16.1.1/iterator \ + /usr/include/c++/16.1.1/limits \ + /usr/include/c++/16.1.1/list \ + /usr/include/c++/16.1.1/map \ + /usr/include/c++/16.1.1/memory \ + /usr/include/c++/16.1.1/new \ + /usr/include/c++/16.1.1/numeric \ + /usr/include/c++/16.1.1/optional \ + /usr/include/c++/16.1.1/pstl/execution_defs.h \ + /usr/include/c++/16.1.1/pstl/glue_algorithm_defs.h \ + /usr/include/c++/16.1.1/pstl/glue_memory_defs.h \ + /usr/include/c++/16.1.1/pstl/glue_numeric_defs.h \ + /usr/include/c++/16.1.1/pstl/pstl_config.h \ + /usr/include/c++/16.1.1/ratio \ + /usr/include/c++/16.1.1/set \ + /usr/include/c++/16.1.1/stdexcept \ + /usr/include/c++/16.1.1/stdlib.h \ + /usr/include/c++/16.1.1/streambuf \ + /usr/include/c++/16.1.1/string \ + /usr/include/c++/16.1.1/string_view \ + /usr/include/c++/16.1.1/system_error \ + /usr/include/c++/16.1.1/tr1/bessel_function.tcc \ + /usr/include/c++/16.1.1/tr1/beta_function.tcc \ + /usr/include/c++/16.1.1/tr1/ell_integral.tcc \ + /usr/include/c++/16.1.1/tr1/exp_integral.tcc \ + /usr/include/c++/16.1.1/tr1/gamma.tcc \ + /usr/include/c++/16.1.1/tr1/hypergeometric.tcc \ + /usr/include/c++/16.1.1/tr1/legendre_function.tcc \ + /usr/include/c++/16.1.1/tr1/modified_bessel_func.tcc \ + /usr/include/c++/16.1.1/tr1/poly_hermite.tcc \ + /usr/include/c++/16.1.1/tr1/poly_laguerre.tcc \ + /usr/include/c++/16.1.1/tr1/riemann_zeta.tcc \ + /usr/include/c++/16.1.1/tr1/special_function_util.h \ + /usr/include/c++/16.1.1/tuple \ + /usr/include/c++/16.1.1/type_traits \ + /usr/include/c++/16.1.1/typeinfo \ + /usr/include/c++/16.1.1/unordered_map \ + /usr/include/c++/16.1.1/unordered_set \ + /usr/include/c++/16.1.1/utility \ + /usr/include/c++/16.1.1/variant \ + /usr/include/c++/16.1.1/vector \ + /usr/include/c++/16.1.1/version \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/atomic_word.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++allocator.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++config.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++locale.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/cpu_defines.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/error_constants.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/gthr.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/os_defines.h \ + /usr/include/ctype.h \ + /usr/include/endian.h \ + /usr/include/errno.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/gnu/stubs-64.h \ + /usr/include/gnu/stubs.h \ + /usr/include/limits.h \ + /usr/include/linux/errno.h \ + /usr/include/linux/limits.h \ + /usr/include/linux/posix_types.h \ + /usr/include/linux/sched/types.h \ + /usr/include/linux/stddef.h \ + /usr/include/linux/types.h \ + /usr/include/locale.h \ + /usr/include/math.h \ + /usr/include/pthread.h \ + /usr/include/qt6/QtCore/q17memory.h \ + /usr/include/qt6/QtCore/q20algorithm.h \ + /usr/include/qt6/QtCore/q20bit.h \ + /usr/include/qt6/QtCore/q20functional.h \ + /usr/include/qt6/QtCore/q20iterator.h \ + /usr/include/qt6/QtCore/q20memory.h \ + /usr/include/qt6/QtCore/q20type_traits.h \ + /usr/include/qt6/QtCore/q20utility.h \ + /usr/include/qt6/QtCore/q23type_traits.h \ + /usr/include/qt6/QtCore/q23utility.h \ + /usr/include/qt6/QtCore/qalgorithms.h \ + /usr/include/qt6/QtCore/qalloc.h \ + /usr/include/qt6/QtCore/qanystringview.h \ + /usr/include/qt6/QtCore/qarraydata.h \ + /usr/include/qt6/QtCore/qarraydataops.h \ + /usr/include/qt6/QtCore/qarraydatapointer.h \ + /usr/include/qt6/QtCore/qassert.h \ + /usr/include/qt6/QtCore/qatomic.h \ + /usr/include/qt6/QtCore/qatomic_cxx11.h \ + /usr/include/qt6/QtCore/qbasicatomic.h \ + /usr/include/qt6/QtCore/qbindingstorage.h \ + /usr/include/qt6/QtCore/qbytearray.h \ + /usr/include/qt6/QtCore/qbytearrayalgorithms.h \ + /usr/include/qt6/QtCore/qbytearraylist.h \ + /usr/include/qt6/QtCore/qbytearrayview.h \ + /usr/include/qt6/QtCore/qcalendar.h \ + /usr/include/qt6/QtCore/qcborcommon.h \ + /usr/include/qt6/QtCore/qcborvalue.h \ + /usr/include/qt6/QtCore/qchar.h \ + /usr/include/qt6/QtCore/qcheckedint_impl.h \ + /usr/include/qt6/QtCore/qcompare.h \ + /usr/include/qt6/QtCore/qcompare_impl.h \ + /usr/include/qt6/QtCore/qcomparehelpers.h \ + /usr/include/qt6/QtCore/qcompilerdetection.h \ + /usr/include/qt6/QtCore/qconfig.h \ + /usr/include/qt6/QtCore/qconstructormacros.h \ + /usr/include/qt6/QtCore/qcontainerfwd.h \ + /usr/include/qt6/QtCore/qcontainerinfo.h \ + /usr/include/qt6/QtCore/qcontainertools_impl.h \ + /usr/include/qt6/QtCore/qcontiguouscache.h \ + /usr/include/qt6/QtCore/qdarwinhelpers.h \ + /usr/include/qt6/QtCore/qdatastream.h \ + /usr/include/qt6/QtCore/qdatetime.h \ + /usr/include/qt6/QtCore/qdebug.h \ + /usr/include/qt6/QtCore/qendian.h \ + /usr/include/qt6/QtCore/qexceptionhandling.h \ + /usr/include/qt6/QtCore/qfactoryinterface.h \ + /usr/include/qt6/QtCore/qflags.h \ + /usr/include/qt6/QtCore/qfloat16.h \ + /usr/include/qt6/QtCore/qforeach.h \ + /usr/include/qt6/QtCore/qfunctionaltools_impl.h \ + /usr/include/qt6/QtCore/qfunctionpointer.h \ + /usr/include/qt6/QtCore/qgenericatomic.h \ + /usr/include/qt6/QtCore/qglobal.h \ + /usr/include/qt6/QtCore/qglobalstatic.h \ + /usr/include/qt6/QtCore/qhash.h \ + /usr/include/qt6/QtCore/qhashfunctions.h \ + /usr/include/qt6/QtCore/qiodevicebase.h \ + /usr/include/qt6/QtCore/qiterable.h \ + /usr/include/qt6/QtCore/qiterator.h \ + /usr/include/qt6/QtCore/qjsondocument.h \ + /usr/include/qt6/QtCore/qjsonobject.h \ + /usr/include/qt6/QtCore/qjsonparseerror.h \ + /usr/include/qt6/QtCore/qjsonvalue.h \ + /usr/include/qt6/QtCore/qlatin1stringview.h \ + /usr/include/qt6/QtCore/qline.h \ + /usr/include/qt6/QtCore/qlist.h \ + /usr/include/qt6/QtCore/qlocale.h \ + /usr/include/qt6/QtCore/qlogging.h \ + /usr/include/qt6/QtCore/qmalloc.h \ + /usr/include/qt6/QtCore/qmap.h \ + /usr/include/qt6/QtCore/qmargins.h \ + /usr/include/qt6/QtCore/qmath.h \ + /usr/include/qt6/QtCore/qmetacontainer.h \ + /usr/include/qt6/QtCore/qmetatype.h \ + /usr/include/qt6/QtCore/qminmax.h \ + /usr/include/qt6/QtCore/qnamespace.h \ + /usr/include/qt6/QtCore/qnumeric.h \ + /usr/include/qt6/QtCore/qobject.h \ + /usr/include/qt6/QtCore/qobject_impl.h \ + /usr/include/qt6/QtCore/qobjectdefs.h \ + /usr/include/qt6/QtCore/qobjectdefs_impl.h \ + /usr/include/qt6/QtCore/qoverload.h \ + /usr/include/qt6/QtCore/qpair.h \ + /usr/include/qt6/QtCore/qplugin.h \ + /usr/include/qt6/QtCore/qpoint.h \ + /usr/include/qt6/QtCore/qpointer.h \ + /usr/include/qt6/QtCore/qprocessordetection.h \ + /usr/include/qt6/QtCore/qrect.h \ + /usr/include/qt6/QtCore/qrefcount.h \ + /usr/include/qt6/QtCore/qregularexpression.h \ + /usr/include/qt6/QtCore/qscopedpointer.h \ + /usr/include/qt6/QtCore/qscopeguard.h \ + /usr/include/qt6/QtCore/qset.h \ + /usr/include/qt6/QtCore/qshareddata.h \ + /usr/include/qt6/QtCore/qshareddata_impl.h \ + /usr/include/qt6/QtCore/qsharedpointer.h \ + /usr/include/qt6/QtCore/qsharedpointer_impl.h \ + /usr/include/qt6/QtCore/qsize.h \ + /usr/include/qt6/QtCore/qspan.h \ + /usr/include/qt6/QtCore/qstdlibdetection.h \ + /usr/include/qt6/QtCore/qstring.h \ + /usr/include/qt6/QtCore/qstringalgorithms.h \ + /usr/include/qt6/QtCore/qstringbuilder.h \ + /usr/include/qt6/QtCore/qstringconverter.h \ + /usr/include/qt6/QtCore/qstringconverter_base.h \ + /usr/include/qt6/QtCore/qstringfwd.h \ + /usr/include/qt6/QtCore/qstringlist.h \ + /usr/include/qt6/QtCore/qstringmatcher.h \ + /usr/include/qt6/QtCore/qstringtokenizer.h \ + /usr/include/qt6/QtCore/qstringview.h \ + /usr/include/qt6/QtCore/qswap.h \ + /usr/include/qt6/QtCore/qsysinfo.h \ + /usr/include/qt6/QtCore/qsystemdetection.h \ + /usr/include/qt6/QtCore/qtaggedpointer.h \ + /usr/include/qt6/QtCore/qtclasshelpermacros.h \ + /usr/include/qt6/QtCore/qtconfiginclude.h \ + /usr/include/qt6/QtCore/qtconfigmacros.h \ + /usr/include/qt6/QtCore/qtcore-config.h \ + /usr/include/qt6/QtCore/qtcoreexports.h \ + /usr/include/qt6/QtCore/qtcoreglobal.h \ + /usr/include/qt6/QtCore/qtdeprecationdefinitions.h \ + /usr/include/qt6/QtCore/qtdeprecationmarkers.h \ + /usr/include/qt6/QtCore/qtenvironmentvariables.h \ + /usr/include/qt6/QtCore/qtextstream.h \ + /usr/include/qt6/QtCore/qtformat_impl.h \ + /usr/include/qt6/QtCore/qtmetamacros.h \ + /usr/include/qt6/QtCore/qtmocconstants.h \ + /usr/include/qt6/QtCore/qtmochelpers.h \ + /usr/include/qt6/QtCore/qtnoop.h \ + /usr/include/qt6/QtCore/qtpreprocessorsupport.h \ + /usr/include/qt6/QtCore/qtresource.h \ + /usr/include/qt6/QtCore/qttranslation.h \ + /usr/include/qt6/QtCore/qttypetraits.h \ + /usr/include/qt6/QtCore/qtversion.h \ + /usr/include/qt6/QtCore/qtversionchecks.h \ + /usr/include/qt6/QtCore/qtypeinfo.h \ + /usr/include/qt6/QtCore/qtypes.h \ + /usr/include/qt6/QtCore/qurl.h \ + /usr/include/qt6/QtCore/qutf8stringview.h \ + /usr/include/qt6/QtCore/quuid.h \ + /usr/include/qt6/QtCore/qvariant.h \ + /usr/include/qt6/QtCore/qvarlengtharray.h \ + /usr/include/qt6/QtCore/qversiontagging.h \ + /usr/include/qt6/QtCore/qxptype_traits.h \ + /usr/include/qt6/QtCore/qyieldcpu.h \ + /usr/include/qt6/QtGui/qbrush.h \ + /usr/include/qt6/QtGui/qcolor.h \ + /usr/include/qt6/QtGui/qicon.h \ + /usr/include/qt6/QtGui/qimage.h \ + /usr/include/qt6/QtGui/qpaintdevice.h \ + /usr/include/qt6/QtGui/qpalette.h \ + /usr/include/qt6/QtGui/qpixelformat.h \ + /usr/include/qt6/QtGui/qpixmap.h \ + /usr/include/qt6/QtGui/qpolygon.h \ + /usr/include/qt6/QtGui/qregion.h \ + /usr/include/qt6/QtGui/qrgb.h \ + /usr/include/qt6/QtGui/qrgba64.h \ + /usr/include/qt6/QtGui/qtgui-config.h \ + /usr/include/qt6/QtGui/qtguiexports.h \ + /usr/include/qt6/QtGui/qtguiglobal.h \ + /usr/include/qt6/QtGui/qtransform.h \ + /usr/include/qt6/QtGui/qwindowdefs.h \ + /usr/include/qt6/QtWidgets/QCommonStyle \ + /usr/include/qt6/QtWidgets/QProxyStyle \ + /usr/include/qt6/QtWidgets/QStylePlugin \ + /usr/include/qt6/QtWidgets/qcommonstyle.h \ + /usr/include/qt6/QtWidgets/qproxystyle.h \ + /usr/include/qt6/QtWidgets/qsizepolicy.h \ + /usr/include/qt6/QtWidgets/qstyle.h \ + /usr/include/qt6/QtWidgets/qstyleplugin.h \ + /usr/include/qt6/QtWidgets/qtwidgets-config.h \ + /usr/include/qt6/QtWidgets/qtwidgetsexports.h \ + /usr/include/qt6/QtWidgets/qtwidgetsglobal.h \ + /usr/include/sched.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/stdio.h \ + /usr/include/stdlib.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/sys/cdefs.h \ + /usr/include/sys/select.h \ + /usr/include/sys/single_threaded.h \ + /usr/include/sys/types.h \ + /usr/include/time.h \ + /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/limits.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdarg.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdbool.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stddef.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdint.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/syslimits.h + +libcyberqueer.so: /usr/lib/crti.o \ + /usr/lib/crtn.o \ + /usr/lib/libatomic.so \ + /usr/lib/libatomic_asneeded.so \ + /usr/lib/libc.so \ + /usr/lib/libgcc_s.so \ + /usr/lib/libgcc_s.so.1 \ + /usr/lib/libm.so \ + /usr/lib/libstdc++.so \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtbeginS.o \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtendS.o \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/libgcc.a \ + /usr/lib/ld-linux-x86-64.so.2 \ + /usr/lib/libGLX.so \ + /usr/lib/libOpenGL.so \ + /usr/lib/libQt6Core.so.6.11.0 \ + /usr/lib/libQt6Gui.so.6.11.0 \ + /usr/lib/libQt6Widgets.so.6.11.0 \ + /usr/lib/libc.so.6 \ + /usr/lib/libc_nonshared.a \ + /usr/lib/libm.so.6 \ + /usr/lib/libmvec.so.1 \ + CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.o \ + CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.o \ + CMakeFiles/cyberqueer.dir/plugin.cpp.o + + +CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.o: + +CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.o: + +/usr/lib/libm.so.6: + +/usr/lib/libc_nonshared.a: + +/usr/lib/libQt6Widgets.so.6.11.0: + +/usr/lib/ld-linux-x86-64.so.2: + +/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/libgcc.a: + +/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtendS.o: + +/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtbeginS.o: + +/usr/lib/libstdc++.so: + +/usr/lib/libgcc_s.so.1: + +/usr/lib/libgcc_s.so: + +/usr/lib/libatomic_asneeded.so: + +/usr/lib/libatomic.so: + +/usr/lib/crti.o: + +cyberqueer_autogen/mocs_compilation.cpp: + +/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/limits.h: + +/usr/include/c++/16.1.1/pstl/glue_algorithm_defs.h: + +/usr/include/c++/16.1.1/bits/monostate.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/libm-simd-decl-stubs.h: + +/usr/lib/libc.so.6: + +/usr/include/bits/fp-fast.h: + +/usr/include/bits/flt-eval-method.h: + +/usr/share/cmake/Modules/Platform/Linux.cmake: + +/usr/share/cmake/Modules/Platform/Linux-GNU.cmake: + +/usr/share/cmake/Modules/Platform/Linux-GNU-C.cmake: + +/usr/share/cmake/Modules/Platform/Linux-Determine-CXX.cmake: + +/usr/share/cmake/Modules/Platform/Linker/Linux-GNU-C.cmake: + +/usr/share/cmake/Modules/Linker/GNU-CXX.cmake: + +/usr/share/cmake/Modules/Linker/GNU-C.cmake: + +/usr/share/cmake/Modules/Platform/Linker/Linux-GNU-CXX.cmake: + +/usr/share/cmake/Modules/Internal/CheckSourceCompiles.cmake: + +/usr/share/cmake/Modules/Internal/CheckFlagCommonConfig.cmake: + +/usr/share/cmake/Modules/Internal/CMakeDetermineLinkerId.cmake: + +/usr/share/cmake/Modules/Internal/CMakeCommonLinkerInformation.cmake: + +/usr/include/qt6/QtCore/qtmochelpers.h: + +/usr/share/cmake/Modules/Internal/CMakeCXXLinkerInformation.cmake: + +/usr/share/cmake/Modules/GNUInstallDirs.cmake: + +/usr/share/cmake/Modules/FindVulkan.cmake: + +/usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake: + +/usr/share/cmake/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake: + +/usr/share/cmake/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake: + +/usr/share/cmake/Modules/Compiler/XLClang-C-DetermineCompiler.cmake: + +/usr/share/cmake/Modules/Compiler/TI-DetermineCompiler.cmake: + +/usr/share/cmake/Modules/Compiler/SunPro-C-DetermineCompiler.cmake: + +/usr/share/cmake/Modules/Compiler/SCO-DetermineCompiler.cmake: + +/usr/share/cmake/Modules/Compiler/Renesas-DetermineCompiler.cmake: + +/usr/share/cmake/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake: + +/usr/include/bits/math-vector.h: + +/usr/share/cmake/Modules/Compiler/NVIDIA-DetermineCompiler.cmake: + +/usr/share/cmake/Modules/Compiler/LCC-CXX-DetermineCompiler.cmake: + +/usr/share/cmake/Modules/Compiler/LCC-C-DetermineCompiler.cmake: + +/usr/share/cmake/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake: + +/usr/share/cmake/Modules/Compiler/IBMClang-CXX-DetermineCompiler.cmake: + +/usr/share/cmake/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake: + +/usr/share/cmake/Modules/Compiler/GNU-C.cmake: + +/usr/share/cmake/Modules/Compiler/GNU-C-DetermineCompiler.cmake: + +/usr/share/cmake/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake: + +/usr/share/cmake/Modules/Compiler/Fujitsu-DetermineCompiler.cmake: + +/usr/share/cmake/Modules/Compiler/Diab-DetermineCompiler.cmake: + +/usr/share/cmake/Modules/Compiler/CrayClang-DetermineCompiler.cmake: + +/usr/share/cmake/Modules/Compiler/IAR-DetermineCompiler.cmake: + +/usr/share/cmake/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake: + +/usr/share/cmake/Modules/Compiler/Compaq-C-DetermineCompiler.cmake: + +/usr/share/cmake/Modules/Compiler/Clang-DetermineCompiler.cmake: + +/usr/share/cmake/Modules/Compiler/CMakeCommonCompilerMacros.cmake: + +/usr/share/cmake/Modules/CheckLibraryExists.cmake: + +/usr/share/cmake/Modules/CheckCXXSourceCompiles.cmake: + +/usr/share/cmake/Modules/CheckCXXCompilerFlag.cmake: + +cyberqueer_autogen/EWIEGA46WW/moc_CyberQueerStyle.cpp: + +/usr/share/cmake/Modules/CheckCSourceCompiles.cmake: + +/usr/share/cmake/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake: + +/usr/share/cmake/Modules/Compiler/AppleClang-DetermineCompiler.cmake: + +/usr/share/cmake/Modules/CMakeUnixFindMake.cmake: + +/usr/share/cmake/Modules/CMakeTestCompilerCommon.cmake: + +/usr/share/cmake/Modules/CMakeSystemSpecificInitialize.cmake: + +/usr/share/cmake/Modules/Compiler/Intel-DetermineCompiler.cmake: + +/usr/share/cmake/Modules/CMakeSystem.cmake.in: + +/usr/share/cmake/Modules/CMakeParseLibraryArchitecture.cmake: + +/usr/share/cmake/Modules/CMakeParseImplicitLinkInfo.cmake: + +/usr/share/cmake/Modules/CMakeParseImplicitIncludeInfo.cmake: + +/usr/share/cmake/Modules/CMakeLanguageInformation.cmake: + +/usr/share/cmake/Modules/CMakeInitializeConfigs.cmake: + +/usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake: + +/usr/share/cmake/Modules/CMakeDetermineCompilerSupport.cmake: + +/usr/share/cmake/Modules/CMakeDetermineCompiler.cmake: + +/usr/share/cmake/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake: + +/usr/share/cmake/Modules/Compiler/Bruce-C-DetermineCompiler.cmake: + +/usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp: + +/usr/share/cmake/Modules/CMakeCInformation.cmake: + +/usr/share/cmake/Modules/CMakeCCompilerABI.c: + +/usr/share/cmake/Modules/Compiler/GHS-DetermineCompiler.cmake: + +/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsTargets.cmake: + +/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsConfigVersionImpl.cmake: + +/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsConfigVersion.cmake: + +/usr/share/cmake/Modules/CMakeCommonLanguageInclude.cmake: + +/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Widgets/Qt6WidgetsTargets.cmake: + +/usr/lib/cmake/Qt6Widgets/Qt6WidgetsPlugins.cmake: + +/usr/lib/cmake/Qt6Widgets/Qt6WidgetsMacros.cmake: + +/usr/share/cmake/Modules/Compiler/Borland-DetermineCompiler.cmake: + +/usr/lib/cmake/Qt6Widgets/Qt6WidgetsDependencies.cmake: + +/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsVersionlessTargets.cmake: + +/usr/share/cmake/Modules/FindPackageMessage.cmake: + +/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsConfigVersion.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginTargets.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginTargets.cmake: + +/usr/share/cmake/Modules/Internal/FeatureTesting.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginAdditionalTargetInfo.cmake: + +/usr/share/cmake/Modules/CMakeCXXInformation.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginTargets.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginConfig.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginTargetsPrecheck.cmake: + +/usr/share/cmake/Modules/Internal/CMakeInspectCXXLinker.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginTargets.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWebpPluginTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWebpPluginConfig.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWebpPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginTargets.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginTargets.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginTargets-relwithdebinfo.cmake: + +/usr/share/cmake/Modules/Compiler/OrangeC-DetermineCompiler.cmake: + +/usr/share/cmake/Modules/Compiler/Clang-DetermineCompilerInternal.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginConfig.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginTargets.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginTargets-relwithdebinfo.cmake: + +/usr/share/cmake/Modules/Linker/GNU.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginConfig.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginTargets.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginTargets.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginConfig.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginTargets.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginConfig.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginTargets.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginConfig.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginTargets.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginConfig.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginTargetsPrecheck.cmake: + +/usr/share/cmake/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginConfig.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginConfig.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginAdditionalTargetInfo.cmake: + +/usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginConfig.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QTiffPluginTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QTiffPluginTargets.cmake: + +/usr/share/cmake/Modules/Compiler/Embarcadero-DetermineCompiler.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QTiffPluginConfig.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QTgaPluginTargets.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QTgaPluginTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QTgaPluginAdditionalTargetInfo.cmake: + +/usr/include/qt6/QtCore/qtmocconstants.h: + +/usr/lib/cmake/Qt6Gui/Qt6QSvgPluginTargets.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QSvgPluginTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QSvgPluginConfig.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QSvgPluginAdditionalTargetInfo.cmake: + +/usr/include/math.h: + +/usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginTargets-relwithdebinfo.cmake: + +/usr/share/cmake/Modules/Compiler/Watcom-DetermineCompiler.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginConfig.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QPdfPluginTargets.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QPdfPluginTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QPdfPluginConfig.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginTargets.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QMngPluginTargets.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QMngPluginTargets-relwithdebinfo.cmake: + +/usr/include/bits/mathcalls-narrow.h: + +/usr/lib/cmake/Qt6Gui/Qt6QMngPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginTargets.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginTargets.cmake: + +/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdint.h: + +/usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginTargets-relwithdebinfo.cmake: + +/usr/share/cmake/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginConfig.cmake: + +/usr/share/cmake/Modules/Compiler/XL-CXX-DetermineCompiler.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginTargets.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginConfig.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QJpegPluginTargets.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QJpegPluginTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QJpegPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QJp2PluginTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QJp2PluginConfig.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QICOPluginTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QICOPluginTargets.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QICOPluginTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginConfig.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QICOPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginConfig.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QICNSPluginTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QICNSPluginTargets.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QICNSPluginTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QICNSPluginConfig.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QICNSPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QGifPluginTargetsPrecheck.cmake: + +/usr/share/cmake/Modules/Compiler/GNU-FindBinUtils.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QGifPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginConfig.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QPdfPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginAdditionalTargetInfo.cmake: + +/usr/share/cmake/Modules/Compiler/PGI-DetermineCompiler.cmake: + +/usr/share/cmake/Modules/Compiler/IBMClang-C-DetermineCompiler.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginConfig.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginTargets-relwithdebinfo.cmake: + +/usr/lib/libGLX.so: + +/usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginConfig.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginTargets.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginTargetsPrecheck.cmake: + +/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdbool.h: + +/usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginConfig.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginTargets.cmake: + +/usr/share/cmake/Modules/CMakeSystemSpecificInformation.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginConfig.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QJp2PluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginTargets.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginConfig.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginTargets.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginConfig.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6GuiTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6GuiTargets.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6GuiTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6GuiPlugins.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6GuiDependencies.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6GuiConfig.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6GuiAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginTargetsPrecheck.cmake: + +/usr/share/cmake/Modules/Platform/Linux-Initialize.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginTargets.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginConfig.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginTargets.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginConfig.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginAdditionalTargetInfo.cmake: + +/usr/share/cmake/Modules/CMakeTestCCompiler.cmake: + +/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsVersionlessTargets.cmake: + +/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsTargets.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsDependencies.cmake: + +/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsConfigVersion.cmake: + +/usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/atomic_word.h: + +/usr/include/c++/16.1.1/utility: + +/usr/include/qt6/QtGui/QPalette: + +/usr/include/c++/16.1.1/tuple: + +/usr/share/cmake/Modules/CheckIncludeFile.cmake: + +/usr/include/bits/types/__sigset_t.h: + +/usr/include/qt6/QtGui/qicon.h: + +/usr/include/c++/16.1.1/tr1/bessel_function.tcc: + +/usr/include/c++/16.1.1/tr1/riemann_zeta.tcc: + +/usr/include/c++/16.1.1/system_error: + +/usr/include/c++/16.1.1/string_view: + +/usr/include/c++/16.1.1/list: + +/usr/include/c++/16.1.1/limits: + +/usr/include/c++/16.1.1/bits/stl_map.h: + +/usr/include/qt6/QtCore/qcompare_impl.h: + +/usr/include/qt6/QtCore/qtenvironmentvariables.h: + +/usr/share/cmake/Modules/Platform/Linux-GNU-CXX.cmake: + +/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsAdditionalTargetInfo.cmake: + +/usr/include/qt6/QtCore/qarraydata.h: + +/usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6DBus/Qt6DBusTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginAdditionalTargetInfo.cmake: + +/usr/include/c++/16.1.1/ext/alloc_traits.h: + +/usr/include/qt6/QtCore/qobjectdefs_impl.h: + +/usr/include/bits/stdio.h: + +/usr/lib/cmake/Qt6Gui/Qt6QSvgPluginTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsConfigVersionImpl.cmake: + +/usr/include/c++/16.1.1/ext/aligned_buffer.h: + +/usr/share/cmake/Modules/Compiler/Tasking-DetermineCompiler.cmake: + +/usr/include/c++/16.1.1/tr1/modified_bessel_func.tcc: + +cyberqueer_autogen/include/plugin.moc: + +/usr/include/asm-generic/posix_types.h: + +/usr/include/qt6/QtCore/qfloat16.h: + +/usr/include/qt6/QtCore/qlatin1stringview.h: + +/usr/include/c++/16.1.1/debug/assertions.h: + +/usr/include/c++/16.1.1/bits/specfun.h: + +/usr/lib/cmake/Qt6/QtPublicSbomPurlHelpers.cmake: + +/usr/include/c++/16.1.1/ctime: + +/usr/include/c++/16.1.1/cstdio: + +/usr/include/c++/16.1.1/compare: + +/usr/include/stdio.h: + +/usr/include/bits/stdlib-bsearch.h: + +/usr/lib/cmake/Qt6Gui/Qt6QJpegPluginConfig.cmake: + +/usr/include/c++/16.1.1/clocale: + +/usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++allocator.h: + +/usr/include/qt6/QtWidgets/qtwidgetsexports.h: + +/usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6/QtPublicSbomGenerationCycloneDXHelpers.cmake: + +/usr/share/cmake/Modules/CMakeFindBinUtils.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QTiffPluginTargets-relwithdebinfo.cmake: + +/usr/include/c++/16.1.1/climits: + +/usr/include/bits/wordsize.h: + +/usr/include/c++/16.1.1/chrono: + +/usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginTargets-relwithdebinfo.cmake: + +/usr/include/c++/16.1.1/cerrno: + +/usr/include/c++/16.1.1/bits/ptr_traits.h: + +/usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginTargets.cmake: + +/usr/include/c++/16.1.1/map: + +/usr/include/qt6/QtCore/qconstructormacros.h: + +/usr/share/cmake/Modules/Platform/UnixPaths.cmake: + +/usr/include/qt6/QtCore/qutf8stringview.h: + +/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsDependencies.cmake: + +/usr/include/c++/16.1.1/cassert: + +/usr/lib/libQt6Core.so.6.11.0: + +/usr/include/c++/16.1.1/bits/uses_allocator_args.h: + +/usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginConfig.cmake: + +/usr/include/asm-generic/errno-base.h: + +/usr/include/c++/16.1.1/bits/vector.tcc: + +/usr/include/c++/16.1.1/bits/stringfwd.h: + +/usr/lib/cmake/Qt6/QtPublicToolHelpers.cmake: + +/usr/include/c++/16.1.1/bits/uniform_int_dist.h: + +/usr/include/stdc-predef.h: + +/usr/share/cmake/Modules/Internal/CMakeInspectCLinker.cmake: + +/usr/include/c++/16.1.1/cstddef: + +/usr/include/c++/16.1.1/bits/streambuf.tcc: + +/usr/include/c++/16.1.1/bits/stl_uninitialized.h: + +/usr/include/c++/16.1.1/bits/stl_tree.h: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginTargets.cmake: + +/usr/include/qt6/QtCore/qdebug.h: + +/usr/include/c++/16.1.1/bits/stl_tempbuf.h: + +/usr/include/c++/16.1.1/iosfwd: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginTargetsPrecheck.cmake: + +/usr/include/c++/16.1.1/bits/functexcept.h: + +/usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginTargets.cmake: + +/usr/include/c++/16.1.1/bits/stl_pair.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stddef.h: + +/usr/include/c++/16.1.1/bits/stl_algo.h: + +/usr/include/c++/16.1.1/streambuf: + +/usr/include/qt6/QtCore/qcompare.h: + +/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6Core/Qt6CoreTargets-relwithdebinfo.cmake: + +/usr/include/c++/16.1.1/bits/stl_list.h: + +/usr/lib/cmake/Qt6Gui/Qt6QICOPluginConfig.cmake: + +/usr/include/c++/16.1.1/variant: + +/usr/include/c++/16.1.1/cstdlib: + +/usr/include/c++/16.1.1/bits/stl_vector.h: + +/usr/include/bits/uintn-identity.h: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginTargetsPrecheck.cmake: + +/usr/include/qt6/QtCore/qlist.h: + +/usr/include/c++/16.1.1/version: + +/usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginTargets-relwithdebinfo.cmake: + +/usr/include/bits/time.h: + +/usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginAdditionalTargetInfo.cmake: + +/usr/include/c++/16.1.1/bits/stl_iterator.h: + +/usr/include/qt6/QtCore/qarraydataops.h: + +/usr/include/qt6/QtCore/qflags.h: + +/usr/lib/cmake/Qt6DBus/Qt6DBusAdditionalTargetInfo.cmake: + +/usr/share/cmake/Modules/Internal/CMakeCLinkerInformation.cmake: + +/usr/include/c++/16.1.1/bits/stl_heap.h: + +/usr/lib/cmake/Qt6Widgets/Qt6WidgetsTargets-relwithdebinfo.cmake: + +/usr/include/qt6/QtCore/qoverload.h: + +/usr/include/c++/16.1.1/bits/stl_function.h: + +/usr/include/c++/16.1.1/bits/version.h: + +/usr/share/cmake/Modules/Compiler/Cray-DetermineCompiler.cmake: + +/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsDependencies.cmake: + +/usr/include/c++/16.1.1/bits/stl_construct.h: + +/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsConfig.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QGifPluginTargets.cmake: + +/usr/include/c++/16.1.1/tr1/legendre_function.tcc: + +/usr/include/alloca.h: + +/usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginTargets.cmake: + +/usr/include/c++/16.1.1/bits/stl_algobase.h: + +/usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginConfig.cmake: + +/usr/include/qt6/QtCore/qplugin.h: + +/usr/include/c++/16.1.1/tr1/gamma.tcc: + +/usr/include/c++/16.1.1/bits/stdexcept_except.h: + +/usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake: + +/usr/lib/cmake/Qt6/QtPublicPluginHelpers.cmake: + +/usr/include/c++/16.1.1/bits/memoryfwd.h: + +/usr/lib/cmake/Qt6Gui/Qt6QTgaPluginConfig.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginConfig.cmake: + +/usr/include/qt6/QtCore/qcontainertools_impl.h: + +/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginTargetsPrecheck.cmake: + +/usr/include/c++/16.1.1/bits/predefined_ops.h: + +/usr/include/c++/16.1.1/bits/node_handle.h: + +/usr/lib/libm.so: + +/usr/include/c++/16.1.1/bits/nested_exception.h: + +/usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginTargets-relwithdebinfo.cmake: + +/usr/include/c++/16.1.1/bits/move.h: + +/usr/share/cmake/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginConfig.cmake: + +/usr/include/c++/16.1.1/bits/cxxabi_forced.h: + +/usr/include/c++/16.1.1/bits/range_access.h: + +/usr/include/bits/types/FILE.h: + +/usr/include/linux/posix_types.h: + +/usr/include/qt6/QtCore/q23utility.h: + +/usr/include/c++/16.1.1/bits/utility.h: + +/usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginConfig.cmake: + +/usr/include/qt6/QtCore/qprocessordetection.h: + +/usr/include/bits/types.h: + +/usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginConfig.cmake: + +/usr/include/qt6/QtCore/qtaggedpointer.h: + +/usr/include/bits/types/time_t.h: + +/usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QJpegPluginTargetsPrecheck.cmake: + +/usr/include/c++/16.1.1/bits/char_traits.h: + +/usr/include/bits/types/struct_timeval.h: + +/usr/include/bits/types/error_t.h: + +/usr/include/qt6/QtCore/qstringalgorithms.h: + +/usr/include/c++/16.1.1/bits/shared_ptr_base.h: + +/usr/share/cmake/Modules/Compiler/ADSP-DetermineCompiler.cmake: + +/usr/include/c++/16.1.1/bits/refwrap.h: + +/usr/share/cmake/Modules/CMakeCCompiler.cmake.in: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginTargetsPrecheck.cmake: + +/usr/include/c++/16.1.1/bit: + +/usr/include/c++/16.1.1/bits/cxxabi_init_exception.h: + +/usr/include/c++/16.1.1/tr1/poly_laguerre.tcc: + +/usr/lib/cmake/Qt6DBus/Qt6DBusConfigVersion.cmake: + +/usr/include/c++/16.1.1/ext/type_traits.h: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginTargetsPrecheck.cmake: + +/usr/include/bits/setjmp.h: + +/usr/share/cmake/Modules/Compiler/GNU-CXX.cmake: + +/usr/include/c++/16.1.1/tr1/hypergeometric.tcc: + +/usr/include/c++/16.1.1/bits/shared_ptr.h: + +/usr/include/c++/16.1.1/bits/postypes.h: + +CMakeFiles/4.3.2/CMakeCCompiler.cmake: + +/usr/include/qt6/QtWidgets/qtwidgets-config.h: + +/usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QMngPluginConfig.cmake: + +/usr/include/bits/select.h: + +/usr/include/bits/types/cookie_io_functions_t.h: + +/usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginAdditionalTargetInfo.cmake: + +/usr/include/c++/16.1.1/bits/atomic_base.h: + +/usr/include/c++/16.1.1/vector: + +/usr/include/c++/16.1.1/pstl/glue_memory_defs.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginTargets.cmake: + +/usr/include/c++/16.1.1/new: + +/usr/lib/cmake/Qt6Core/Qt6CoreTargetsPrecheck.cmake: + +/usr/include/bits/posix1_lim.h: + +/usr/include/wchar.h: + +/usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginTargets.cmake: + +/usr/include/c++/16.1.1/bits/unordered_map.h: + +/usr/include/qt6/QtCore/qsharedpointer_impl.h: + +/usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginTargets.cmake: + +/usr/lib/cmake/Qt6DBus/Qt6DBusTargets-relwithdebinfo.cmake: + +/usr/include/c++/16.1.1/bits/atomic_lockfree_defines.h: + +/usr/lib/libOpenGL.so: + +/usr/include/qt6/QtCore/qpair.h: + +/usr/include/c++/16.1.1/ext/numeric_traits.h: + +/usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginTargetsPrecheck.cmake: + +/usr/include/bits/long-double.h: + +/usr/share/cmake/Modules/Compiler/TIClang-DetermineCompiler.cmake: + +/usr/include/bits/uio_lim.h: + +/usr/include/c++/16.1.1/bits/invoke.h: + +/usr/include/c++/16.1.1/memory: + +/usr/include/qt6/QtCore/qbasicatomic.h: + +/usr/lib/cmake/Qt6Widgets/Qt6WidgetsAdditionalTargetInfo.cmake: + +/usr/include/c++/16.1.1/bits/stdexcept_throw.h: + +/usr/include/asm-generic/errno.h: + +/usr/include/sys/single_threaded.h: + +/usr/include/bits/endian.h: + +/usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginTargets-relwithdebinfo.cmake: + +/usr/include/c++/16.1.1/bits/new_except.h: + +/usr/include/c++/16.1.1/bits/alloc_traits.h: + +/usr/include/bits/floatn.h: + +/usr/include/qt6/QtCore/qpoint.h: + +/usr/include/c++/16.1.1/bits/exception_ptr.h: + +/usr/include/qt6/QtCore/qttypetraits.h: + +/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake: + +/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/cyberqueer.json: + +/usr/include/qt6/QtCore/qendian.h: + +/usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginTargets.cmake: + +/usr/include/c++/16.1.1/stdexcept: + +/usr/include/qt6/QtCore/q20algorithm.h: + +/usr/include/c++/16.1.1/cwchar: + +/usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginTargets.cmake: + +/usr/lib/cmake/Qt6/QtFeatureCommon.cmake: + +/usr/include/bits/posix2_lim.h: + +/usr/include/c++/16.1.1/bits/stl_multimap.h: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginTargets.cmake: + +/usr/include/bits/pthread_stack_min-dynamic.h: + +/usr/include/asm/posix_types_64.h: + +/usr/lib/cmake/Qt6Gui/Qt6QTiffPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6/QtPublicFinalizerHelpers.cmake: + +/usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++config.h: + +/usr/include/c++/16.1.1/bits/std_function.h: + +/usr/lib/cmake/Qt6/FindWrapOpenGL.cmake: + +CMakeFiles/4.3.2/CMakeCXXCompiler.cmake: + +/usr/include/qt6/QtCore/qcontainerinfo.h: + +/usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginAdditionalTargetInfo.cmake: + +/usr/include/c++/16.1.1/bits/exception_defines.h: + +/usr/include/asm/posix_types.h: + +/usr/include/qt6/QtCore/qtdeprecationdefinitions.h: + +/usr/lib/cmake/Qt6/QtPublicAndroidHelpers.cmake: + +/usr/include/strings.h: + +/usr/include/c++/16.1.1/bits/chrono.h: + +/usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginTargets.cmake: + +/usr/include/asm-generic/int-ll64.h: + +/usr/share/cmake/Modules/Compiler/XL-C-DetermineCompiler.cmake: + +/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsConfig.cmake: + +/usr/include/qt6/QtCore/qdatetime.h: + +/usr/lib/cmake/Qt6/QtPublicSbomLicenseHelpers.cmake: + +/usr/include/qt6/QtCore/qxptype_traits.h: + +/usr/include/c++/16.1.1/algorithm: + +/usr/include/bits/thread-shared-types.h: + +/usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginAdditionalTargetInfo.cmake: + +/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/CyberQueerStyle.cpp: + +/usr/include/qt6/QtCore/qurl.h: + +/usr/include/c++/16.1.1/bits/new_allocator.h: + +/usr/share/cmake/Modules/CMakeGenericSystem.cmake: + +/usr/share/cmake/Modules/CMakeDetermineCCompiler.cmake: + +/usr/include/ctype.h: + +/usr/include/bits/types/struct_FILE.h: + +/usr/lib/libQt6Gui.so.6.11.0: + +/usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginAdditionalTargetInfo.cmake: + +/usr/include/c++/16.1.1/tr1/beta_function.tcc: + +/usr/include/qt6/QtCore/qset.h: + +/usr/include/linux/errno.h: + +/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/CyberQueerStyle.h: + +/usr/include/c++/16.1.1/bits/locale_classes.h: + +/usr/include/bits/timesize.h: + +/usr/include/qt6/QtCore/qiterator.h: + +/usr/include/qt6/QtCore/qminmax.h: + +/usr/include/bits/waitstatus.h: + +/usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginTargetsPrecheck.cmake: + +/usr/include/bits/wchar.h: + +/usr/share/cmake/Modules/FindOpenGL.cmake: + +/usr/include/qt6/QtWidgets/qcommonstyle.h: + +/usr/include/bits/types/struct___jmp_buf_tag.h: + +/usr/include/bits/timex.h: + +/usr/include/c++/16.1.1/pstl/glue_numeric_defs.h: + +/usr/include/c++/16.1.1/tr1/exp_integral.tcc: + +/usr/include/c++/16.1.1/tr1/special_function_util.h: + +/usr/include/c++/16.1.1/unordered_set: + +/usr/include/c++/16.1.1/bits/erase_if.h: + +/usr/include/c++/16.1.1/backward/auto_ptr.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/syslimits.h: + +/usr/share/cmake/Modules/Compiler/HP-C-DetermineCompiler.cmake: + +/usr/include/c++/16.1.1/bits/string_view.tcc: + +/usr/include/qt6/QtGui/qcolor.h: + +/usr/include/asm/errno.h: + +/usr/include/c++/16.1.1/bits/stdexcept_throwfwd.h: + +/usr/include/bits/local_lim.h: + +/usr/share/cmake/Modules/Compiler/PathScale-DetermineCompiler.cmake: + +/usr/share/cmake/Modules/CMakeCXXCompiler.cmake.in: + +/usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginTargets-relwithdebinfo.cmake: + +/usr/include/qt6/QtWidgets/QProxyStyle: + +/usr/include/qt6/QtCore/qtcoreexports.h: + +/usr/include/c++/16.1.1/type_traits: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/types/__mbstate_t.h: + +/usr/include/bits/stdint-least.h: + +/usr/include/c++/16.1.1/exception: + +/usr/include/c++/16.1.1/bits/hashtable.h: + +/usr/share/cmake/Modules/CMakeDetermineCXXCompiler.cmake: + +/usr/include/c++/16.1.1/bits/allocated_ptr.h: + +/usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginAdditionalTargetInfo.cmake: + +/usr/include/qt6/QtCore/qbytearrayalgorithms.h: + +/usr/include/bits/atomic_wide_counter.h: + +/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsAdditionalTargetInfo.cmake: + +/usr/include/c++/16.1.1/ext/string_conversions.h: + +/usr/include/bits/mathcalls-macros.h: + +/usr/include/c++/16.1.1/bits/unique_ptr.h: + +/usr/include/c++/16.1.1/bits/charconv.h: + +/usr/include/bits/errno.h: + +/usr/include/qt6/QtCore/qstdlibdetection.h: + +/usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginConfig.cmake: + +/usr/include/c++/16.1.1/pstl/execution_defs.h: + +/usr/lib/cmake/Qt6DBus/Qt6DBusMacros.cmake: + +/usr/include/bits/time64.h: + +/usr/include/sys/select.h: + +/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsConfig.cmake: + +/usr/include/c++/16.1.1/concepts: + +/usr/include/bits/byteswap.h: + +/usr/include/c++/16.1.1/initializer_list: + +/usr/lib/cmake/Qt6Core/Qt6CoreConfig.cmake: + +/usr/include/asm/types.h: + +/usr/include/c++/16.1.1/cstdint: + +/usr/lib/cmake/Qt6Core/Qt6CoreVersionlessAliasTargets.cmake: + +/usr/lib/libc.so: + +/usr/include/asm-generic/types.h: + +/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsTargets.cmake: + +/usr/include/c++/16.1.1/bits/list.tcc: + +/usr/include/asm-generic/bitsperlong.h: + +/usr/include/qt6/QtCore/qbytearray.h: + +/usr/include/bits/types/__FILE.h: + +/usr/include/qt6/QtWidgets/QCommonStyle: + +/usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginTargetsPrecheck.cmake: + +/usr/include/bits/struct_mutex.h: + +/usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginConfig.cmake: + +/usr/include/bits/cpu-set.h: + +/usr/include/bits/typesizes.h: + +/usr/lib/cmake/Qt6Gui/Qt6QGifPluginConfig.cmake: + +/usr/include/c++/16.1.1/bits/stl_multiset.h: + +/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/plugin.cpp: + +/usr/include/bits/endianness.h: + +/usr/include/bits/floatn-common.h: + +/usr/include/bits/types/__locale_t.h: + +/usr/include/c++/16.1.1/ext/concurrence.h: + +/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsTargets.cmake: + +/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6DBus/Qt6DBusDependencies.cmake: + +/usr/include/bits/types/mbstate_t.h: + +/usr/include/c++/16.1.1/tr1/ell_integral.tcc: + +/usr/lib/cmake/Qt6/QtPublicFindPackageHelpers.cmake: + +/usr/include/c++/16.1.1/bits/stream_iterator.h: + +/usr/include/bits/types/sigset_t.h: + +/usr/include/qt6/QtCore/qjsonvalue.h: + +/usr/include/bits/types/struct_itimerspec.h: + +/usr/include/qt6/QtCore/q20type_traits.h: + +/usr/include/bits/types/struct_sched_param.h: + +/usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginTargets-relwithdebinfo.cmake: + +/usr/include/bits/waitflags.h: + +/usr/lib/cmake/Qt6Widgets/Qt6WidgetsTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginConfig.cmake: + +/usr/include/qt6/QtGui/qtransform.h: + +/usr/include/qt6/QtCore/qcborcommon.h: + +/usr/include/qt6/QtCore/qcompilerdetection.h: + +/usr/include/c++/16.1.1/unordered_map: + +/usr/include/qt6/QtCore/qstringfwd.h: + +/usr/lib/cmake/Qt6/Qt6Config.cmake: + +/usr/sbin/cmake: + +/usr/lib/cmake/Qt6/Qt6ConfigVersion.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6GuiConfigVersion.cmake: + +/usr/include/bits/types/__fpos64_t.h: + +/usr/include/c++/16.1.1/bits/requires_hosted.h: + +/usr/include/c++/16.1.1/cstring: + +/usr/include/c++/16.1.1/bits/align.h: + +/usr/include/c++/16.1.1/bits/streambuf_iterator.h: + +/usr/include/bits/types/struct_timespec.h: + +/usr/include/qt6/QtCore/qiterable.h: + +/usr/include/c++/16.1.1/bits/std_abs.h: + +/usr/include/qt6/QtCore/qscopedpointer.h: + +/usr/share/cmake/Modules/CMakeTestCXXCompiler.cmake: + +/usr/include/bits/types/timer_t.h: + +/usr/include/qt6/QtCore/qvariant.h: + +/usr/include/bits/types/wint_t.h: + +/usr/include/bits/xopen_lim.h: + +/usr/include/c++/16.1.1/bits/locale_classes.tcc: + +/usr/include/endian.h: + +/usr/include/qt6/QtCore/qstringbuilder.h: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginTargetsPrecheck.cmake: + +/usr/include/qt6/QtGui/qregion.h: + +/usr/include/stdint.h: + +/usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginTargets.cmake: + +/usr/include/c++/16.1.1/cmath: + +/usr/include/c++/16.1.1/atomic: + +/usr/share/cmake/Modules/Compiler/GNU.cmake: + +/usr/include/c++/16.1.1/bits/localefwd.h: + +/usr/include/qt6/QtCore/qstring.h: + +/usr/include/c++/16.1.1/backward/binders.h: + +/usr/include/c++/16.1.1/bits/allocator.h: + +/usr/share/cmake/Modules/Compiler/HP-CXX-DetermineCompiler.cmake: + +/usr/include/c++/16.1.1/bits/algorithmfwd.h: + +/usr/share/cmake/Modules/Platform/Linker/GNU.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginConfig.cmake: + +/usr/include/c++/16.1.1/pstl/pstl_config.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdarg.h: + +/usr/include/c++/16.1.1/bits/basic_string.h: + +/usr/include/c++/16.1.1/bits/functional_hash.h: + +/usr/include/c++/16.1.1/bits/unordered_set.h: + +/usr/include/bits/locale.h: + +/usr/lib/cmake/Qt6Core/Qt6CoreDependencies.cmake: + +/usr/include/c++/16.1.1/bits/concept_check.h: + +/usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginTargetsPrecheck.cmake: + +/usr/include/c++/16.1.1/bits/enable_special_members.h: + +/usr/include/c++/16.1.1/bits/exception.h: + +/usr/include/qt6/QtCore/qgenericatomic.h: + +/usr/include/bits/types/struct_tm.h: + +/usr/include/c++/16.1.1/bits/hash_bytes.h: + +/usr/include/c++/16.1.1/bits/hashtable_policy.h: + +/usr/include/qt6/QtCore/qcheckedint_impl.h: + +/usr/include/c++/16.1.1/bits/ios_base.h: + +/usr/include/qt6/QtCore/qstringtokenizer.h: + +/usr/include/bits/types/__fpos_t.h: + +/usr/include/bits/types/clock_t.h: + +/usr/share/cmake/Modules/Platform/Linker/Linux-GNU.cmake: + +/usr/lib/cmake/Qt6/QtPublicSbomAttributionHelpers.cmake: + +/usr/include/c++/16.1.1/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/16.1.1/bits/basic_string.tcc: + +/usr/include/qt6/QtCore/qmath.h: + +/usr/include/qt6/QtWidgets/qsizepolicy.h: + +/usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsVersionlessTargets.cmake: + +/usr/include/c++/16.1.1/bits/memory_resource.h: + +/usr/lib/cmake/Qt6Gui/Qt6QJp2PluginTargetsPrecheck.cmake: + +/usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/cpu_defines.h: + +/usr/include/qt6/QtCore/qdatastream.h: + +/usr/lib/cmake/Qt6/QtPublicSbomGenerationHelpers.cmake: + +/usr/share/cmake/Modules/Compiler/MSVC-DetermineCompiler.cmake: + +/usr/include/qt6/QtCore/qtextstream.h: + +/usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/error_constants.h: + +/usr/include/bits/stdlib-float.h: + +/usr/lib/cmake/Qt6Core/Qt6CoreTargets.cmake: + +/usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/gthr.h: + +/usr/include/bits/mathcalls-helper-functions.h: + +/usr/lib/cmake/Qt6Gui/Qt6QPdfPluginTargetsPrecheck.cmake: + +/usr/include/c++/16.1.1/cctype: + +/usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/os_defines.h: + +/usr/include/errno.h: + +/usr/include/features-time64.h: + +/usr/include/qt6/QtCore/q17memory.h: + +/usr/include/gnu/stubs-64.h: + +/usr/include/qt6/QtCore/qtversionchecks.h: + +/usr/include/c++/16.1.1/iterator: + +/usr/lib/cmake/Qt6/QtPublicAppleHelpers.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWebpPluginTargets.cmake: + +/usr/include/qt6/QtCore/qatomic.h: + +/usr/lib/crtn.o: + +/usr/include/c++/16.1.1/optional: + +/usr/include/linux/limits.h: + +/usr/share/cmake/Modules/Compiler/NVHPC-DetermineCompiler.cmake: + +/usr/include/linux/sched/types.h: + +/usr/lib/libmvec.so.1: + +/usr/include/bits/fp-logb.h: + +/usr/include/linux/stddef.h: + +/usr/include/linux/types.h: + +/usr/include/pthread.h: + +/usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginConfig.cmake: + +/usr/include/qt6/QtCore/q20functional.h: + +/usr/include/features.h: + +/usr/include/qt6/QtCore/q20iterator.h: + +/usr/include/qt6/QtGui/qimage.h: + +/usr/include/qt6/QtCore/q20utility.h: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginTargets.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QTgaPluginTargetsPrecheck.cmake: + +/usr/include/qt6/QtCore/q23type_traits.h: + +/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginConfig.cmake: + +/usr/include/qt6/QtCore/qalloc.h: + +/usr/include/qt6/QtCore/qanystringview.h: + +/usr/include/qt6/QtCore/qarraydatapointer.h: + +/usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginTargets-relwithdebinfo.cmake: + +/usr/include/qt6/QtCore/qassert.h: + +/usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsTargetsPrecheck.cmake: + +/usr/include/qt6/QtCore/qatomic_cxx11.h: + +/usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginTargets.cmake: + +/usr/lib/cmake/Qt6/QtPublicWindowsHelpers.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginTargets-relwithdebinfo.cmake: + +/usr/include/qt6/QtCore/qbindingstorage.h: + +/usr/include/qt6/QtCore/qbytearraylist.h: + +/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfigVersionImpl.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginTargets-relwithdebinfo.cmake: + +/usr/include/qt6/QtCore/qbytearrayview.h: + +/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake: + +/usr/include/qt6/QtCore/qjsondocument.h: + +/usr/lib/cmake/Qt6/Qt6Targets.cmake: + +/usr/include/qt6/QtCore/qrefcount.h: + +/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfig.cmake: + +/usr/include/qt6/QtCore/qcalendar.h: + +/usr/include/c++/16.1.1/bits/parse_numbers.h: + +/usr/include/qt6/QtCore/qstringview.h: + +/usr/include/c++/16.1.1/bits/uses_allocator.h: + +/usr/include/qt6/QtCore/qcborvalue.h: + +/usr/include/qt6/QtCore/qchar.h: + +/usr/share/cmake/Modules/CMakeCompilerIdDetection.cmake: + +/usr/include/qt6/QtCore/qcomparehelpers.h: + +/usr/include/qt6/QtCore/qcontainerfwd.h: + +/usr/lib/cmake/Qt6DBus/Qt6DBusTargets.cmake: + +/usr/include/qt6/QtCore/qcontiguouscache.h: + +/usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginTargets.cmake: + +/usr/include/qt6/QtCore/qdarwinhelpers.h: + +/usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginAdditionalTargetInfo.cmake: + +/usr/include/qt6/QtCore/qexceptionhandling.h: + +/usr/include/qt6/QtCore/qfactoryinterface.h: + +/usr/include/qt6/QtCore/qshareddata.h: + +/usr/share/cmake/Modules/FindThreads.cmake: + +/usr/share/cmake/Modules/Compiler/zOS-C-DetermineCompiler.cmake: + +/usr/include/qt6/QtCore/qforeach.h: + +/usr/include/c++/16.1.1/numeric: + +/usr/include/qt6/QtCore/qfunctionpointer.h: + +/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfigVersionImpl.cmake: + +/usr/include/qt6/QtCore/qglobal.h: + +/usr/lib/cmake/Qt6Gui/Qt6GuiConfigVersionImpl.cmake: + +/usr/include/c++/16.1.1/bits/stl_numeric.h: + +/usr/include/bits/stdint-intn.h: + +/usr/lib/cmake/Qt6/QtPublicSbomDepHelpers.cmake: + +/usr/lib/cmake/Qt6/QtPublicSbomFileHelpers.cmake: + +/usr/include/qt6/QtCore/qhash.h: + +/usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginTargets-relwithdebinfo.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QJp2PluginTargets.cmake: + +/usr/include/qt6/QtCore/qhashfunctions.h: + +/usr/include/qt6/QtCore/qiodevicebase.h: + +/usr/include/qt6/QtCore/qjsonparseerror.h: + +/usr/include/qt6/QtCore/qtcore-config.h: + +/usr/include/qt6/QtCore/qline.h: + +/usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginTargets.cmake: + +/usr/include/bits/stdint-uintn.h: + +/usr/include/qt6/QtCore/qlogging.h: + +/usr/include/qt6/QtCore/qmalloc.h: + +/usr/include/c++/16.1.1/typeinfo: + +/usr/include/qt6/QtGui/qrgba64.h: + +/usr/include/qt6/QtCore/qmap.h: + +/usr/share/cmake/Modules/MacroAddFileDependencies.cmake: + +/usr/include/qt6/QtCore/qmargins.h: + +/usr/include/qt6/QtCore/qmetacontainer.h: + +/usr/lib/cmake/Qt6DBus/Qt6DBusConfigVersionImpl.cmake: + +/usr/include/qt6/QtCore/qmetatype.h: + +/usr/share/cmake/Modules/CMakeDetermineSystem.cmake: + +/usr/include/qt6/QtCore/qnamespace.h: + +/usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginTargets.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QGifPluginTargets-relwithdebinfo.cmake: + +/usr/include/qt6/QtCore/qnumeric.h: + +/usr/include/qt6/QtCore/qobject.h: + +/usr/include/qt6/QtCore/qobject_impl.h: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginTargets-relwithdebinfo.cmake: + +/usr/include/limits.h: + +/usr/include/qt6/QtCore/qglobalstatic.h: + +/usr/include/qt6/QtCore/qobjectdefs.h: + +/usr/include/bits/pthreadtypes-arch.h: + +/usr/include/c++/16.1.1/tr1/poly_hermite.tcc: + +/usr/include/qt6/QtCore/qpointer.h: + +/usr/include/qt6/QtCore/qscopeguard.h: + +/usr/include/qt6/QtCore/qsharedpointer.h: + +/usr/include/c++/16.1.1/functional: + +/usr/include/qt6/QtCore/qsize.h: + +/usr/include/qt6/QtCore/qtnoop.h: + +/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsConfigVersionImpl.cmake: + +/usr/include/qt6/QtCore/qspan.h: + +/usr/include/c++/16.1.1/array: + +/usr/include/c++/16.1.1/bits/stl_bvector.h: + +/usr/include/qt6/QtCore/qregularexpression.h: + +/usr/include/qt6/QtCore/qstringconverter.h: + +/usr/share/cmake/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake: + +/usr/include/qt6/QtGui/qpixmap.h: + +/usr/include/qt6/QtCore/qstringconverter_base.h: + +/usr/include/qt6/QtCore/qstringlist.h: + +CMakeFiles/cyberqueer.dir/plugin.cpp.o: + +cyberqueer_autogen/moc_predefs.h: + +/usr/include/assert.h: + +/usr/include/qt6/QtCore/qstringmatcher.h: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginTargets-relwithdebinfo.cmake: + +/usr/include/qt6/QtCore/qswap.h: + +/usr/include/qt6/QtCore/qsysinfo.h: + +/usr/include/bits/iscanonical.h: + +/usr/lib/cmake/Qt6/QtPublicTestHelpers.cmake: + +/usr/include/qt6/QtCore/qsystemdetection.h: + +/usr/lib/cmake/Qt6/QtPublicSbomCpeHelpers.cmake: + +/usr/include/c++/16.1.1/bits/cpp_type_traits.h: + +/usr/lib/cmake/Qt6DBus/Qt6DBusConfig.cmake: + +/usr/include/qt6/QtCore/qtclasshelpermacros.h: + +/usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfigVersion.cmake: + +/usr/include/gnu/stubs.h: + +/usr/include/qt6/QtCore/qtconfigmacros.h: + +/usr/include/qt6/QtCore/qtcoreglobal.h: + +/usr/include/locale.h: + +/usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++locale.h: + +/usr/include/qt6/QtCore/qtdeprecationmarkers.h: + +/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsAdditionalTargetInfo.cmake: + +/usr/include/qt6/QtCore/qtformat_impl.h: + +/usr/share/cmake/Modules/Internal/CheckCompilerFlag.cmake: + +/usr/include/qt6/QtCore/qtmetamacros.h: + +/usr/lib/cmake/Qt6/QtPublicSbomSystemDepHelpers.cmake: + +/usr/include/qt6/QtCore/qtpreprocessorsupport.h: + +/usr/include/c++/16.1.1/bits/stl_iterator_base_types.h: + +/usr/include/qt6/QtCore/qtypeinfo.h: + +/usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginTargetsPrecheck.cmake: + +/usr/include/qt6/QtGui/qpalette.h: + +/usr/include/c++/16.1.1/stdlib.h: + +/usr/include/bits/libc-header-start.h: + +/usr/include/qt6/QtCore/qtresource.h: + +/usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginTargets-relwithdebinfo.cmake: + +/usr/include/qt6/QtCore/qttranslation.h: + +/usr/include/qt6/QtCore/qversiontagging.h: + +/usr/include/qt6/QtCore/qtversion.h: + +/usr/share/cmake/Modules/Compiler/ARMCC-DetermineCompiler.cmake: + +/usr/include/qt6/QtCore/qtconfiginclude.h: + +/usr/include/qt6/QtCore/qtypes.h: + +/usr/include/qt6/QtCore/qalgorithms.h: + +/usr/include/qt6/QtGui/qwindowdefs.h: + +/usr/include/qt6/QtCore/quuid.h: + +/usr/include/qt6/QtCore/qvarlengtharray.h: + +/usr/include/qt6/QtCore/qyieldcpu.h: + +/usr/include/qt6/QtCore/q20bit.h: + +/usr/include/qt6/QtGui/qbrush.h: + +/usr/lib/cmake/Qt6/QtFeature.cmake: + +/usr/include/qt6/QtGui/qpaintdevice.h: + +/usr/include/qt6/QtGui/qpixelformat.h: + +/usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginConfig.cmake: + +/usr/include/qt6/QtCore/qfunctionaltools_impl.h: + +/usr/include/qt6/QtGui/qpolygon.h: + +/usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsDependencies.cmake: + +/usr/include/c++/16.1.1/bits/shared_ptr_atomic.h: + +/usr/include/qt6/QtGui/qrgb.h: + +/usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginTargets.cmake: + +/usr/include/qt6/QtWidgets/qproxystyle.h: + +/usr/include/qt6/QtGui/qtgui-config.h: + +/usr/include/qt6/QtGui/qtguiexports.h: + +/usr/include/qt6/QtGui/qtguiglobal.h: + +/usr/include/c++/16.1.1/ratio: + +/usr/include/qt6/QtWidgets/QStylePlugin: + +/usr/include/qt6/QtCore/qjsonobject.h: + +/usr/include/qt6/QtWidgets/qstyle.h: + +/usr/include/asm/bitsperlong.h: + +/usr/include/qt6/QtWidgets/qstyleplugin.h: + +/usr/include/qt6/QtWidgets/qtwidgetsglobal.h: + +/usr/include/sched.h: + +/usr/include/qt6/QtCore/qrect.h: + +/usr/include/stdlib.h: + +/usr/include/string.h: + +/usr/include/sys/cdefs.h: + +/usr/include/c++/16.1.1/bits/ostream_insert.h: + +/usr/include/sys/types.h: + +/usr/include/qt6/QtCore/qlocale.h: + +/usr/include/time.h: + +/usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginConfig.cmake: + +/usr/lib/cmake/Qt6/FindWrapAtomic.cmake: + +/usr/lib/cmake/Qt6/FindWrapVulkanHeaders.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginAdditionalTargetInfo.cmake: + +/usr/lib/cmake/Qt6/Qt6ConfigExtras.cmake: + +/usr/include/qt6/QtCore/qconfig.h: + +/usr/include/bits/sched.h: + +/usr/include/qt6/QtCore/qshareddata_impl.h: + +/usr/include/bits/struct_rwlock.h: + +/usr/lib/cmake/Qt6/Qt6ConfigVersionImpl.cmake: + +/usr/lib/cmake/Qt6/Qt6Dependencies.cmake: + +/usr/share/cmake/Modules/Compiler/SDCC-C-DetermineCompiler.cmake: + +/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/CMakeLists.txt: + +/usr/lib/cmake/Qt6/Qt6VersionlessAliasTargets.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QMngPluginTargetsPrecheck.cmake: + +/usr/include/c++/16.1.1/bits/stl_set.h: + +/usr/include/bits/types/clockid_t.h: + +/usr/include/c++/16.1.1/bits/new_throw.h: + +/usr/lib/cmake/Qt6/QtInstallPaths.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6/QtPublicCMakeEarlyPolicyHelpers.cmake: + +/usr/lib/cmake/Qt6/QtPublicCMakeHelpers.cmake: + +/usr/lib/cmake/Qt6/Qt6TargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6/QtPublicCMakeVersionHelpers.cmake: + +/usr/share/cmake/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake: + +/usr/share/cmake/Modules/Compiler/ARMClang-DetermineCompiler.cmake: + +/usr/include/c++/16.1.1/bits/stl_raw_storage_iter.h: + +/usr/lib/cmake/Qt6/QtPublicGitHelpers.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWebpPluginTargetsPrecheck.cmake: + +/usr/lib/cmake/Qt6/QtPublicSbomCommonGenerationHelpers.cmake: + +/usr/include/c++/16.1.1/ext/atomicity.h: + +/usr/lib/cmake/Qt6/QtPublicSbomCycloneDXHelpers.cmake: + +/usr/lib/cmake/Qt6/QtPublicPluginHelpers_v2.cmake: + +CMakeFiles/4.3.2/CMakeSystem.cmake: + +/usr/lib/cmake/Qt6/QtPublicSbomDocumentNamespaceHelpers.cmake: + +/usr/include/c++/16.1.1/string: + +/usr/lib/cmake/Qt6Core/Qt6CoreConfigVersionImpl.cmake: + +/usr/include/c++/16.1.1/set: + +/usr/lib/cmake/Qt6/QtPublicSbomHelpers.cmake: + +/usr/lib/cmake/Qt6/QtPublicSbomOpsHelpers.cmake: + +/usr/lib/cmake/Qt6Widgets/Qt6WidgetsVersionlessAliasTargets.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6GuiVersionlessAliasTargets.cmake: + +/usr/lib/cmake/Qt6/QtPublicSbomQtEntityHelpers.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginConfig.cmake: + +/usr/lib/cmake/Qt6/QtPublicTargetHelpers.cmake: + +/usr/lib/cmake/Qt6/QtPublicWalkLibsHelpers.cmake: + +/usr/include/bits/types/locale_t.h: + +/usr/lib/cmake/Qt6/QtPublicSbomPythonHelpers.cmake: + +/usr/lib/cmake/Qt6Core/Qt6CoreAdditionalTargetInfo.cmake: + +/usr/include/c++/16.1.1/debug/debug.h: + +/usr/lib/cmake/Qt6Core/Qt6CoreConfigExtras.cmake: + +/usr/lib/cmake/Qt6/QtPublicExternalProjectHelpers.cmake: + +/usr/lib/cmake/Qt6Core/Qt6CoreConfigVersion.cmake: + +/usr/lib/cmake/Qt6Core/Qt6CoreMacros.cmake: + +/usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginConfig.cmake: + +/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfigVersion.cmake: + +/usr/include/c++/16.1.1/bits/stl_relops.h: + +/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsTargetsPrecheck.cmake: + +/usr/include/qt6/QtCore/q20memory.h: + +/usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsVersionlessTargets.cmake: + +/usr/lib/cmake/Qt6DBus/Qt6DBusVersionlessAliasTargets.cmake: diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/compiler_depend.ts b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/compiler_depend.ts new file mode 100644 index 0000000..8ecee3d --- /dev/null +++ b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for cyberqueer. diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.o b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.o new file mode 100644 index 0000000000000000000000000000000000000000..a7b570454ff0702ed46e9b1fbb30159465cd9a94 GIT binary patch literal 12048 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 literal 0 HcmV?d00001 diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.o.d b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.o.d new file mode 100644 index 0000000..1490c19 --- /dev/null +++ b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.o.d @@ -0,0 +1,338 @@ +CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.o: \ + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/cyberqueer_autogen/mocs_compilation.cpp \ + /usr/include/stdc-predef.h \ + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/cyberqueer_autogen/EWIEGA46WW/moc_CyberQueerStyle.cpp \ + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/cyberqueer_autogen/EWIEGA46WW/../../../CyberQueerStyle.h \ + /usr/include/qt6/QtWidgets/QProxyStyle \ + /usr/include/qt6/QtWidgets/qproxystyle.h \ + /usr/include/qt6/QtWidgets/qtwidgetsglobal.h \ + /usr/include/qt6/QtGui/qtguiglobal.h /usr/include/qt6/QtCore/qglobal.h \ + /usr/include/c++/16.1.1/type_traits \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++config.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/os_defines.h \ + /usr/include/features.h /usr/include/features-time64.h \ + /usr/include/bits/wordsize.h /usr/include/bits/timesize.h \ + /usr/include/sys/cdefs.h /usr/include/bits/long-double.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/cpu_defines.h \ + /usr/include/c++/16.1.1/pstl/pstl_config.h \ + /usr/include/c++/16.1.1/bits/version.h /usr/include/c++/16.1.1/cstddef \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stddef.h \ + /usr/include/c++/16.1.1/utility \ + /usr/include/c++/16.1.1/bits/stl_relops.h \ + /usr/include/c++/16.1.1/bits/stl_pair.h \ + /usr/include/c++/16.1.1/bits/move.h \ + /usr/include/c++/16.1.1/bits/utility.h \ + /usr/include/c++/16.1.1/initializer_list /usr/include/c++/16.1.1/cstdint \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdint.h \ + /usr/include/stdint.h /usr/include/bits/libc-header-start.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/bits/time64.h /usr/include/bits/wchar.h \ + /usr/include/bits/stdint-intn.h /usr/include/bits/stdint-uintn.h \ + /usr/include/bits/stdint-least.h /usr/include/assert.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdbool.h \ + /usr/include/qt6/QtCore/qtcoreglobal.h \ + /usr/include/qt6/QtCore/qtversionchecks.h \ + /usr/include/qt6/QtCore/qtconfiginclude.h \ + /usr/include/c++/16.1.1/version /usr/include/qt6/QtCore/qconfig.h \ + /usr/include/qt6/QtCore/qtcore-config.h \ + /usr/include/qt6/QtCore/qtconfigmacros.h \ + /usr/include/qt6/QtCore/qtdeprecationdefinitions.h \ + /usr/include/qt6/QtCore/qcompilerdetection.h \ + /usr/include/qt6/QtCore/qprocessordetection.h \ + /usr/include/qt6/QtCore/qsystemdetection.h \ + /usr/include/qt6/QtCore/qtcoreexports.h \ + /usr/include/qt6/QtCore/qtdeprecationmarkers.h \ + /usr/include/qt6/QtCore/qtclasshelpermacros.h \ + /usr/include/qt6/QtCore/qtpreprocessorsupport.h \ + /usr/include/qt6/QtCore/qassert.h /usr/include/qt6/QtCore/qtnoop.h \ + /usr/include/qt6/QtCore/qtypes.h /usr/include/qt6/QtCore/qtversion.h \ + /usr/include/qt6/QtCore/qtypeinfo.h \ + /usr/include/qt6/QtCore/qcontainerfwd.h /usr/include/c++/16.1.1/limits \ + /usr/include/qt6/QtCore/qsysinfo.h /usr/include/qt6/QtCore/qlogging.h \ + /usr/include/qt6/QtCore/qflags.h /usr/include/qt6/QtCore/qcompare_impl.h \ + /usr/include/c++/16.1.1/algorithm \ + /usr/include/c++/16.1.1/bits/stl_algobase.h \ + /usr/include/c++/16.1.1/bits/cpp_type_traits.h \ + /usr/include/c++/16.1.1/ext/type_traits.h \ + /usr/include/c++/16.1.1/ext/numeric_traits.h \ + /usr/include/c++/16.1.1/bits/stl_iterator_base_types.h \ + /usr/include/c++/16.1.1/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/16.1.1/bits/concept_check.h \ + /usr/include/c++/16.1.1/debug/assertions.h \ + /usr/include/c++/16.1.1/bits/stl_iterator.h \ + /usr/include/c++/16.1.1/bits/ptr_traits.h \ + /usr/include/c++/16.1.1/debug/debug.h \ + /usr/include/c++/16.1.1/bits/predefined_ops.h \ + /usr/include/c++/16.1.1/bits/stl_function.h \ + /usr/include/c++/16.1.1/backward/binders.h /usr/include/c++/16.1.1/bit \ + /usr/include/c++/16.1.1/concepts /usr/include/c++/16.1.1/bits/stl_algo.h \ + /usr/include/c++/16.1.1/bits/algorithmfwd.h \ + /usr/include/c++/16.1.1/bits/stl_heap.h \ + /usr/include/c++/16.1.1/bits/uniform_int_dist.h \ + /usr/include/c++/16.1.1/bits/stl_tempbuf.h /usr/include/c++/16.1.1/new \ + /usr/include/c++/16.1.1/bits/exception.h \ + /usr/include/c++/16.1.1/bits/new_except.h \ + /usr/include/c++/16.1.1/bits/exception_defines.h \ + /usr/include/c++/16.1.1/bits/stl_construct.h \ + /usr/include/c++/16.1.1/cstdlib /usr/include/stdlib.h \ + /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \ + /usr/include/bits/floatn.h /usr/include/bits/floatn-common.h \ + /usr/include/bits/types/locale_t.h /usr/include/bits/types/__locale_t.h \ + /usr/include/sys/types.h /usr/include/bits/types/clock_t.h \ + /usr/include/bits/types/clockid_t.h /usr/include/bits/types/time_t.h \ + /usr/include/bits/types/timer_t.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/bits/endianness.h \ + /usr/include/bits/byteswap.h /usr/include/bits/uintn-identity.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/types/sigset_t.h /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/pthreadtypes-arch.h \ + /usr/include/bits/atomic_wide_counter.h /usr/include/bits/struct_mutex.h \ + /usr/include/bits/struct_rwlock.h /usr/include/alloca.h \ + /usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \ + /usr/include/c++/16.1.1/bits/std_abs.h \ + /usr/include/c++/16.1.1/pstl/glue_algorithm_defs.h \ + /usr/include/c++/16.1.1/pstl/execution_defs.h \ + /usr/include/qt6/QtCore/qatomic.h /usr/include/qt6/QtCore/qbasicatomic.h \ + /usr/include/qt6/QtCore/qatomic_cxx11.h \ + /usr/include/qt6/QtCore/qgenericatomic.h \ + /usr/include/qt6/QtCore/qyieldcpu.h /usr/include/c++/16.1.1/atomic \ + /usr/include/c++/16.1.1/bits/atomic_base.h \ + /usr/include/c++/16.1.1/bits/atomic_lockfree_defines.h \ + /usr/include/qt6/QtCore/qconstructormacros.h \ + /usr/include/qt6/QtCore/qdarwinhelpers.h \ + /usr/include/qt6/QtCore/qexceptionhandling.h \ + /usr/include/qt6/QtCore/qforeach.h \ + /usr/include/qt6/QtCore/qttypetraits.h /usr/include/c++/16.1.1/optional \ + /usr/include/c++/16.1.1/exception \ + /usr/include/c++/16.1.1/bits/exception_ptr.h \ + /usr/include/c++/16.1.1/bits/cxxabi_init_exception.h \ + /usr/include/c++/16.1.1/typeinfo \ + /usr/include/c++/16.1.1/bits/hash_bytes.h \ + /usr/include/c++/16.1.1/bits/nested_exception.h \ + /usr/include/c++/16.1.1/bits/enable_special_members.h \ + /usr/include/c++/16.1.1/bits/functional_hash.h \ + /usr/include/c++/16.1.1/tuple \ + /usr/include/c++/16.1.1/bits/uses_allocator.h \ + /usr/include/c++/16.1.1/bits/invoke.h /usr/include/c++/16.1.1/variant \ + /usr/include/c++/16.1.1/bits/monostate.h \ + /usr/include/c++/16.1.1/bits/parse_numbers.h \ + /usr/include/c++/16.1.1/ext/aligned_buffer.h \ + /usr/include/qt6/QtCore/qfunctionpointer.h \ + /usr/include/qt6/QtCore/qglobalstatic.h \ + /usr/include/qt6/QtCore/qmalloc.h /usr/include/qt6/QtCore/qminmax.h \ + /usr/include/qt6/QtCore/qnumeric.h /usr/include/c++/16.1.1/cmath \ + /usr/include/c++/16.1.1/bits/requires_hosted.h /usr/include/math.h \ + /usr/include/bits/math-vector.h /usr/include/bits/libm-simd-decl-stubs.h \ + /usr/include/bits/flt-eval-method.h /usr/include/bits/fp-logb.h \ + /usr/include/bits/fp-fast.h /usr/include/bits/mathcalls-macros.h \ + /usr/include/bits/mathcalls-helper-functions.h \ + /usr/include/bits/mathcalls.h /usr/include/bits/mathcalls-narrow.h \ + /usr/include/bits/iscanonical.h /usr/include/c++/16.1.1/bits/specfun.h \ + /usr/include/c++/16.1.1/bits/stdexcept_throw.h \ + /usr/include/c++/16.1.1/bits/stdexcept_throwfwd.h \ + /usr/include/c++/16.1.1/tr1/gamma.tcc \ + /usr/include/c++/16.1.1/tr1/special_function_util.h \ + /usr/include/c++/16.1.1/tr1/bessel_function.tcc \ + /usr/include/c++/16.1.1/tr1/beta_function.tcc \ + /usr/include/c++/16.1.1/tr1/ell_integral.tcc \ + /usr/include/c++/16.1.1/tr1/exp_integral.tcc \ + /usr/include/c++/16.1.1/tr1/hypergeometric.tcc \ + /usr/include/c++/16.1.1/tr1/legendre_function.tcc \ + /usr/include/c++/16.1.1/tr1/modified_bessel_func.tcc \ + /usr/include/c++/16.1.1/tr1/poly_hermite.tcc \ + /usr/include/c++/16.1.1/tr1/poly_laguerre.tcc \ + /usr/include/c++/16.1.1/tr1/riemann_zeta.tcc \ + /usr/include/qt6/QtCore/q20type_traits.h \ + /usr/include/qt6/QtCore/qoverload.h /usr/include/qt6/QtCore/qswap.h \ + /usr/include/qt6/QtCore/qtenvironmentvariables.h \ + /usr/include/qt6/QtCore/qtresource.h \ + /usr/include/qt6/QtCore/qttranslation.h \ + /usr/include/qt6/QtCore/qversiontagging.h \ + /usr/include/qt6/QtGui/qtgui-config.h \ + /usr/include/qt6/QtGui/qtguiexports.h \ + /usr/include/qt6/QtWidgets/qtwidgets-config.h \ + /usr/include/qt6/QtWidgets/qtwidgetsexports.h \ + /usr/include/qt6/QtWidgets/QCommonStyle \ + /usr/include/qt6/QtWidgets/qcommonstyle.h \ + /usr/include/qt6/QtWidgets/qstyle.h /usr/include/qt6/QtCore/qobject.h \ + /usr/include/qt6/QtCore/qobjectdefs.h \ + /usr/include/qt6/QtCore/qnamespace.h /usr/include/qt6/QtCore/qcompare.h \ + /usr/include/qt6/QtCore/qstdlibdetection.h \ + /usr/include/qt6/QtCore/qcomparehelpers.h \ + /usr/include/c++/16.1.1/functional \ + /usr/include/c++/16.1.1/bits/refwrap.h \ + /usr/include/c++/16.1.1/bits/std_function.h \ + /usr/include/c++/16.1.1/bits/functexcept.h \ + /usr/include/c++/16.1.1/unordered_map \ + /usr/include/c++/16.1.1/bits/unordered_map.h \ + /usr/include/c++/16.1.1/bits/hashtable.h \ + /usr/include/c++/16.1.1/bits/hashtable_policy.h \ + /usr/include/c++/16.1.1/ext/alloc_traits.h \ + /usr/include/c++/16.1.1/bits/alloc_traits.h \ + /usr/include/c++/16.1.1/bits/memoryfwd.h \ + /usr/include/c++/16.1.1/bits/allocator.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++allocator.h \ + /usr/include/c++/16.1.1/bits/new_allocator.h \ + /usr/include/c++/16.1.1/bits/new_throw.h \ + /usr/include/c++/16.1.1/bits/node_handle.h \ + /usr/include/c++/16.1.1/bits/range_access.h \ + /usr/include/c++/16.1.1/bits/erase_if.h \ + /usr/include/c++/16.1.1/bits/memory_resource.h \ + /usr/include/c++/16.1.1/bits/uses_allocator_args.h \ + /usr/include/c++/16.1.1/vector \ + /usr/include/c++/16.1.1/bits/stl_uninitialized.h \ + /usr/include/c++/16.1.1/bits/stl_vector.h \ + /usr/include/c++/16.1.1/bits/stl_bvector.h \ + /usr/include/c++/16.1.1/bits/vector.tcc /usr/include/c++/16.1.1/array \ + /usr/include/c++/16.1.1/compare /usr/include/qt6/QtCore/qtmetamacros.h \ + /usr/include/qt6/QtCore/qobjectdefs_impl.h \ + /usr/include/qt6/QtCore/qfunctionaltools_impl.h \ + /usr/include/c++/16.1.1/memory \ + /usr/include/c++/16.1.1/bits/stl_raw_storage_iter.h \ + /usr/include/c++/16.1.1/bits/align.h \ + /usr/include/c++/16.1.1/bits/unique_ptr.h \ + /usr/include/c++/16.1.1/bits/shared_ptr.h /usr/include/c++/16.1.1/iosfwd \ + /usr/include/c++/16.1.1/bits/stringfwd.h \ + /usr/include/c++/16.1.1/bits/postypes.h /usr/include/c++/16.1.1/cwchar \ + /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdarg.h \ + /usr/include/bits/types/wint_t.h /usr/include/bits/types/mbstate_t.h \ + /usr/include/bits/types/__mbstate_t.h /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/FILE.h \ + /usr/include/c++/16.1.1/bits/shared_ptr_base.h \ + /usr/include/c++/16.1.1/bits/allocated_ptr.h \ + /usr/include/c++/16.1.1/ext/atomicity.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/gthr.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/bits/sched.h \ + /usr/include/linux/sched/types.h /usr/include/linux/types.h \ + /usr/include/asm/types.h /usr/include/asm-generic/types.h \ + /usr/include/asm-generic/int-ll64.h /usr/include/asm/bitsperlong.h \ + /usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \ + /usr/include/linux/stddef.h /usr/include/asm/posix_types.h \ + /usr/include/asm/posix_types_64.h /usr/include/asm-generic/posix_types.h \ + /usr/include/bits/types/struct_sched_param.h /usr/include/bits/cpu-set.h \ + /usr/include/time.h /usr/include/bits/time.h /usr/include/bits/timex.h \ + /usr/include/bits/types/struct_tm.h \ + /usr/include/bits/types/struct_itimerspec.h /usr/include/bits/setjmp.h \ + /usr/include/bits/types/struct___jmp_buf_tag.h \ + /usr/include/bits/pthread_stack_min-dynamic.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/atomic_word.h \ + /usr/include/sys/single_threaded.h \ + /usr/include/c++/16.1.1/ext/concurrence.h \ + /usr/include/c++/16.1.1/bits/shared_ptr_atomic.h \ + /usr/include/c++/16.1.1/backward/auto_ptr.h \ + /usr/include/c++/16.1.1/pstl/glue_memory_defs.h \ + /usr/include/qt6/QtCore/qstring.h /usr/include/qt6/QtCore/qchar.h \ + /usr/include/qt6/QtCore/qstringview.h \ + /usr/include/qt6/QtCore/qbytearray.h /usr/include/qt6/QtCore/qrefcount.h \ + /usr/include/qt6/QtCore/qarraydata.h /usr/include/qt6/QtCore/qpair.h \ + /usr/include/string.h /usr/include/strings.h \ + /usr/include/qt6/QtCore/qarraydatapointer.h \ + /usr/include/qt6/QtCore/qarraydataops.h \ + /usr/include/qt6/QtCore/qcontainertools_impl.h \ + /usr/include/qt6/QtCore/qxptype_traits.h \ + /usr/include/qt6/QtCore/q23type_traits.h /usr/include/c++/16.1.1/cstring \ + /usr/include/c++/16.1.1/iterator \ + /usr/include/c++/16.1.1/bits/stream_iterator.h \ + /usr/include/c++/16.1.1/bits/streambuf_iterator.h \ + /usr/include/c++/16.1.1/streambuf \ + /usr/include/c++/16.1.1/bits/localefwd.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++locale.h \ + /usr/include/c++/16.1.1/clocale /usr/include/locale.h \ + /usr/include/bits/locale.h /usr/include/c++/16.1.1/cctype \ + /usr/include/ctype.h /usr/include/c++/16.1.1/bits/ios_base.h \ + /usr/include/c++/16.1.1/bits/locale_classes.h \ + /usr/include/c++/16.1.1/string \ + /usr/include/c++/16.1.1/bits/char_traits.h \ + /usr/include/c++/16.1.1/bits/ostream_insert.h \ + /usr/include/c++/16.1.1/bits/cxxabi_forced.h \ + /usr/include/c++/16.1.1/bits/basic_string.h \ + /usr/include/c++/16.1.1/string_view \ + /usr/include/c++/16.1.1/bits/string_view.tcc \ + /usr/include/c++/16.1.1/ext/string_conversions.h \ + /usr/include/c++/16.1.1/cstdio /usr/include/stdio.h \ + /usr/include/bits/types/__fpos_t.h /usr/include/bits/types/__fpos64_t.h \ + /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/types/cookie_io_functions_t.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/stdio.h \ + /usr/include/c++/16.1.1/cerrno /usr/include/errno.h \ + /usr/include/bits/errno.h /usr/include/linux/errno.h \ + /usr/include/asm/errno.h /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/errno-base.h /usr/include/bits/types/error_t.h \ + /usr/include/c++/16.1.1/bits/charconv.h \ + /usr/include/c++/16.1.1/bits/basic_string.tcc \ + /usr/include/c++/16.1.1/bits/locale_classes.tcc \ + /usr/include/c++/16.1.1/system_error \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/error_constants.h \ + /usr/include/c++/16.1.1/stdexcept \ + /usr/include/c++/16.1.1/bits/stdexcept_except.h \ + /usr/include/c++/16.1.1/bits/streambuf.tcc \ + /usr/include/qt6/QtCore/q20functional.h \ + /usr/include/qt6/QtCore/q20memory.h /usr/include/qt6/QtCore/q17memory.h \ + /usr/include/qt6/QtCore/qbytearrayalgorithms.h \ + /usr/include/qt6/QtCore/qbytearrayview.h \ + /usr/include/qt6/QtCore/qstringfwd.h /usr/include/c++/16.1.1/stdlib.h \ + /usr/include/qt6/QtCore/qstringalgorithms.h \ + /usr/include/qt6/QtCore/qlatin1stringview.h \ + /usr/include/qt6/QtCore/qanystringview.h \ + /usr/include/qt6/QtCore/qutf8stringview.h \ + /usr/include/qt6/QtCore/qstringtokenizer.h \ + /usr/include/qt6/QtCore/qstringbuilder.h \ + /usr/include/qt6/QtCore/qstringconverter.h \ + /usr/include/qt6/QtCore/qstringconverter_base.h \ + /usr/include/qt6/QtCore/qlist.h /usr/include/qt6/QtCore/qhashfunctions.h \ + /usr/include/c++/16.1.1/numeric \ + /usr/include/c++/16.1.1/bits/stl_numeric.h \ + /usr/include/c++/16.1.1/pstl/glue_numeric_defs.h \ + /usr/include/qt6/QtCore/qiterator.h \ + /usr/include/qt6/QtCore/qbytearraylist.h \ + /usr/include/qt6/QtCore/qstringlist.h \ + /usr/include/qt6/QtCore/qalgorithms.h /usr/include/qt6/QtCore/q20bit.h \ + /usr/include/qt6/QtCore/qstringmatcher.h \ + /usr/include/qt6/QtCore/qscopedpointer.h \ + /usr/include/qt6/QtCore/qmetatype.h \ + /usr/include/qt6/QtCore/qdatastream.h \ + /usr/include/qt6/QtCore/qiodevicebase.h \ + /usr/include/qt6/QtCore/qfloat16.h /usr/include/qt6/QtCore/qmath.h \ + /usr/include/qt6/QtCore/qtformat_impl.h \ + /usr/include/qt6/QtCore/qiterable.h \ + /usr/include/qt6/QtCore/qtaggedpointer.h \ + /usr/include/qt6/QtCore/qmetacontainer.h \ + /usr/include/qt6/QtCore/qcontainerinfo.h \ + /usr/include/qt6/QtCore/qscopeguard.h /usr/include/c++/16.1.1/list \ + /usr/include/c++/16.1.1/bits/stl_list.h \ + /usr/include/c++/16.1.1/bits/list.tcc /usr/include/c++/16.1.1/map \ + /usr/include/c++/16.1.1/bits/stl_tree.h \ + /usr/include/c++/16.1.1/bits/stl_map.h \ + /usr/include/c++/16.1.1/bits/stl_multimap.h \ + /usr/include/qt6/QtCore/qobject_impl.h \ + /usr/include/qt6/QtCore/qbindingstorage.h /usr/include/c++/16.1.1/chrono \ + /usr/include/c++/16.1.1/bits/chrono.h /usr/include/c++/16.1.1/ratio \ + /usr/include/c++/16.1.1/ctime /usr/include/qt6/QtCore/qrect.h \ + /usr/include/qt6/QtCore/qcheckedint_impl.h \ + /usr/include/qt6/QtCore/qmargins.h /usr/include/qt6/QtCore/q23utility.h \ + /usr/include/qt6/QtCore/q20utility.h /usr/include/qt6/QtCore/qsize.h \ + /usr/include/qt6/QtCore/qpoint.h /usr/include/qt6/QtGui/qicon.h \ + /usr/include/qt6/QtGui/qpixmap.h /usr/include/qt6/QtGui/qpaintdevice.h \ + /usr/include/qt6/QtGui/qwindowdefs.h /usr/include/qt6/QtGui/qcolor.h \ + /usr/include/qt6/QtGui/qrgb.h /usr/include/qt6/QtGui/qrgba64.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/limits.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /usr/include/bits/uio_lim.h /usr/include/qt6/QtCore/qshareddata.h \ + /usr/include/qt6/QtGui/qimage.h /usr/include/qt6/QtGui/qpixelformat.h \ + /usr/include/qt6/QtGui/qtransform.h /usr/include/qt6/QtGui/qpolygon.h \ + /usr/include/qt6/QtGui/qregion.h /usr/include/qt6/QtCore/qspan.h \ + /usr/include/c++/16.1.1/cassert /usr/include/qt6/QtCore/q20iterator.h \ + /usr/include/qt6/QtCore/qline.h /usr/include/qt6/QtGui/qpalette.h \ + /usr/include/qt6/QtGui/qbrush.h /usr/include/qt6/QtWidgets/qsizepolicy.h \ + /usr/include/qt6/QtCore/qtmochelpers.h \ + /usr/include/qt6/QtCore/qtmocconstants.h \ + /usr/include/qt6/QtCore/q20algorithm.h diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/depend.make b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/depend.make new file mode 100644 index 0000000..f17e951 --- /dev/null +++ b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for cyberqueer. +# This may be replaced when dependencies are built. diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/flags.make b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/flags.make new file mode 100644 index 0000000..989a393 --- /dev/null +++ b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 4.3 + +# compile CXX with /usr/sbin/c++ +CXX_DEFINES = -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -Dcyberqueer_EXPORTS + +CXX_INCLUDES = -I/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/cyberqueer_autogen/include -isystem /usr/include/qt6/QtWidgets -isystem /usr/include/qt6 -isystem /usr/include/qt6/QtCore -isystem /usr/lib/qt6/mkspecs/linux-g++ -isystem /usr/include/qt6/QtGui + +CXX_FLAGS = -O3 -DNDEBUG -std=gnu++17 -fPIC -mno-direct-extern-access + diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/link.d b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/link.d new file mode 100644 index 0000000..680b1cb --- /dev/null +++ b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/link.d @@ -0,0 +1,115 @@ +libcyberqueer.so: \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/crti.o \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtbeginS.o \ + CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.o \ + CMakeFiles/cyberqueer.dir/plugin.cpp.o \ + CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.o \ + /usr/lib/libQt6Widgets.so.6.11.0 \ + /usr/lib/libQt6Gui.so.6.11.0 \ + /usr/lib/libGLX.so \ + /usr/lib/libOpenGL.so \ + /usr/lib/libQt6Core.so.6.11.0 \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libstdc++.so \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libm.so \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libm.so \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libm.so \ + /usr/lib/libm.so.6 \ + /usr/lib/libmvec.so.1 \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libgcc_s.so \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libgcc_s.so \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libgcc_s.so \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libgcc_s.so.1 \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/libgcc.a \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libatomic_asneeded.so \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libatomic_asneeded.so \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libatomic_asneeded.so \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libatomic.so \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libc.so \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libc.so \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libc.so \ + /usr/lib/libc.so.6 \ + /usr/lib/libc_nonshared.a \ + /usr/lib/ld-linux-x86-64.so.2 \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libgcc_s.so \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libgcc_s.so \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libgcc_s.so \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libgcc_s.so.1 \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/libgcc.a \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtendS.o \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/crtn.o + +/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/crti.o: + +/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtbeginS.o: + +CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.o: + +CMakeFiles/cyberqueer.dir/plugin.cpp.o: + +CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.o: + +/usr/lib/libQt6Widgets.so.6.11.0: + +/usr/lib/libQt6Gui.so.6.11.0: + +/usr/lib/libGLX.so: + +/usr/lib/libOpenGL.so: + +/usr/lib/libQt6Core.so.6.11.0: + +/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libstdc++.so: + +/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libm.so: + +/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libm.so: + +/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libm.so: + +/usr/lib/libm.so.6: + +/usr/lib/libmvec.so.1: + +/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libgcc_s.so: + +/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libgcc_s.so: + +/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libgcc_s.so: + +/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libgcc_s.so.1: + +/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/libgcc.a: + +/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libatomic_asneeded.so: + +/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libatomic_asneeded.so: + +/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libatomic_asneeded.so: + +/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libatomic.so: + +/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libc.so: + +/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libc.so: + +/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libc.so: + +/usr/lib/libc.so.6: + +/usr/lib/libc_nonshared.a: + +/usr/lib/ld-linux-x86-64.so.2: + +/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libgcc_s.so: + +/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libgcc_s.so: + +/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libgcc_s.so: + +/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/libgcc_s.so.1: + +/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/libgcc.a: + +/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/crtendS.o: + +/usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../lib/crtn.o: diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/link.txt b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/link.txt new file mode 100644 index 0000000..f0e4f49 --- /dev/null +++ b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/link.txt @@ -0,0 +1 @@ +/usr/sbin/c++ -fPIC -O3 -DNDEBUG -shared -Wl,--dependency-file=CMakeFiles/cyberqueer.dir/link.d -o libcyberqueer.so CMakeFiles/cyberqueer.dir/cyberqueer_autogen/mocs_compilation.cpp.o CMakeFiles/cyberqueer.dir/plugin.cpp.o CMakeFiles/cyberqueer.dir/CyberQueerStyle.cpp.o /usr/lib/libQt6Widgets.so.6.11.0 /usr/lib/libQt6Gui.so.6.11.0 /usr/lib/libGLX.so /usr/lib/libOpenGL.so /usr/lib/libQt6Core.so.6.11.0 diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/plugin.cpp.o b/qt-themes/deprecated/cyberqueer/style-plugin/build/CMakeFiles/cyberqueer.dir/plugin.cpp.o new file mode 100644 index 0000000000000000000000000000000000000000..aba11eb74d337c9e15263ecaa531c057ca76ba89 GIT binary patch literal 13808 zcmd5?ZERcDdA=0=p;@Vh5DmFhOXEG1X}_uf%l_@u^){F1!?-LSy8kB3iJbQ2M5cL48@ZE z*x?Bz^iAyPeWM;ryRc`YHO{$>qB!jd6Ytr+X=dS?Iop zKK-1(pVK&{pW}RjQk(NhO83zRw7%MNmo+^d@44%eDmyDrcREW?AGG|fZvk*twjxxX{mb3JBU(a_Hc4@8W(n|!hh_k%rcdcZ$EdQuy`AY=9(u=zK**%@tC}Y|0 zIrZ;5^>tMck@_#3rL|tC9%b~;!0FTx2uhR{XZd>1CFpy1>2s0V))w&D4}J1o^9UTD70P^~Ck-*H@j(s;ty3Qv)6%&{+xWUPdQb&gBD00z(@2 zTem5B*!;Jzj@JD>y~paWshF+m@mzk-Pn~q?|2^T4I_4l2Xp}y-cJzNfl}q7=wXO!vIAMlSczt z3XL2`BPaaDf|n`OX7WXZ{Qni*Lf)LAPsAGcFZ%bFE2Rrw&fjH4wsl2b=~(D5Rc7K% zJU;Hn$5nGivN^w0Sv*$sy~=bp=S6F6+q>ntspH;a^)D_oyZrher2QZJ2wFNx7E`pX z$E?>>7qL1mjQHppGyY#CUE5kM9ZjVki1i;GJ9%%+9*EmmSYS3%!v$ZrR?sO3GjZdkzR= z2?Q+gqG=D-u^AXcZlEpRM-QA$fpn54qK;|q8D~_cMf-r(f8r5^w&EA{Svrc z;3Ih;P zxX=2JgJ-0>_e&ka-F-{Z@$T5eJG%RZyL%6Jcc!`sJGxH!*HkPJzkgsk^z8=`ShraJ z(RNZst?stsQR`L%juXp9imDS#J6vs)8!Dpebh81rq83g%8!6i8?bf=eIt8_2C`B!t zidqR{H)7q}0Hq%RM6F#7Tr$C#s2K+t)2E0bLh-@)07;5`)Vdo<3oTNqL(?x2`3B(; z3nMC^vy!1Ss`;tGgx{wZRlbWlI70YAt`R>`jB5J1+N!IubB7cg>DLwBILjiT)920d>m{^qzetmg{rq2?%h$H0Hjc8upe%+=iYQVQR@0e1;+7l*GH@NXIL z?;7x*8SoAocmc)6r9p z*$10!`C`@27IR+ukSkee`XH8#3gWp^0s6-bcaeQbk|A4uKKC#=^~iag{3ld7Ribl! z(LXk3C*7l?j~qEX>bhgDy+1(`Xn^ZyXUvMzuAfe)H?us@#_|cTP|A@r#hE{d_4sHi zv55=A2h#JXJ~*B!<#CBQHaH$cAk9^ejU5{IGnM>&*7xjzafE1cvFweMDoBnQf|?$j z@%&-B8l~scV{{!I;s)<&h0%|1tyj~m>#6V1*G+IgHtNYI(XwD8!2Q;WsyoIdF{ z4aY#P;?WdHpEy29F|N@3w1yvzSG?)C>&`4JxMi}2uDd~wP>;ZR6KmiOC=7qf9!d>wS9>oc5 zG4;32i*hbo^~q??s`{1O9JZg(w6HgD-jG&WPc~a)T1Tm7V{^I52}66x?@80@in>!{ zb^_sA$ez#7+eyk-^KPz?tyW#17G~Nsr%P$2q}4OTLptPuH&5GJIx{eyMn)Vhfv{t5yBd9P_nvYG1BYEYkKo zR`T=Hi!>K`(Wgaywxl+BX_`GSm9KsvcWY?u_UmzT_edVtxPv`f$(CvEo4P8k_7H59 z=!~1&OZU?{MdCER=V_6lO-P+PYBU{MAv%xU&4)AGfbqYN|Ds2Bko>;_M}7G}3RsWg ziwHPf(Hi`?zk>vqduuI#)te4(<)Z&DHT=^WUS}Ns#5DX_#_9N|-grdM-!LAw`*$H6 z?>nHEf@FiA|I9e_<1{P!UpMgoCWMRr--U3wM@RX7B7TbgPR3#P0DT1iB;$w!-b@6) zQ`0k`;d?b4{UY(dPt!lB@!KJO(LbQ^<846jvc`}9qYcpq^pwW`0F{Mb-VxERehtrP zdT=)t{%>n~KCj{bsNwi8k?^C9pzyfW@fg($e-D_6;Lk4l2u{~8Md9%#?+0Q2&oDpm zJ@gSh@}dP?AJ3vEtY7#s9`Gt6dgKKOdSFZNdnpeBuFs?W3Jq}F&V+wf!*xH)8jf3@ z@XN~#^y}lFu5pTh>w3h0;JTiG8*gX97?C?5T`Ls<{{rWcNImew8m{v{q~SXMJsK`? zhMq$j9^*Xl2Q?gH5(Ip=$^~C&I|%sQDi?fVE`Wd^QMur2i1WZxoJZnt9{4clkz_az zJk5C|r#TONg!4$waUQs=y?|ylTxn)ud=UYczCihTd=UZ1N8+^(kO&yo z6rndc16<}TpkHbD4$dRlf&dVKzf0wUuRaY&U4rXA8^VVeKcL~_BdX47IM#U~Ps714 z>&SwJ!|pjQ%ex*he57o}tBZ4f_B^G2B}iu_M`!bxDFZc0E2|bEP8XC3n){Ox| z|K@G=|Hj3w_)IS6dJ8$P?9(y&e8Kxr))A)8S7@`6HB{F%#0A+?a3;e3D0`cvCVAQ4^-_Mrf1e>URs^#I8uvLGly%ZR{^sTm39A>$u=y|C1!wuK%vF|EnyB{sR>D{{q|Z2-*K@ zwjZ`9ev3aZvwYb9D=fcD7=d(q(k!lwcO8RzgHzrG6l|6{Sw`X%`nwlBYn5MPaJtI&6I_OUv?Xl+*KD7X7W!AVk1?ZD*gk%z1S}kX)v1I_`$b1Mes_``$VWpC z^kGmCh2_Qnpw_Z(C;4{cXN}wMFeBQJxg_$Uchq1%!S)x#5T_z9@KJ;PPCUjF$$Kg6 z+pdj>~FZ7B6)Q6P{_U$BaleO3G6566SjZaU?0EF0ttUm+E|`2 z*gqEwBy{`OBSfFzm)Jgh)9D=B=ViQ6g;;?kz0C3f+WdZs<(o*56FI@ZP4eyL&oeBa z5k^kMe}TWl_Cw*f-eCE)kioD#eq2s}){rRVbRiaGC*Qw25PA)b( + +#include + +#include + + +#include +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'CyberQueerStyle.h' doesn't include ." +#elif Q_MOC_OUTPUT_REVISION != 69 +#error "This file was generated using the moc from 6.11.0. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +#ifndef Q_CONSTINIT +#define Q_CONSTINIT +#endif + +QT_WARNING_PUSH +QT_WARNING_DISABLE_DEPRECATED +QT_WARNING_DISABLE_GCC("-Wuseless-cast") +namespace { +struct qt_meta_tag_ZN15CyberQueerStyleE_t {}; +} // unnamed namespace + +template <> constexpr inline auto CyberQueerStyle::qt_create_metaobjectdata() +{ + namespace QMC = QtMocConstants; + QtMocHelpers::StringRefStorage qt_stringData { + "CyberQueerStyle" + }; + + QtMocHelpers::UintData qt_methods { + }; + QtMocHelpers::UintData qt_properties { + }; + QtMocHelpers::UintData qt_enums { + }; + return QtMocHelpers::metaObjectData(QMC::MetaObjectFlag{}, qt_stringData, + qt_methods, qt_properties, qt_enums); +} +Q_CONSTINIT const QMetaObject CyberQueerStyle::staticMetaObject = { { + QMetaObject::SuperData::link(), + qt_staticMetaObjectStaticContent.stringdata, + qt_staticMetaObjectStaticContent.data, + qt_static_metacall, + nullptr, + qt_staticMetaObjectRelocatingContent.metaTypes, + nullptr +} }; + +void CyberQueerStyle::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + auto *_t = static_cast(_o); + (void)_t; + (void)_c; + (void)_id; + (void)_a; +} + +const QMetaObject *CyberQueerStyle::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; +} + +void *CyberQueerStyle::qt_metacast(const char *_clname) +{ + if (!_clname) return nullptr; + if (!strcmp(_clname, qt_staticMetaObjectStaticContent.strings)) + return static_cast(this); + return QProxyStyle::qt_metacast(_clname); +} + +int CyberQueerStyle::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QProxyStyle::qt_metacall(_c, _id, _a); + return _id; +} +QT_WARNING_POP diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/cyberqueer_autogen/EWIEGA46WW/moc_CyberQueerStyle.cpp.d b/qt-themes/deprecated/cyberqueer/style-plugin/build/cyberqueer_autogen/EWIEGA46WW/moc_CyberQueerStyle.cpp.d new file mode 100644 index 0000000..8a5954a --- /dev/null +++ b/qt-themes/deprecated/cyberqueer/style-plugin/build/cyberqueer_autogen/EWIEGA46WW/moc_CyberQueerStyle.cpp.d @@ -0,0 +1,423 @@ +/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/cyberqueer_autogen/EWIEGA46WW/moc_CyberQueerStyle.cpp: /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/CyberQueerStyle.h \ + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/cyberqueer_autogen/moc_predefs.h \ + /usr/include/alloca.h \ + /usr/include/asm-generic/bitsperlong.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/int-ll64.h \ + /usr/include/asm-generic/posix_types.h \ + /usr/include/asm-generic/types.h \ + /usr/include/asm/bitsperlong.h \ + /usr/include/asm/errno.h \ + /usr/include/asm/posix_types.h \ + /usr/include/asm/posix_types_64.h \ + /usr/include/asm/types.h \ + /usr/include/assert.h \ + /usr/include/bits/atomic_wide_counter.h \ + /usr/include/bits/byteswap.h \ + /usr/include/bits/cpu-set.h \ + /usr/include/bits/endian.h \ + /usr/include/bits/endianness.h \ + /usr/include/bits/errno.h \ + /usr/include/bits/floatn-common.h \ + /usr/include/bits/floatn.h \ + /usr/include/bits/libc-header-start.h \ + /usr/include/bits/local_lim.h \ + /usr/include/bits/locale.h \ + /usr/include/bits/long-double.h \ + /usr/include/bits/posix1_lim.h \ + /usr/include/bits/posix2_lim.h \ + /usr/include/bits/pthread_stack_min-dynamic.h \ + /usr/include/bits/pthreadtypes-arch.h \ + /usr/include/bits/pthreadtypes.h \ + /usr/include/bits/sched.h \ + /usr/include/bits/select.h \ + /usr/include/bits/setjmp.h \ + /usr/include/bits/stdint-intn.h \ + /usr/include/bits/stdint-least.h \ + /usr/include/bits/stdint-uintn.h \ + /usr/include/bits/stdio_lim.h \ + /usr/include/bits/stdlib-float.h \ + /usr/include/bits/struct_mutex.h \ + /usr/include/bits/struct_rwlock.h \ + /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/time.h \ + /usr/include/bits/time64.h \ + /usr/include/bits/timesize.h \ + /usr/include/bits/timex.h \ + /usr/include/bits/types.h \ + /usr/include/bits/types/FILE.h \ + /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/__fpos64_t.h \ + /usr/include/bits/types/__fpos_t.h \ + /usr/include/bits/types/__locale_t.h \ + /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/clock_t.h \ + /usr/include/bits/types/clockid_t.h \ + /usr/include/bits/types/cookie_io_functions_t.h \ + /usr/include/bits/types/error_t.h \ + /usr/include/bits/types/locale_t.h \ + /usr/include/bits/types/mbstate_t.h \ + /usr/include/bits/types/sigset_t.h \ + /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/types/struct___jmp_buf_tag.h \ + /usr/include/bits/types/struct_itimerspec.h \ + /usr/include/bits/types/struct_sched_param.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_tm.h \ + /usr/include/bits/types/time_t.h \ + /usr/include/bits/types/timer_t.h \ + /usr/include/bits/types/wint_t.h \ + /usr/include/bits/typesizes.h \ + /usr/include/bits/uintn-identity.h \ + /usr/include/bits/uio_lim.h \ + /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h \ + /usr/include/bits/wchar.h \ + /usr/include/bits/wordsize.h \ + /usr/include/bits/xopen_lim.h \ + /usr/include/c++/16.1.1/algorithm \ + /usr/include/c++/16.1.1/array \ + /usr/include/c++/16.1.1/atomic \ + /usr/include/c++/16.1.1/backward/auto_ptr.h \ + /usr/include/c++/16.1.1/backward/binders.h \ + /usr/include/c++/16.1.1/bit \ + /usr/include/c++/16.1.1/bits/algorithmfwd.h \ + /usr/include/c++/16.1.1/bits/align.h \ + /usr/include/c++/16.1.1/bits/alloc_traits.h \ + /usr/include/c++/16.1.1/bits/allocated_ptr.h \ + /usr/include/c++/16.1.1/bits/allocator.h \ + /usr/include/c++/16.1.1/bits/atomic_base.h \ + /usr/include/c++/16.1.1/bits/atomic_lockfree_defines.h \ + /usr/include/c++/16.1.1/bits/basic_string.h \ + /usr/include/c++/16.1.1/bits/basic_string.tcc \ + /usr/include/c++/16.1.1/bits/char_traits.h \ + /usr/include/c++/16.1.1/bits/charconv.h \ + /usr/include/c++/16.1.1/bits/chrono.h \ + /usr/include/c++/16.1.1/bits/concept_check.h \ + /usr/include/c++/16.1.1/bits/cpp_type_traits.h \ + /usr/include/c++/16.1.1/bits/cxxabi_forced.h \ + /usr/include/c++/16.1.1/bits/cxxabi_init_exception.h \ + /usr/include/c++/16.1.1/bits/enable_special_members.h \ + /usr/include/c++/16.1.1/bits/erase_if.h \ + /usr/include/c++/16.1.1/bits/exception.h \ + /usr/include/c++/16.1.1/bits/exception_defines.h \ + /usr/include/c++/16.1.1/bits/exception_ptr.h \ + /usr/include/c++/16.1.1/bits/functexcept.h \ + /usr/include/c++/16.1.1/bits/functional_hash.h \ + /usr/include/c++/16.1.1/bits/hash_bytes.h \ + /usr/include/c++/16.1.1/bits/hashtable.h \ + /usr/include/c++/16.1.1/bits/hashtable_policy.h \ + /usr/include/c++/16.1.1/bits/invoke.h \ + /usr/include/c++/16.1.1/bits/ios_base.h \ + /usr/include/c++/16.1.1/bits/list.tcc \ + /usr/include/c++/16.1.1/bits/locale_classes.h \ + /usr/include/c++/16.1.1/bits/locale_classes.tcc \ + /usr/include/c++/16.1.1/bits/localefwd.h \ + /usr/include/c++/16.1.1/bits/memory_resource.h \ + /usr/include/c++/16.1.1/bits/memoryfwd.h \ + /usr/include/c++/16.1.1/bits/move.h \ + /usr/include/c++/16.1.1/bits/nested_exception.h \ + /usr/include/c++/16.1.1/bits/new_allocator.h \ + /usr/include/c++/16.1.1/bits/new_except.h \ + /usr/include/c++/16.1.1/bits/new_throw.h \ + /usr/include/c++/16.1.1/bits/node_handle.h \ + /usr/include/c++/16.1.1/bits/ostream_insert.h \ + /usr/include/c++/16.1.1/bits/parse_numbers.h \ + /usr/include/c++/16.1.1/bits/postypes.h \ + /usr/include/c++/16.1.1/bits/predefined_ops.h \ + /usr/include/c++/16.1.1/bits/ptr_traits.h \ + /usr/include/c++/16.1.1/bits/range_access.h \ + /usr/include/c++/16.1.1/bits/refwrap.h \ + /usr/include/c++/16.1.1/bits/requires_hosted.h \ + /usr/include/c++/16.1.1/bits/shared_ptr.h \ + /usr/include/c++/16.1.1/bits/shared_ptr_atomic.h \ + /usr/include/c++/16.1.1/bits/shared_ptr_base.h \ + /usr/include/c++/16.1.1/bits/specfun.h \ + /usr/include/c++/16.1.1/bits/std_abs.h \ + /usr/include/c++/16.1.1/bits/std_function.h \ + /usr/include/c++/16.1.1/bits/stdexcept_except.h \ + /usr/include/c++/16.1.1/bits/stdexcept_throw.h \ + /usr/include/c++/16.1.1/bits/stdexcept_throwfwd.h \ + /usr/include/c++/16.1.1/bits/stl_algo.h \ + /usr/include/c++/16.1.1/bits/stl_algobase.h \ + /usr/include/c++/16.1.1/bits/stl_bvector.h \ + /usr/include/c++/16.1.1/bits/stl_construct.h \ + /usr/include/c++/16.1.1/bits/stl_function.h \ + /usr/include/c++/16.1.1/bits/stl_heap.h \ + /usr/include/c++/16.1.1/bits/stl_iterator.h \ + /usr/include/c++/16.1.1/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/16.1.1/bits/stl_iterator_base_types.h \ + /usr/include/c++/16.1.1/bits/stl_list.h \ + /usr/include/c++/16.1.1/bits/stl_map.h \ + /usr/include/c++/16.1.1/bits/stl_multimap.h \ + /usr/include/c++/16.1.1/bits/stl_numeric.h \ + /usr/include/c++/16.1.1/bits/stl_pair.h \ + /usr/include/c++/16.1.1/bits/stl_raw_storage_iter.h \ + /usr/include/c++/16.1.1/bits/stl_relops.h \ + /usr/include/c++/16.1.1/bits/stl_tempbuf.h \ + /usr/include/c++/16.1.1/bits/stl_tree.h \ + /usr/include/c++/16.1.1/bits/stl_uninitialized.h \ + /usr/include/c++/16.1.1/bits/stl_vector.h \ + /usr/include/c++/16.1.1/bits/stream_iterator.h \ + /usr/include/c++/16.1.1/bits/streambuf.tcc \ + /usr/include/c++/16.1.1/bits/streambuf_iterator.h \ + /usr/include/c++/16.1.1/bits/string_view.tcc \ + /usr/include/c++/16.1.1/bits/stringfwd.h \ + /usr/include/c++/16.1.1/bits/uniform_int_dist.h \ + /usr/include/c++/16.1.1/bits/unique_ptr.h \ + /usr/include/c++/16.1.1/bits/unordered_map.h \ + /usr/include/c++/16.1.1/bits/uses_allocator.h \ + /usr/include/c++/16.1.1/bits/uses_allocator_args.h \ + /usr/include/c++/16.1.1/bits/utility.h \ + /usr/include/c++/16.1.1/bits/vector.tcc \ + /usr/include/c++/16.1.1/bits/version.h \ + /usr/include/c++/16.1.1/cassert \ + /usr/include/c++/16.1.1/cctype \ + /usr/include/c++/16.1.1/cerrno \ + /usr/include/c++/16.1.1/chrono \ + /usr/include/c++/16.1.1/clocale \ + /usr/include/c++/16.1.1/cmath \ + /usr/include/c++/16.1.1/compare \ + /usr/include/c++/16.1.1/concepts \ + /usr/include/c++/16.1.1/cstddef \ + /usr/include/c++/16.1.1/cstdint \ + /usr/include/c++/16.1.1/cstdio \ + /usr/include/c++/16.1.1/cstdlib \ + /usr/include/c++/16.1.1/cstring \ + /usr/include/c++/16.1.1/ctime \ + /usr/include/c++/16.1.1/cwchar \ + /usr/include/c++/16.1.1/debug/assertions.h \ + /usr/include/c++/16.1.1/debug/debug.h \ + /usr/include/c++/16.1.1/exception \ + /usr/include/c++/16.1.1/ext/aligned_buffer.h \ + /usr/include/c++/16.1.1/ext/alloc_traits.h \ + /usr/include/c++/16.1.1/ext/atomicity.h \ + /usr/include/c++/16.1.1/ext/concurrence.h \ + /usr/include/c++/16.1.1/ext/numeric_traits.h \ + /usr/include/c++/16.1.1/ext/string_conversions.h \ + /usr/include/c++/16.1.1/ext/type_traits.h \ + /usr/include/c++/16.1.1/functional \ + /usr/include/c++/16.1.1/initializer_list \ + /usr/include/c++/16.1.1/iosfwd \ + /usr/include/c++/16.1.1/iterator \ + /usr/include/c++/16.1.1/limits \ + /usr/include/c++/16.1.1/list \ + /usr/include/c++/16.1.1/map \ + /usr/include/c++/16.1.1/memory \ + /usr/include/c++/16.1.1/new \ + /usr/include/c++/16.1.1/numeric \ + /usr/include/c++/16.1.1/optional \ + /usr/include/c++/16.1.1/pstl/execution_defs.h \ + /usr/include/c++/16.1.1/pstl/glue_numeric_defs.h \ + /usr/include/c++/16.1.1/pstl/pstl_config.h \ + /usr/include/c++/16.1.1/ratio \ + /usr/include/c++/16.1.1/stdexcept \ + /usr/include/c++/16.1.1/streambuf \ + /usr/include/c++/16.1.1/string \ + /usr/include/c++/16.1.1/string_view \ + /usr/include/c++/16.1.1/system_error \ + /usr/include/c++/16.1.1/tr1/bessel_function.tcc \ + /usr/include/c++/16.1.1/tr1/beta_function.tcc \ + /usr/include/c++/16.1.1/tr1/ell_integral.tcc \ + /usr/include/c++/16.1.1/tr1/exp_integral.tcc \ + /usr/include/c++/16.1.1/tr1/gamma.tcc \ + /usr/include/c++/16.1.1/tr1/hypergeometric.tcc \ + /usr/include/c++/16.1.1/tr1/legendre_function.tcc \ + /usr/include/c++/16.1.1/tr1/modified_bessel_func.tcc \ + /usr/include/c++/16.1.1/tr1/poly_hermite.tcc \ + /usr/include/c++/16.1.1/tr1/poly_laguerre.tcc \ + /usr/include/c++/16.1.1/tr1/riemann_zeta.tcc \ + /usr/include/c++/16.1.1/tr1/special_function_util.h \ + /usr/include/c++/16.1.1/tuple \ + /usr/include/c++/16.1.1/type_traits \ + /usr/include/c++/16.1.1/typeinfo \ + /usr/include/c++/16.1.1/unordered_map \ + /usr/include/c++/16.1.1/utility \ + /usr/include/c++/16.1.1/variant \ + /usr/include/c++/16.1.1/vector \ + /usr/include/c++/16.1.1/version \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/atomic_word.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++allocator.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++config.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++locale.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/cpu_defines.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/error_constants.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/gthr.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/os_defines.h \ + /usr/include/ctype.h \ + /usr/include/endian.h \ + /usr/include/errno.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/gnu/stubs-64.h \ + /usr/include/gnu/stubs.h \ + /usr/include/limits.h \ + /usr/include/linux/errno.h \ + /usr/include/linux/limits.h \ + /usr/include/linux/posix_types.h \ + /usr/include/linux/sched/types.h \ + /usr/include/linux/stddef.h \ + /usr/include/linux/types.h \ + /usr/include/locale.h \ + /usr/include/pthread.h \ + /usr/include/qt6/QtCore/q17memory.h \ + /usr/include/qt6/QtCore/q20bit.h \ + /usr/include/qt6/QtCore/q20functional.h \ + /usr/include/qt6/QtCore/q20iterator.h \ + /usr/include/qt6/QtCore/q20memory.h \ + /usr/include/qt6/QtCore/q20type_traits.h \ + /usr/include/qt6/QtCore/q20utility.h \ + /usr/include/qt6/QtCore/q23type_traits.h \ + /usr/include/qt6/QtCore/q23utility.h \ + /usr/include/qt6/QtCore/qalgorithms.h \ + /usr/include/qt6/QtCore/qanystringview.h \ + /usr/include/qt6/QtCore/qarraydata.h \ + /usr/include/qt6/QtCore/qarraydataops.h \ + /usr/include/qt6/QtCore/qarraydatapointer.h \ + /usr/include/qt6/QtCore/qassert.h \ + /usr/include/qt6/QtCore/qatomic.h \ + /usr/include/qt6/QtCore/qatomic_cxx11.h \ + /usr/include/qt6/QtCore/qbasicatomic.h \ + /usr/include/qt6/QtCore/qbindingstorage.h \ + /usr/include/qt6/QtCore/qbytearray.h \ + /usr/include/qt6/QtCore/qbytearrayalgorithms.h \ + /usr/include/qt6/QtCore/qbytearraylist.h \ + /usr/include/qt6/QtCore/qbytearrayview.h \ + /usr/include/qt6/QtCore/qchar.h \ + /usr/include/qt6/QtCore/qcheckedint_impl.h \ + /usr/include/qt6/QtCore/qcompare.h \ + /usr/include/qt6/QtCore/qcompare_impl.h \ + /usr/include/qt6/QtCore/qcomparehelpers.h \ + /usr/include/qt6/QtCore/qcompilerdetection.h \ + /usr/include/qt6/QtCore/qconfig.h \ + /usr/include/qt6/QtCore/qconstructormacros.h \ + /usr/include/qt6/QtCore/qcontainerfwd.h \ + /usr/include/qt6/QtCore/qcontainerinfo.h \ + /usr/include/qt6/QtCore/qcontainertools_impl.h \ + /usr/include/qt6/QtCore/qdarwinhelpers.h \ + /usr/include/qt6/QtCore/qdatastream.h \ + /usr/include/qt6/QtCore/qexceptionhandling.h \ + /usr/include/qt6/QtCore/qflags.h \ + /usr/include/qt6/QtCore/qfloat16.h \ + /usr/include/qt6/QtCore/qforeach.h \ + /usr/include/qt6/QtCore/qfunctionaltools_impl.h \ + /usr/include/qt6/QtCore/qfunctionpointer.h \ + /usr/include/qt6/QtCore/qgenericatomic.h \ + /usr/include/qt6/QtCore/qglobal.h \ + /usr/include/qt6/QtCore/qglobalstatic.h \ + /usr/include/qt6/QtCore/qhashfunctions.h \ + /usr/include/qt6/QtCore/qiodevicebase.h \ + /usr/include/qt6/QtCore/qiterable.h \ + /usr/include/qt6/QtCore/qiterator.h \ + /usr/include/qt6/QtCore/qlatin1stringview.h \ + /usr/include/qt6/QtCore/qline.h \ + /usr/include/qt6/QtCore/qlist.h \ + /usr/include/qt6/QtCore/qlogging.h \ + /usr/include/qt6/QtCore/qmalloc.h \ + /usr/include/qt6/QtCore/qmargins.h \ + /usr/include/qt6/QtCore/qmath.h \ + /usr/include/qt6/QtCore/qmetacontainer.h \ + /usr/include/qt6/QtCore/qmetatype.h \ + /usr/include/qt6/QtCore/qminmax.h \ + /usr/include/qt6/QtCore/qnamespace.h \ + /usr/include/qt6/QtCore/qnumeric.h \ + /usr/include/qt6/QtCore/qobject.h \ + /usr/include/qt6/QtCore/qobject_impl.h \ + /usr/include/qt6/QtCore/qobjectdefs.h \ + /usr/include/qt6/QtCore/qobjectdefs_impl.h \ + /usr/include/qt6/QtCore/qoverload.h \ + /usr/include/qt6/QtCore/qpair.h \ + /usr/include/qt6/QtCore/qpoint.h \ + /usr/include/qt6/QtCore/qprocessordetection.h \ + /usr/include/qt6/QtCore/qrect.h \ + /usr/include/qt6/QtCore/qrefcount.h \ + /usr/include/qt6/QtCore/qscopedpointer.h \ + /usr/include/qt6/QtCore/qscopeguard.h \ + /usr/include/qt6/QtCore/qshareddata.h \ + /usr/include/qt6/QtCore/qsize.h \ + /usr/include/qt6/QtCore/qspan.h \ + /usr/include/qt6/QtCore/qstdlibdetection.h \ + /usr/include/qt6/QtCore/qstring.h \ + /usr/include/qt6/QtCore/qstringalgorithms.h \ + /usr/include/qt6/QtCore/qstringbuilder.h \ + /usr/include/qt6/QtCore/qstringconverter.h \ + /usr/include/qt6/QtCore/qstringconverter_base.h \ + /usr/include/qt6/QtCore/qstringfwd.h \ + /usr/include/qt6/QtCore/qstringlist.h \ + /usr/include/qt6/QtCore/qstringmatcher.h \ + /usr/include/qt6/QtCore/qstringtokenizer.h \ + /usr/include/qt6/QtCore/qstringview.h \ + /usr/include/qt6/QtCore/qswap.h \ + /usr/include/qt6/QtCore/qsysinfo.h \ + /usr/include/qt6/QtCore/qsystemdetection.h \ + /usr/include/qt6/QtCore/qtaggedpointer.h \ + /usr/include/qt6/QtCore/qtclasshelpermacros.h \ + /usr/include/qt6/QtCore/qtconfiginclude.h \ + /usr/include/qt6/QtCore/qtconfigmacros.h \ + /usr/include/qt6/QtCore/qtcore-config.h \ + /usr/include/qt6/QtCore/qtcoreexports.h \ + /usr/include/qt6/QtCore/qtcoreglobal.h \ + /usr/include/qt6/QtCore/qtdeprecationdefinitions.h \ + /usr/include/qt6/QtCore/qtdeprecationmarkers.h \ + /usr/include/qt6/QtCore/qtenvironmentvariables.h \ + /usr/include/qt6/QtCore/qtformat_impl.h \ + /usr/include/qt6/QtCore/qtmetamacros.h \ + /usr/include/qt6/QtCore/qtnoop.h \ + /usr/include/qt6/QtCore/qtpreprocessorsupport.h \ + /usr/include/qt6/QtCore/qtresource.h \ + /usr/include/qt6/QtCore/qttranslation.h \ + /usr/include/qt6/QtCore/qttypetraits.h \ + /usr/include/qt6/QtCore/qtversion.h \ + /usr/include/qt6/QtCore/qtversionchecks.h \ + /usr/include/qt6/QtCore/qtypeinfo.h \ + /usr/include/qt6/QtCore/qtypes.h \ + /usr/include/qt6/QtCore/qutf8stringview.h \ + /usr/include/qt6/QtCore/qversiontagging.h \ + /usr/include/qt6/QtCore/qxptype_traits.h \ + /usr/include/qt6/QtCore/qyieldcpu.h \ + /usr/include/qt6/QtGui/qbrush.h \ + /usr/include/qt6/QtGui/qcolor.h \ + /usr/include/qt6/QtGui/qicon.h \ + /usr/include/qt6/QtGui/qimage.h \ + /usr/include/qt6/QtGui/qpaintdevice.h \ + /usr/include/qt6/QtGui/qpalette.h \ + /usr/include/qt6/QtGui/qpixelformat.h \ + /usr/include/qt6/QtGui/qpixmap.h \ + /usr/include/qt6/QtGui/qpolygon.h \ + /usr/include/qt6/QtGui/qregion.h \ + /usr/include/qt6/QtGui/qrgb.h \ + /usr/include/qt6/QtGui/qrgba64.h \ + /usr/include/qt6/QtGui/qtgui-config.h \ + /usr/include/qt6/QtGui/qtguiexports.h \ + /usr/include/qt6/QtGui/qtguiglobal.h \ + /usr/include/qt6/QtGui/qtransform.h \ + /usr/include/qt6/QtGui/qwindowdefs.h \ + /usr/include/qt6/QtWidgets/QCommonStyle \ + /usr/include/qt6/QtWidgets/QProxyStyle \ + /usr/include/qt6/QtWidgets/qcommonstyle.h \ + /usr/include/qt6/QtWidgets/qproxystyle.h \ + /usr/include/qt6/QtWidgets/qsizepolicy.h \ + /usr/include/qt6/QtWidgets/qstyle.h \ + /usr/include/qt6/QtWidgets/qtwidgets-config.h \ + /usr/include/qt6/QtWidgets/qtwidgetsexports.h \ + /usr/include/qt6/QtWidgets/qtwidgetsglobal.h \ + /usr/include/sched.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/stdio.h \ + /usr/include/stdlib.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/sys/cdefs.h \ + /usr/include/sys/select.h \ + /usr/include/sys/single_threaded.h \ + /usr/include/sys/types.h \ + /usr/include/time.h \ + /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdarg.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdbool.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stddef.h diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/cyberqueer_autogen/deps b/qt-themes/deprecated/cyberqueer/style-plugin/build/cyberqueer_autogen/deps new file mode 100644 index 0000000..7b5a7ad --- /dev/null +++ b/qt-themes/deprecated/cyberqueer/style-plugin/build/cyberqueer_autogen/deps @@ -0,0 +1,976 @@ +cyberqueer_autogen/timestamp: \ + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/CMakeLists.txt \ + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/CyberQueerStyle.cpp \ + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/CyberQueerStyle.h \ + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CMakeCCompiler.cmake \ + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CMakeCXXCompiler.cmake \ + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/CMakeFiles/4.3.2/CMakeSystem.cmake \ + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/cyberqueer_autogen/moc_predefs.h \ + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/cyberqueer.json \ + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/plugin.cpp \ + /usr/include/alloca.h \ + /usr/include/asm-generic/bitsperlong.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/int-ll64.h \ + /usr/include/asm-generic/posix_types.h \ + /usr/include/asm-generic/types.h \ + /usr/include/asm/bitsperlong.h \ + /usr/include/asm/errno.h \ + /usr/include/asm/posix_types.h \ + /usr/include/asm/posix_types_64.h \ + /usr/include/asm/types.h \ + /usr/include/assert.h \ + /usr/include/bits/atomic_wide_counter.h \ + /usr/include/bits/byteswap.h \ + /usr/include/bits/cpu-set.h \ + /usr/include/bits/endian.h \ + /usr/include/bits/endianness.h \ + /usr/include/bits/errno.h \ + /usr/include/bits/floatn-common.h \ + /usr/include/bits/floatn.h \ + /usr/include/bits/libc-header-start.h \ + /usr/include/bits/local_lim.h \ + /usr/include/bits/locale.h \ + /usr/include/bits/long-double.h \ + /usr/include/bits/posix1_lim.h \ + /usr/include/bits/posix2_lim.h \ + /usr/include/bits/pthread_stack_min-dynamic.h \ + /usr/include/bits/pthreadtypes-arch.h \ + /usr/include/bits/pthreadtypes.h \ + /usr/include/bits/sched.h \ + /usr/include/bits/select.h \ + /usr/include/bits/setjmp.h \ + /usr/include/bits/stdint-intn.h \ + /usr/include/bits/stdint-least.h \ + /usr/include/bits/stdint-uintn.h \ + /usr/include/bits/stdio_lim.h \ + /usr/include/bits/stdlib-float.h \ + /usr/include/bits/struct_mutex.h \ + /usr/include/bits/struct_rwlock.h \ + /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/time.h \ + /usr/include/bits/time64.h \ + /usr/include/bits/timesize.h \ + /usr/include/bits/timex.h \ + /usr/include/bits/types.h \ + /usr/include/bits/types/FILE.h \ + /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/__fpos64_t.h \ + /usr/include/bits/types/__fpos_t.h \ + /usr/include/bits/types/__locale_t.h \ + /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/clock_t.h \ + /usr/include/bits/types/clockid_t.h \ + /usr/include/bits/types/cookie_io_functions_t.h \ + /usr/include/bits/types/error_t.h \ + /usr/include/bits/types/locale_t.h \ + /usr/include/bits/types/mbstate_t.h \ + /usr/include/bits/types/sigset_t.h \ + /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/types/struct___jmp_buf_tag.h \ + /usr/include/bits/types/struct_itimerspec.h \ + /usr/include/bits/types/struct_sched_param.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_tm.h \ + /usr/include/bits/types/time_t.h \ + /usr/include/bits/types/timer_t.h \ + /usr/include/bits/types/wint_t.h \ + /usr/include/bits/typesizes.h \ + /usr/include/bits/uintn-identity.h \ + /usr/include/bits/uio_lim.h \ + /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h \ + /usr/include/bits/wchar.h \ + /usr/include/bits/wordsize.h \ + /usr/include/bits/xopen_lim.h \ + /usr/include/c++/16.1.1/algorithm \ + /usr/include/c++/16.1.1/array \ + /usr/include/c++/16.1.1/atomic \ + /usr/include/c++/16.1.1/backward/auto_ptr.h \ + /usr/include/c++/16.1.1/backward/binders.h \ + /usr/include/c++/16.1.1/bit \ + /usr/include/c++/16.1.1/bits/algorithmfwd.h \ + /usr/include/c++/16.1.1/bits/align.h \ + /usr/include/c++/16.1.1/bits/alloc_traits.h \ + /usr/include/c++/16.1.1/bits/allocated_ptr.h \ + /usr/include/c++/16.1.1/bits/allocator.h \ + /usr/include/c++/16.1.1/bits/atomic_base.h \ + /usr/include/c++/16.1.1/bits/atomic_lockfree_defines.h \ + /usr/include/c++/16.1.1/bits/basic_string.h \ + /usr/include/c++/16.1.1/bits/basic_string.tcc \ + /usr/include/c++/16.1.1/bits/char_traits.h \ + /usr/include/c++/16.1.1/bits/charconv.h \ + /usr/include/c++/16.1.1/bits/chrono.h \ + /usr/include/c++/16.1.1/bits/concept_check.h \ + /usr/include/c++/16.1.1/bits/cpp_type_traits.h \ + /usr/include/c++/16.1.1/bits/cxxabi_forced.h \ + /usr/include/c++/16.1.1/bits/cxxabi_init_exception.h \ + /usr/include/c++/16.1.1/bits/enable_special_members.h \ + /usr/include/c++/16.1.1/bits/erase_if.h \ + /usr/include/c++/16.1.1/bits/exception.h \ + /usr/include/c++/16.1.1/bits/exception_defines.h \ + /usr/include/c++/16.1.1/bits/exception_ptr.h \ + /usr/include/c++/16.1.1/bits/functexcept.h \ + /usr/include/c++/16.1.1/bits/functional_hash.h \ + /usr/include/c++/16.1.1/bits/hash_bytes.h \ + /usr/include/c++/16.1.1/bits/hashtable.h \ + /usr/include/c++/16.1.1/bits/hashtable_policy.h \ + /usr/include/c++/16.1.1/bits/invoke.h \ + /usr/include/c++/16.1.1/bits/ios_base.h \ + /usr/include/c++/16.1.1/bits/list.tcc \ + /usr/include/c++/16.1.1/bits/locale_classes.h \ + /usr/include/c++/16.1.1/bits/locale_classes.tcc \ + /usr/include/c++/16.1.1/bits/localefwd.h \ + /usr/include/c++/16.1.1/bits/memory_resource.h \ + /usr/include/c++/16.1.1/bits/memoryfwd.h \ + /usr/include/c++/16.1.1/bits/move.h \ + /usr/include/c++/16.1.1/bits/nested_exception.h \ + /usr/include/c++/16.1.1/bits/new_allocator.h \ + /usr/include/c++/16.1.1/bits/new_except.h \ + /usr/include/c++/16.1.1/bits/new_throw.h \ + /usr/include/c++/16.1.1/bits/node_handle.h \ + /usr/include/c++/16.1.1/bits/ostream_insert.h \ + /usr/include/c++/16.1.1/bits/parse_numbers.h \ + /usr/include/c++/16.1.1/bits/postypes.h \ + /usr/include/c++/16.1.1/bits/predefined_ops.h \ + /usr/include/c++/16.1.1/bits/ptr_traits.h \ + /usr/include/c++/16.1.1/bits/range_access.h \ + /usr/include/c++/16.1.1/bits/refwrap.h \ + /usr/include/c++/16.1.1/bits/requires_hosted.h \ + /usr/include/c++/16.1.1/bits/shared_ptr.h \ + /usr/include/c++/16.1.1/bits/shared_ptr_atomic.h \ + /usr/include/c++/16.1.1/bits/shared_ptr_base.h \ + /usr/include/c++/16.1.1/bits/specfun.h \ + /usr/include/c++/16.1.1/bits/std_abs.h \ + /usr/include/c++/16.1.1/bits/std_function.h \ + /usr/include/c++/16.1.1/bits/stdexcept_except.h \ + /usr/include/c++/16.1.1/bits/stdexcept_throw.h \ + /usr/include/c++/16.1.1/bits/stdexcept_throwfwd.h \ + /usr/include/c++/16.1.1/bits/stl_algo.h \ + /usr/include/c++/16.1.1/bits/stl_algobase.h \ + /usr/include/c++/16.1.1/bits/stl_bvector.h \ + /usr/include/c++/16.1.1/bits/stl_construct.h \ + /usr/include/c++/16.1.1/bits/stl_function.h \ + /usr/include/c++/16.1.1/bits/stl_heap.h \ + /usr/include/c++/16.1.1/bits/stl_iterator.h \ + /usr/include/c++/16.1.1/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/16.1.1/bits/stl_iterator_base_types.h \ + /usr/include/c++/16.1.1/bits/stl_list.h \ + /usr/include/c++/16.1.1/bits/stl_map.h \ + /usr/include/c++/16.1.1/bits/stl_multimap.h \ + /usr/include/c++/16.1.1/bits/stl_multiset.h \ + /usr/include/c++/16.1.1/bits/stl_numeric.h \ + /usr/include/c++/16.1.1/bits/stl_pair.h \ + /usr/include/c++/16.1.1/bits/stl_raw_storage_iter.h \ + /usr/include/c++/16.1.1/bits/stl_relops.h \ + /usr/include/c++/16.1.1/bits/stl_set.h \ + /usr/include/c++/16.1.1/bits/stl_tempbuf.h \ + /usr/include/c++/16.1.1/bits/stl_tree.h \ + /usr/include/c++/16.1.1/bits/stl_uninitialized.h \ + /usr/include/c++/16.1.1/bits/stl_vector.h \ + /usr/include/c++/16.1.1/bits/stream_iterator.h \ + /usr/include/c++/16.1.1/bits/streambuf.tcc \ + /usr/include/c++/16.1.1/bits/streambuf_iterator.h \ + /usr/include/c++/16.1.1/bits/string_view.tcc \ + /usr/include/c++/16.1.1/bits/stringfwd.h \ + /usr/include/c++/16.1.1/bits/uniform_int_dist.h \ + /usr/include/c++/16.1.1/bits/unique_ptr.h \ + /usr/include/c++/16.1.1/bits/unordered_map.h \ + /usr/include/c++/16.1.1/bits/unordered_set.h \ + /usr/include/c++/16.1.1/bits/uses_allocator.h \ + /usr/include/c++/16.1.1/bits/uses_allocator_args.h \ + /usr/include/c++/16.1.1/bits/utility.h \ + /usr/include/c++/16.1.1/bits/vector.tcc \ + /usr/include/c++/16.1.1/bits/version.h \ + /usr/include/c++/16.1.1/cassert \ + /usr/include/c++/16.1.1/cctype \ + /usr/include/c++/16.1.1/cerrno \ + /usr/include/c++/16.1.1/chrono \ + /usr/include/c++/16.1.1/climits \ + /usr/include/c++/16.1.1/clocale \ + /usr/include/c++/16.1.1/cmath \ + /usr/include/c++/16.1.1/compare \ + /usr/include/c++/16.1.1/concepts \ + /usr/include/c++/16.1.1/cstddef \ + /usr/include/c++/16.1.1/cstdint \ + /usr/include/c++/16.1.1/cstdio \ + /usr/include/c++/16.1.1/cstdlib \ + /usr/include/c++/16.1.1/cstring \ + /usr/include/c++/16.1.1/ctime \ + /usr/include/c++/16.1.1/cwchar \ + /usr/include/c++/16.1.1/debug/assertions.h \ + /usr/include/c++/16.1.1/debug/debug.h \ + /usr/include/c++/16.1.1/exception \ + /usr/include/c++/16.1.1/ext/aligned_buffer.h \ + /usr/include/c++/16.1.1/ext/alloc_traits.h \ + /usr/include/c++/16.1.1/ext/atomicity.h \ + /usr/include/c++/16.1.1/ext/concurrence.h \ + /usr/include/c++/16.1.1/ext/numeric_traits.h \ + /usr/include/c++/16.1.1/ext/string_conversions.h \ + /usr/include/c++/16.1.1/ext/type_traits.h \ + /usr/include/c++/16.1.1/functional \ + /usr/include/c++/16.1.1/initializer_list \ + /usr/include/c++/16.1.1/iosfwd \ + /usr/include/c++/16.1.1/iterator \ + /usr/include/c++/16.1.1/limits \ + /usr/include/c++/16.1.1/list \ + /usr/include/c++/16.1.1/map \ + /usr/include/c++/16.1.1/memory \ + /usr/include/c++/16.1.1/new \ + /usr/include/c++/16.1.1/numeric \ + /usr/include/c++/16.1.1/optional \ + /usr/include/c++/16.1.1/pstl/execution_defs.h \ + /usr/include/c++/16.1.1/pstl/glue_numeric_defs.h \ + /usr/include/c++/16.1.1/pstl/pstl_config.h \ + /usr/include/c++/16.1.1/ratio \ + /usr/include/c++/16.1.1/set \ + /usr/include/c++/16.1.1/stdexcept \ + /usr/include/c++/16.1.1/streambuf \ + /usr/include/c++/16.1.1/string \ + /usr/include/c++/16.1.1/string_view \ + /usr/include/c++/16.1.1/system_error \ + /usr/include/c++/16.1.1/tr1/bessel_function.tcc \ + /usr/include/c++/16.1.1/tr1/beta_function.tcc \ + /usr/include/c++/16.1.1/tr1/ell_integral.tcc \ + /usr/include/c++/16.1.1/tr1/exp_integral.tcc \ + /usr/include/c++/16.1.1/tr1/gamma.tcc \ + /usr/include/c++/16.1.1/tr1/hypergeometric.tcc \ + /usr/include/c++/16.1.1/tr1/legendre_function.tcc \ + /usr/include/c++/16.1.1/tr1/modified_bessel_func.tcc \ + /usr/include/c++/16.1.1/tr1/poly_hermite.tcc \ + /usr/include/c++/16.1.1/tr1/poly_laguerre.tcc \ + /usr/include/c++/16.1.1/tr1/riemann_zeta.tcc \ + /usr/include/c++/16.1.1/tr1/special_function_util.h \ + /usr/include/c++/16.1.1/tuple \ + /usr/include/c++/16.1.1/type_traits \ + /usr/include/c++/16.1.1/typeinfo \ + /usr/include/c++/16.1.1/unordered_map \ + /usr/include/c++/16.1.1/unordered_set \ + /usr/include/c++/16.1.1/utility \ + /usr/include/c++/16.1.1/variant \ + /usr/include/c++/16.1.1/vector \ + /usr/include/c++/16.1.1/version \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/atomic_word.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++allocator.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++config.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++locale.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/cpu_defines.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/error_constants.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/gthr.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/os_defines.h \ + /usr/include/ctype.h \ + /usr/include/endian.h \ + /usr/include/errno.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/gnu/stubs-64.h \ + /usr/include/gnu/stubs.h \ + /usr/include/limits.h \ + /usr/include/linux/errno.h \ + /usr/include/linux/limits.h \ + /usr/include/linux/posix_types.h \ + /usr/include/linux/sched/types.h \ + /usr/include/linux/stddef.h \ + /usr/include/linux/types.h \ + /usr/include/locale.h \ + /usr/include/pthread.h \ + /usr/include/qt6/QtCore/q17memory.h \ + /usr/include/qt6/QtCore/q20algorithm.h \ + /usr/include/qt6/QtCore/q20bit.h \ + /usr/include/qt6/QtCore/q20functional.h \ + /usr/include/qt6/QtCore/q20iterator.h \ + /usr/include/qt6/QtCore/q20memory.h \ + /usr/include/qt6/QtCore/q20type_traits.h \ + /usr/include/qt6/QtCore/q20utility.h \ + /usr/include/qt6/QtCore/q23type_traits.h \ + /usr/include/qt6/QtCore/q23utility.h \ + /usr/include/qt6/QtCore/qalgorithms.h \ + /usr/include/qt6/QtCore/qalloc.h \ + /usr/include/qt6/QtCore/qanystringview.h \ + /usr/include/qt6/QtCore/qarraydata.h \ + /usr/include/qt6/QtCore/qarraydataops.h \ + /usr/include/qt6/QtCore/qarraydatapointer.h \ + /usr/include/qt6/QtCore/qassert.h \ + /usr/include/qt6/QtCore/qatomic.h \ + /usr/include/qt6/QtCore/qatomic_cxx11.h \ + /usr/include/qt6/QtCore/qbasicatomic.h \ + /usr/include/qt6/QtCore/qbindingstorage.h \ + /usr/include/qt6/QtCore/qbytearray.h \ + /usr/include/qt6/QtCore/qbytearrayalgorithms.h \ + /usr/include/qt6/QtCore/qbytearraylist.h \ + /usr/include/qt6/QtCore/qbytearrayview.h \ + /usr/include/qt6/QtCore/qcalendar.h \ + /usr/include/qt6/QtCore/qcborcommon.h \ + /usr/include/qt6/QtCore/qcborvalue.h \ + /usr/include/qt6/QtCore/qchar.h \ + /usr/include/qt6/QtCore/qcheckedint_impl.h \ + /usr/include/qt6/QtCore/qcompare.h \ + /usr/include/qt6/QtCore/qcompare_impl.h \ + /usr/include/qt6/QtCore/qcomparehelpers.h \ + /usr/include/qt6/QtCore/qcompilerdetection.h \ + /usr/include/qt6/QtCore/qconfig.h \ + /usr/include/qt6/QtCore/qconstructormacros.h \ + /usr/include/qt6/QtCore/qcontainerfwd.h \ + /usr/include/qt6/QtCore/qcontainerinfo.h \ + /usr/include/qt6/QtCore/qcontainertools_impl.h \ + /usr/include/qt6/QtCore/qcontiguouscache.h \ + /usr/include/qt6/QtCore/qdarwinhelpers.h \ + /usr/include/qt6/QtCore/qdatastream.h \ + /usr/include/qt6/QtCore/qdatetime.h \ + /usr/include/qt6/QtCore/qdebug.h \ + /usr/include/qt6/QtCore/qendian.h \ + /usr/include/qt6/QtCore/qexceptionhandling.h \ + /usr/include/qt6/QtCore/qfactoryinterface.h \ + /usr/include/qt6/QtCore/qflags.h \ + /usr/include/qt6/QtCore/qfloat16.h \ + /usr/include/qt6/QtCore/qforeach.h \ + /usr/include/qt6/QtCore/qfunctionaltools_impl.h \ + /usr/include/qt6/QtCore/qfunctionpointer.h \ + /usr/include/qt6/QtCore/qgenericatomic.h \ + /usr/include/qt6/QtCore/qglobal.h \ + /usr/include/qt6/QtCore/qglobalstatic.h \ + /usr/include/qt6/QtCore/qhash.h \ + /usr/include/qt6/QtCore/qhashfunctions.h \ + /usr/include/qt6/QtCore/qiodevicebase.h \ + /usr/include/qt6/QtCore/qiterable.h \ + /usr/include/qt6/QtCore/qiterator.h \ + /usr/include/qt6/QtCore/qjsondocument.h \ + /usr/include/qt6/QtCore/qjsonobject.h \ + /usr/include/qt6/QtCore/qjsonparseerror.h \ + /usr/include/qt6/QtCore/qjsonvalue.h \ + /usr/include/qt6/QtCore/qlatin1stringview.h \ + /usr/include/qt6/QtCore/qline.h \ + /usr/include/qt6/QtCore/qlist.h \ + /usr/include/qt6/QtCore/qlocale.h \ + /usr/include/qt6/QtCore/qlogging.h \ + /usr/include/qt6/QtCore/qmalloc.h \ + /usr/include/qt6/QtCore/qmap.h \ + /usr/include/qt6/QtCore/qmargins.h \ + /usr/include/qt6/QtCore/qmath.h \ + /usr/include/qt6/QtCore/qmetacontainer.h \ + /usr/include/qt6/QtCore/qmetatype.h \ + /usr/include/qt6/QtCore/qminmax.h \ + /usr/include/qt6/QtCore/qnamespace.h \ + /usr/include/qt6/QtCore/qnumeric.h \ + /usr/include/qt6/QtCore/qobject.h \ + /usr/include/qt6/QtCore/qobject_impl.h \ + /usr/include/qt6/QtCore/qobjectdefs.h \ + /usr/include/qt6/QtCore/qobjectdefs_impl.h \ + /usr/include/qt6/QtCore/qoverload.h \ + /usr/include/qt6/QtCore/qpair.h \ + /usr/include/qt6/QtCore/qplugin.h \ + /usr/include/qt6/QtCore/qpoint.h \ + /usr/include/qt6/QtCore/qpointer.h \ + /usr/include/qt6/QtCore/qprocessordetection.h \ + /usr/include/qt6/QtCore/qrect.h \ + /usr/include/qt6/QtCore/qrefcount.h \ + /usr/include/qt6/QtCore/qregularexpression.h \ + /usr/include/qt6/QtCore/qscopedpointer.h \ + /usr/include/qt6/QtCore/qscopeguard.h \ + /usr/include/qt6/QtCore/qset.h \ + /usr/include/qt6/QtCore/qshareddata.h \ + /usr/include/qt6/QtCore/qshareddata_impl.h \ + /usr/include/qt6/QtCore/qsharedpointer.h \ + /usr/include/qt6/QtCore/qsharedpointer_impl.h \ + /usr/include/qt6/QtCore/qsize.h \ + /usr/include/qt6/QtCore/qspan.h \ + /usr/include/qt6/QtCore/qstdlibdetection.h \ + /usr/include/qt6/QtCore/qstring.h \ + /usr/include/qt6/QtCore/qstringalgorithms.h \ + /usr/include/qt6/QtCore/qstringbuilder.h \ + /usr/include/qt6/QtCore/qstringconverter.h \ + /usr/include/qt6/QtCore/qstringconverter_base.h \ + /usr/include/qt6/QtCore/qstringfwd.h \ + /usr/include/qt6/QtCore/qstringlist.h \ + /usr/include/qt6/QtCore/qstringmatcher.h \ + /usr/include/qt6/QtCore/qstringtokenizer.h \ + /usr/include/qt6/QtCore/qstringview.h \ + /usr/include/qt6/QtCore/qswap.h \ + /usr/include/qt6/QtCore/qsysinfo.h \ + /usr/include/qt6/QtCore/qsystemdetection.h \ + /usr/include/qt6/QtCore/qtaggedpointer.h \ + /usr/include/qt6/QtCore/qtclasshelpermacros.h \ + /usr/include/qt6/QtCore/qtconfiginclude.h \ + /usr/include/qt6/QtCore/qtconfigmacros.h \ + /usr/include/qt6/QtCore/qtcore-config.h \ + /usr/include/qt6/QtCore/qtcoreexports.h \ + /usr/include/qt6/QtCore/qtcoreglobal.h \ + /usr/include/qt6/QtCore/qtdeprecationdefinitions.h \ + /usr/include/qt6/QtCore/qtdeprecationmarkers.h \ + /usr/include/qt6/QtCore/qtenvironmentvariables.h \ + /usr/include/qt6/QtCore/qtextstream.h \ + /usr/include/qt6/QtCore/qtformat_impl.h \ + /usr/include/qt6/QtCore/qtmetamacros.h \ + /usr/include/qt6/QtCore/qtnoop.h \ + /usr/include/qt6/QtCore/qtpreprocessorsupport.h \ + /usr/include/qt6/QtCore/qtresource.h \ + /usr/include/qt6/QtCore/qttranslation.h \ + /usr/include/qt6/QtCore/qttypetraits.h \ + /usr/include/qt6/QtCore/qtversion.h \ + /usr/include/qt6/QtCore/qtversionchecks.h \ + /usr/include/qt6/QtCore/qtypeinfo.h \ + /usr/include/qt6/QtCore/qtypes.h \ + /usr/include/qt6/QtCore/qurl.h \ + /usr/include/qt6/QtCore/qutf8stringview.h \ + /usr/include/qt6/QtCore/quuid.h \ + /usr/include/qt6/QtCore/qvariant.h \ + /usr/include/qt6/QtCore/qvarlengtharray.h \ + /usr/include/qt6/QtCore/qversiontagging.h \ + /usr/include/qt6/QtCore/qxptype_traits.h \ + /usr/include/qt6/QtCore/qyieldcpu.h \ + /usr/include/qt6/QtGui/qbrush.h \ + /usr/include/qt6/QtGui/qcolor.h \ + /usr/include/qt6/QtGui/qicon.h \ + /usr/include/qt6/QtGui/qimage.h \ + /usr/include/qt6/QtGui/qpaintdevice.h \ + /usr/include/qt6/QtGui/qpalette.h \ + /usr/include/qt6/QtGui/qpixelformat.h \ + /usr/include/qt6/QtGui/qpixmap.h \ + /usr/include/qt6/QtGui/qpolygon.h \ + /usr/include/qt6/QtGui/qregion.h \ + /usr/include/qt6/QtGui/qrgb.h \ + /usr/include/qt6/QtGui/qrgba64.h \ + /usr/include/qt6/QtGui/qtgui-config.h \ + /usr/include/qt6/QtGui/qtguiexports.h \ + /usr/include/qt6/QtGui/qtguiglobal.h \ + /usr/include/qt6/QtGui/qtransform.h \ + /usr/include/qt6/QtGui/qwindowdefs.h \ + /usr/include/qt6/QtWidgets/QCommonStyle \ + /usr/include/qt6/QtWidgets/QProxyStyle \ + /usr/include/qt6/QtWidgets/QStylePlugin \ + /usr/include/qt6/QtWidgets/qcommonstyle.h \ + /usr/include/qt6/QtWidgets/qproxystyle.h \ + /usr/include/qt6/QtWidgets/qsizepolicy.h \ + /usr/include/qt6/QtWidgets/qstyle.h \ + /usr/include/qt6/QtWidgets/qstyleplugin.h \ + /usr/include/qt6/QtWidgets/qtwidgets-config.h \ + /usr/include/qt6/QtWidgets/qtwidgetsexports.h \ + /usr/include/qt6/QtWidgets/qtwidgetsglobal.h \ + /usr/include/sched.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/stdio.h \ + /usr/include/stdlib.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/sys/cdefs.h \ + /usr/include/sys/select.h \ + /usr/include/sys/single_threaded.h \ + /usr/include/sys/types.h \ + /usr/include/time.h \ + /usr/include/wchar.h \ + /usr/lib/cmake/Qt6/FindWrapAtomic.cmake \ + /usr/lib/cmake/Qt6/FindWrapOpenGL.cmake \ + /usr/lib/cmake/Qt6/FindWrapVulkanHeaders.cmake \ + /usr/lib/cmake/Qt6/Qt6Config.cmake \ + /usr/lib/cmake/Qt6/Qt6ConfigExtras.cmake \ + /usr/lib/cmake/Qt6/Qt6ConfigVersion.cmake \ + /usr/lib/cmake/Qt6/Qt6ConfigVersionImpl.cmake \ + /usr/lib/cmake/Qt6/Qt6Dependencies.cmake \ + /usr/lib/cmake/Qt6/Qt6Targets.cmake \ + /usr/lib/cmake/Qt6/Qt6TargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6/Qt6VersionlessAliasTargets.cmake \ + /usr/lib/cmake/Qt6/QtFeature.cmake \ + /usr/lib/cmake/Qt6/QtFeatureCommon.cmake \ + /usr/lib/cmake/Qt6/QtInstallPaths.cmake \ + /usr/lib/cmake/Qt6/QtPublicAndroidHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicAppleHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicCMakeEarlyPolicyHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicCMakeHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicCMakeVersionHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicExternalProjectHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicFinalizerHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicFindPackageHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicGitHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicPluginHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicPluginHelpers_v2.cmake \ + /usr/lib/cmake/Qt6/QtPublicSbomAttributionHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicSbomCommonGenerationHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicSbomCpeHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicSbomCycloneDXHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicSbomDepHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicSbomDocumentNamespaceHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicSbomFileHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicSbomGenerationCycloneDXHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicSbomGenerationHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicSbomHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicSbomLicenseHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicSbomOpsHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicSbomPurlHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicSbomPythonHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicSbomQtEntityHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicSbomSystemDepHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicTargetHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicTestHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicToolHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicWalkLibsHelpers.cmake \ + /usr/lib/cmake/Qt6/QtPublicWindowsHelpers.cmake \ + /usr/lib/cmake/Qt6Core/Qt6CoreAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Core/Qt6CoreConfig.cmake \ + /usr/lib/cmake/Qt6Core/Qt6CoreConfigExtras.cmake \ + /usr/lib/cmake/Qt6Core/Qt6CoreConfigVersion.cmake \ + /usr/lib/cmake/Qt6Core/Qt6CoreConfigVersionImpl.cmake \ + /usr/lib/cmake/Qt6Core/Qt6CoreDependencies.cmake \ + /usr/lib/cmake/Qt6Core/Qt6CoreMacros.cmake \ + /usr/lib/cmake/Qt6Core/Qt6CoreTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Core/Qt6CoreTargets.cmake \ + /usr/lib/cmake/Qt6Core/Qt6CoreTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Core/Qt6CoreVersionlessAliasTargets.cmake \ + /usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfig.cmake \ + /usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfigVersion.cmake \ + /usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsConfigVersionImpl.cmake \ + /usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsDependencies.cmake \ + /usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsTargets.cmake \ + /usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6CoreTools/Qt6CoreToolsVersionlessTargets.cmake \ + /usr/lib/cmake/Qt6DBus/Qt6DBusAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6DBus/Qt6DBusConfig.cmake \ + /usr/lib/cmake/Qt6DBus/Qt6DBusConfigVersion.cmake \ + /usr/lib/cmake/Qt6DBus/Qt6DBusConfigVersionImpl.cmake \ + /usr/lib/cmake/Qt6DBus/Qt6DBusDependencies.cmake \ + /usr/lib/cmake/Qt6DBus/Qt6DBusMacros.cmake \ + /usr/lib/cmake/Qt6DBus/Qt6DBusTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6DBus/Qt6DBusTargets.cmake \ + /usr/lib/cmake/Qt6DBus/Qt6DBusTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6DBus/Qt6DBusVersionlessAliasTargets.cmake \ + /usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsConfig.cmake \ + /usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsConfigVersion.cmake \ + /usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsConfigVersionImpl.cmake \ + /usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsDependencies.cmake \ + /usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsTargets.cmake \ + /usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6DBusTools/Qt6DBusToolsVersionlessTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6DmaBufServerBufferPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6DrmEglServerBufferPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6GuiAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6GuiConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6GuiConfigVersion.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6GuiConfigVersionImpl.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6GuiDependencies.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6GuiPlugins.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6GuiTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6GuiTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6GuiTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6GuiVersionlessAliasTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QComposePlatformInputContextPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSEmulatorIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsEglDeviceIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSKmsGbmIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEglFSX11IntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevKeyboardPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevMousePluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevTabletPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QEvdevTouchScreenPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QGifPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QGifPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QGifPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QGifPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QGifPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QGtk3ThemePluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QICNSPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QICNSPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QICNSPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QICNSPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QICNSPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QICOPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QICOPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QICOPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QICOPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QICOPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QIbusPlatformInputContextPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QJp2PluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QJp2PluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QJp2PluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QJp2PluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QJp2PluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QJpegPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QJpegPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QJpegPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QJpegPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QJpegPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QLibInputPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QLinuxFbIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QMinimalEglIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QMinimalIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QMngPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QMngPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QMngPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QMngPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QMngPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QOffscreenIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QPdfPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QPdfPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QPdfPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QPdfPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QPdfPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QSvgIconPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QSvgPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QSvgPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QSvgPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QSvgPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QSvgPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTgaPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTgaPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTgaPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTgaPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTgaPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTiffPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTiffPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTiffPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTiffPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTiffPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTsLibPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QTuioTouchPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QVkKhrDisplayIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QVncIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandAdwaitaDecorationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandBradientDecorationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandEglClientBufferPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandFullScreenShellV1IntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandIviShellIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandQtShellIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandWlShellIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWaylandXdgShellIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWbmpPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWebpPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWebpPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWebpPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWebpPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QWebpPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXcbEglIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXcbGlxIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXcbIntegrationPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6QXdgDesktopPortalThemePluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6ShmServerBufferPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginConfig.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginTargets.cmake \ + /usr/lib/cmake/Qt6Gui/Qt6VulkanServerBufferPluginTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsConfig.cmake \ + /usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsConfigVersion.cmake \ + /usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsConfigVersionImpl.cmake \ + /usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsDependencies.cmake \ + /usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsTargets.cmake \ + /usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6GuiTools/Qt6GuiToolsVersionlessTargets.cmake \ + /usr/lib/cmake/Qt6Widgets/Qt6WidgetsAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake \ + /usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfigVersion.cmake \ + /usr/lib/cmake/Qt6Widgets/Qt6WidgetsConfigVersionImpl.cmake \ + /usr/lib/cmake/Qt6Widgets/Qt6WidgetsDependencies.cmake \ + /usr/lib/cmake/Qt6Widgets/Qt6WidgetsMacros.cmake \ + /usr/lib/cmake/Qt6Widgets/Qt6WidgetsPlugins.cmake \ + /usr/lib/cmake/Qt6Widgets/Qt6WidgetsTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6Widgets/Qt6WidgetsTargets.cmake \ + /usr/lib/cmake/Qt6Widgets/Qt6WidgetsTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6Widgets/Qt6WidgetsVersionlessAliasTargets.cmake \ + /usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsAdditionalTargetInfo.cmake \ + /usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsConfig.cmake \ + /usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsConfigVersion.cmake \ + /usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsConfigVersionImpl.cmake \ + /usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsDependencies.cmake \ + /usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsTargets-relwithdebinfo.cmake \ + /usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsTargets.cmake \ + /usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsTargetsPrecheck.cmake \ + /usr/lib/cmake/Qt6WidgetsTools/Qt6WidgetsToolsVersionlessTargets.cmake \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdarg.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdbool.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stddef.h \ + /usr/share/cmake/Modules/CMakeCCompiler.cmake.in \ + /usr/share/cmake/Modules/CMakeCCompilerABI.c \ + /usr/share/cmake/Modules/CMakeCInformation.cmake \ + /usr/share/cmake/Modules/CMakeCXXCompiler.cmake.in \ + /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp \ + /usr/share/cmake/Modules/CMakeCXXInformation.cmake \ + /usr/share/cmake/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake \ + /usr/share/cmake/Modules/CMakeCommonLanguageInclude.cmake \ + /usr/share/cmake/Modules/CMakeCompilerIdDetection.cmake \ + /usr/share/cmake/Modules/CMakeDetermineCCompiler.cmake \ + /usr/share/cmake/Modules/CMakeDetermineCXXCompiler.cmake \ + /usr/share/cmake/Modules/CMakeDetermineCompiler.cmake \ + /usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake \ + /usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake \ + /usr/share/cmake/Modules/CMakeDetermineCompilerSupport.cmake \ + /usr/share/cmake/Modules/CMakeDetermineSystem.cmake \ + /usr/share/cmake/Modules/CMakeFindBinUtils.cmake \ + /usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake \ + /usr/share/cmake/Modules/CMakeGenericSystem.cmake \ + /usr/share/cmake/Modules/CMakeInitializeConfigs.cmake \ + /usr/share/cmake/Modules/CMakeLanguageInformation.cmake \ + /usr/share/cmake/Modules/CMakeParseImplicitIncludeInfo.cmake \ + /usr/share/cmake/Modules/CMakeParseImplicitLinkInfo.cmake \ + /usr/share/cmake/Modules/CMakeParseLibraryArchitecture.cmake \ + /usr/share/cmake/Modules/CMakeSystem.cmake.in \ + /usr/share/cmake/Modules/CMakeSystemSpecificInformation.cmake \ + /usr/share/cmake/Modules/CMakeSystemSpecificInitialize.cmake \ + /usr/share/cmake/Modules/CMakeTestCCompiler.cmake \ + /usr/share/cmake/Modules/CMakeTestCXXCompiler.cmake \ + /usr/share/cmake/Modules/CMakeTestCompilerCommon.cmake \ + /usr/share/cmake/Modules/CMakeUnixFindMake.cmake \ + /usr/share/cmake/Modules/CheckCSourceCompiles.cmake \ + /usr/share/cmake/Modules/CheckCXXCompilerFlag.cmake \ + /usr/share/cmake/Modules/CheckCXXSourceCompiles.cmake \ + /usr/share/cmake/Modules/CheckIncludeFile.cmake \ + /usr/share/cmake/Modules/CheckLibraryExists.cmake \ + /usr/share/cmake/Modules/Compiler/ADSP-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/ARMCC-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/ARMClang-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/AppleClang-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/Borland-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/Bruce-C-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/CMakeCommonCompilerMacros.cmake \ + /usr/share/cmake/Modules/Compiler/Clang-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/Clang-DetermineCompilerInternal.cmake \ + /usr/share/cmake/Modules/Compiler/Compaq-C-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/Cray-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/CrayClang-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/Diab-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/Embarcadero-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/Fujitsu-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/GHS-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/GNU-C-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/GNU-C.cmake \ + /usr/share/cmake/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/GNU-CXX.cmake \ + /usr/share/cmake/Modules/Compiler/GNU-FindBinUtils.cmake \ + /usr/share/cmake/Modules/Compiler/GNU.cmake \ + /usr/share/cmake/Modules/Compiler/HP-C-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/HP-CXX-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/IAR-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake \ + /usr/share/cmake/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake \ + /usr/share/cmake/Modules/Compiler/IBMClang-C-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/IBMClang-CXX-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/Intel-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/LCC-C-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/LCC-CXX-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/MSVC-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/NVHPC-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/NVIDIA-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/OrangeC-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/PGI-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/PathScale-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/Renesas-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/SCO-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/SDCC-C-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/SunPro-C-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/TI-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/TIClang-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/Tasking-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/Watcom-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/XL-C-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/XL-CXX-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/XLClang-C-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/zOS-C-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake \ + /usr/share/cmake/Modules/FindOpenGL.cmake \ + /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake \ + /usr/share/cmake/Modules/FindPackageMessage.cmake \ + /usr/share/cmake/Modules/FindThreads.cmake \ + /usr/share/cmake/Modules/FindVulkan.cmake \ + /usr/share/cmake/Modules/GNUInstallDirs.cmake \ + /usr/share/cmake/Modules/Internal/CMakeCLinkerInformation.cmake \ + /usr/share/cmake/Modules/Internal/CMakeCXXLinkerInformation.cmake \ + /usr/share/cmake/Modules/Internal/CMakeCommonLinkerInformation.cmake \ + /usr/share/cmake/Modules/Internal/CMakeDetermineLinkerId.cmake \ + /usr/share/cmake/Modules/Internal/CMakeInspectCLinker.cmake \ + /usr/share/cmake/Modules/Internal/CMakeInspectCXXLinker.cmake \ + /usr/share/cmake/Modules/Internal/CheckCompilerFlag.cmake \ + /usr/share/cmake/Modules/Internal/CheckFlagCommonConfig.cmake \ + /usr/share/cmake/Modules/Internal/CheckSourceCompiles.cmake \ + /usr/share/cmake/Modules/Internal/FeatureTesting.cmake \ + /usr/share/cmake/Modules/Linker/GNU-C.cmake \ + /usr/share/cmake/Modules/Linker/GNU-CXX.cmake \ + /usr/share/cmake/Modules/Linker/GNU.cmake \ + /usr/share/cmake/Modules/MacroAddFileDependencies.cmake \ + /usr/share/cmake/Modules/Platform/Linker/GNU.cmake \ + /usr/share/cmake/Modules/Platform/Linker/Linux-GNU-C.cmake \ + /usr/share/cmake/Modules/Platform/Linker/Linux-GNU-CXX.cmake \ + /usr/share/cmake/Modules/Platform/Linker/Linux-GNU.cmake \ + /usr/share/cmake/Modules/Platform/Linux-Determine-CXX.cmake \ + /usr/share/cmake/Modules/Platform/Linux-GNU-C.cmake \ + /usr/share/cmake/Modules/Platform/Linux-GNU-CXX.cmake \ + /usr/share/cmake/Modules/Platform/Linux-GNU.cmake \ + /usr/share/cmake/Modules/Platform/Linux-Initialize.cmake \ + /usr/share/cmake/Modules/Platform/Linux.cmake \ + /usr/share/cmake/Modules/Platform/UnixPaths.cmake \ + /usr/sbin/cmake diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/cyberqueer_autogen/include/plugin.moc b/qt-themes/deprecated/cyberqueer/style-plugin/build/cyberqueer_autogen/include/plugin.moc new file mode 100644 index 0000000..d5d2504 --- /dev/null +++ b/qt-themes/deprecated/cyberqueer/style-plugin/build/cyberqueer_autogen/include/plugin.moc @@ -0,0 +1,139 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'plugin.cpp' +** +** Created by: The Qt Meta Object Compiler version 69 (Qt 6.11.0) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include +#include + +#include + +#include + + +#include +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'plugin.cpp' doesn't include ." +#elif Q_MOC_OUTPUT_REVISION != 69 +#error "This file was generated using the moc from 6.11.0. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +#ifndef Q_CONSTINIT +#define Q_CONSTINIT +#endif + +QT_WARNING_PUSH +QT_WARNING_DISABLE_DEPRECATED +QT_WARNING_DISABLE_GCC("-Wuseless-cast") +namespace { +struct qt_meta_tag_ZN21CyberQueerStylePluginE_t {}; +} // unnamed namespace + +template <> constexpr inline auto CyberQueerStylePlugin::qt_create_metaobjectdata() +{ + namespace QMC = QtMocConstants; + QtMocHelpers::StringRefStorage qt_stringData { + "CyberQueerStylePlugin" + }; + + QtMocHelpers::UintData qt_methods { + }; + QtMocHelpers::UintData qt_properties { + }; + QtMocHelpers::UintData qt_enums { + }; + return QtMocHelpers::metaObjectData(QMC::MetaObjectFlag{}, qt_stringData, + qt_methods, qt_properties, qt_enums); +} +Q_CONSTINIT const QMetaObject CyberQueerStylePlugin::staticMetaObject = { { + QMetaObject::SuperData::link(), + qt_staticMetaObjectStaticContent.stringdata, + qt_staticMetaObjectStaticContent.data, + qt_static_metacall, + nullptr, + qt_staticMetaObjectRelocatingContent.metaTypes, + nullptr +} }; + +void CyberQueerStylePlugin::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + auto *_t = static_cast(_o); + (void)_t; + (void)_c; + (void)_id; + (void)_a; +} + +const QMetaObject *CyberQueerStylePlugin::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; +} + +void *CyberQueerStylePlugin::qt_metacast(const char *_clname) +{ + if (!_clname) return nullptr; + if (!strcmp(_clname, qt_staticMetaObjectStaticContent.strings)) + return static_cast(this); + return QStylePlugin::qt_metacast(_clname); +} + +int CyberQueerStylePlugin::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QStylePlugin::qt_metacall(_c, _id, _a); + return _id; +} + +#ifdef QT_MOC_EXPORT_PLUGIN_V2 +static constexpr unsigned char qt_pluginMetaDataV2_CyberQueerStylePlugin[] = { + 0xbf, + // "IID" + 0x02, 0x78, 0x28, 'o', 'r', 'g', '.', 'q', + 't', '-', 'p', 'r', 'o', 'j', 'e', 'c', + 't', '.', 'Q', 't', '.', 'Q', 'S', 't', + 'y', 'l', 'e', 'F', 'a', 'c', 't', 'o', + 'r', 'y', 'I', 'n', 't', 'e', 'r', 'f', + 'a', 'c', 'e', + // "className" + 0x03, 0x75, 'C', 'y', 'b', 'e', 'r', 'Q', + 'u', 'e', 'e', 'r', 'S', 't', 'y', 'l', + 'e', 'P', 'l', 'u', 'g', 'i', 'n', + // "MetaData" + 0x04, 0xa1, 0x64, 'K', 'e', 'y', 's', 0x81, + 0x6a, 'c', 'y', 'b', 'e', 'r', 'q', 'u', + 'e', 'e', 'r', + 0xff, +}; +QT_MOC_EXPORT_PLUGIN_V2(CyberQueerStylePlugin, CyberQueerStylePlugin, qt_pluginMetaDataV2_CyberQueerStylePlugin) +#else +QT_PLUGIN_METADATA_SECTION +Q_CONSTINIT static constexpr unsigned char qt_pluginMetaData_CyberQueerStylePlugin[] = { + 'Q', 'T', 'M', 'E', 'T', 'A', 'D', 'A', 'T', 'A', ' ', '!', + // metadata version, Qt version, architectural requirements + 0, QT_VERSION_MAJOR, QT_VERSION_MINOR, qPluginArchRequirements(), + 0xbf, + // "IID" + 0x02, 0x78, 0x28, 'o', 'r', 'g', '.', 'q', + 't', '-', 'p', 'r', 'o', 'j', 'e', 'c', + 't', '.', 'Q', 't', '.', 'Q', 'S', 't', + 'y', 'l', 'e', 'F', 'a', 'c', 't', 'o', + 'r', 'y', 'I', 'n', 't', 'e', 'r', 'f', + 'a', 'c', 'e', + // "className" + 0x03, 0x75, 'C', 'y', 'b', 'e', 'r', 'Q', + 'u', 'e', 'e', 'r', 'S', 't', 'y', 'l', + 'e', 'P', 'l', 'u', 'g', 'i', 'n', + // "MetaData" + 0x04, 0xa1, 0x64, 'K', 'e', 'y', 's', 0x81, + 0x6a, 'c', 'y', 'b', 'e', 'r', 'q', 'u', + 'e', 'e', 'r', + 0xff, +}; +QT_MOC_EXPORT_PLUGIN(CyberQueerStylePlugin, CyberQueerStylePlugin) +#endif // QT_MOC_EXPORT_PLUGIN_V2 + +QT_WARNING_POP diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/cyberqueer_autogen/include/plugin.moc.d b/qt-themes/deprecated/cyberqueer/style-plugin/build/cyberqueer_autogen/include/plugin.moc.d new file mode 100644 index 0000000..6a4f433 --- /dev/null +++ b/qt-themes/deprecated/cyberqueer/style-plugin/build/cyberqueer_autogen/include/plugin.moc.d @@ -0,0 +1,462 @@ +/home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/cyberqueer_autogen/include/plugin.moc: /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/plugin.cpp \ + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/build/cyberqueer_autogen/moc_predefs.h \ + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/cyberqueer.json \ + /home/themiro/Dotfiles/qt-themes/cyberqueer/style-plugin/CyberQueerStyle.h \ + /usr/include/alloca.h \ + /usr/include/asm-generic/bitsperlong.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/int-ll64.h \ + /usr/include/asm-generic/posix_types.h \ + /usr/include/asm-generic/types.h \ + /usr/include/asm/bitsperlong.h \ + /usr/include/asm/errno.h \ + /usr/include/asm/posix_types.h \ + /usr/include/asm/posix_types_64.h \ + /usr/include/asm/types.h \ + /usr/include/assert.h \ + /usr/include/bits/atomic_wide_counter.h \ + /usr/include/bits/byteswap.h \ + /usr/include/bits/cpu-set.h \ + /usr/include/bits/endian.h \ + /usr/include/bits/endianness.h \ + /usr/include/bits/errno.h \ + /usr/include/bits/floatn-common.h \ + /usr/include/bits/floatn.h \ + /usr/include/bits/libc-header-start.h \ + /usr/include/bits/local_lim.h \ + /usr/include/bits/locale.h \ + /usr/include/bits/long-double.h \ + /usr/include/bits/posix1_lim.h \ + /usr/include/bits/posix2_lim.h \ + /usr/include/bits/pthread_stack_min-dynamic.h \ + /usr/include/bits/pthreadtypes-arch.h \ + /usr/include/bits/pthreadtypes.h \ + /usr/include/bits/sched.h \ + /usr/include/bits/select.h \ + /usr/include/bits/setjmp.h \ + /usr/include/bits/stdint-intn.h \ + /usr/include/bits/stdint-least.h \ + /usr/include/bits/stdint-uintn.h \ + /usr/include/bits/stdio_lim.h \ + /usr/include/bits/stdlib-float.h \ + /usr/include/bits/struct_mutex.h \ + /usr/include/bits/struct_rwlock.h \ + /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/time.h \ + /usr/include/bits/time64.h \ + /usr/include/bits/timesize.h \ + /usr/include/bits/timex.h \ + /usr/include/bits/types.h \ + /usr/include/bits/types/FILE.h \ + /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/__fpos64_t.h \ + /usr/include/bits/types/__fpos_t.h \ + /usr/include/bits/types/__locale_t.h \ + /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/clock_t.h \ + /usr/include/bits/types/clockid_t.h \ + /usr/include/bits/types/cookie_io_functions_t.h \ + /usr/include/bits/types/error_t.h \ + /usr/include/bits/types/locale_t.h \ + /usr/include/bits/types/mbstate_t.h \ + /usr/include/bits/types/sigset_t.h \ + /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/types/struct___jmp_buf_tag.h \ + /usr/include/bits/types/struct_itimerspec.h \ + /usr/include/bits/types/struct_sched_param.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_tm.h \ + /usr/include/bits/types/time_t.h \ + /usr/include/bits/types/timer_t.h \ + /usr/include/bits/types/wint_t.h \ + /usr/include/bits/typesizes.h \ + /usr/include/bits/uintn-identity.h \ + /usr/include/bits/uio_lim.h \ + /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h \ + /usr/include/bits/wchar.h \ + /usr/include/bits/wordsize.h \ + /usr/include/bits/xopen_lim.h \ + /usr/include/c++/16.1.1/algorithm \ + /usr/include/c++/16.1.1/array \ + /usr/include/c++/16.1.1/atomic \ + /usr/include/c++/16.1.1/backward/auto_ptr.h \ + /usr/include/c++/16.1.1/backward/binders.h \ + /usr/include/c++/16.1.1/bit \ + /usr/include/c++/16.1.1/bits/algorithmfwd.h \ + /usr/include/c++/16.1.1/bits/align.h \ + /usr/include/c++/16.1.1/bits/alloc_traits.h \ + /usr/include/c++/16.1.1/bits/allocated_ptr.h \ + /usr/include/c++/16.1.1/bits/allocator.h \ + /usr/include/c++/16.1.1/bits/atomic_base.h \ + /usr/include/c++/16.1.1/bits/atomic_lockfree_defines.h \ + /usr/include/c++/16.1.1/bits/basic_string.h \ + /usr/include/c++/16.1.1/bits/basic_string.tcc \ + /usr/include/c++/16.1.1/bits/char_traits.h \ + /usr/include/c++/16.1.1/bits/charconv.h \ + /usr/include/c++/16.1.1/bits/chrono.h \ + /usr/include/c++/16.1.1/bits/concept_check.h \ + /usr/include/c++/16.1.1/bits/cpp_type_traits.h \ + /usr/include/c++/16.1.1/bits/cxxabi_forced.h \ + /usr/include/c++/16.1.1/bits/cxxabi_init_exception.h \ + /usr/include/c++/16.1.1/bits/enable_special_members.h \ + /usr/include/c++/16.1.1/bits/erase_if.h \ + /usr/include/c++/16.1.1/bits/exception.h \ + /usr/include/c++/16.1.1/bits/exception_defines.h \ + /usr/include/c++/16.1.1/bits/exception_ptr.h \ + /usr/include/c++/16.1.1/bits/functexcept.h \ + /usr/include/c++/16.1.1/bits/functional_hash.h \ + /usr/include/c++/16.1.1/bits/hash_bytes.h \ + /usr/include/c++/16.1.1/bits/hashtable.h \ + /usr/include/c++/16.1.1/bits/hashtable_policy.h \ + /usr/include/c++/16.1.1/bits/invoke.h \ + /usr/include/c++/16.1.1/bits/ios_base.h \ + /usr/include/c++/16.1.1/bits/list.tcc \ + /usr/include/c++/16.1.1/bits/locale_classes.h \ + /usr/include/c++/16.1.1/bits/locale_classes.tcc \ + /usr/include/c++/16.1.1/bits/localefwd.h \ + /usr/include/c++/16.1.1/bits/memory_resource.h \ + /usr/include/c++/16.1.1/bits/memoryfwd.h \ + /usr/include/c++/16.1.1/bits/move.h \ + /usr/include/c++/16.1.1/bits/nested_exception.h \ + /usr/include/c++/16.1.1/bits/new_allocator.h \ + /usr/include/c++/16.1.1/bits/new_except.h \ + /usr/include/c++/16.1.1/bits/new_throw.h \ + /usr/include/c++/16.1.1/bits/node_handle.h \ + /usr/include/c++/16.1.1/bits/ostream_insert.h \ + /usr/include/c++/16.1.1/bits/parse_numbers.h \ + /usr/include/c++/16.1.1/bits/postypes.h \ + /usr/include/c++/16.1.1/bits/predefined_ops.h \ + /usr/include/c++/16.1.1/bits/ptr_traits.h \ + /usr/include/c++/16.1.1/bits/range_access.h \ + /usr/include/c++/16.1.1/bits/refwrap.h \ + /usr/include/c++/16.1.1/bits/requires_hosted.h \ + /usr/include/c++/16.1.1/bits/shared_ptr.h \ + /usr/include/c++/16.1.1/bits/shared_ptr_atomic.h \ + /usr/include/c++/16.1.1/bits/shared_ptr_base.h \ + /usr/include/c++/16.1.1/bits/specfun.h \ + /usr/include/c++/16.1.1/bits/std_abs.h \ + /usr/include/c++/16.1.1/bits/std_function.h \ + /usr/include/c++/16.1.1/bits/stdexcept_except.h \ + /usr/include/c++/16.1.1/bits/stdexcept_throw.h \ + /usr/include/c++/16.1.1/bits/stdexcept_throwfwd.h \ + /usr/include/c++/16.1.1/bits/stl_algo.h \ + /usr/include/c++/16.1.1/bits/stl_algobase.h \ + /usr/include/c++/16.1.1/bits/stl_bvector.h \ + /usr/include/c++/16.1.1/bits/stl_construct.h \ + /usr/include/c++/16.1.1/bits/stl_function.h \ + /usr/include/c++/16.1.1/bits/stl_heap.h \ + /usr/include/c++/16.1.1/bits/stl_iterator.h \ + /usr/include/c++/16.1.1/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/16.1.1/bits/stl_iterator_base_types.h \ + /usr/include/c++/16.1.1/bits/stl_list.h \ + /usr/include/c++/16.1.1/bits/stl_map.h \ + /usr/include/c++/16.1.1/bits/stl_multimap.h \ + /usr/include/c++/16.1.1/bits/stl_multiset.h \ + /usr/include/c++/16.1.1/bits/stl_numeric.h \ + /usr/include/c++/16.1.1/bits/stl_pair.h \ + /usr/include/c++/16.1.1/bits/stl_raw_storage_iter.h \ + /usr/include/c++/16.1.1/bits/stl_relops.h \ + /usr/include/c++/16.1.1/bits/stl_set.h \ + /usr/include/c++/16.1.1/bits/stl_tempbuf.h \ + /usr/include/c++/16.1.1/bits/stl_tree.h \ + /usr/include/c++/16.1.1/bits/stl_uninitialized.h \ + /usr/include/c++/16.1.1/bits/stl_vector.h \ + /usr/include/c++/16.1.1/bits/stream_iterator.h \ + /usr/include/c++/16.1.1/bits/streambuf.tcc \ + /usr/include/c++/16.1.1/bits/streambuf_iterator.h \ + /usr/include/c++/16.1.1/bits/string_view.tcc \ + /usr/include/c++/16.1.1/bits/stringfwd.h \ + /usr/include/c++/16.1.1/bits/uniform_int_dist.h \ + /usr/include/c++/16.1.1/bits/unique_ptr.h \ + /usr/include/c++/16.1.1/bits/unordered_map.h \ + /usr/include/c++/16.1.1/bits/unordered_set.h \ + /usr/include/c++/16.1.1/bits/uses_allocator.h \ + /usr/include/c++/16.1.1/bits/uses_allocator_args.h \ + /usr/include/c++/16.1.1/bits/utility.h \ + /usr/include/c++/16.1.1/bits/vector.tcc \ + /usr/include/c++/16.1.1/bits/version.h \ + /usr/include/c++/16.1.1/cassert \ + /usr/include/c++/16.1.1/cctype \ + /usr/include/c++/16.1.1/cerrno \ + /usr/include/c++/16.1.1/chrono \ + /usr/include/c++/16.1.1/climits \ + /usr/include/c++/16.1.1/clocale \ + /usr/include/c++/16.1.1/cmath \ + /usr/include/c++/16.1.1/compare \ + /usr/include/c++/16.1.1/concepts \ + /usr/include/c++/16.1.1/cstddef \ + /usr/include/c++/16.1.1/cstdint \ + /usr/include/c++/16.1.1/cstdio \ + /usr/include/c++/16.1.1/cstdlib \ + /usr/include/c++/16.1.1/cstring \ + /usr/include/c++/16.1.1/ctime \ + /usr/include/c++/16.1.1/cwchar \ + /usr/include/c++/16.1.1/debug/assertions.h \ + /usr/include/c++/16.1.1/debug/debug.h \ + /usr/include/c++/16.1.1/exception \ + /usr/include/c++/16.1.1/ext/aligned_buffer.h \ + /usr/include/c++/16.1.1/ext/alloc_traits.h \ + /usr/include/c++/16.1.1/ext/atomicity.h \ + /usr/include/c++/16.1.1/ext/concurrence.h \ + /usr/include/c++/16.1.1/ext/numeric_traits.h \ + /usr/include/c++/16.1.1/ext/string_conversions.h \ + /usr/include/c++/16.1.1/ext/type_traits.h \ + /usr/include/c++/16.1.1/functional \ + /usr/include/c++/16.1.1/initializer_list \ + /usr/include/c++/16.1.1/iosfwd \ + /usr/include/c++/16.1.1/iterator \ + /usr/include/c++/16.1.1/limits \ + /usr/include/c++/16.1.1/list \ + /usr/include/c++/16.1.1/map \ + /usr/include/c++/16.1.1/memory \ + /usr/include/c++/16.1.1/new \ + /usr/include/c++/16.1.1/numeric \ + /usr/include/c++/16.1.1/optional \ + /usr/include/c++/16.1.1/pstl/execution_defs.h \ + /usr/include/c++/16.1.1/pstl/glue_numeric_defs.h \ + /usr/include/c++/16.1.1/pstl/pstl_config.h \ + /usr/include/c++/16.1.1/ratio \ + /usr/include/c++/16.1.1/set \ + /usr/include/c++/16.1.1/stdexcept \ + /usr/include/c++/16.1.1/streambuf \ + /usr/include/c++/16.1.1/string \ + /usr/include/c++/16.1.1/string_view \ + /usr/include/c++/16.1.1/system_error \ + /usr/include/c++/16.1.1/tr1/bessel_function.tcc \ + /usr/include/c++/16.1.1/tr1/beta_function.tcc \ + /usr/include/c++/16.1.1/tr1/ell_integral.tcc \ + /usr/include/c++/16.1.1/tr1/exp_integral.tcc \ + /usr/include/c++/16.1.1/tr1/gamma.tcc \ + /usr/include/c++/16.1.1/tr1/hypergeometric.tcc \ + /usr/include/c++/16.1.1/tr1/legendre_function.tcc \ + /usr/include/c++/16.1.1/tr1/modified_bessel_func.tcc \ + /usr/include/c++/16.1.1/tr1/poly_hermite.tcc \ + /usr/include/c++/16.1.1/tr1/poly_laguerre.tcc \ + /usr/include/c++/16.1.1/tr1/riemann_zeta.tcc \ + /usr/include/c++/16.1.1/tr1/special_function_util.h \ + /usr/include/c++/16.1.1/tuple \ + /usr/include/c++/16.1.1/type_traits \ + /usr/include/c++/16.1.1/typeinfo \ + /usr/include/c++/16.1.1/unordered_map \ + /usr/include/c++/16.1.1/unordered_set \ + /usr/include/c++/16.1.1/utility \ + /usr/include/c++/16.1.1/variant \ + /usr/include/c++/16.1.1/vector \ + /usr/include/c++/16.1.1/version \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/atomic_word.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++allocator.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++config.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/c++locale.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/cpu_defines.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/error_constants.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/gthr-default.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/gthr.h \ + /usr/include/c++/16.1.1/x86_64-pc-linux-gnu/bits/os_defines.h \ + /usr/include/ctype.h \ + /usr/include/endian.h \ + /usr/include/errno.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/gnu/stubs-64.h \ + /usr/include/gnu/stubs.h \ + /usr/include/limits.h \ + /usr/include/linux/errno.h \ + /usr/include/linux/limits.h \ + /usr/include/linux/posix_types.h \ + /usr/include/linux/sched/types.h \ + /usr/include/linux/stddef.h \ + /usr/include/linux/types.h \ + /usr/include/locale.h \ + /usr/include/pthread.h \ + /usr/include/qt6/QtCore/q17memory.h \ + /usr/include/qt6/QtCore/q20algorithm.h \ + /usr/include/qt6/QtCore/q20bit.h \ + /usr/include/qt6/QtCore/q20functional.h \ + /usr/include/qt6/QtCore/q20iterator.h \ + /usr/include/qt6/QtCore/q20memory.h \ + /usr/include/qt6/QtCore/q20type_traits.h \ + /usr/include/qt6/QtCore/q20utility.h \ + /usr/include/qt6/QtCore/q23type_traits.h \ + /usr/include/qt6/QtCore/q23utility.h \ + /usr/include/qt6/QtCore/qalgorithms.h \ + /usr/include/qt6/QtCore/qalloc.h \ + /usr/include/qt6/QtCore/qanystringview.h \ + /usr/include/qt6/QtCore/qarraydata.h \ + /usr/include/qt6/QtCore/qarraydataops.h \ + /usr/include/qt6/QtCore/qarraydatapointer.h \ + /usr/include/qt6/QtCore/qassert.h \ + /usr/include/qt6/QtCore/qatomic.h \ + /usr/include/qt6/QtCore/qatomic_cxx11.h \ + /usr/include/qt6/QtCore/qbasicatomic.h \ + /usr/include/qt6/QtCore/qbindingstorage.h \ + /usr/include/qt6/QtCore/qbytearray.h \ + /usr/include/qt6/QtCore/qbytearrayalgorithms.h \ + /usr/include/qt6/QtCore/qbytearraylist.h \ + /usr/include/qt6/QtCore/qbytearrayview.h \ + /usr/include/qt6/QtCore/qcalendar.h \ + /usr/include/qt6/QtCore/qcborcommon.h \ + /usr/include/qt6/QtCore/qcborvalue.h \ + /usr/include/qt6/QtCore/qchar.h \ + /usr/include/qt6/QtCore/qcheckedint_impl.h \ + /usr/include/qt6/QtCore/qcompare.h \ + /usr/include/qt6/QtCore/qcompare_impl.h \ + /usr/include/qt6/QtCore/qcomparehelpers.h \ + /usr/include/qt6/QtCore/qcompilerdetection.h \ + /usr/include/qt6/QtCore/qconfig.h \ + /usr/include/qt6/QtCore/qconstructormacros.h \ + /usr/include/qt6/QtCore/qcontainerfwd.h \ + /usr/include/qt6/QtCore/qcontainerinfo.h \ + /usr/include/qt6/QtCore/qcontainertools_impl.h \ + /usr/include/qt6/QtCore/qcontiguouscache.h \ + /usr/include/qt6/QtCore/qdarwinhelpers.h \ + /usr/include/qt6/QtCore/qdatastream.h \ + /usr/include/qt6/QtCore/qdatetime.h \ + /usr/include/qt6/QtCore/qdebug.h \ + /usr/include/qt6/QtCore/qendian.h \ + /usr/include/qt6/QtCore/qexceptionhandling.h \ + /usr/include/qt6/QtCore/qfactoryinterface.h \ + /usr/include/qt6/QtCore/qflags.h \ + /usr/include/qt6/QtCore/qfloat16.h \ + /usr/include/qt6/QtCore/qforeach.h \ + /usr/include/qt6/QtCore/qfunctionaltools_impl.h \ + /usr/include/qt6/QtCore/qfunctionpointer.h \ + /usr/include/qt6/QtCore/qgenericatomic.h \ + /usr/include/qt6/QtCore/qglobal.h \ + /usr/include/qt6/QtCore/qglobalstatic.h \ + /usr/include/qt6/QtCore/qhash.h \ + /usr/include/qt6/QtCore/qhashfunctions.h \ + /usr/include/qt6/QtCore/qiodevicebase.h \ + /usr/include/qt6/QtCore/qiterable.h \ + /usr/include/qt6/QtCore/qiterator.h \ + /usr/include/qt6/QtCore/qjsondocument.h \ + /usr/include/qt6/QtCore/qjsonobject.h \ + /usr/include/qt6/QtCore/qjsonparseerror.h \ + /usr/include/qt6/QtCore/qjsonvalue.h \ + /usr/include/qt6/QtCore/qlatin1stringview.h \ + /usr/include/qt6/QtCore/qline.h \ + /usr/include/qt6/QtCore/qlist.h \ + /usr/include/qt6/QtCore/qlocale.h \ + /usr/include/qt6/QtCore/qlogging.h \ + /usr/include/qt6/QtCore/qmalloc.h \ + /usr/include/qt6/QtCore/qmap.h \ + /usr/include/qt6/QtCore/qmargins.h \ + /usr/include/qt6/QtCore/qmath.h \ + /usr/include/qt6/QtCore/qmetacontainer.h \ + /usr/include/qt6/QtCore/qmetatype.h \ + /usr/include/qt6/QtCore/qminmax.h \ + /usr/include/qt6/QtCore/qnamespace.h \ + /usr/include/qt6/QtCore/qnumeric.h \ + /usr/include/qt6/QtCore/qobject.h \ + /usr/include/qt6/QtCore/qobject_impl.h \ + /usr/include/qt6/QtCore/qobjectdefs.h \ + /usr/include/qt6/QtCore/qobjectdefs_impl.h \ + /usr/include/qt6/QtCore/qoverload.h \ + /usr/include/qt6/QtCore/qpair.h \ + /usr/include/qt6/QtCore/qplugin.h \ + /usr/include/qt6/QtCore/qpoint.h \ + /usr/include/qt6/QtCore/qpointer.h \ + /usr/include/qt6/QtCore/qprocessordetection.h \ + /usr/include/qt6/QtCore/qrect.h \ + /usr/include/qt6/QtCore/qrefcount.h \ + /usr/include/qt6/QtCore/qregularexpression.h \ + /usr/include/qt6/QtCore/qscopedpointer.h \ + /usr/include/qt6/QtCore/qscopeguard.h \ + /usr/include/qt6/QtCore/qset.h \ + /usr/include/qt6/QtCore/qshareddata.h \ + /usr/include/qt6/QtCore/qshareddata_impl.h \ + /usr/include/qt6/QtCore/qsharedpointer.h \ + /usr/include/qt6/QtCore/qsharedpointer_impl.h \ + /usr/include/qt6/QtCore/qsize.h \ + /usr/include/qt6/QtCore/qspan.h \ + /usr/include/qt6/QtCore/qstdlibdetection.h \ + /usr/include/qt6/QtCore/qstring.h \ + /usr/include/qt6/QtCore/qstringalgorithms.h \ + /usr/include/qt6/QtCore/qstringbuilder.h \ + /usr/include/qt6/QtCore/qstringconverter.h \ + /usr/include/qt6/QtCore/qstringconverter_base.h \ + /usr/include/qt6/QtCore/qstringfwd.h \ + /usr/include/qt6/QtCore/qstringlist.h \ + /usr/include/qt6/QtCore/qstringmatcher.h \ + /usr/include/qt6/QtCore/qstringtokenizer.h \ + /usr/include/qt6/QtCore/qstringview.h \ + /usr/include/qt6/QtCore/qswap.h \ + /usr/include/qt6/QtCore/qsysinfo.h \ + /usr/include/qt6/QtCore/qsystemdetection.h \ + /usr/include/qt6/QtCore/qtaggedpointer.h \ + /usr/include/qt6/QtCore/qtclasshelpermacros.h \ + /usr/include/qt6/QtCore/qtconfiginclude.h \ + /usr/include/qt6/QtCore/qtconfigmacros.h \ + /usr/include/qt6/QtCore/qtcore-config.h \ + /usr/include/qt6/QtCore/qtcoreexports.h \ + /usr/include/qt6/QtCore/qtcoreglobal.h \ + /usr/include/qt6/QtCore/qtdeprecationdefinitions.h \ + /usr/include/qt6/QtCore/qtdeprecationmarkers.h \ + /usr/include/qt6/QtCore/qtenvironmentvariables.h \ + /usr/include/qt6/QtCore/qtextstream.h \ + /usr/include/qt6/QtCore/qtformat_impl.h \ + /usr/include/qt6/QtCore/qtmetamacros.h \ + /usr/include/qt6/QtCore/qtnoop.h \ + /usr/include/qt6/QtCore/qtpreprocessorsupport.h \ + /usr/include/qt6/QtCore/qtresource.h \ + /usr/include/qt6/QtCore/qttranslation.h \ + /usr/include/qt6/QtCore/qttypetraits.h \ + /usr/include/qt6/QtCore/qtversion.h \ + /usr/include/qt6/QtCore/qtversionchecks.h \ + /usr/include/qt6/QtCore/qtypeinfo.h \ + /usr/include/qt6/QtCore/qtypes.h \ + /usr/include/qt6/QtCore/qurl.h \ + /usr/include/qt6/QtCore/qutf8stringview.h \ + /usr/include/qt6/QtCore/quuid.h \ + /usr/include/qt6/QtCore/qvariant.h \ + /usr/include/qt6/QtCore/qvarlengtharray.h \ + /usr/include/qt6/QtCore/qversiontagging.h \ + /usr/include/qt6/QtCore/qxptype_traits.h \ + /usr/include/qt6/QtCore/qyieldcpu.h \ + /usr/include/qt6/QtGui/qbrush.h \ + /usr/include/qt6/QtGui/qcolor.h \ + /usr/include/qt6/QtGui/qicon.h \ + /usr/include/qt6/QtGui/qimage.h \ + /usr/include/qt6/QtGui/qpaintdevice.h \ + /usr/include/qt6/QtGui/qpalette.h \ + /usr/include/qt6/QtGui/qpixelformat.h \ + /usr/include/qt6/QtGui/qpixmap.h \ + /usr/include/qt6/QtGui/qpolygon.h \ + /usr/include/qt6/QtGui/qregion.h \ + /usr/include/qt6/QtGui/qrgb.h \ + /usr/include/qt6/QtGui/qrgba64.h \ + /usr/include/qt6/QtGui/qtgui-config.h \ + /usr/include/qt6/QtGui/qtguiexports.h \ + /usr/include/qt6/QtGui/qtguiglobal.h \ + /usr/include/qt6/QtGui/qtransform.h \ + /usr/include/qt6/QtGui/qwindowdefs.h \ + /usr/include/qt6/QtWidgets/QCommonStyle \ + /usr/include/qt6/QtWidgets/QProxyStyle \ + /usr/include/qt6/QtWidgets/QStylePlugin \ + /usr/include/qt6/QtWidgets/qcommonstyle.h \ + /usr/include/qt6/QtWidgets/qproxystyle.h \ + /usr/include/qt6/QtWidgets/qsizepolicy.h \ + /usr/include/qt6/QtWidgets/qstyle.h \ + /usr/include/qt6/QtWidgets/qstyleplugin.h \ + /usr/include/qt6/QtWidgets/qtwidgets-config.h \ + /usr/include/qt6/QtWidgets/qtwidgetsexports.h \ + /usr/include/qt6/QtWidgets/qtwidgetsglobal.h \ + /usr/include/sched.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/stdio.h \ + /usr/include/stdlib.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/sys/cdefs.h \ + /usr/include/sys/select.h \ + /usr/include/sys/single_threaded.h \ + /usr/include/sys/types.h \ + /usr/include/time.h \ + /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdarg.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stdbool.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/16.1.1/include/stddef.h diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/cyberqueer_autogen/moc_predefs.h b/qt-themes/deprecated/cyberqueer/style-plugin/build/cyberqueer_autogen/moc_predefs.h new file mode 100644 index 0000000..4178c4d --- /dev/null +++ b/qt-themes/deprecated/cyberqueer/style-plugin/build/cyberqueer_autogen/moc_predefs.h @@ -0,0 +1,481 @@ +#define __DBL_MIN_EXP__ (-1021) +#define __LDBL_MANT_DIG__ 64 +#define __cpp_nontype_template_parameter_auto 201606L +#define __UINT_LEAST16_MAX__ 0xffff +#define __FLT16_HAS_QUIET_NAN__ 1 +#define __ATOMIC_ACQUIRE 2 +#define __FLT128_MAX_10_EXP__ 4932 +#define __FLT_MIN__ 1.17549435082228750796873653722224568e-38F +#define __GCC_IEC_559_COMPLEX 2 +#define __cpp_aggregate_nsdmi 201304L +#define __UINT_LEAST8_TYPE__ unsigned char +#define __SIZEOF_FLOAT80__ 16 +#define __BFLT16_DENORM_MIN__ 9.18354961579912115600575419704879436e-41BF16 +#define __INTMAX_C(c) c ## L +#define __CHAR_BIT__ 8 +#define __UINT8_MAX__ 0xff +#define __SCHAR_WIDTH__ 8 +#define __WINT_MAX__ 0xffffffffU +#define __FLT32_MIN_EXP__ (-125) +#define __cpp_static_assert 201411L +#define __BFLT16_MIN_10_EXP__ (-37) +#define __cpp_inheriting_constructors 201511L +#define QT_GUI_LIB 1 +#define __ORDER_LITTLE_ENDIAN__ 1234 +#define __WCHAR_MAX__ 0x7fffffff +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 +#define __GCC_ATOMIC_CHAR_LOCK_FREE 2 +#define __GCC_IEC_559 2 +#define __FLT32X_DECIMAL_DIG__ 17 +#define __FLT_EVAL_METHOD__ 0 +#define __cpp_binary_literals 201304L +#define __FLT64_DECIMAL_DIG__ 17 +#define __cpp_noexcept_function_type 201510L +#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 +#define __cpp_variadic_templates 200704L +#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL +#define __SIG_ATOMIC_TYPE__ int +#define __DBL_MIN_10_EXP__ (-307) +#define __FINITE_MATH_ONLY__ 0 +#define __cpp_variable_templates 201304L +#define __FLT32X_MAX_EXP__ 1024 +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 +#define __FLT32_HAS_DENORM__ 1 +#define __UINT_FAST8_MAX__ 0xff +#define __cpp_rvalue_reference 200610L +#define __cpp_nested_namespace_definitions 201411L +#define __DEC64_MAX_EXP__ 385 +#define __INT8_C(c) c +#define __LDBL_HAS_INFINITY__ 1 +#define __INT_LEAST8_WIDTH__ 8 +#define __cpp_variadic_using 201611L +#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL +#define __INT_LEAST8_MAX__ 0x7f +#define __cpp_attributes 200809L +#define __cpp_capture_star_this 201603L +#define __SHRT_MAX__ 0x7fff +#define __LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L +#define __FLT64X_MAX_10_EXP__ 4932 +#define __cpp_if_constexpr 201606L +#define __BFLT16_MAX_10_EXP__ 38 +#define __BFLT16_MAX_EXP__ 128 +#define __LDBL_IS_IEC_60559__ 1 +#define QT_NO_DEBUG 1 +#define __FLT64X_HAS_QUIET_NAN__ 1 +#define __UINT_LEAST8_MAX__ 0xff +#define __GCC_ATOMIC_BOOL_LOCK_FREE 2 +#define __FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128 +#define __UINTMAX_TYPE__ long unsigned int +#define __cpp_nsdmi 200809L +#define __BFLT16_DECIMAL_DIG__ 4 +#define __linux 1 +#define __DEC32_EPSILON__ 1E-6DF +#define __FLT_EVAL_METHOD_TS_18661_3__ 0 +#define __UINT32_MAX__ 0xffffffffU +#define __GXX_EXPERIMENTAL_CXX0X__ 1 +#define __DBL_DENORM_MIN__ double(4.94065645841246544176568792868221372e-324L) +#define __FLT128_MIN_EXP__ (-16381) +#define __DEC64X_MAX_EXP__ 6145 +#define __WINT_MIN__ 0U +#define __FLT128_MIN_10_EXP__ (-4931) +#define __FLT32X_IS_IEC_60559__ 1 +#define __INT_LEAST16_WIDTH__ 16 +#define __SCHAR_MAX__ 0x7f +#define __FLT128_MANT_DIG__ 113 +#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1) +#define __INT64_C(c) c ## L +#define __SSP_STRONG__ 3 +#define __GCC_ATOMIC_POINTER_LOCK_FREE 2 +#define __ATOMIC_SEQ_CST 5 +#define __unix 1 +#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL +#define __FLT32X_MANT_DIG__ 53 +#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 +#define __cpp_aligned_new 201606L +#define __FLT32_MAX_10_EXP__ 38 +#define __FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x +#define __STDC_HOSTED__ 1 +#define __DEC64_MIN_EXP__ (-382) +#define __cpp_decltype_auto 201304L +#define __DBL_DIG__ 15 +#define __STDC_EMBED_EMPTY__ 2 +#define __FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F +#define __GXX_WEAK__ 1 +#define __SHRT_WIDTH__ 16 +#define __FLT32_IS_IEC_60559__ 1 +#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L +#define __DBL_IS_IEC_60559__ 1 +#define __DEC32_MAX__ 9.999999E96DF +#define __cpp_threadsafe_static_init 200806L +#define __cpp_enumerator_attributes 201411L +#define __FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x +#define __FLT32X_HAS_INFINITY__ 1 +#define __unix__ 1 +#define __INT_WIDTH__ 32 +#define __STDC_IEC_559__ 1 +#define __STDC_ISO_10646__ 201706L +#define __DECIMAL_DIG__ 21 +#define __STDC_IEC_559_COMPLEX__ 1 +#define __gnu_linux__ 1 +#define __INT16_MAX__ 0x7fff +#define __FLT64_MIN_EXP__ (-1021) +#define __DEC64X_EPSILON__ 1E-33D64x +#define __FLT64X_MIN_10_EXP__ (-4931) +#define __LDBL_HAS_QUIET_NAN__ 1 +#define __FLT16_MIN_EXP__ (-13) +#define __FLT64_MANT_DIG__ 53 +#define __FLT64X_MANT_DIG__ 64 +#define __BFLT16_DIG__ 2 +#define __GNUC__ 16 +#define __GXX_RTTI 1 +#define __pie__ 2 +#define __MMX__ 1 +#define __FLT_HAS_DENORM__ 1 +#define __SIZEOF_LONG_DOUBLE__ 16 +#define __BIGGEST_ALIGNMENT__ 16 +#define __STDC_UTF_16__ 1 +#define __FLT64_MAX_10_EXP__ 308 +#define __BFLT16_IS_IEC_60559__ 0 +#define __FLT16_MAX_10_EXP__ 4 +#define __cpp_delegating_constructors 200604L +#define __DBL_MAX__ double(1.79769313486231570814527423731704357e+308L) +#define __cpp_raw_strings 200710L +#define __INT_FAST32_MAX__ 0x7fffffffffffffffL +#define __DBL_HAS_INFINITY__ 1 +#define __INT64_MAX__ 0x7fffffffffffffffL +#define __SIZEOF_FLOAT__ 4 +#define __HAVE_SPECULATION_SAFE_VALUE 1 +#define __cpp_fold_expressions 201603L +#define __DEC32_MIN_EXP__ (-94) +#define __INTPTR_WIDTH__ 64 +#define __UINT_LEAST32_MAX__ 0xffffffffU +#define __FLT32X_HAS_DENORM__ 1 +#define __INT_FAST16_TYPE__ long int +#define __MMX_WITH_SSE__ 1 +#define __LDBL_HAS_DENORM__ 1 +#define cyberqueer_EXPORTS 1 +#define QT_WIDGETS_LIB 1 +#define __SEG_GS 1 +#define __BFLT16_EPSILON__ 7.81250000000000000000000000000000000e-3BF16 +#define __cplusplus 201703L +#define __cpp_ref_qualifiers 200710L +#define __DEC32_MIN__ 1E-95DF +#define __DEPRECATED 1 +#define __cpp_rvalue_references 200610L +#define __DBL_MAX_EXP__ 1024 +#define __WCHAR_WIDTH__ 32 +#define __FLT32_MAX__ 3.40282346638528859811704183484516925e+38F32 +#define __DEC128_EPSILON__ 1E-33DL +#define __FLT16_DECIMAL_DIG__ 5 +#define __SSE2_MATH__ 1 +#define __ATOMIC_HLE_RELEASE 131072 +#define __PTRDIFF_MAX__ 0x7fffffffffffffffL +#define __amd64 1 +#define __DEC64X_MAX__ 9.999999999999999999999999999999999E6144D64x +#define __ATOMIC_HLE_ACQUIRE 65536 +#define __GNUG__ 16 +#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL +#define __SIZEOF_SIZE_T__ 8 +#define __BFLT16_HAS_INFINITY__ 1 +#define __FLT64X_MIN_EXP__ (-16381) +#define __SIZEOF_WINT_T__ 4 +#define __FLT32X_DIG__ 15 +#define __LONG_LONG_WIDTH__ 64 +#define __cpp_initializer_lists 200806L +#define __FLT32_MAX_EXP__ 128 +#define ABI_ID "ELF" +#define __cpp_hex_float 201603L +#define __GXX_ABI_VERSION 1021 +#define __FLT_MIN_EXP__ (-125) +#define __GCC_HAVE_DWARF2_CFI_ASM 1 +#define __x86_64 1 +#define __cpp_lambdas 200907L +#define __INT_FAST64_TYPE__ long int +#define __BFLT16_MAX__ 3.38953138925153547590470800371487867e+38BF16 +#define __FLT64_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F64 +#define __cpp_template_auto 201606L +#define __FLT16_DENORM_MIN__ 5.96046447753906250000000000000000000e-8F16 +#define __FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128 +#define __FLT64X_NORM_MAX__ 1.18973149535723176502126385303097021e+4932F64x +#define __SIZEOF_POINTER__ 8 +#define __SIZE_TYPE__ long unsigned int +#define __LP64__ 1 +#define __DBL_HAS_QUIET_NAN__ 1 +#define __FLT32X_EPSILON__ 2.22044604925031308084726333618164062e-16F32x +#define __LDBL_MAX_EXP__ 16384 +#define __DECIMAL_BID_FORMAT__ 1 +#define __FLT64_MIN_10_EXP__ (-307) +#define __FLT16_MIN_10_EXP__ (-4) +#define __FLT64X_DECIMAL_DIG__ 21 +#define __DEC128_MIN__ 1E-6143DL +#define __REGISTER_PREFIX__ +#define __UINT16_MAX__ 0xffff +#define __FLT128_HAS_INFINITY__ 1 +#define __FLT32_MIN__ 1.17549435082228750796873653722224568e-38F32 +#define __UINT8_TYPE__ unsigned char +#define __FLT_DIG__ 6 +#define __NO_INLINE__ 1 +#define __DEC_EVAL_METHOD__ 2 +#define __FLT_MANT_DIG__ 24 +#define __LDBL_DECIMAL_DIG__ 21 +#define __VERSION__ "16.1.1 20260430" +#define __UINT64_C(c) c ## UL +#define __cpp_unicode_characters 201411L +#define __DEC64X_MIN__ 1E-6143D64x +#define _STDC_PREDEF_H 1 +#define __INT_LEAST32_MAX__ 0x7fffffff +#define __GCC_ATOMIC_INT_LOCK_FREE 2 +#define __FLT128_MAX_EXP__ 16384 +#define __FLT32_MANT_DIG__ 24 +#define __cpp_decltype 200707L +#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__ +#define SIZEOF_DPTR (sizeof(void*)) +#define __FLT32X_MIN_EXP__ (-1021) +#define __cpp_inline_variables 201606L +#define __STDC_IEC_60559_COMPLEX__ 201404L +#define __cpp_aggregate_bases 201603L +#define __BFLT16_MIN__ 1.17549435082228750796873653722224568e-38BF16 +#define __FLT128_HAS_DENORM__ 1 +#define __FLT32_DECIMAL_DIG__ 9 +#define __FLT128_DIG__ 33 +#define __INT32_C(c) c +#define __DEC64_EPSILON__ 1E-15DD +#define __ORDER_PDP_ENDIAN__ 3412 +#define __DEC128_MIN_EXP__ (-6142) +#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL +#define __INT_FAST32_TYPE__ long int +#define __UINT_LEAST16_TYPE__ short unsigned int +#define __DEC64X_MANT_DIG__ 34 +#define __DEC128_MAX_EXP__ 6145 +#define unix 1 +#define __DBL_HAS_DENORM__ 1 +#define __cpp_rtti 199711L +#define __UINT64_MAX__ 0xffffffffffffffffUL +#define __FLT_IS_IEC_60559__ 1 +#define __GNUC_WIDE_EXECUTION_CHARSET_NAME "UTF-32LE" +#define __FLT64X_DIG__ 18 +#define __INT8_TYPE__ signed char +#define __cpp_digit_separators 201309L +#define __ELF__ 1 +#define __GCC_ASM_FLAG_OUTPUTS__ 1 +#define __UINT32_TYPE__ unsigned int +#define __BFLT16_HAS_QUIET_NAN__ 1 +#define __FLT_RADIX__ 2 +#define __INT_LEAST16_TYPE__ short int +#define __LDBL_EPSILON__ 1.08420217248550443400745280086994171e-19L +#define __UINTMAX_C(c) c ## UL +#define __FLT16_DIG__ 3 +#define __k8 1 +#define __FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x +#define __SIG_ATOMIC_MAX__ 0x7fffffff +#define __cpp_constexpr 201603L +#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 +#define __USER_LABEL_PREFIX__ +#define __STDC_IEC_60559_BFP__ 201404L +#define __SIZEOF_PTRDIFF_T__ 8 +#define __FLT64X_HAS_INFINITY__ 1 +#define __SIZEOF_LONG__ 8 +#define __LDBL_DIG__ 18 +#define __FLT64_IS_IEC_60559__ 1 +#define __x86_64__ 1 +#define __FLT16_IS_IEC_60559__ 1 +#define __FLT16_MAX_EXP__ 16 +#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF +#define __STDC_EMBED_FOUND__ 1 +#define __INT_FAST16_MAX__ 0x7fffffffffffffffL +#define __GCC_CONSTRUCTIVE_SIZE 64 +#define __FLT64_DIG__ 15 +#define __UINT_FAST32_MAX__ 0xffffffffffffffffUL +#define __UINT_LEAST64_TYPE__ long unsigned int +#define __FLT16_EPSILON__ 9.76562500000000000000000000000000000e-4F16 +#define __FLT_HAS_QUIET_NAN__ 1 +#define __FLT_MAX_10_EXP__ 38 +#define __FLT64X_HAS_DENORM__ 1 +#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL +#define __FLT_HAS_INFINITY__ 1 +#define __GNUC_EXECUTION_CHARSET_NAME "UTF-8" +#define __cpp_unicode_literals 200710L +#define __UINT_FAST16_TYPE__ long unsigned int +#define __DEC64_MAX__ 9.999999999999999E384DD +#define __STDC_EMBED_NOT_FOUND__ 0 +#define __INT_FAST32_WIDTH__ 64 +#define __CHAR16_TYPE__ short unsigned int +#define __PRAGMA_REDEFINE_EXTNAME 1 +#define __DEC64X_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143D64x +#define __SIZE_WIDTH__ 64 +#define __SEG_FS 1 +#define __INT_LEAST16_MAX__ 0x7fff +#define __FLT16_NORM_MAX__ 6.55040000000000000000000000000000000e+4F16 +#define __DEC64_MANT_DIG__ 16 +#define __FLT32_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F32 +#define __SIG_ATOMIC_WIDTH__ 32 +#define __GCC_DESTRUCTIVE_SIZE 64 +#define __INT_LEAST64_TYPE__ long int +#define __INT16_TYPE__ short int +#define __INT_LEAST8_TYPE__ signed char +#define __FLT16_MAX__ 6.55040000000000000000000000000000000e+4F16 +#define __FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128 +#define __cpp_structured_bindings 201606L +#define __SIZEOF_INT__ 4 +#define __DEC32_MAX_EXP__ 97 +#define __INT_FAST8_MAX__ 0x7f +#define __FLT128_MAX__ 1.18973149535723176508575932662800702e+4932F128 +#define __INTPTR_MAX__ 0x7fffffffffffffffL +#define __cpp_sized_deallocation 201309L +#define __cpp_guaranteed_copy_elision 201606L +#define linux 1 +#define __FLT64_HAS_QUIET_NAN__ 1 +#define __FLT32_MIN_10_EXP__ (-37) +#define __EXCEPTIONS 1 +#define __UINT16_C(c) c +#define __PTRDIFF_WIDTH__ 64 +#define __cpp_range_based_for 201603L +#define __INT_FAST16_WIDTH__ 64 +#define __FLT64_HAS_INFINITY__ 1 +#define __FLT64X_MAX__ 1.18973149535723176502126385303097021e+4932F64x +#define __FLT16_HAS_INFINITY__ 1 +#define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 16 +#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) +#define __code_model_small__ 1 +#define __GCC_ATOMIC_LONG_LOCK_FREE 2 +#define __cpp_nontype_template_args 201411L +#define __DEC32_MANT_DIG__ 7 +#define __k8__ 1 +#define __INTPTR_TYPE__ long int +#define __UINT16_TYPE__ short unsigned int +#define __WCHAR_TYPE__ int +#define __pic__ 2 +#define __UINTPTR_MAX__ 0xffffffffffffffffUL +#define __INT_FAST64_WIDTH__ 64 +#define __INT_FAST64_MAX__ 0x7fffffffffffffffL +#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 +#define __FLT_NORM_MAX__ 3.40282346638528859811704183484516925e+38F +#define __FLT32_HAS_INFINITY__ 1 +#define __FLT64X_MAX_EXP__ 16384 +#define __UINT_FAST64_TYPE__ long unsigned int +#define __BFLT16_MIN_EXP__ (-125) +#define __INT_MAX__ 0x7fffffff +#define __linux__ 1 +#define __INT64_TYPE__ long int +#define __FLT_MAX_EXP__ 128 +#define __ORDER_BIG_ENDIAN__ 4321 +#define __DBL_MANT_DIG__ 53 +#define QT_CORE_LIB 1 +#define __SIZEOF_FLOAT128__ 16 +#define __BFLT16_MANT_DIG__ 8 +#define __DEC64_MIN__ 1E-383DD +#define __WINT_TYPE__ unsigned int +#define __UINT_LEAST32_TYPE__ unsigned int +#define __SIZEOF_SHORT__ 2 +#define __FLT32_NORM_MAX__ 3.40282346638528859811704183484516925e+38F32 +#define __SSE__ 1 +#define __LDBL_MIN_EXP__ (-16381) +#define __FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64 +#define __DEC64X_MIN_EXP__ (-6142) +#define __amd64__ 1 +#define __WINT_WIDTH__ 32 +#define __INT_LEAST64_WIDTH__ 64 +#define __FLT32X_MAX_10_EXP__ 308 +#define __cpp_namespace_attributes 201411L +#define __SIZEOF_INT128__ 16 +#define __FLT16_MIN__ 6.10351562500000000000000000000000000e-5F16 +#define __FLT64X_IS_IEC_60559__ 1 +#define __GXX_CONSTEXPR_ASM__ 1 +#define __LDBL_MAX_10_EXP__ 4932 +#define __ATOMIC_RELAXED 0 +#define __DBL_EPSILON__ double(2.22044604925031308084726333618164062e-16L) +#define __INT_LEAST32_TYPE__ int +#define _LP64 1 +#define __UINT8_C(c) c +#define __FLT64_MAX_EXP__ 1024 +#define __cpp_return_type_deduction 201304L +#define __SIZEOF_WCHAR_T__ 4 +#define __GNUC_PATCHLEVEL__ 1 +#define __FLT128_NORM_MAX__ 1.18973149535723176508575932662800702e+4932F128 +#define __FLT64_NORM_MAX__ 1.79769313486231570814527423731704357e+308F64 +#define __FLT128_HAS_QUIET_NAN__ 1 +#define __INTMAX_MAX__ 0x7fffffffffffffffL +#define __INT_FAST8_TYPE__ signed char +#define __FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x +#define __FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64 +#define __STDCPP_THREADS__ 1 +#define __BFLT16_HAS_DENORM__ 1 +#define __GNUC_STDC_INLINE__ 1 +#define __FLT64_HAS_DENORM__ 1 +#define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32 +#define __FLT16_HAS_DENORM__ 1 +#define __DBL_DECIMAL_DIG__ 17 +#define __STDC_UTF_32__ 1 +#define __INT_FAST8_WIDTH__ 8 +#define __FXSR__ 1 +#define __FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x +#define __DBL_NORM_MAX__ double(1.79769313486231570814527423731704357e+308L) +#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ +#define __INTMAX_WIDTH__ 64 +#define __cpp_runtime_arrays 198712L +#define __FLT32_DIG__ 6 +#define __UINT64_TYPE__ long unsigned int +#define __UINT32_C(c) c ## U +#define ARCHITECTURE_ID "x86_64" +#define __cpp_alias_templates 200704L +#define __FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F +#define __FLT128_IS_IEC_60559__ 1 +#define __INT8_MAX__ 0x7f +#define __LONG_WIDTH__ 64 +#define __DBL_MIN__ double(2.22507385850720138309023271733240406e-308L) +#define __PIC__ 2 +#define __INT32_MAX__ 0x7fffffff +#define __UINT_FAST32_TYPE__ long unsigned int +#define __FLT16_MANT_DIG__ 11 +#define __FLT32X_NORM_MAX__ 1.79769313486231570814527423731704357e+308F32x +#define __CHAR32_TYPE__ unsigned int +#define __FLT_MAX__ 3.40282346638528859811704183484516925e+38F +#define __SSE2__ 1 +#define __cpp_deduction_guides 201703L +#define __BFLT16_NORM_MAX__ 3.38953138925153547590470800371487867e+38BF16 +#define __INT32_TYPE__ int +#define __SIZEOF_DOUBLE__ 8 +#define __cpp_exceptions 199711L +#define __FLT_MIN_10_EXP__ (-37) +#define __FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64 +#define __INT_LEAST32_WIDTH__ 32 +#define __INTMAX_TYPE__ long int +#define __GLIBCXX_BITSIZE_INT_N_0 128 +#define __FLT32X_HAS_QUIET_NAN__ 1 +#define __ATOMIC_CONSUME 1 +#define __GNUC_MINOR__ 1 +#define __GLIBCXX_TYPE_INT_N_0 __int128 +#define __UINTMAX_MAX__ 0xffffffffffffffffUL +#define __PIE__ 2 +#define __FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x +#define __cpp_template_template_args 201611L +#define __DBL_MAX_10_EXP__ 308 +#define __LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L +#define __INT16_C(c) c +#define __STDC__ 1 +#define __PTRDIFF_TYPE__ long int +#define __LONG_MAX__ 0x7fffffffffffffffL +#define __FLT32X_MIN_10_EXP__ (-307) +#define __UINTPTR_TYPE__ long unsigned int +#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD +#define __DEC128_MANT_DIG__ 34 +#define __LDBL_MIN_10_EXP__ (-4931) +#define __cpp_generic_lambdas 201304L +#define __SSE_MATH__ 1 +#define __SIZEOF_LONG_LONG__ 8 +#define __cpp_user_defined_literals 200809L +#define __FLT128_DECIMAL_DIG__ 36 +#define __GCC_ATOMIC_LLONG_LOCK_FREE 2 +#define __FLT32_HAS_QUIET_NAN__ 1 +#define __FLT_DECIMAL_DIG__ 9 +#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL +#define __LDBL_NORM_MAX__ 1.18973149535723176502126385303097021e+4932L +#define __GCC_ATOMIC_SHORT_LOCK_FREE 2 +#define __SIZE_MAX__ 0xffffffffffffffffUL +#define __UINT_FAST8_TYPE__ unsigned char +#define _GNU_SOURCE 1 +#define __cpp_init_captures 201304L +#define __ATOMIC_ACQ_REL 4 +#define __ATOMIC_RELEASE 3 diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/cyberqueer_autogen/mocs_compilation.cpp b/qt-themes/deprecated/cyberqueer/style-plugin/build/cyberqueer_autogen/mocs_compilation.cpp new file mode 100644 index 0000000..148d59b --- /dev/null +++ b/qt-themes/deprecated/cyberqueer/style-plugin/build/cyberqueer_autogen/mocs_compilation.cpp @@ -0,0 +1,2 @@ +// This file is autogenerated. Changes will be overwritten. +#include "EWIEGA46WW/moc_CyberQueerStyle.cpp" diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/cyberqueer_autogen/timestamp b/qt-themes/deprecated/cyberqueer/style-plugin/build/cyberqueer_autogen/timestamp new file mode 100644 index 0000000..e69de29 diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/install_manifest.txt b/qt-themes/deprecated/cyberqueer/style-plugin/build/install_manifest.txt new file mode 100644 index 0000000..2fde80a --- /dev/null +++ b/qt-themes/deprecated/cyberqueer/style-plugin/build/install_manifest.txt @@ -0,0 +1 @@ +/usr/lib/qt6/plugins/styles/libcyberqueer.so \ No newline at end of file diff --git a/qt-themes/deprecated/cyberqueer/style-plugin/build/libcyberqueer.so b/qt-themes/deprecated/cyberqueer/style-plugin/build/libcyberqueer.so new file mode 100755 index 0000000000000000000000000000000000000000..7e2c08535a3971550740385b61b469f4bcd5c85c GIT binary patch literal 37408 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 literal 0 HcmV?d00001 diff --git a/qt-themes/cyberqueer/style-plugin/cyberqueer.json b/qt-themes/deprecated/cyberqueer/style-plugin/cyberqueer.json similarity index 100% rename from qt-themes/cyberqueer/style-plugin/cyberqueer.json rename to qt-themes/deprecated/cyberqueer/style-plugin/cyberqueer.json diff --git a/qt-themes/cyberqueer/style-plugin/plugin.cpp b/qt-themes/deprecated/cyberqueer/style-plugin/plugin.cpp similarity index 100% rename from qt-themes/cyberqueer/style-plugin/plugin.cpp rename to qt-themes/deprecated/cyberqueer/style-plugin/plugin.cpp diff --git a/qt-themes/cyberqueer/style.qss b/qt-themes/deprecated/cyberqueer/style.qss similarity index 100% rename from qt-themes/cyberqueer/style.qss rename to qt-themes/deprecated/cyberqueer/style.qss diff --git a/setup/modules/Desktop-Environments/hyprlua.sh b/setup/modules/Desktop-Environments/hyprlua.sh index ec7f9f0..cc0e616 100755 --- a/setup/modules/Desktop-Environments/hyprlua.sh +++ b/setup/modules/Desktop-Environments/hyprlua.sh @@ -20,7 +20,7 @@ sudo pacman -Syu --noconfirm --needed \ nerd-fonts otf-font-awesome \ pipewire-alsa pipewire-jack pipewire-pulse \ qt5-wayland qt6-wayland swww ttf-jetbrains-mono wireplumber \ - qt6ct xdg-desktop-portal-hyprland xdg-utils \ + xdg-desktop-portal-hyprland xdg-utils \ xorg-server xorg-xinit papirus-icon-theme \ cool-retro-term qalculate-gtk iwd dbus \ thunar tumbler thunar-archive-plugin thunar-shares-plugin thunar-volman \ @@ -70,7 +70,7 @@ sudo cp ~/Dotfiles/desktopenvs/hyprlua/btop/themes/cyberqueer.theme /usr/share/b sudo cp -f ~/Dotfiles/etc-ly-config.ini /etc/ly/config.ini sudo ln -sf /usr/bin/kitty /usr/bin/xdg-terminal-exec sudo ln -sf /usr/bin/ksshaskpass /usr/lib/ssh/ssh-askpass -bash ~/Dotfiles/qt-themes/cyberqueer/enable.sh +#bash ~/Dotfiles/qt-themes/cyberqueer/enable.sh gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' # 7. Cursor setup From b5b21ce4cdf67ce10fa1c62dc95cec095e12febd Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 19 May 2026 14:54:13 +0200 Subject: [PATCH 042/116] fixed issue with resizing windows with keyboard shortcuts --- desktopenvs/hyprlua/hypr-usr/binds.lua | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/desktopenvs/hyprlua/hypr-usr/binds.lua b/desktopenvs/hyprlua/hypr-usr/binds.lua index c67237b..96f46e7 100644 --- a/desktopenvs/hyprlua/hypr-usr/binds.lua +++ b/desktopenvs/hyprlua/hypr-usr/binds.lua @@ -127,14 +127,14 @@ hl.bind(mainMod .. " + SHIFT + mouse:272", hl.dsp.window.resize(), { mouse = tru ---- RESIZE -------- -------------------- -hl.bind(mainMod .. " + ALT + right", hl.dsp.window.resize({ x = 10, y = 0 }), { repeating = true }) -hl.bind(mainMod .. " + ALT + left", hl.dsp.window.resize({ x = -10, y = 0 }), { repeating = true }) -hl.bind(mainMod .. " + ALT + up", hl.dsp.window.resize({ x = 0, y = -10 }), { repeating = true }) -hl.bind(mainMod .. " + ALT + down", hl.dsp.window.resize({ x = 0, y = 10 }), { repeating = true }) -hl.bind(mainMod .. " + ALT + l", hl.dsp.window.resize({ x = 10, y = 0 }), { repeating = true }) -hl.bind(mainMod .. " + ALT + h", hl.dsp.window.resize({ x = -10, y = 0 }), { repeating = true }) -hl.bind(mainMod .. " + ALT + k", hl.dsp.window.resize({ x = 0, y = -10 }), { repeating = true }) -hl.bind(mainMod .. " + ALT + j", hl.dsp.window.resize({ x = 0, y = 10 }), { repeating = true }) +hl.bind(mainMod .. " + ALT + right", hl.dsp.window.resize({ x = 10, y = 0, relative = true }), { repeating = true }) +hl.bind(mainMod .. " + ALT + left", hl.dsp.window.resize({ x = -10, y = 0, relative = true }), { repeating = true }) +hl.bind(mainMod .. " + ALT + up", hl.dsp.window.resize({ x = 0, y = -10, relative = true }), { repeating = true }) +hl.bind(mainMod .. " + ALT + down", hl.dsp.window.resize({ x = 0, y = 10, relative = true }), { repeating = true }) +hl.bind(mainMod .. " + ALT + l", hl.dsp.window.resize({ x = 10, y = 0, relative = true }), { repeating = true }) +hl.bind(mainMod .. " + ALT + h", hl.dsp.window.resize({ x = -10, y = 0, relative = true }), { repeating = true }) +hl.bind(mainMod .. " + ALT + k", hl.dsp.window.resize({ x = 0, y = -10, relative = true }), { repeating = true }) +hl.bind(mainMod .. " + ALT + j", hl.dsp.window.resize({ x = 0, y = 10, relative = true }), { repeating = true }) -------------------- ---- WORKSPACES ---- From 7b9379b1c18c504062bc3f233e80be1595654f36 Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 19 May 2026 15:00:26 +0200 Subject: [PATCH 043/116] feat(binds): convert gestures to new Hyprland Lua syntax Co-Authored-By: Claude Sonnet 4.6 --- desktopenvs/hyprlua/hypr-usr/binds.lua | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/desktopenvs/hyprlua/hypr-usr/binds.lua b/desktopenvs/hyprlua/hypr-usr/binds.lua index 96f46e7..f8e781c 100644 --- a/desktopenvs/hyprlua/hypr-usr/binds.lua +++ b/desktopenvs/hyprlua/hypr-usr/binds.lua @@ -20,17 +20,16 @@ hl.bind("switch:off:Lid Switch", hl.dsp.exec_cmd("hyprctl dispatch exec hyprlock -------------------- hl.gesture({ fingers = 3, direction = "horizontal", action = "workspace" }) --- TODO: verify dispatcher syntax for non-built-in gesture actions in Lua: --- gesture = 3, up, dispatcher, movetoworkspacesilent, special:magic --- gesture = 3, down, special, magic --- gesture = 3, pinchin, dispatcher, exec, $menu --- gesture = 3, pinchout, float --- gesture = 4, pinchout, close --- gesture = 4, pinchin, dispatcher, exec, $terminal --- gesture = 4, down, dispatcher, movetoworkspace, special:magic --- gesture = 4, up, dispatcher, movetoworkspace, r+0 --- gesture = 4, left, dispatcher, movetoworkspace, r+1 --- gesture = 4, right, dispatcher, movetoworkspace, r-1 +hl.gesture({ fingers = 3, direction = "up", action = function() hl.dsp.window.move({ workspace = "special:magic", silent = true }) end }) +hl.gesture({ fingers = 3, direction = "down", action = "special", workspace_name = "magic" }) +hl.gesture({ fingers = 3, direction = "pinchin", action = function() hl.dsp.exec_cmd(menu) end }) +hl.gesture({ fingers = 3, direction = "pinchout", action = "float" }) +hl.gesture({ fingers = 4, direction = "pinchout", action = "close" }) +hl.gesture({ fingers = 4, direction = "pinchin", action = function() hl.dsp.exec_cmd(terminal) end }) +hl.gesture({ fingers = 4, direction = "down", action = function() hl.dsp.window.move({ workspace = "special:magic" }) end }) +hl.gesture({ fingers = 4, direction = "up", action = function() hl.dsp.window.move({ workspace = "r+0" }) end }) +hl.gesture({ fingers = 4, direction = "left", action = function() hl.dsp.window.move({ workspace = "r+1" }) end }) +hl.gesture({ fingers = 4, direction = "right", action = function() hl.dsp.window.move({ workspace = "r-1" }) end }) -------------------- ---- APPS ---------- From f88019176407fa2720b71c66e14771523c0abf68 Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 19 May 2026 16:29:53 +0200 Subject: [PATCH 044/116] fix(scripts): update caffeine and toggle-touchpad to Lua config syntax Replace hyprctl dispatch exec with direct daemon invocation in caffeine.sh, and replace defunct \$LAPTOP_KB_ENABLED .conf variable with the actual device key path in hyprland-toggle-touchpad.sh. Co-Authored-By: Claude Sonnet 4.6 --- desktopenvs/hyprlua/scripts/caffeine.sh | 2 +- desktopenvs/hyprlua/scripts/hyprland-toggle-touchpad.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/desktopenvs/hyprlua/scripts/caffeine.sh b/desktopenvs/hyprlua/scripts/caffeine.sh index 0fb1eb7..b6d40e6 100755 --- a/desktopenvs/hyprlua/scripts/caffeine.sh +++ b/desktopenvs/hyprlua/scripts/caffeine.sh @@ -10,7 +10,7 @@ if [ "$statecon" != "" ]; then else notify-send -t 1000 "caffeine mode off" - hyprctl dispatch exec hypridle + hypridle & fi diff --git a/desktopenvs/hyprlua/scripts/hyprland-toggle-touchpad.sh b/desktopenvs/hyprlua/scripts/hyprland-toggle-touchpad.sh index cafa8e4..31e64d3 100755 --- a/desktopenvs/hyprlua/scripts/hyprland-toggle-touchpad.sh +++ b/desktopenvs/hyprlua/scripts/hyprland-toggle-touchpad.sh @@ -5,13 +5,13 @@ export STATUS_FILE="$XDG_RUNTIME_DIR/keyboard.status" enable_keyboard() { printf "true" >"$STATUS_FILE" notify-send -u normal "Enabling Touchpad" - hyprctl keyword '$LAPTOP_KB_ENABLED' "true" -r + hyprctl keyword 'device[synaptics-tm3053-009]:enabled' "true" } disable_keyboard() { printf "false" >"$STATUS_FILE" notify-send -u normal "Disabling Touchpad" - hyprctl keyword '$LAPTOP_KB_ENABLED' "false" -r + hyprctl keyword 'device[synaptics-tm3053-009]:enabled' "false" } if ! [ -f "$STATUS_FILE" ]; then From ef4a0a483d075ad9502b52f9b8bd0598b587225b Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 19 May 2026 16:41:52 +0200 Subject: [PATCH 045/116] fix(scripts): port screen rotation to Lua config Replace hyprctl keyword with hyprctl eval + hl.monitor/hl.device Lua API, and switch monitor/device parsing from fragile grep to hyprctl -j + jq. Co-Authored-By: Claude Sonnet 4.6 --- desktopenvs/hyprlua/scripts/unified-rotate.sh | 26 +++++++------------ 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/desktopenvs/hyprlua/scripts/unified-rotate.sh b/desktopenvs/hyprlua/scripts/unified-rotate.sh index f19266c..eefc17b 100755 --- a/desktopenvs/hyprlua/scripts/unified-rotate.sh +++ b/desktopenvs/hyprlua/scripts/unified-rotate.sh @@ -6,17 +6,13 @@ direction="$1" if [[ "$direction" != "cw" && "$direction" != "ccw" && "$direction" != "0" && "$direction" != "1" && "$direction" != "2" && "$direction" != "3" ]]; then echo "Usage: $0 [cw|ccw] OR $0 [0|1|2|3]" - exit 1 fi -# Get current monitor name -curmon=$(hyprctl monitors | grep -B12 "focused: yes" | head -n1 | awk '{print $2}') -# curmon=$(hyprctl monitors | awk '/focused: yes/{getline; print $2}') +monitors_json=$(hyprctl monitors -j) -# Get current transform value -# currot=$(hyprctl monitors | awk '/focused: yes/{for(i=0;i<15;i++){getline;if($1=="transform:"){print $2;break}}}') -currot=$(hyprctl monitors | grep -B1 "focused: yes" | head -n1 | awk '{print $2}') +curmon=$(echo "$monitors_json" | jq -r '.[] | select(.focused) | .name') +currot=$(echo "$monitors_json" | jq -r '.[] | select(.focused) | .transform') # Calculate new rotation if [[ "$direction" == "cw" ]]; then @@ -25,29 +21,27 @@ if [[ "$direction" == "cw" ]]; then else newrot=$((currot + 1)) fi -else # ccw +elif [[ "$direction" == "ccw" ]]; then if [[ "$currot" == "0" ]]; then newrot="3" else newrot=$((currot - 1)) fi -fi - -if [[ "$direction" == "0" || "$direction" == "1" || "$direction" == "2" || "$direction" == "3" ]]; then - newrot="$direction" +else + newrot="$direction" fi echo "Rotating monitor '$curmon' from $currot to $newrot ($direction)" -# Apply new rotation to monitor -hyprctl keyword monitor "$curmon,preferred,auto,1,transform,$newrot" +# Apply new rotation to monitor (hyprctl keyword doesn't work with Lua config) +hyprctl eval "hl.monitor({output='$curmon', transform=$newrot})" # Detect touchscreen device name -touchdev=$(hyprctl devices | awk '/Touch Device/{getline; print $1}') +touchdev=$(hyprctl devices -j | jq -r '.touch[0].name // empty') if [[ -n "$touchdev" ]]; then echo "Applying same rotation to touchscreen: $touchdev" - hyprctl keyword "device[$touchdev]:transform" "$newrot" + hyprctl eval "hl.device({name='$touchdev', transform=$newrot})" else echo "No touchscreen device detected." fi From 7fe95c8b72495035a97dab6b003e18d9b1fd70d1 Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 19 May 2026 16:57:10 +0200 Subject: [PATCH 046/116] fix(eww): port hyprctl dispatch calls to Lua API Replace hyprctl dispatch with hyprctl eval using hl.dsp.* in all three eww variants. Workspace switching uses hl.dsp.focus with r+/r- relative prefixes; killactive becomes hl.dsp.window.close(); exec uses hl.dsp.exec_cmd. Co-Authored-By: Claude Sonnet 4.6 --- desktopenvs/hyprlua/eww-nobattery/eww.yuck | 6 +++--- desktopenvs/hyprlua/eww-touch/eww.yuck | 12 ++++++------ desktopenvs/hyprlua/eww/eww.yuck | 6 +++--- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/desktopenvs/hyprlua/eww-nobattery/eww.yuck b/desktopenvs/hyprlua/eww-nobattery/eww.yuck index 42bc66d..b88e136 100644 --- a/desktopenvs/hyprlua/eww-nobattery/eww.yuck +++ b/desktopenvs/hyprlua/eww-nobattery/eww.yuck @@ -31,7 +31,7 @@ (metric :label "󰓃" :value volume :onchange "pactl set-sink-volume @DEFAULT_SINK@ {}%" - :onclick "killall pavucontrol || hyprctl dispatch exec \[tag +mixer\] pavucontrol") + :onclick "killall pavucontrol || hyprctl eval 'hl.dsp.exec_cmd(\"[tag +mixer] pavucontrol\")'") (box :tooltip {disks} (metric :label "" @@ -65,14 +65,14 @@ (deflisten workspaces "hyprland-workspaces _") (defwidget workspaceWidget [monitor] - (eventbox :onscroll "hyprctl dispatch workspace `echo {} | sed 's/up/+/\' | sed 's/down/-/'`1" + (eventbox :onscroll "hyprctl eval \"hl.dsp.focus({workspace='$(echo {} | sed 's/up/r+/;s/down/r-/')1'})\"" (box :class "workspaces" :space-evenly false :width 20 (for i in {workspaces[monitor].workspaces} (button :width 20 - :onclick "hyprctl dispatch workspace ${i.id}" + :onclick "hyprctl eval 'hl.dsp.focus({workspace=${i.id}})'" :class "${i.class}" {i.name == "special:magic" ? "󱂬" : "󱂬${i.name}"}))))) diff --git a/desktopenvs/hyprlua/eww-touch/eww.yuck b/desktopenvs/hyprlua/eww-touch/eww.yuck index ebb0cef..098a851 100644 --- a/desktopenvs/hyprlua/eww-touch/eww.yuck +++ b/desktopenvs/hyprlua/eww-touch/eww.yuck @@ -30,7 +30,7 @@ (metric :label "󰓃 " :value volume :onchange "pactl set-sink-volume @DEFAULT_SINK@ {}%" - :onclick "killall pavucontrol || hyprctl dispatch exec \[tag +mixer\] pavucontrol") + :onclick "killall pavucontrol || hyprctl eval 'hl.dsp.exec_cmd(\"[tag +mixer] pavucontrol\")'") ) ) @@ -48,7 +48,7 @@ :orientation "h" :space-evenly false :halign "center" - :onclick "hyprctl dispatch workspace -1" + :onclick "hyprctl eval 'hl.dsp.focus({workspace=\"r-1\"})'" {""} ) @@ -63,7 +63,7 @@ :orientation "h" :space-evenly false :halign "center" - :onclick "hyprctl dispatch killactive" + :onclick "hyprctl eval 'hl.dsp.window.close()'" {""} ) (button :class "music" @@ -78,7 +78,7 @@ :orientation "h" :space-evenly false :halign "center" - :onclick "hyprctl dispatch workspace +1" + :onclick "hyprctl eval 'hl.dsp.focus({workspace=\"r+1\"})'" {""} ) @@ -116,14 +116,14 @@ (deflisten workspaces "hyprland-workspaces _") (defwidget workspaceWidget [monitor] - (eventbox :onscroll "hyprctl dispatch workspace `echo {} | sed 's/up/+/\' | sed 's/down/-/'`1" + (eventbox :onscroll "hyprctl eval \"hl.dsp.focus({workspace='$(echo {} | sed 's/up/r+/;s/down/r-/')1'})\"" (box :class "workspaces" :space-evenly false :width 20 (for i in {workspaces[monitor].workspaces} (button :width 20 - :onclick "hyprctl dispatch workspace ${i.id}" + :onclick "hyprctl eval 'hl.dsp.focus({workspace=${i.id}})'" :class "${i.class}" {i.name == "special:magic" ? "󱂬" : "󱂬${i.name}"}))))) diff --git a/desktopenvs/hyprlua/eww/eww.yuck b/desktopenvs/hyprlua/eww/eww.yuck index 46c445a..69c5f14 100644 --- a/desktopenvs/hyprlua/eww/eww.yuck +++ b/desktopenvs/hyprlua/eww/eww.yuck @@ -36,7 +36,7 @@ (metric :label "󰓃" :value volume :onchange "pactl set-sink-volume @DEFAULT_SINK@ {}%" - :onclick "killall pavucontrol || hyprctl dispatch exec \[tag +mixer\] pavucontrol") + :onclick "killall pavucontrol || hyprctl eval 'hl.dsp.exec_cmd(\"[tag +mixer] pavucontrol\")'") (box :tooltip {disks} (metric :label "" @@ -71,14 +71,14 @@ (deflisten workspaces "hyprland-workspaces _") (defwidget workspaceWidget [monitor] - (eventbox :onscroll "hyprctl dispatch workspace `echo {} | sed 's/up/+/\' | sed 's/down/-/'`1" + (eventbox :onscroll "hyprctl eval \"hl.dsp.focus({workspace='$(echo {} | sed 's/up/r+/;s/down/r-/')1'})\"" (box :class "workspaces" :space-evenly false :width 20 (for i in {workspaces[monitor].workspaces} (button :width 20 - :onclick "hyprctl dispatch workspace ${i.id}" + :onclick "hyprctl eval 'hl.dsp.focus({workspace=${i.id}})'" :class "${i.class}" {i.name == "special:magic" ? "󱂬" : "󱂬${i.name}"}))))) From a8e9a4b49ba32423c56a13a2dd9b3ab17b6f7ba8 Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 19 May 2026 18:25:30 +0200 Subject: [PATCH 047/116] fix(nvim): use coc#pum API for Enter confirmation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit pumvisible() checks the native Vim pum, which coc.nvim bypasses in favour of its own popup — so the confirm never fired. Switch to coc#pum#visible() / coc#pum#confirm() to match the Tab/S-Tab bindings. Co-Authored-By: Claude Sonnet 4.6 --- nvim/init.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nvim/init.lua b/nvim/init.lua index ed4dcba..151f39b 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -140,5 +140,5 @@ end, { expr = true, silent = true }) -- CR confirms CoC selection vim.keymap.set("i", "", function() - return vim.fn.pumvisible() == 1 and "" or "" -end, { expr = true }) + return vim.fn["coc#pum#visible"]() == 1 and vim.fn["coc#pum#confirm"]() or "" +end, { expr = true, silent = true }) From 6a9d286e5565b4bbb63f1813a92613b821c7d2a3 Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 19 May 2026 18:26:28 +0200 Subject: [PATCH 048/116] fixed workspace navigation --- desktopenvs/hyprlua/eww-touch/eww.yuck | 4 ++-- desktopenvs/hyprlua/scripts/unified-rotate.sh | 12 ++++++++++-- .../hyprlua/scripts/workspacefocus/focusleft.sh | 3 +++ .../hyprlua/scripts/workspacefocus/focusright.sh | 3 +++ 4 files changed, 18 insertions(+), 4 deletions(-) create mode 100755 desktopenvs/hyprlua/scripts/workspacefocus/focusleft.sh create mode 100755 desktopenvs/hyprlua/scripts/workspacefocus/focusright.sh diff --git a/desktopenvs/hyprlua/eww-touch/eww.yuck b/desktopenvs/hyprlua/eww-touch/eww.yuck index 098a851..3a8186f 100644 --- a/desktopenvs/hyprlua/eww-touch/eww.yuck +++ b/desktopenvs/hyprlua/eww-touch/eww.yuck @@ -48,7 +48,7 @@ :orientation "h" :space-evenly false :halign "center" - :onclick "hyprctl eval 'hl.dsp.focus({workspace=\"r-1\"})'" + :onclick "~/.config/scripts/workspacefocus/focusleft.sh" {""} ) @@ -78,7 +78,7 @@ :orientation "h" :space-evenly false :halign "center" - :onclick "hyprctl eval 'hl.dsp.focus({workspace=\"r+1\"})'" + :onclick "~/.config/scripts/workspacefocus/focusright.sh" {""} ) diff --git a/desktopenvs/hyprlua/scripts/unified-rotate.sh b/desktopenvs/hyprlua/scripts/unified-rotate.sh index eefc17b..7c44b11 100755 --- a/desktopenvs/hyprlua/scripts/unified-rotate.sh +++ b/desktopenvs/hyprlua/scripts/unified-rotate.sh @@ -13,6 +13,14 @@ monitors_json=$(hyprctl monitors -j) curmon=$(echo "$monitors_json" | jq -r '.[] | select(.focused) | .name') currot=$(echo "$monitors_json" | jq -r '.[] | select(.focused) | .transform') +curscale=$(echo "$monitors_json" | jq -r '.[] | select(.focused) | .scale') +curwidth=$(echo "$monitors_json" | jq -r '.[] | select(.focused) | .width') +curheight=$(echo "$monitors_json" | jq -r '.[] | select(.focused) | .height') +currefresh=$(echo "$monitors_json" | jq -r '.[] | select(.focused) | .refreshRate | round') +curx=$(echo "$monitors_json" | jq -r '.[] | select(.focused) | .x') +cury=$(echo "$monitors_json" | jq -r '.[] | select(.focused) | .y') + +curmode="${curwidth}x${curheight}@${currefresh}" # Calculate new rotation if [[ "$direction" == "cw" ]]; then @@ -33,8 +41,8 @@ fi echo "Rotating monitor '$curmon' from $currot to $newrot ($direction)" -# Apply new rotation to monitor (hyprctl keyword doesn't work with Lua config) -hyprctl eval "hl.monitor({output='$curmon', transform=$newrot})" +# Apply new rotation while preserving current mode and scale +hyprctl eval "hl.monitor({output='$curmon', mode='$curmode', position='${curx}x${cury}', scale=$curscale, transform=$newrot})" # Detect touchscreen device name touchdev=$(hyprctl devices -j | jq -r '.touch[0].name // empty') diff --git a/desktopenvs/hyprlua/scripts/workspacefocus/focusleft.sh b/desktopenvs/hyprlua/scripts/workspacefocus/focusleft.sh new file mode 100755 index 0000000..0723e17 --- /dev/null +++ b/desktopenvs/hyprlua/scripts/workspacefocus/focusleft.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +hyprctl dispatch 'hl.dsp.focus({ workspace = "r-1" })' diff --git a/desktopenvs/hyprlua/scripts/workspacefocus/focusright.sh b/desktopenvs/hyprlua/scripts/workspacefocus/focusright.sh new file mode 100755 index 0000000..ce45628 --- /dev/null +++ b/desktopenvs/hyprlua/scripts/workspacefocus/focusright.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +hyprctl dispatch 'hl.dsp.focus({ workspace = "r+1" })' From 9f480eb1b15c68ede9a736fb3f994eab58f85d7d Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 19 May 2026 18:30:02 +0200 Subject: [PATCH 049/116] adjusted size of eww bar --- desktopenvs/hyprlua/eww-touch/eww.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/desktopenvs/hyprlua/eww-touch/eww.scss b/desktopenvs/hyprlua/eww-touch/eww.scss index 90b6e66..089d33e 100644 --- a/desktopenvs/hyprlua/eww-touch/eww.scss +++ b/desktopenvs/hyprlua/eww-touch/eww.scss @@ -1,7 +1,7 @@ * { all: unset; // Unsets everything so you can style everything from scratch font-family: Agave Nerd Font Mono, sans-serif; - font-size: 27pt; + font-size: 18pt; } tooltip { From c7511b750a0e69295b0e1a812d499aabd0925333 Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 19 May 2026 18:31:18 +0200 Subject: [PATCH 050/116] adjusted size of eww bar - i found the sweet spot --- desktopenvs/hyprlua/eww-touch/eww.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/desktopenvs/hyprlua/eww-touch/eww.scss b/desktopenvs/hyprlua/eww-touch/eww.scss index 089d33e..667c982 100644 --- a/desktopenvs/hyprlua/eww-touch/eww.scss +++ b/desktopenvs/hyprlua/eww-touch/eww.scss @@ -1,7 +1,7 @@ * { all: unset; // Unsets everything so you can style everything from scratch font-family: Agave Nerd Font Mono, sans-serif; - font-size: 18pt; + font-size: 17pt; } tooltip { From 33934f633d2467b0684b81cf2b4508a073ffe4b3 Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 19 May 2026 19:58:35 +0200 Subject: [PATCH 051/116] feat(setup): add anti-malware module with freshclam cron job Adds clamav, clamtk, rkhunter, chkrootkit and installs a twice-daily /etc/cron.d/freshclam entry for automatic virus definition updates. Co-Authored-By: Claude Sonnet 4.6 --- setup/install-modules.sh | 4 ++++ .../optional-Modules/apps/anti-malware.sh | 24 +++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 setup/modules/optional-Modules/apps/anti-malware.sh diff --git a/setup/install-modules.sh b/setup/install-modules.sh index 9d0651b..e951132 100755 --- a/setup/install-modules.sh +++ b/setup/install-modules.sh @@ -93,6 +93,7 @@ count_steps() { [[ "$sel" == *"llama-cpp"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"open-webui"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"claude"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"anti-malware"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"networking-cli"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"disk-recovery"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"himalaya"* ]] && TOTAL=$(( TOTAL + 1 )) @@ -176,6 +177,7 @@ SELECTED=$(dialog --backtitle "$BACKTITLE" \ "llama-cpp" "llama.cpp standalone inference CLI + server" off \ "open-webui" "Open WebUI browser UI for Ollama / LLM backends" off \ "claude" "Claude Code Anthropic CLI via npm" off \ + "anti-malware" "Anti-Malware clamav · clamtk · rkhunter · chkrootkit" off \ "networking-cli" "Networking CLI nmap · nethogs · mitmproxy · httpie" off \ "disk-recovery" "Disk Recovery ddrescue · f3" off \ "himalaya" "Himalaya terminal email client (AUR)" off \ @@ -241,6 +243,7 @@ SUMMARY="" [[ "$SELECTED" == *"llama-cpp"* ]] && SUMMARY+=" ✦ llama.cpp\n" [[ "$SELECTED" == *"open-webui"* ]] && SUMMARY+=" ✦ Open WebUI\n" [[ "$SELECTED" == *"claude"* ]] && SUMMARY+=" ✦ Claude Code\n" +[[ "$SELECTED" == *"anti-malware"* ]] && SUMMARY+=" ✦ Anti-Malware (clamav, clamtk, rkhunter, chkrootkit)\n" [[ "$SELECTED" == *"networking-cli"* ]] && SUMMARY+=" ✦ Networking CLI (nmap, nethogs, mitmproxy, httpie)\n" [[ "$SELECTED" == *"disk-recovery"* ]] && SUMMARY+=" ✦ Disk Recovery (ddrescue, f3)\n" [[ "$SELECTED" == *"himalaya"* ]] && SUMMARY+=" ✦ Himalaya\n" @@ -307,6 +310,7 @@ DE_DIR="$MODULES/Desktop-Environments" [[ "$SELECTED" == *"llama-cpp"* ]] && run_module "llama.cpp" "$APPS/llama-cpp.sh" [[ "$SELECTED" == *"open-webui"* ]] && run_module "Open WebUI" "$APPS/open-webui.sh" [[ "$SELECTED" == *"claude"* ]] && run_module "Claude Code" "$APPS/claude.sh" +[[ "$SELECTED" == *"anti-malware"* ]] && run_module "Anti-Malware" "$APPS/anti-malware.sh" [[ "$SELECTED" == *"networking-cli"* ]] && run_module "Networking CLI" "$APPS/networking-cli.sh" [[ "$SELECTED" == *"disk-recovery"* ]] && run_module "Disk Recovery" "$APPS/disk-recovery.sh" [[ "$SELECTED" == *"himalaya"* ]] && run_module "Himalaya" "$APPS/himalaya.sh" diff --git a/setup/modules/optional-Modules/apps/anti-malware.sh b/setup/modules/optional-Modules/apps/anti-malware.sh new file mode 100644 index 0000000..07bae0a --- /dev/null +++ b/setup/modules/optional-Modules/apps/anti-malware.sh @@ -0,0 +1,24 @@ +#!/bin/bash +set -euo pipefail + +sudo pacman -S --noconfirm --needed \ + clamav clamtk rkhunter + +yay -S --aur --noconfirm --needed chkrootkit + +# initialise ClamAV database (first run) +if [[ ! -f /var/lib/clamav/main.cvd ]] && [[ ! -f /var/lib/clamav/main.cld ]]; then + echo "Running initial freshclam..." + sudo freshclam +fi + +# cron job: update virus definitions twice a day +CRON_FILE=/etc/cron.d/freshclam +if [[ ! -f "$CRON_FILE" ]]; then + echo "Installing freshclam cron job..." + sudo tee "$CRON_FILE" > /dev/null <<'EOF' +# Update ClamAV virus definitions twice a day +0 */12 * * * root /usr/bin/freshclam --quiet 2>/dev/null +EOF + sudo chmod 644 "$CRON_FILE" +fi From 278ffb4a5a692958e84a117fcf426f666ef88564 Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 19 May 2026 22:20:30 +0200 Subject: [PATCH 052/116] feat(archiso): auto-start guided installer on boot, use answerfile for unattended mode MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit .zlogin execs .automated_script.sh on login, which checks for /answerfile.json; if present it runs the auto installer (passing the path), otherwise launches the guided installer directly — no manual invocation needed. Co-Authored-By: Claude Sonnet 4.6 --- setup/archiso/build.sh | 3 +++ .../airootfs/etc/mkinitcpio.conf.d/archiso.conf | 6 ++++++ setup/archiso/overlay/airootfs/etc/motd | 7 ++++--- .../archiso/overlay/airootfs/root/.automated_script.sh | 10 ++++++++++ setup/archiso/overlay/airootfs/root/.zlogin | 1 + setup/archiso/overlay/airootfs/root/launch.sh | 2 +- setup/archiso/overlay/profiledef.sh | 2 ++ 7 files changed, 27 insertions(+), 4 deletions(-) create mode 100644 setup/archiso/overlay/airootfs/etc/mkinitcpio.conf.d/archiso.conf create mode 100644 setup/archiso/overlay/airootfs/root/.automated_script.sh create mode 100644 setup/archiso/overlay/airootfs/root/.zlogin diff --git a/setup/archiso/build.sh b/setup/archiso/build.sh index 9e7bdba..badae14 100644 --- a/setup/archiso/build.sh +++ b/setup/archiso/build.sh @@ -88,6 +88,7 @@ cp "$DOTFILES_DIR/setup/arch-autoinstall.sh" "$PROFILE/airootfs/root/in chmod 755 \ "$PROFILE/airootfs/root/launch.sh" \ + "$PROFILE/airootfs/root/.automated_script.sh" \ "$PROFILE/airootfs/usr/local/bin/install-arch" \ "$PROFILE/airootfs/root/installer/"*.sh @@ -106,4 +107,6 @@ ls -lh "$OUT_DIR/"*.iso 2>/dev/null || true if [[ -n "$PRECONF_FILE" ]]; then echo "Answerfile embedded — automated install will activate on boot." +else + echo "No answerfile — guided (manual) installer will start automatically on boot." fi diff --git a/setup/archiso/overlay/airootfs/etc/mkinitcpio.conf.d/archiso.conf b/setup/archiso/overlay/airootfs/etc/mkinitcpio.conf.d/archiso.conf new file mode 100644 index 0000000..333eb07 --- /dev/null +++ b/setup/archiso/overlay/airootfs/etc/mkinitcpio.conf.d/archiso.conf @@ -0,0 +1,6 @@ +# Modules explicitly included because mkinitcpio's autodetection runs on the +# build host and won't pick up filesystem/storage drivers needed at live boot. +MODULES=(squashfs overlay iso9660 loop dm_mod xhci_pci xhci_hcd ehci_pci ehci_hcd usb_storage uas) +HOOKS=(base udev microcode modconf kms memdisk archiso archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs block filesystems keyboard) +COMPRESSION="zstd" +COMPRESSION_OPTIONS=(-9 --long) diff --git a/setup/archiso/overlay/airootfs/etc/motd b/setup/archiso/overlay/airootfs/etc/motd index 6fe2ae6..ffe7d1b 100644 --- a/setup/archiso/overlay/airootfs/etc/motd +++ b/setup/archiso/overlay/airootfs/etc/motd @@ -4,9 +4,10 @@ | by The_miro | +-----------------------------------------------------+ - Commands: - install-arch guided installer (recommended) - install-arch auto automated installer (no prompts) + The installer starts automatically on login. + To re-run manually: + install-arch guided installer (manual mode) + install-arch auto automated installer (requires answerfile) Scripts are also at: ~/installer/ diff --git a/setup/archiso/overlay/airootfs/root/.automated_script.sh b/setup/archiso/overlay/airootfs/root/.automated_script.sh new file mode 100644 index 0000000..a558549 --- /dev/null +++ b/setup/archiso/overlay/airootfs/root/.automated_script.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +set -euo pipefail + +ANSWERFILE="/answerfile.json" + +if [[ -f "$ANSWERFILE" ]]; then + exec /root/launch.sh auto "$ANSWERFILE" +else + exec /root/launch.sh guided +fi diff --git a/setup/archiso/overlay/airootfs/root/.zlogin b/setup/archiso/overlay/airootfs/root/.zlogin new file mode 100644 index 0000000..3471e05 --- /dev/null +++ b/setup/archiso/overlay/airootfs/root/.zlogin @@ -0,0 +1 @@ +exec /root/.automated_script.sh diff --git a/setup/archiso/overlay/airootfs/root/launch.sh b/setup/archiso/overlay/airootfs/root/launch.sh index f7eadeb..a502418 100644 --- a/setup/archiso/overlay/airootfs/root/launch.sh +++ b/setup/archiso/overlay/airootfs/root/launch.sh @@ -2,7 +2,7 @@ set -euo pipefail INSTALLER_DIR="$HOME/installer" case "${1:-guided}" in - auto) exec bash "$INSTALLER_DIR/arch-autoinstall.sh" ;; + auto) exec bash "$INSTALLER_DIR/arch-autoinstall.sh" "${@:2}" ;; guided) exec bash "$INSTALLER_DIR/archbaseos-guided-install.sh" ;; *) exec bash "$INSTALLER_DIR/archbaseos-guided-install.sh" ;; esac diff --git a/setup/archiso/overlay/profiledef.sh b/setup/archiso/overlay/profiledef.sh index a274d53..c2f9df7 100644 --- a/setup/archiso/overlay/profiledef.sh +++ b/setup/archiso/overlay/profiledef.sh @@ -15,8 +15,10 @@ airootfs_image_tool_options=('-comp' 'zstd' '-Xcompression-level' '15') bootstrap_tarball_compression=('zstd' '-c' '-T0' '--auto-threads=logical' '--long' '-19') file_permissions=( ["/etc/shadow"]="0:0:400" + ["/etc/mkinitcpio.conf.d/archiso.conf"]="0:0:644" ["/root"]="0:0:750" ["/root/.automated_script.sh"]="0:0:755" + ["/root/.zlogin"]="0:0:644" ["/root/launch.sh"]="0:0:755" ["/root/installer/archbaseos-guided-install.sh"]="0:0:755" ["/root/installer/arch-autoinstall.sh"]="0:0:755" From 9e541eb21bbd65d3bd02d7426be3eaffead6d1ec Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 19 May 2026 22:24:25 +0200 Subject: [PATCH 053/116] fix(archiso): chown work and output dirs back to user after mkarchiso sudo mkarchiso leaves files owned by root, causing rm -rf to fail on re-runs. Co-Authored-By: Claude Sonnet 4.6 --- setup/archiso/build.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/setup/archiso/build.sh b/setup/archiso/build.sh index badae14..62f3346 100644 --- a/setup/archiso/build.sh +++ b/setup/archiso/build.sh @@ -100,6 +100,7 @@ fi echo "Building ISO (this may take a while)..." sudo mkarchiso -v -w "$WORK_DIR/mkarchiso" -o "$OUT_DIR" "$PROFILE" +sudo chown -R "$(id -u):$(id -g)" "$WORK_DIR" "$OUT_DIR" echo echo "Done." From ef599a111e707fa2ee58374a735a10f650ebf208 Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 19 May 2026 23:18:50 +0200 Subject: [PATCH 054/116] feat(setup): add keymap selection dialog to guided installer Prompts for us/de keymap interactively; reads .keymap from answerfile in unattended mode. Writes /etc/vconsole.conf in chroot. Co-Authored-By: Claude Sonnet 4.6 --- setup/archbaseos-guided-install.sh | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/setup/archbaseos-guided-install.sh b/setup/archbaseos-guided-install.sh index 5974a1d..1faa01b 100755 --- a/setup/archbaseos-guided-install.sh +++ b/setup/archbaseos-guided-install.sh @@ -125,8 +125,10 @@ if $AF_MODE; then ENABLE_FIDO_ROOT=$(af_bool '.fido2_root') ENABLE_FIDO_USER=$(af_bool '.fido2_user') RUN_TUI=$(af_bool '.run_tui') + KEYMAP=$(af_get '.keymap' 'us') echo "Kernel: $KERNEL / Hostname: $HOSTNAME / Username: $USERNAME" echo "Encrypt: $ENCRYPT_DISK / FIDO2 root: $ENABLE_FIDO_ROOT / FIDO2 user: $ENABLE_FIDO_USER" + echo "Keymap: $KEYMAP" else KERNEL=$(ask "Kernel (linux, linux-lts, linux-zen)") HOSTNAME=$(ask "Hostname") @@ -137,6 +139,16 @@ else read -rp "Enable FIDO2 for unlocking root? (YES/NO): " ENABLE_FIDO_ROOT fi read -rp "Enable FIDO2 for user login? (YES/NO): " ENABLE_FIDO_USER + + echo "" + echo "Select keyboard layout:" + echo " 1) English US (us)" + echo " 2) German (de)" + read -rp "Choice [1]: " _KM_CHOICE + case "${_KM_CHOICE:-1}" in + 2) KEYMAP="de" ;; + *) KEYMAP="us" ;; + esac fi read -rsp "Password for $USERNAME: " USERPASS; echo @@ -240,6 +252,7 @@ arch-chroot /mnt /usr/bin/env \ ENABLE_FIDO_USER="$ENABLE_FIDO_USER" \ ROOT_UUID="$ROOT_UUID" \ ROOT_PART="$ROOT_PART" \ + KEYMAP="$KEYMAP" \ /bin/bash <<'CHROOT_EOF' set -euo pipefail @@ -248,6 +261,8 @@ echo "en_US.UTF-8 UTF-8" > /etc/locale.gen locale-gen echo "LANG=en_US.UTF-8" > /etc/locale.conf +echo "KEYMAP=${KEYMAP}" > /etc/vconsole.conf + ln -sf /usr/share/zoneinfo/Europe/Vienna /etc/localtime hwclock --systohc From 58de8fac1b659540f0e4f32d685256ca801dafde Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 19 May 2026 23:19:53 +0200 Subject: [PATCH 055/116] chmod setup/archiso/build.sh --- setup/archiso/build.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 setup/archiso/build.sh diff --git a/setup/archiso/build.sh b/setup/archiso/build.sh old mode 100644 new mode 100755 From 77c3e1def83c709dd19560ccb387bab7dfad1753 Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 19 May 2026 23:37:01 +0200 Subject: [PATCH 056/116] feat(setup): replace hardcoded loadkeys with a KEYMAPS-array menu Both the live-environment prompt and the installed-system prompt now loop over a single KEYMAPS array, so adding a new layout is a one-line change. Co-Authored-By: Claude Sonnet 4.6 --- setup/archbaseos-guided-install.sh | 49 +++++++++++++++++++++++++----- 1 file changed, 42 insertions(+), 7 deletions(-) diff --git a/setup/archbaseos-guided-install.sh b/setup/archbaseos-guided-install.sh index 1faa01b..197f54e 100755 --- a/setup/archbaseos-guided-install.sh +++ b/setup/archbaseos-guided-install.sh @@ -62,6 +62,36 @@ fi ############################################ # Begin ############################################ + +############################################ +# Keyboard layout (live environment) +# To add more layouts: append "code|Display Name" to KEYMAPS +############################################ +KEYMAPS=( + "us|English US" + "de|German" +) + +if $AF_MODE; then + LIVE_KEYMAP=$(af_get '.keymap' 'us') +else + echo "Select keyboard layout:" + for i in "${!KEYMAPS[@]}"; do + _km_code="${KEYMAPS[$i]%%|*}" + _km_name="${KEYMAPS[$i]##*|}" + printf " %d) %-14s (%s)\n" $((i+1)) "$_km_name" "$_km_code" + done + read -rp "Choice [1]: " _KM_IDX + _KM_IDX=$(( ${_KM_IDX:-1} - 1 )) + if (( _KM_IDX >= 0 && _KM_IDX < ${#KEYMAPS[@]} )); then + LIVE_KEYMAP="${KEYMAPS[$_KM_IDX]%%|*}" + else + LIVE_KEYMAP="${KEYMAPS[0]%%|*}" + fi +fi + +loadkeys "$LIVE_KEYMAP" + lsblk if $AF_MODE && [[ -n "$(af_get '.drive')" ]]; then @@ -141,14 +171,19 @@ else read -rp "Enable FIDO2 for user login? (YES/NO): " ENABLE_FIDO_USER echo "" - echo "Select keyboard layout:" - echo " 1) English US (us)" - echo " 2) German (de)" + echo "Select keyboard layout for installed system:" + for i in "${!KEYMAPS[@]}"; do + _km_code="${KEYMAPS[$i]%%|*}" + _km_name="${KEYMAPS[$i]##*|}" + printf " %d) %-14s (%s)\n" $((i+1)) "$_km_name" "$_km_code" + done read -rp "Choice [1]: " _KM_CHOICE - case "${_KM_CHOICE:-1}" in - 2) KEYMAP="de" ;; - *) KEYMAP="us" ;; - esac + _KM_CHOICE=$(( ${_KM_CHOICE:-1} - 1 )) + if (( _KM_CHOICE >= 0 && _KM_CHOICE < ${#KEYMAPS[@]} )); then + KEYMAP="${KEYMAPS[$_KM_CHOICE]%%|*}" + else + KEYMAP="${KEYMAPS[0]%%|*}" + fi fi read -rsp "Password for $USERNAME: " USERPASS; echo From 6ccc91303f5fa64c94a08f15a38ab5bcd1407b22 Mon Sep 17 00:00:00 2001 From: The_miro Date: Wed, 20 May 2026 00:01:19 +0200 Subject: [PATCH 057/116] fix(setup): port KEYMAPS+vconsole support to auto-installer and answerfile generator arch-autoinstall.sh was missing the keymap handling added to the guided installer in the previous two commits, so booting the ISO in auto mode (answerfile embedded) never called loadkeys and left the installed system with no /etc/vconsole.conf. - Add the same KEYMAPS array + selection logic to arch-autoinstall.sh (AF mode reads .keymap, interactive mode prompts) - Call loadkeys and export KEYMAP into the chroot - Write /etc/vconsole.conf inside the chroot - Add keymap dialog to generate-answerfile.sh so the field is populated - Document .keymap in the arch-autoinstall.sh answerfile field list Co-Authored-By: Claude Sonnet 4.6 --- setup/arch-autoinstall.sh | 34 ++++++++++++++++++++++++++++++++-- setup/generate-answerfile.sh | 10 ++++++++++ 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/setup/arch-autoinstall.sh b/setup/arch-autoinstall.sh index 29799d7..fb443c6 100755 --- a/setup/arch-autoinstall.sh +++ b/setup/arch-autoinstall.sh @@ -4,7 +4,7 @@ # If /answerfile.json exists (e.g. embedded in the ISO via build.sh --preconf), # all prompts are answered from it. Missing fields fall back to interactive prompts. # -# Answerfile fields: drive, kernel, hostname, username, encrypt, fido2_root, +# Answerfile fields: drive, kernel, keymap, hostname, username, encrypt, fido2_root, # fido2_user, run_tui (password always prompted interactively) set -euo pipefail @@ -55,6 +55,35 @@ if $AF_MODE; then command -v jq &>/dev/null || pacman -Sy --noconfirm jq fi +############################################ +# KEYMAP +# To add more layouts: append "code|Display Name" to KEYMAPS +############################################ +KEYMAPS=( + "us|English US" + "de|German" +) + +if $AF_MODE; then + LIVE_KEYMAP=$(af_get '.keymap' 'us') +else + echo "Select keyboard layout:" + for i in "${!KEYMAPS[@]}"; do + _km_code="${KEYMAPS[$i]%%|*}" + _km_name="${KEYMAPS[$i]##*|}" + printf " %d) %-14s (%s)\n" $((i+1)) "$_km_name" "$_km_code" + done + read -rp "Choice [1]: " _KM_IDX + _KM_IDX=$(( ${_KM_IDX:-1} - 1 )) + if (( _KM_IDX >= 0 && _KM_IDX < ${#KEYMAPS[@]} )); then + LIVE_KEYMAP="${KEYMAPS[$_KM_IDX]%%|*}" + else + LIVE_KEYMAP="${KEYMAPS[0]%%|*}" + fi +fi +loadkeys "$LIVE_KEYMAP" +KEYMAP="$LIVE_KEYMAP" + ############################################ # SAFETY WARNING ############################################ @@ -263,7 +292,7 @@ fi ############################################ # PASS VARIABLES INTO CHROOT ############################################ -export HOSTNAME USERNAME USERPASS ROOT_PART KERNEL FIDO_ROOT FIDO_USER ENCRYPT_DISK +export HOSTNAME USERNAME USERPASS ROOT_PART KERNEL FIDO_ROOT FIDO_USER ENCRYPT_DISK KEYMAP ############################################ # CHROOT CONFIGURATION @@ -275,6 +304,7 @@ set -euo pipefail echo "en_US.UTF-8 UTF-8" > /etc/locale.gen locale-gen echo "LANG=en_US.UTF-8" > /etc/locale.conf +echo "KEYMAP=${KEYMAP}" > /etc/vconsole.conf # Time / hostname ln -sf /usr/share/zoneinfo/Europe/Vienna /etc/localtime diff --git a/setup/generate-answerfile.sh b/setup/generate-answerfile.sh index 6e05e95..8bc7e45 100644 --- a/setup/generate-answerfile.sh +++ b/setup/generate-answerfile.sh @@ -118,6 +118,14 @@ AF_KERNEL=$(dialog --backtitle "$BACKTITLE" \ "linux-zen" "Zen performance kernel" \ 3>&1 1>&2 2>&3) || AF_KERNEL="linux" +# ── Keymap ──────────────────────────────────────────────────────────────────── +AF_KEYMAP=$(dialog --backtitle "$BACKTITLE" \ + --title " Keyboard Layout " \ + --menu "Select keyboard layout (live environment + installed system):" 10 60 2 \ + "us" "English US" \ + "de" "German" \ + 3>&1 1>&2 2>&3) || AF_KEYMAP="us" + # ── Hostname ────────────────────────────────────────────────────────────────── AF_HOSTNAME=$(dialog --backtitle "$BACKTITLE" \ --title " Hostname " \ @@ -315,6 +323,7 @@ fi SUMMARY="" [[ -n "$AF_DRIVE" ]] && SUMMARY+=" Drive: $AF_DRIVE\n" [[ -n "$AF_KERNEL" ]] && SUMMARY+=" Kernel: $AF_KERNEL\n" +[[ -n "$AF_KEYMAP" ]] && SUMMARY+=" Keymap: $AF_KEYMAP\n" [[ -n "$AF_HOSTNAME" ]] && SUMMARY+=" Hostname: $AF_HOSTNAME (+ MAC suffix at deploy)\n" [[ -n "$AF_USERNAME" ]] && SUMMARY+=" Username: $AF_USERNAME\n" SUMMARY+=" Encrypt: $AF_ENCRYPT\n" @@ -349,6 +358,7 @@ mkdir -p "$(dirname "$OUTPUT")" printf ' "_generated": "%s",\n' "$(date -Iseconds)" printf ' "drive": %s,\n' "$(json_str "$AF_DRIVE")" printf ' "kernel": %s,\n' "$(json_str "$AF_KERNEL")" + printf ' "keymap": %s,\n' "$(json_str "$AF_KEYMAP")" printf ' "hostname": %s,\n' "$(json_str "$AF_HOSTNAME")" printf ' "username": %s,\n' "$(json_str "$AF_USERNAME")" printf ' "encrypt": %s,\n' "$AF_ENCRYPT" From f08aa29c7aa6d37fb89042574adcc4d54dc8c8ed Mon Sep 17 00:00:00 2001 From: The_miro Date: Wed, 20 May 2026 00:18:54 +0200 Subject: [PATCH 058/116] feat(archiso): add keymap selection to launch.sh, default de-latin1-nodeadkeys Co-Authored-By: Claude Sonnet 4.6 --- setup/archiso/overlay/airootfs/root/launch.sh | 35 ++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/setup/archiso/overlay/airootfs/root/launch.sh b/setup/archiso/overlay/airootfs/root/launch.sh index a502418..e235889 100644 --- a/setup/archiso/overlay/airootfs/root/launch.sh +++ b/setup/archiso/overlay/airootfs/root/launch.sh @@ -1,7 +1,40 @@ #!/usr/bin/env bash set -euo pipefail INSTALLER_DIR="$HOME/installer" -case "${1:-guided}" in + +############################################ +# Keyboard layout (live environment) +# To add more layouts: append "code|Display Name" to KEYMAPS +############################################ +KEYMAPS=( + "de-latin1-nodeadkeys|German/Austrian (nodeadkeys)" + "us|English US" + "de|German" +) + +MODE="${1:-guided}" + +if [[ "$MODE" == "auto" ]]; then + LIVE_KEYMAP="${KEYMAPS[0]%%|*}" +else + echo "Select keyboard layout:" + for i in "${!KEYMAPS[@]}"; do + _km_code="${KEYMAPS[$i]%%|*}" + _km_name="${KEYMAPS[$i]##*|}" + printf " %d) %-32s (%s)\n" $((i+1)) "$_km_name" "$_km_code" + done + read -rp "Choice [1]: " _KM_IDX + _KM_IDX=$(( ${_KM_IDX:-1} - 1 )) + if (( _KM_IDX >= 0 && _KM_IDX < ${#KEYMAPS[@]} )); then + LIVE_KEYMAP="${KEYMAPS[$_KM_IDX]%%|*}" + else + LIVE_KEYMAP="${KEYMAPS[0]%%|*}" + fi +fi + +loadkeys "$LIVE_KEYMAP" + +case "$MODE" in auto) exec bash "$INSTALLER_DIR/arch-autoinstall.sh" "${@:2}" ;; guided) exec bash "$INSTALLER_DIR/archbaseos-guided-install.sh" ;; *) exec bash "$INSTALLER_DIR/archbaseos-guided-install.sh" ;; From da0a9e7a32dfe8ad20b97fef3de5d8571579e2bc Mon Sep 17 00:00:00 2001 From: The_miro Date: Wed, 20 May 2026 07:20:14 +0200 Subject: [PATCH 059/116] fix(archiso): move user input before partitioning, fall back to bash on exit Keymap selection was unreachable because user input ran after pacman/partition steps that could fail under set -e. Move the entire user input block (kernel, hostname, username, encryption, keymap) to before lsblk and drive selection. Also remove the redundant live-env keymap section (launch.sh handles that). Drop exec from .zlogin so quitting the installer returns to a bash shell instead of ending the session. Co-Authored-By: Claude Sonnet 4.6 --- setup/archbaseos-guided-install.sh | 118 ++++++++------------ setup/archiso/overlay/airootfs/root/.zlogin | 3 +- 2 files changed, 49 insertions(+), 72 deletions(-) diff --git a/setup/archbaseos-guided-install.sh b/setup/archbaseos-guided-install.sh index 197f54e..78f3abe 100755 --- a/setup/archbaseos-guided-install.sh +++ b/setup/archbaseos-guided-install.sh @@ -63,82 +63,11 @@ fi # Begin ############################################ -############################################ -# Keyboard layout (live environment) -# To add more layouts: append "code|Display Name" to KEYMAPS -############################################ KEYMAPS=( "us|English US" "de|German" ) -if $AF_MODE; then - LIVE_KEYMAP=$(af_get '.keymap' 'us') -else - echo "Select keyboard layout:" - for i in "${!KEYMAPS[@]}"; do - _km_code="${KEYMAPS[$i]%%|*}" - _km_name="${KEYMAPS[$i]##*|}" - printf " %d) %-14s (%s)\n" $((i+1)) "$_km_name" "$_km_code" - done - read -rp "Choice [1]: " _KM_IDX - _KM_IDX=$(( ${_KM_IDX:-1} - 1 )) - if (( _KM_IDX >= 0 && _KM_IDX < ${#KEYMAPS[@]} )); then - LIVE_KEYMAP="${KEYMAPS[$_KM_IDX]%%|*}" - else - LIVE_KEYMAP="${KEYMAPS[0]%%|*}" - fi -fi - -loadkeys "$LIVE_KEYMAP" - -lsblk - -if $AF_MODE && [[ -n "$(af_get '.drive')" ]]; then - DRIVE=$(af_get '.drive') - echo "Drive (from answerfile): $DRIVE" - echo "WARNING: All data on $DRIVE will be erased. Proceeding in 5 seconds..." - sleep 5 -else - DRIVE=$(ask "Enter install drive (e.g., /dev/sda)") - confirm "$DRIVE" || exit 1 -fi - -# Required packages -pacman -Syd --noconfirm parted cryptsetup libfido2 pam-u2f systemd-ukify jq - -############################################ -# Partitioning -############################################ - -RAM_GB=$(free --giga | awk '/Mem/ {print $2}') -DISK_GB=$(lsblk -dn -o SIZE -b "$DRIVE" | awk '{print int($1/1024/1024/1024)}') - -EFI_SIZE=5 -SWAP_SIZE=$RAM_GB -ROOT_SIZE=$((DISK_GB - SWAP_SIZE - EFI_SIZE - 1)) - -if (( ROOT_SIZE < 8 )); then - echo "ERROR: Disk too small for layout." - exit 1 -fi - -echo "EFI=${EFI_SIZE}G, Root=${ROOT_SIZE}G, Swap=${SWAP_SIZE}G" - -parted -s "$DRIVE" mklabel gpt \ - mkpart EFI fat32 1MiB "${EFI_SIZE}GiB" \ - set 1 esp on \ - mkpart ROOT "${EFI_SIZE}GiB" "$((EFI_SIZE + ROOT_SIZE))GiB" \ - mkpart SWAP "$((EFI_SIZE + ROOT_SIZE))GiB" 100% - -EFI_PART="${DRIVE}1" -ROOT_PART="${DRIVE}2" -SWAP_PART="${DRIVE}3" - -mkfs.fat -F32 "$EFI_PART" -mkswap "$SWAP_PART" -swapon "$SWAP_PART" - ############################################ # User input ############################################ @@ -189,6 +118,53 @@ fi read -rsp "Password for $USERNAME: " USERPASS; echo [[ -z "$USERPASS" ]] && { echo "Error: password cannot be empty."; exit 1; } +lsblk + +if $AF_MODE && [[ -n "$(af_get '.drive')" ]]; then + DRIVE=$(af_get '.drive') + echo "Drive (from answerfile): $DRIVE" + echo "WARNING: All data on $DRIVE will be erased. Proceeding in 5 seconds..." + sleep 5 +else + DRIVE=$(ask "Enter install drive (e.g., /dev/sda)") + confirm "$DRIVE" || exit 1 +fi + +# Required packages +pacman -Syd --noconfirm parted cryptsetup libfido2 pam-u2f systemd-ukify jq + +############################################ +# Partitioning +############################################ + +RAM_GB=$(free --giga | awk '/Mem/ {print $2}') +DISK_GB=$(lsblk -dn -o SIZE -b "$DRIVE" | awk '{print int($1/1024/1024/1024)}') + +EFI_SIZE=5 +SWAP_SIZE=$RAM_GB +ROOT_SIZE=$((DISK_GB - SWAP_SIZE - EFI_SIZE - 1)) + +if (( ROOT_SIZE < 8 )); then + echo "ERROR: Disk too small for layout." + exit 1 +fi + +echo "EFI=${EFI_SIZE}G, Root=${ROOT_SIZE}G, Swap=${SWAP_SIZE}G" + +parted -s "$DRIVE" mklabel gpt \ + mkpart EFI fat32 1MiB "${EFI_SIZE}GiB" \ + set 1 esp on \ + mkpart ROOT "${EFI_SIZE}GiB" "$((EFI_SIZE + ROOT_SIZE))GiB" \ + mkpart SWAP "$((EFI_SIZE + ROOT_SIZE))GiB" 100% + +EFI_PART="${DRIVE}1" +ROOT_PART="${DRIVE}2" +SWAP_PART="${DRIVE}3" + +mkfs.fat -F32 "$EFI_PART" +mkswap "$SWAP_PART" +swapon "$SWAP_PART" + ############################################ # Encryption (optional) ############################################ diff --git a/setup/archiso/overlay/airootfs/root/.zlogin b/setup/archiso/overlay/airootfs/root/.zlogin index 3471e05..da8637b 100644 --- a/setup/archiso/overlay/airootfs/root/.zlogin +++ b/setup/archiso/overlay/airootfs/root/.zlogin @@ -1 +1,2 @@ -exec /root/.automated_script.sh +/root/.automated_script.sh || true +exec bash From 45fd7e5d3647ef4cc6170ba0b31bcf57da122d66 Mon Sep 17 00:00:00 2001 From: The_miro Date: Wed, 20 May 2026 11:34:09 +0200 Subject: [PATCH 060/116] feat(freeipa): add policy enforcement for binary blocking, backups, scans, and sudo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Introduces a FreeIPA host-group-driven policy system alongside a sudo rules management playbook: - ansipa-enforce-policies.sh: client-side enforcer (systemd timer, 30 min) - policy-block-binary-: PATH-priority wrapper blocks the binary - policy-timeshift-backup: daily Timeshift snapshot cron (03:00) - policy-security-scan: daily ClamAV/rkhunter/chkrootkit cron (02:00) Policies are reversible — leaving a group removes enforcement on next run. - deploy-ansipa-policies.yml: deploys enforcer + systemd service/timer to clients - manage-sudo-rules.yml: creates FreeIPA sudo rules (allow_sudoers, allow_sudo_nopasswd) that SSSD clients already pick up via --sudo enrollment. Co-Authored-By: Claude Sonnet 4.6 --- .../ansible/ansipa-enforce-policies.sh | 185 ++++++++++++++++++ .../ansible/deploy-ansipa-policies.yml | 76 +++++++ .../ansible/manage-sudo-rules.yml | 96 +++++++++ 3 files changed, 357 insertions(+) create mode 100755 setup/modules/FreeipaAnsible/ansible/ansipa-enforce-policies.sh create mode 100644 setup/modules/FreeipaAnsible/ansible/deploy-ansipa-policies.yml create mode 100644 setup/modules/FreeipaAnsible/ansible/manage-sudo-rules.yml diff --git a/setup/modules/FreeipaAnsible/ansible/ansipa-enforce-policies.sh b/setup/modules/FreeipaAnsible/ansible/ansipa-enforce-policies.sh new file mode 100755 index 0000000..935bc3f --- /dev/null +++ b/setup/modules/FreeipaAnsible/ansible/ansipa-enforce-policies.sh @@ -0,0 +1,185 @@ +#!/usr/bin/env bash +# ansipa-enforce-policies.sh — enforce FreeIPA host-group-driven policies on this client. +# +# Policies are idempotent and reversible: joining a group applies the policy; +# leaving the group removes it on the next run (every 30 min via systemd timer). +# +# Host-group naming conventions: +# policy-block-binary- Block execution of via a wrapper in /usr/local/bin/ +# policy-timeshift-backup Enforce a daily Timeshift snapshot (requires timeshift installed) +# policy-security-scan Enforce daily ClamAV + rkhunter + chkrootkit scans +# +# Notes: +# - Binary blocking uses a PATH-priority wrapper in /usr/local/bin/; callers using +# the full absolute path bypass it. For hard enforcement add AppArmor/SELinux rules. +# - Install scan tools first: add the host to ansipa-module-anti-malware. +# - Configure Timeshift (type + target device) before enabling policy-timeshift-backup. + +set -euo pipefail + +LOG_TAG="ansipa-policies" +STATE_DIR="/var/lib/ansipa-policies" +BLOCK_DIR="/usr/local/bin" +CRON_DIR="/etc/cron.d" + +log() { echo "[$LOG_TAG] $*"; logger -t "$LOG_TAG" "$*" 2>/dev/null || true; } +warn() { echo "[$LOG_TAG][WARN] $*" >&2; logger -t "$LOG_TAG" "WARN: $*" 2>/dev/null || true; } + +HOST_FQDN=$(hostname -f 2>/dev/null || hostname) + +if ! command -v ipa &>/dev/null; then + warn "ipa command not found — host not enrolled in FreeIPA. Exiting." + exit 0 +fi + +kinit -k "host/$HOST_FQDN" &>/dev/null || true +mkdir -p "$STATE_DIR" + +# ── Fetch host group membership ─────────────────────────────────────────────── +RAW_GROUPS=$(ipa host-show "$HOST_FQDN" --all 2>/dev/null \ + | grep -i "Member of host-groups:" | sed 's/.*: //' || true) + +# ── Parse active policy groups ──────────────────────────────────────────────── +ACTIVE_BLOCK_BINARIES=() +WANT_TIMESHIFT_BACKUP=false +WANT_SECURITY_SCAN=false + +if [[ -n "$RAW_GROUPS" ]]; then + while IFS=',' read -ra GRP_ARRAY; do + for g in "${GRP_ARRAY[@]}"; do + g="${g// /}" + case "$g" in + policy-block-binary-*) ACTIVE_BLOCK_BINARIES+=("${g#policy-block-binary-}") ;; + policy-timeshift-backup) WANT_TIMESHIFT_BACKUP=true ;; + policy-security-scan) WANT_SECURITY_SCAN=true ;; + esac + done + done <<< "$RAW_GROUPS" +fi + +log "Active policies — block-binary: ${ACTIVE_BLOCK_BINARIES[*]:-none}" \ + "| timeshift-backup: $WANT_TIMESHIFT_BACKUP | security-scan: $WANT_SECURITY_SCAN" + +# ── Helper ──────────────────────────────────────────────────────────────────── +in_active_list() { + local needle="$1" + for b in "${ACTIVE_BLOCK_BINARIES[@]}"; do + [[ "$b" == "$needle" ]] && return 0 + done + return 1 +} + +# ── Binary blocking ─────────────────────────────────────────────────────────── +# Wrapper scripts are placed in /usr/local/bin/ (higher PATH priority than /usr/bin/). +# The "blocked by ansipa policy" sentinel line lets us identify managed wrappers. + +BLOCK_STATE="$STATE_DIR/blocked-binaries" +[[ -f "$BLOCK_STATE" ]] || touch "$BLOCK_STATE" + +for BIN in "${ACTIVE_BLOCK_BINARIES[@]}"; do + WRAPPER="$BLOCK_DIR/$BIN" + if [[ ! -f "$WRAPPER" ]] || ! grep -q "blocked by ansipa policy" "$WRAPPER" 2>/dev/null; then + log "Applying block: $BIN" + cat > "$WRAPPER" <&2 +exit 1 +WRAPPER + chmod 755 "$WRAPPER" + fi +done + +# Remove wrappers for binaries no longer in any active policy group. +while IFS= read -r OLD_BIN; do + [[ -z "$OLD_BIN" ]] && continue + if ! in_active_list "$OLD_BIN"; then + WRAPPER="$BLOCK_DIR/$OLD_BIN" + if [[ -f "$WRAPPER" ]] && grep -q "blocked by ansipa policy" "$WRAPPER" 2>/dev/null; then + rm -f "$WRAPPER" + log "Removed block: $OLD_BIN" + fi + fi +done < "$BLOCK_STATE" + +# Persist current blocked list. +if [[ ${#ACTIVE_BLOCK_BINARIES[@]} -gt 0 ]]; then + printf '%s\n' "${ACTIVE_BLOCK_BINARIES[@]}" | sort -u > "$BLOCK_STATE" +else + > "$BLOCK_STATE" +fi + +# ── Timeshift daily backup ───────────────────────────────────────────────────── +TIMESHIFT_CRON="$CRON_DIR/ansipa-timeshift-backup" + +if [[ "$WANT_TIMESHIFT_BACKUP" == true ]]; then + if [[ ! -f "$TIMESHIFT_CRON" ]]; then + if ! command -v timeshift &>/dev/null; then + warn "timeshift not found — add host to ansipa-module-timeshift first. Cron will be installed anyway." + fi + log "Enabling daily Timeshift backups" + cat > "$TIMESHIFT_CRON" <<'CRON' +# ansipa-policy-timeshift-backup: managed by ansipa-enforce-policies — do not edit manually. +# Timeshift must be configured on this host (type + target device) before snapshots work. +0 3 * * * root /usr/bin/timeshift --create --comments "ansipa-daily" --tags D 2>&1 | logger -t timeshift-backup +CRON + chmod 644 "$TIMESHIFT_CRON" + fi +else + if [[ -f "$TIMESHIFT_CRON" ]]; then + rm -f "$TIMESHIFT_CRON" + log "Removed Timeshift backup cron (host left policy-timeshift-backup group)" + fi +fi + +# ── Security scan ───────────────────────────────────────────────────────────── +SCAN_CRON="$CRON_DIR/ansipa-security-scan" +SCAN_SCRIPT="/usr/local/bin/ansipa-security-scan.sh" + +if [[ "$WANT_SECURITY_SCAN" == true ]]; then + # (Re-)write the scan script so it stays current with this version of the enforcer. + cat > "$SCAN_SCRIPT" <<'SCAN' +#!/bin/bash +# ansipa-security-scan — daily ClamAV / rkhunter / chkrootkit run. +# Managed by ansipa-enforce-policies — do not edit manually. +LOG=/var/log/ansipa-security-scan.log +{ + echo "=== ansipa-security-scan: $(date) ===" + + if command -v freshclam &>/dev/null; then + freshclam --quiet 2>/dev/null || true + fi + if command -v clamscan &>/dev/null; then + clamscan -r --infected --quiet /home /etc /tmp /var/tmp 2>/dev/null || true + fi + if command -v rkhunter &>/dev/null; then + rkhunter --update --quiet 2>/dev/null || true + rkhunter --check --skip-keypress --quiet 2>/dev/null || true + fi + if command -v chkrootkit &>/dev/null; then + chkrootkit 2>/dev/null || true + fi + + echo "=== scan complete ===" +} >> "$LOG" 2>&1 +SCAN + chmod 755 "$SCAN_SCRIPT" + + if [[ ! -f "$SCAN_CRON" ]]; then + log "Enabling daily security scans (ClamAV / rkhunter / chkrootkit)" + cat > "$SCAN_CRON" <<'CRON' +# ansipa-policy-security-scan: managed by ansipa-enforce-policies — do not edit manually. +# Install scan tools by adding the host to the ansipa-module-anti-malware group. +0 2 * * * root /usr/local/bin/ansipa-security-scan.sh +CRON + chmod 644 "$SCAN_CRON" + fi +else + if [[ -f "$SCAN_CRON" ]]; then + rm -f "$SCAN_CRON" + rm -f "$SCAN_SCRIPT" + log "Removed security scan policy (host left policy-security-scan group)" + fi +fi + +log "Policy enforcement complete." diff --git a/setup/modules/FreeipaAnsible/ansible/deploy-ansipa-policies.yml b/setup/modules/FreeipaAnsible/ansible/deploy-ansipa-policies.yml new file mode 100644 index 0000000..e9d632e --- /dev/null +++ b/setup/modules/FreeipaAnsible/ansible/deploy-ansipa-policies.yml @@ -0,0 +1,76 @@ +--- +# deploy-ansipa-policies.yml — deploy the policy enforcement daemon to enrolled clients. +# +# Installs ansipa-enforce-policies.sh and a systemd timer that runs it every 30 minutes. +# Policies are declared by adding hosts to the following FreeIPA host groups: +# +# policy-block-binary- Block execution of via a PATH-priority wrapper +# policy-timeshift-backup Enforce daily Timeshift snapshots (03:00) +# policy-security-scan Enforce daily ClamAV + rkhunter + chkrootkit scans (02:00) +# +# Prerequisites: +# - Host enrolled in FreeIPA (sssd + ipa CLI available) +# - For security-scan: also add host to ansipa-module-anti-malware group +# - For timeshift-backup: also add host to ansipa-module-timeshift group and +# configure Timeshift (type + target device) on the host +# +# Usage: +# ansible-playbook -i inventory deploy-ansipa-policies.yml + +- name: Deploy FreeIPA policy enforcer + hosts: all + become: yes + + tasks: + + - name: Deploy policy enforcer script + copy: + src: ansipa-enforce-policies.sh + dest: /usr/local/bin/ansipa-enforce-policies.sh + mode: '0755' + + - name: Create policy state directory + file: + path: /var/lib/ansipa-policies + state: directory + mode: '0700' + + - name: Install policy enforcer systemd service + copy: + dest: /etc/systemd/system/ansipa-enforce-policies.service + mode: '0644' + content: | + [Unit] + Description=Enforce FreeIPA host-group policies (binary blocks, backups, scans) + After=network-online.target sssd.service + Wants=network-online.target + + [Service] + Type=oneshot + ExecStart=/usr/local/bin/ansipa-enforce-policies.sh + StandardOutput=journal + StandardError=journal + + - name: Install policy enforcer systemd timer + copy: + dest: /etc/systemd/system/ansipa-enforce-policies.timer + mode: '0644' + content: | + [Unit] + Description=Periodic FreeIPA policy enforcement + + [Timer] + OnBootSec=5min + OnUnitActiveSec=30min + + [Install] + WantedBy=timers.target + + - name: Reload systemd + command: systemctl daemon-reload + + - name: Enable and start policy enforcer timer + systemd: + name: ansipa-enforce-policies.timer + enabled: yes + state: started diff --git a/setup/modules/FreeipaAnsible/ansible/manage-sudo-rules.yml b/setup/modules/FreeipaAnsible/ansible/manage-sudo-rules.yml new file mode 100644 index 0000000..e02bf4f --- /dev/null +++ b/setup/modules/FreeipaAnsible/ansible/manage-sudo-rules.yml @@ -0,0 +1,96 @@ +--- +# manage-sudo-rules.yml — create and maintain FreeIPA sudo rules. +# +# This playbook provisions the sudo rules that enrolled clients pick up via SSSD +# (configured by the --sudo flag in freeipa-enroll.sh). Run it once when setting +# up the domain, and again whenever you add or change a rule. +# +# Default rules created: +# allow_sudoers Members of the 'sudoers' IPA group get full sudo (password required) +# allow_sudo_nopasswd Members of 'sudo-nopasswd' get full sudo (NOPASSWD) +# +# To grant a user sudo access: +# ipa group-add-member sudoers --users= +# To grant passwordless sudo: +# ipa group-add-member sudo-nopasswd --users= +# +# Prerequisites: +# - Active admin Kerberos ticket on the target host: kinit admin +# - ipa CLI available (run on the IPA server or any enrolled admin workstation) +# +# Usage: +# kinit admin +# ansible-playbook -i ipa-server.example.com, manage-sudo-rules.yml +# # or, if 'ipa_server' is defined in your inventory: +# ansible-playbook -i inventory manage-sudo-rules.yml + +- name: Manage FreeIPA sudo rules + hosts: "{{ ipa_admin_host | default('ipa_server') }}" + become: no + + vars: + sudo_rules: + - rule_name: allow_sudoers + group: sudoers + description: "Full sudo access for members of the sudoers group (password required)" + nopasswd: false + + - rule_name: allow_sudo_nopasswd + group: sudo-nopasswd + description: "Full sudo access for members of sudo-nopasswd group (no password)" + nopasswd: true + + tasks: + + - name: Verify ipa command is available and authenticated + command: ipa ping + changed_when: false + register: ipa_ping + failed_when: ipa_ping.rc != 0 + + - name: Ensure IPA user groups exist for each sudo rule + shell: > + ipa group-show "{{ item.group }}" >/dev/null 2>&1 || + ipa group-add "{{ item.group }}" + --desc="{{ item.description }}" + register: group_result + changed_when: "'Added group' in group_result.stdout" + loop: "{{ sudo_rules }}" + + - name: Ensure sudo rules exist + shell: > + ipa sudorule-show "{{ item.rule_name }}" >/dev/null 2>&1 || + ipa sudorule-add "{{ item.rule_name }}" + --desc="{{ item.description }}" + --cmdcat=all + --hostcat=all + register: rule_result + changed_when: "'Added Sudo Rule' in rule_result.stdout" + loop: "{{ sudo_rules }}" + + - name: Assign groups to their sudo rules + shell: > + ipa sudorule-show "{{ item.rule_name }}" --all 2>/dev/null | + grep -q "{{ item.group }}" || + ipa sudorule-add-user "{{ item.rule_name }}" --groups="{{ item.group }}" + register: assign_result + changed_when: "'Number of members added' in assign_result.stdout" + loop: "{{ sudo_rules }}" + + - name: Set NOPASSWD (sudooption !authenticate) on passwordless rules + shell: > + ipa sudorule-show "{{ item.rule_name }}" --all 2>/dev/null | + grep -q "!authenticate" || + ipa sudorule-add-option "{{ item.rule_name }}" --sudooption "!authenticate" + register: nopasswd_result + changed_when: "'Added option' in nopasswd_result.stdout" + loop: "{{ sudo_rules | selectattr('nopasswd', 'equalto', true) | list }}" + + - name: Show configured sudo rules + command: ipa sudorule-find --all + changed_when: false + register: sudo_summary + + - name: Display sudo rules summary + debug: + msg: "{{ sudo_summary.stdout_lines }}" From fb8ca498efd590c534f853b4e3c2faadf86616b4 Mon Sep 17 00:00:00 2001 From: The_miro Date: Wed, 20 May 2026 12:00:55 +0200 Subject: [PATCH 061/116] feat(freeipa): add AppArmor deny profiles to binary blocking policy MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Binary blocking now applies two layers: 1. PATH-priority wrapper in /usr/local/bin/ (existing) 2. Empty AppArmor profile in /etc/apparmor.d/ loaded in enforce mode An empty AppArmor profile denies all access — the blocked binary cannot load shared libraries and exits immediately with a permission error, covering callers that use absolute paths and bypassed the wrapper. AppArmor layer is skipped silently when apparmor_parser is not present, and deferred with a warning if the real binary is not yet installed. Profiles are unloaded and deleted when the host leaves the policy group. Co-Authored-By: Claude Sonnet 4.6 --- .../ansible/ansipa-enforce-policies.sh | 86 +++++++++++++++++-- 1 file changed, 77 insertions(+), 9 deletions(-) diff --git a/setup/modules/FreeipaAnsible/ansible/ansipa-enforce-policies.sh b/setup/modules/FreeipaAnsible/ansible/ansipa-enforce-policies.sh index 935bc3f..77e5466 100755 --- a/setup/modules/FreeipaAnsible/ansible/ansipa-enforce-policies.sh +++ b/setup/modules/FreeipaAnsible/ansible/ansipa-enforce-policies.sh @@ -5,13 +5,14 @@ # leaving the group removes it on the next run (every 30 min via systemd timer). # # Host-group naming conventions: -# policy-block-binary- Block execution of via a wrapper in /usr/local/bin/ +# policy-block-binary- Block execution of via two layers: +# 1. PATH-priority wrapper in /usr/local/bin/ (catches $PATH calls) +# 2. AppArmor deny profile in /etc/apparmor.d/ (catches absolute paths) +# AppArmor layer is skipped silently if apparmor_parser is not present. # policy-timeshift-backup Enforce a daily Timeshift snapshot (requires timeshift installed) # policy-security-scan Enforce daily ClamAV + rkhunter + chkrootkit scans # # Notes: -# - Binary blocking uses a PATH-priority wrapper in /usr/local/bin/; callers using -# the full absolute path bypass it. For hard enforcement add AppArmor/SELinux rules. # - Install scan tools first: add the host to ansipa-module-anti-malware. # - Configure Timeshift (type + target device) before enabling policy-timeshift-backup. @@ -20,6 +21,7 @@ set -euo pipefail LOG_TAG="ansipa-policies" STATE_DIR="/var/lib/ansipa-policies" BLOCK_DIR="/usr/local/bin" +APPARMOR_DIR="/etc/apparmor.d" CRON_DIR="/etc/cron.d" log() { echo "[$LOG_TAG] $*"; logger -t "$LOG_TAG" "$*" 2>/dev/null || true; } @@ -60,7 +62,7 @@ fi log "Active policies — block-binary: ${ACTIVE_BLOCK_BINARIES[*]:-none}" \ "| timeshift-backup: $WANT_TIMESHIFT_BACKUP | security-scan: $WANT_SECURITY_SCAN" -# ── Helper ──────────────────────────────────────────────────────────────────── +# ── Helpers ─────────────────────────────────────────────────────────────────── in_active_list() { local needle="$1" for b in "${ACTIVE_BLOCK_BINARIES[@]}"; do @@ -69,9 +71,73 @@ in_active_list() { return 1 } +# Find the real installed binary, skipping /usr/local/bin where our wrapper lives. +find_real_binary() { + local name="$1" + for dir in /usr/bin /usr/sbin /bin /sbin /usr/local/sbin /opt/bin; do + [[ -x "$dir/$name" ]] && echo "$dir/$name" && return 0 + done + return 1 +} + +aa_profile_file() { echo "$APPARMOR_DIR/ansipa-block-${1}"; } + +# Load an AppArmor deny profile for a binary path. +# An empty AppArmor profile denies all access: the binary cannot load shared +# libraries or open any files, so it exits immediately with a permission error. +apply_apparmor_block() { + local bin="$1" + command -v apparmor_parser &>/dev/null || return 0 + + local bin_path + bin_path=$(find_real_binary "$bin") || { + warn "AppArmor block: real binary '$bin' not found on disk — profile skipped until it is installed." + return 0 + } + + local profile_file + profile_file=$(aa_profile_file "$bin") + + # Write the profile only if it doesn't exist or points to a different path. + if [[ ! -f "$profile_file" ]] || ! grep -qF "$bin_path" "$profile_file" 2>/dev/null; then + log "Writing AppArmor block profile: $profile_file ($bin_path)" + cat > "$profile_file" < + +# ansipa-block-policy: managed by ansipa-enforce-policies — do not edit manually. +# Deny all access so the binary cannot load libraries or run. +# To unblock manually: apparmor_parser -R $profile_file && rm $profile_file +$bin_path { +} +PROFILE + fi + + # Load (or reload) the profile in enforce mode. + if ! apparmor_parser -r "$profile_file" 2>/dev/null; then + warn "apparmor_parser failed to load $profile_file — AppArmor block not active" + fi +} + +# Remove the AppArmor deny profile for a binary. +remove_apparmor_block() { + local bin="$1" + command -v apparmor_parser &>/dev/null || return 0 + + local profile_file + profile_file=$(aa_profile_file "$bin") + [[ -f "$profile_file" ]] || return 0 + + if grep -q "ansipa-block-policy" "$profile_file" 2>/dev/null; then + apparmor_parser -R "$profile_file" 2>/dev/null || true + rm -f "$profile_file" + log "Removed AppArmor block profile: $bin" + fi +} + # ── Binary blocking ─────────────────────────────────────────────────────────── -# Wrapper scripts are placed in /usr/local/bin/ (higher PATH priority than /usr/bin/). -# The "blocked by ansipa policy" sentinel line lets us identify managed wrappers. +# Layer 1: PATH-priority wrapper in /usr/local/bin/ — blocks $PATH-based calls. +# Layer 2: AppArmor deny profile — blocks absolute-path calls and direct exec(). +# Both layers use the "ansipa policy" sentinel to identify managed files. BLOCK_STATE="$STATE_DIR/blocked-binaries" [[ -f "$BLOCK_STATE" ]] || touch "$BLOCK_STATE" @@ -79,7 +145,7 @@ BLOCK_STATE="$STATE_DIR/blocked-binaries" for BIN in "${ACTIVE_BLOCK_BINARIES[@]}"; do WRAPPER="$BLOCK_DIR/$BIN" if [[ ! -f "$WRAPPER" ]] || ! grep -q "blocked by ansipa policy" "$WRAPPER" 2>/dev/null; then - log "Applying block: $BIN" + log "Applying PATH wrapper block: $BIN" cat > "$WRAPPER" </dev/null; then rm -f "$WRAPPER" - log "Removed block: $OLD_BIN" + log "Removed PATH wrapper block: $OLD_BIN" fi + remove_apparmor_block "$OLD_BIN" fi done < "$BLOCK_STATE" From 11e66dbdddbb23d905c6a007c7b25bde70088f66 Mon Sep 17 00:00:00 2001 From: The_miro Date: Wed, 20 May 2026 12:32:21 +0200 Subject: [PATCH 062/116] feat(freeipa): scan result reporting, alert notifications, and SMB share MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Container (ansipa image): - Add samba + cronie to Dockerfile; expose ports 445/139 - ansipa-smb-setup.sh: idempotent setup of smbd + scanupload user + /data/scan-results/{archive,alerts}/ on every container start - ansipa-smb.service: runs setup before smb.service on each boot - ansipa-check-scans.sh: hourly cron on server; analyses archive logs for ClamAV/rkhunter/chkrootkit findings and writes /.alert files - docker-compose.yml: add SMB_SCAN_PASSWORD env var + port mappings - .env.example: document SMB_SCAN_PASSWORD Client (policy-security-scan): - Scan script now uploads log to //ipa-server/ansipa-scans/archive// via smbclient after each run Client (policy-scan-notify — new policy group): - ansipa-fetch-alerts.sh: root timer (10 min) downloads alerts from SMB into ~/administration// for each active login session; deletes server alert when user removes local file (acknowledgment) - ansipa-scan-notify.sh: user daemon started via /etc/profile.d/ansipa-notify.sh; sends notify-send every 10 min while *.alert files remain in ~/administration/ - deploy-ansipa-policies.yml: installs samba-client, deploys SMB creds file (/etc/ansipa-smb.creds, 0600), and deploys both notification scripts Co-Authored-By: Claude Sonnet 4.6 --- .../ansible/ansipa-enforce-policies.sh | 103 +++++++++++++- .../ansible/ansipa-fetch-alerts.sh | 128 ++++++++++++++++++ .../ansible/ansipa-scan-notify.sh | 50 +++++++ .../ansible/deploy-ansipa-policies.yml | 49 ++++++- .../modules/FreeipaAnsible/image/.env.example | 5 + setup/modules/FreeipaAnsible/image/Dockerfile | 15 +- .../image/ansipa-check-scans.sh | 71 ++++++++++ .../FreeipaAnsible/image/ansipa-smb-setup.sh | 93 +++++++++++++ .../FreeipaAnsible/image/ansipa-smb.service | 18 +++ .../FreeipaAnsible/image/docker-compose.yml | 3 + 10 files changed, 523 insertions(+), 12 deletions(-) create mode 100644 setup/modules/FreeipaAnsible/ansible/ansipa-fetch-alerts.sh create mode 100644 setup/modules/FreeipaAnsible/ansible/ansipa-scan-notify.sh create mode 100644 setup/modules/FreeipaAnsible/image/ansipa-check-scans.sh create mode 100644 setup/modules/FreeipaAnsible/image/ansipa-smb-setup.sh create mode 100644 setup/modules/FreeipaAnsible/image/ansipa-smb.service diff --git a/setup/modules/FreeipaAnsible/ansible/ansipa-enforce-policies.sh b/setup/modules/FreeipaAnsible/ansible/ansipa-enforce-policies.sh index 77e5466..936d6d4 100755 --- a/setup/modules/FreeipaAnsible/ansible/ansipa-enforce-policies.sh +++ b/setup/modules/FreeipaAnsible/ansible/ansipa-enforce-policies.sh @@ -45,6 +45,7 @@ RAW_GROUPS=$(ipa host-show "$HOST_FQDN" --all 2>/dev/null \ ACTIVE_BLOCK_BINARIES=() WANT_TIMESHIFT_BACKUP=false WANT_SECURITY_SCAN=false +WANT_SCAN_NOTIFY=false if [[ -n "$RAW_GROUPS" ]]; then while IFS=',' read -ra GRP_ARRAY; do @@ -54,13 +55,15 @@ if [[ -n "$RAW_GROUPS" ]]; then policy-block-binary-*) ACTIVE_BLOCK_BINARIES+=("${g#policy-block-binary-}") ;; policy-timeshift-backup) WANT_TIMESHIFT_BACKUP=true ;; policy-security-scan) WANT_SECURITY_SCAN=true ;; + policy-scan-notify) WANT_SCAN_NOTIFY=true ;; esac done done <<< "$RAW_GROUPS" fi log "Active policies — block-binary: ${ACTIVE_BLOCK_BINARIES[*]:-none}" \ - "| timeshift-backup: $WANT_TIMESHIFT_BACKUP | security-scan: $WANT_SECURITY_SCAN" + "| timeshift-backup: $WANT_TIMESHIFT_BACKUP" \ + "| security-scan: $WANT_SECURITY_SCAN | scan-notify: $WANT_SCAN_NOTIFY" # ── Helpers ─────────────────────────────────────────────────────────────────── in_active_list() { @@ -208,11 +211,13 @@ if [[ "$WANT_SECURITY_SCAN" == true ]]; then # (Re-)write the scan script so it stays current with this version of the enforcer. cat > "$SCAN_SCRIPT" <<'SCAN' #!/bin/bash -# ansipa-security-scan — daily ClamAV / rkhunter / chkrootkit run. +# ansipa-security-scan — daily ClamAV / rkhunter / chkrootkit run + SMB upload. # Managed by ansipa-enforce-policies — do not edit manually. LOG=/var/log/ansipa-security-scan.log +HOSTNAME=$(hostname -f 2>/dev/null || hostname) +DATE=$(date +%Y-%m-%d) { - echo "=== ansipa-security-scan: $(date) ===" + echo "=== ansipa-security-scan: $DATE $HOSTNAME ===" if command -v freshclam &>/dev/null; then freshclam --quiet 2>/dev/null || true @@ -230,6 +235,19 @@ LOG=/var/log/ansipa-security-scan.log echo "=== scan complete ===" } >> "$LOG" 2>&1 + +# ── Upload to server SMB share ──────────────────────────────────────────────── +IPA_SERVER=$(awk '/^server[[:space:]]*=/{print $3}' /etc/ipa/default.conf 2>/dev/null || echo "") +if [[ -n "$IPA_SERVER" ]] && [[ -f /etc/ansipa-smb.creds ]] && command -v smbclient &>/dev/null; then + # Create host archive dir (mkdir is idempotent; errors suppressed). + smbclient "//$IPA_SERVER/ansipa-scans" -A /etc/ansipa-smb.creds \ + -c "mkdir archive; mkdir archive\\$HOSTNAME; put $LOG archive\\$HOSTNAME\\$DATE.log" \ + >> "$LOG" 2>&1 \ + && echo "[ansipa] Scan results uploaded to $IPA_SERVER/ansipa-scans/archive/$HOSTNAME/$DATE.log" >> "$LOG" \ + || echo "[ansipa][WARN] SMB upload failed — results remain local at $LOG" >> "$LOG" +else + echo "[ansipa] SMB upload skipped (no credentials or smbclient not found)." >> "$LOG" +fi SCAN chmod 755 "$SCAN_SCRIPT" @@ -250,4 +268,83 @@ else fi fi +# ── Scan notification daemon ────────────────────────────────────────────────── +# policy-scan-notify: +# - Root timer (every 10 min): ansipa-fetch-alerts.sh downloads alerts from the +# server SMB share and places them in ~/administration// per active user. +# - profile.d snippet: starts ansipa-scan-notify.sh as a user daemon on login; +# the daemon sends notify-send every 10 min while *.alert files remain. +# Deleting a file from ~/administration/ counts as acknowledgment. +# +# Requires: ansipa-fetch-alerts.sh and ansipa-scan-notify.sh deployed by +# deploy-ansipa-policies.yml (static scripts — not written inline here). + +FETCH_SVC="/etc/systemd/system/ansipa-fetch-alerts.service" +FETCH_TIMER="/etc/systemd/system/ansipa-fetch-alerts.timer" +NOTIFY_PROFILED="/etc/profile.d/ansipa-notify.sh" + +if [[ "$WANT_SCAN_NOTIFY" == true ]]; then + if [[ ! -x /usr/local/bin/ansipa-fetch-alerts.sh ]]; then + warn "ansipa-fetch-alerts.sh not found — run deploy-ansipa-policies.yml first." + fi + + if [[ ! -f "$FETCH_SVC" ]]; then + log "Installing ansipa-fetch-alerts systemd service + timer" + cat > "$FETCH_SVC" <<'UNIT' +[Unit] +Description=Fetch Ansipa security alerts from the server SMB share +After=network-online.target sssd.service +Wants=network-online.target + +[Service] +Type=oneshot +ExecStart=/usr/local/bin/ansipa-fetch-alerts.sh +StandardOutput=journal +StandardError=journal +UNIT + + cat > "$FETCH_TIMER" <<'UNIT' +[Unit] +Description=Periodic ansipa security alert fetch + +[Timer] +OnBootSec=2min +OnUnitActiveSec=10min + +[Install] +WantedBy=timers.target +UNIT + systemctl daemon-reload + systemctl enable --now ansipa-fetch-alerts.timer + log "ansipa-fetch-alerts.timer enabled" + fi + + if [[ ! -f "$NOTIFY_PROFILED" ]]; then + log "Installing /etc/profile.d/ansipa-notify.sh" + cat > "$NOTIFY_PROFILED" <<'PROFILED' +# ansipa-notify: launch the scan alert notification daemon on login. +# Managed by ansipa-enforce-policies — do not edit manually. +_NOTIFY_DAEMON=/usr/local/bin/ansipa-scan-notify.sh +if [[ -x "$_NOTIFY_DAEMON" ]] && \ + ! pgrep -u "$(id -u)" -f "ansipa-scan-notify" >/dev/null 2>&1; then + "$_NOTIFY_DAEMON" & + disown +fi +unset _NOTIFY_DAEMON +PROFILED + chmod 644 "$NOTIFY_PROFILED" + fi +else + if [[ -f "$FETCH_TIMER" ]]; then + systemctl disable --now ansipa-fetch-alerts.timer 2>/dev/null || true + rm -f "$FETCH_SVC" "$FETCH_TIMER" + systemctl daemon-reload + log "Removed ansipa-fetch-alerts timer (host left policy-scan-notify group)" + fi + if [[ -f "$NOTIFY_PROFILED" ]]; then + rm -f "$NOTIFY_PROFILED" + log "Removed /etc/profile.d/ansipa-notify.sh" + fi +fi + log "Policy enforcement complete." diff --git a/setup/modules/FreeipaAnsible/ansible/ansipa-fetch-alerts.sh b/setup/modules/FreeipaAnsible/ansible/ansipa-fetch-alerts.sh new file mode 100644 index 0000000..77c7dc1 --- /dev/null +++ b/setup/modules/FreeipaAnsible/ansible/ansipa-fetch-alerts.sh @@ -0,0 +1,128 @@ +#!/usr/bin/env bash +# ansipa-fetch-alerts.sh — fetch security alerts from the server SMB share. +# Runs as root every 10 minutes via ansipa-fetch-alerts.timer (policy-scan-notify). +# +# For each alert on the server that hasn't been acknowledged yet: +# - Downloads it to ~/administration// for every active login session. +# - A local file that has been deleted counts as acknowledged and is removed +# from the server alerts directory on the next run. +# +# Prerequisites: +# /etc/ansipa-smb.creds — Samba credentials file (deployed by deploy-ansipa-policies.yml) +# /etc/ipa/default.conf — FreeIPA client config (provides server hostname) +# smbclient — from the samba-client package + +set -euo pipefail + +LOG_TAG="ansipa-fetch-alerts" +ADMIN_SUBDIR="administration" +CREDS_FILE="/etc/ansipa-smb.creds" +SMB_SHARE="ansipa-scans" +STATE_DIR="/var/lib/ansipa-policies" +FETCHED_STATE="$STATE_DIR/fetched-alerts" + +log() { echo "[$LOG_TAG] $*"; logger -t "$LOG_TAG" "$*" 2>/dev/null || true; } +warn() { echo "[$LOG_TAG][WARN] $*" >&2; logger -t "$LOG_TAG" "WARN: $*" 2>/dev/null || true; } + +# ── Prerequisites ───────────────────────────────────────────────────────────── +if [[ ! -f "$CREDS_FILE" ]]; then + warn "Credentials file $CREDS_FILE not found — run deploy-ansipa-policies.yml first." + exit 0 +fi +if ! command -v smbclient &>/dev/null; then + warn "smbclient not installed — install samba-client." + exit 0 +fi + +IPA_SERVER=$(awk '/^server[[:space:]]*=/{print $3}' /etc/ipa/default.conf 2>/dev/null || echo "") +if [[ -z "$IPA_SERVER" ]]; then + warn "Cannot read IPA server from /etc/ipa/default.conf — host enrolled?" + exit 0 +fi + +HOSTNAME=$(hostname -f 2>/dev/null || hostname) +mkdir -p "$STATE_DIR" +touch "$FETCHED_STATE" + +smb() { smbclient "//$IPA_SERVER/$SMB_SHARE" -A "$CREDS_FILE" "$@" 2>/dev/null; } + +# ── List active login sessions ──────────────────────────────────────────────── +ACTIVE_USERS=() +while IFS= read -r LINE; do + USER=$(echo "$LINE" | awk '{print $3}') + [[ -z "$USER" || "$USER" == "root" ]] && continue + HOME_DIR=$(getent passwd "$USER" | cut -d: -f6) || continue + [[ -d "$HOME_DIR" ]] && ACTIVE_USERS+=("$USER:$HOME_DIR") +done < <(loginctl list-sessions --no-legend 2>/dev/null || who 2>/dev/null || true) +# Deduplicate by user. +mapfile -t ACTIVE_USERS < <(printf '%s\n' "${ACTIVE_USERS[@]}" | sort -u) + +# ── List alerts on server for this host ─────────────────────────────────────── +SERVER_ALERTS=() +while IFS= read -r LINE; do + # smbclient ls output: " filename.alert A 1234 date" + FILE=$(echo "$LINE" | awk '{print $1}') + [[ "$FILE" == *.alert ]] && SERVER_ALERTS+=("$FILE") +done < <(smb -c "ls alerts\\$HOSTNAME\\" 2>/dev/null || true) + +# ── Check for locally deleted alerts (acknowledged) ─────────────────────────── +while IFS= read -r ALERT_NAME; do + [[ -z "$ALERT_NAME" ]] && continue + # If none of the active users still have this alert file, it was acknowledged. + ALL_DELETED=true + for USER_INFO in "${ACTIVE_USERS[@]}"; do + HOME_DIR="${USER_INFO#*:}" + USER="${USER_INFO%%:*}" + LOCAL_FILE="$HOME_DIR/$ADMIN_SUBDIR/$HOSTNAME/$ALERT_NAME" + if [[ -f "$LOCAL_FILE" ]]; then + ALL_DELETED=false + break + fi + done + if [[ "$ALL_DELETED" == true ]] && [[ ${#ACTIVE_USERS[@]} -gt 0 ]]; then + log "Alert acknowledged (deleted locally): $ALERT_NAME — removing from server" + smb -c "del alerts\\$HOSTNAME\\$ALERT_NAME" 2>/dev/null || true + # Remove from state file. + sed -i "/^$ALERT_NAME\$/d" "$FETCHED_STATE" 2>/dev/null || true + fi +done < "$FETCHED_STATE" + +# ── Download new/pending alerts to user home dirs ───────────────────────────── +TMP_DIR=$(mktemp -d /tmp/ansipa-alerts.XXXXXX) +trap 'rm -rf "$TMP_DIR"' EXIT + +for ALERT_NAME in "${SERVER_ALERTS[@]}"; do + TMP_FILE="$TMP_DIR/$ALERT_NAME" + + # Download alert content from server. + smb -c "get alerts\\$HOSTNAME\\$ALERT_NAME $TMP_FILE" 2>/dev/null || { + warn "Failed to download alert: $ALERT_NAME" + continue + } + + NEW=false + for USER_INFO in "${ACTIVE_USERS[@]}"; do + HOME_DIR="${USER_INFO#*:}" + USER="${USER_INFO%%:*}" + LOCAL_DIR="$HOME_DIR/$ADMIN_SUBDIR/$HOSTNAME" + LOCAL_FILE="$LOCAL_DIR/$ALERT_NAME" + mkdir -p "$LOCAL_DIR" + chown "$USER" "$LOCAL_DIR" 2>/dev/null || true + + if [[ ! -f "$LOCAL_FILE" ]]; then + cp "$TMP_FILE" "$LOCAL_FILE" + chown "$USER" "$LOCAL_FILE" + chmod 644 "$LOCAL_FILE" + NEW=true + fi + done + + # Track fetched alerts so we can detect acknowledgment on the next run. + if ! grep -qx "$ALERT_NAME" "$FETCHED_STATE" 2>/dev/null; then + echo "$ALERT_NAME" >> "$FETCHED_STATE" + fi + + $NEW && log "New alert delivered: $ALERT_NAME" +done + +log "Done. ${#SERVER_ALERTS[@]} server alert(s) for $HOSTNAME." diff --git a/setup/modules/FreeipaAnsible/ansible/ansipa-scan-notify.sh b/setup/modules/FreeipaAnsible/ansible/ansipa-scan-notify.sh new file mode 100644 index 0000000..df106d8 --- /dev/null +++ b/setup/modules/FreeipaAnsible/ansible/ansipa-scan-notify.sh @@ -0,0 +1,50 @@ +#!/usr/bin/env bash +# ansipa-scan-notify.sh — user-session scan alert notification daemon. +# Started automatically on login via /etc/profile.d/ansipa-notify.sh. +# +# Behaviour: +# - Checks ~/administration/ for *.alert files every 10 minutes. +# - Sends a desktop notification (notify-send) for any unacknowledged alerts. +# - Re-notifies every 10 minutes as long as alert files remain. +# - Deleting an alert file counts as acknowledgment — notifications stop. +# - Exits when no alert files remain AND none have been seen this session, +# but keeps running once any alert is ever found (to catch future ones). + +ADMIN_DIR="$HOME/administration" +NOTIFY_INTERVAL=600 # 10 minutes +ICON="security-high" # freedesktop icon name + +notified_once=false + +notify_alerts() { + local alerts=() file count=0 + + mapfile -t alerts < <(find "$ADMIN_DIR" -name "*.alert" 2>/dev/null | sort) + count=${#alerts[@]} + + [[ $count -eq 0 ]] && return 0 + + local title body + if [[ $count -eq 1 ]]; then + local name + name=$(basename "${alerts[0]}" .alert) + title="Security alert: $name" + body="Check $ADMIN_DIR\nDelete the file to acknowledge." + else + title="$count unacknowledged security alerts" + body="Check $ADMIN_DIR\nDelete files to acknowledge." + fi + + notify-send -u critical -i "$ICON" -t 0 "$title" "$body" 2>/dev/null \ + || notify-send -u critical "$title" "$body" 2>/dev/null \ + || echo "[ansipa-notify] ALERT: $title — $body" >&2 + + notified_once=true +} + +mkdir -p "$ADMIN_DIR" + +while true; do + notify_alerts + sleep "$NOTIFY_INTERVAL" +done diff --git a/setup/modules/FreeipaAnsible/ansible/deploy-ansipa-policies.yml b/setup/modules/FreeipaAnsible/ansible/deploy-ansipa-policies.yml index e9d632e..bd0ab8e 100644 --- a/setup/modules/FreeipaAnsible/ansible/deploy-ansipa-policies.yml +++ b/setup/modules/FreeipaAnsible/ansible/deploy-ansipa-policies.yml @@ -4,31 +4,68 @@ # Installs ansipa-enforce-policies.sh and a systemd timer that runs it every 30 minutes. # Policies are declared by adding hosts to the following FreeIPA host groups: # -# policy-block-binary- Block execution of via a PATH-priority wrapper +# policy-block-binary- Block execution of via a PATH-priority wrapper + AppArmor # policy-timeshift-backup Enforce daily Timeshift snapshots (03:00) -# policy-security-scan Enforce daily ClamAV + rkhunter + chkrootkit scans (02:00) +# policy-security-scan Enforce daily ClamAV + rkhunter + chkrootkit scans + SMB upload (02:00) +# policy-scan-notify Fetch alerts from server, notify user every 10 min until acknowledged # # Prerequisites: # - Host enrolled in FreeIPA (sssd + ipa CLI available) -# - For security-scan: also add host to ansipa-module-anti-malware group -# - For timeshift-backup: also add host to ansipa-module-timeshift group and -# configure Timeshift (type + target device) on the host +# - For security-scan / scan-notify: samba-client installed (handled below) +# - For security-scan / scan-notify: smb_scan_password set (use ansible-vault in production) +# - For security-scan tools: also add host to ansipa-module-anti-malware group +# - For timeshift-backup: also add host to ansipa-module-timeshift group # # Usage: -# ansible-playbook -i inventory deploy-ansipa-policies.yml +# ansible-playbook -i inventory deploy-ansipa-policies.yml \ +# -e smb_scan_password= # or use --vault-password-file - name: Deploy FreeIPA policy enforcer hosts: all become: yes + vars: + smb_scan_password: "{{ smb_scan_password | mandatory('smb_scan_password is required — use -e smb_scan_password=... or ansible-vault') }}" + tasks: + - name: Install samba-client (required for scan upload and alert fetch) + package: + name: "{{ item }}" + state: present + loop: + - samba-client + ignore_errors: yes + + - name: Deploy SMB credentials file + copy: + dest: /etc/ansipa-smb.creds + mode: '0600' + owner: root + group: root + content: | + username = scanupload + password = {{ smb_scan_password }} + domain = WORKGROUP + - name: Deploy policy enforcer script copy: src: ansipa-enforce-policies.sh dest: /usr/local/bin/ansipa-enforce-policies.sh mode: '0755' + - name: Deploy alert fetch script + copy: + src: ansipa-fetch-alerts.sh + dest: /usr/local/bin/ansipa-fetch-alerts.sh + mode: '0755' + + - name: Deploy user notification daemon + copy: + src: ansipa-scan-notify.sh + dest: /usr/local/bin/ansipa-scan-notify.sh + mode: '0755' + - name: Create policy state directory file: path: /var/lib/ansipa-policies diff --git a/setup/modules/FreeipaAnsible/image/.env.example b/setup/modules/FreeipaAnsible/image/.env.example index 65d4e23..bca6ab1 100644 --- a/setup/modules/FreeipaAnsible/image/.env.example +++ b/setup/modules/FreeipaAnsible/image/.env.example @@ -8,6 +8,11 @@ IPA_SETUP_DNS=false IPA_DNS_FORWARDER= IPA_SETUP_KRA=false +# ── Ansipa SMB scan-results share ───────────────────────────────────────────── +# Password for the 'scanupload' Samba user. Deploy to clients via Ansible with +# smb_scan_password= (use ansible-vault for production). +SMB_SCAN_PASSWORD=ChangeMe_ScanPass! + # ── Keycloak ────────────────────────────────────────────────────────────────── KC_HOSTNAME=keycloak.corp.example.com KC_REALM=corp diff --git a/setup/modules/FreeipaAnsible/image/Dockerfile b/setup/modules/FreeipaAnsible/image/Dockerfile index c0f63d9..cfd8571 100644 --- a/setup/modules/FreeipaAnsible/image/Dockerfile +++ b/setup/modules/FreeipaAnsible/image/Dockerfile @@ -37,6 +37,8 @@ RUN dnf install -y --setopt=install_weak_deps=False \ net-tools \ rsync \ hostname \ + samba \ + cronie \ && dnf clean all \ && rm -rf /var/cache/dnf @@ -56,13 +58,20 @@ RUN systemctl mask \ COPY ipa-first-boot.sh /usr/local/sbin/ipa-first-boot.sh COPY ipa-first-boot.service /etc/systemd/system/ipa-first-boot.service +COPY ansipa-smb-setup.sh /usr/local/sbin/ansipa-smb-setup.sh +COPY ansipa-smb.service /etc/systemd/system/ansipa-smb.service +COPY ansipa-check-scans.sh /usr/local/sbin/ansipa-check-scans.sh RUN chmod +x /usr/local/sbin/ipa-first-boot.sh \ - && systemctl enable ipa-first-boot.service + && chmod +x /usr/local/sbin/ansipa-smb-setup.sh \ + && chmod +x /usr/local/sbin/ansipa-check-scans.sh \ + && systemctl enable ipa-first-boot.service \ + && systemctl enable ansipa-smb.service \ + && systemctl enable smb.service nmb.service crond.service VOLUME ["/data"] -# LDAP, LDAPS, Kerberos, kpasswd, HTTPS, DNS, NTP -EXPOSE 389 636 88/tcp 88/udp 464/tcp 464/udp 443 80 53/tcp 53/udp 123/udp +# LDAP, LDAPS, Kerberos, kpasswd, HTTPS, DNS, NTP, SMB +EXPOSE 389 636 88/tcp 88/udp 464/tcp 464/udp 443 80 53/tcp 53/udp 123/udp 445/tcp 445/udp 137/udp 138/udp 139/tcp STOPSIGNAL SIGRTMIN+3 CMD ["/sbin/init"] diff --git a/setup/modules/FreeipaAnsible/image/ansipa-check-scans.sh b/setup/modules/FreeipaAnsible/image/ansipa-check-scans.sh new file mode 100644 index 0000000..6a0644f --- /dev/null +++ b/setup/modules/FreeipaAnsible/image/ansipa-check-scans.sh @@ -0,0 +1,71 @@ +#!/bin/bash +# ansipa-check-scans.sh — analyse client scan logs and create alert files. +# Runs hourly via /etc/cron.d/ansipa-check-scans (installed by ansipa-smb-setup.sh). +# +# Input: /data/scan-results/archive//.log +# Output: /data/scan-results/alerts//.alert +# (created only when concerning patterns are found; client deletes to acknowledge) + +SCAN_BASE="/data/scan-results" +ARCHIVE_DIR="$SCAN_BASE/archive" +ALERT_DIR="$SCAN_BASE/alerts" +LOG=/var/log/ansipa-check-scans.log + +log() { printf '[%s] [ansipa-check-scans] %s\n' "$(date '+%Y-%m-%d %H:%M:%S')" "$*" >> "$LOG"; } + +# Patterns that indicate a concerning scan result (case-insensitive). +CONCERN_PATTERNS=( + "FOUND" # ClamAV: virus or trojan found + "Infected files: [^0]" # ClamAV summary with non-zero count + "Warning:" # rkhunter warning + "Possible rootkit" # rkhunter + "INFECTED" # generic + "Suspicious file" # chkrootkit + "INFECTED SOURCE" # chkrootkit +) + +shopt -s nullglob + +for HOST_DIR in "$ARCHIVE_DIR"/*/; do + [[ -d "$HOST_DIR" ]] || continue + HOSTNAME=$(basename "$HOST_DIR") + mkdir -p "$ALERT_DIR/$HOSTNAME" + + for SCAN_LOG in "$HOST_DIR"*.log; do + [[ -f "$SCAN_LOG" ]] || continue + LOG_DATE=$(basename "$SCAN_LOG" .log) + ALERT_FILE="$ALERT_DIR/$HOSTNAME/$LOG_DATE.alert" + + # Skip if we already generated an alert for this log. + [[ -f "$ALERT_FILE" ]] && continue + + FINDINGS=() + for PATTERN in "${CONCERN_PATTERNS[@]}"; do + while IFS= read -r LINE; do + FINDINGS+=("$LINE") + done < <(grep -iE "$PATTERN" "$SCAN_LOG" 2>/dev/null || true) + done + + # Deduplicate. + mapfile -t FINDINGS < <(printf '%s\n' "${FINDINGS[@]}" | sort -u) + + if [[ ${#FINDINGS[@]} -gt 0 ]]; then + log "ALERT: $HOSTNAME / $LOG_DATE — ${#FINDINGS[@]} finding(s)" + { + printf '=== Ansipa Security Alert ===\n' + printf 'Host: %s\n' "$HOSTNAME" + printf 'Scan: %s\n' "$LOG_DATE" + printf 'Findings: %d\n' "${#FINDINGS[@]}" + printf '\nConcerning lines:\n' + printf ' %s\n' "${FINDINGS[@]}" + printf '\nFull log: %s\n' "$SCAN_LOG" + printf '\nTo acknowledge: delete this file on the client.\n' + printf '=== Generated: %s ===\n' "$(date)" + } > "$ALERT_FILE" + else + log "OK: $HOSTNAME / $LOG_DATE — clean" + fi + done +done + +log "Check complete." diff --git a/setup/modules/FreeipaAnsible/image/ansipa-smb-setup.sh b/setup/modules/FreeipaAnsible/image/ansipa-smb-setup.sh new file mode 100644 index 0000000..b2665d8 --- /dev/null +++ b/setup/modules/FreeipaAnsible/image/ansipa-smb-setup.sh @@ -0,0 +1,93 @@ +#!/bin/bash +# ansipa-smb-setup.sh — configure the Samba scan-results share on the IPA container. +# +# Runs on every container start via ansipa-smb.service so that smb.conf and +# the Samba user are always in place after container restarts (ephemeral rootfs). +# +# Password source (first match wins): +# 1. SMB_SCAN_PASSWORD environment variable (first boot / explicit override) +# 2. /data/samba/ansipa-smb.env (persisted from first boot) + +set -euo pipefail + +LOG_TAG="ansipa-smb-setup" +SCAN_BASE="/data/scan-results" +SMB_CONF="/etc/samba/smb.conf" +SMB_USER="scanupload" +ENV_FILE="/data/samba/ansipa-smb.env" + +log() { echo "[$LOG_TAG] $*"; } +die() { echo "[$LOG_TAG][ERROR] $*" >&2; exit 1; } + +# ── Resolve password ────────────────────────────────────────────────────────── +SMB_PASS="${SMB_SCAN_PASSWORD:-}" + +if [[ -z "$SMB_PASS" ]] && [[ -f "$ENV_FILE" ]]; then + # shellcheck source=/dev/null + source "$ENV_FILE" + SMB_PASS="${SMB_SCAN_PASSWORD:-}" +fi + +[[ -z "$SMB_PASS" ]] && die "SMB_SCAN_PASSWORD not set and $ENV_FILE not present. Set it in .env." + +# ── Persist for subsequent restarts ────────────────────────────────────────── +mkdir -p "$(dirname "$ENV_FILE")" +printf 'SMB_SCAN_PASSWORD=%s\n' "$SMB_PASS" > "$ENV_FILE" +chmod 600 "$ENV_FILE" + +# ── Directory structure (idempotent) ────────────────────────────────────────── +mkdir -p "$SCAN_BASE/archive" "$SCAN_BASE/alerts" + +# ── System user ─────────────────────────────────────────────────────────────── +if ! id "$SMB_USER" &>/dev/null; then + useradd -r -s /sbin/nologin -d "$SCAN_BASE" -M "$SMB_USER" + log "Created system user: $SMB_USER" +fi +chown -R "$SMB_USER:$SMB_USER" "$SCAN_BASE" + +# ── smb.conf ────────────────────────────────────────────────────────────────── +log "Writing $SMB_CONF" +cat > "$SMB_CONF" </dev/null || \ +printf '%s\n%s\n' "$SMB_PASS" "$SMB_PASS" | smbpasswd -s "$SMB_USER" 2>/dev/null || \ +log "WARN: smbpasswd returned non-zero (user may already exist with correct password)" + +# ── Server-side scan checker cron (hourly, analysed on the IPA server itself) ─ +if [[ ! -f /etc/cron.d/ansipa-check-scans ]]; then + cat > /etc/cron.d/ansipa-check-scans <<'CRON' +# ansipa: analyze client scan logs and write alerts — managed, do not edit. +0 * * * * root /usr/local/sbin/ansipa-check-scans.sh 2>&1 | logger -t ansipa-check-scans +CRON + chmod 644 /etc/cron.d/ansipa-check-scans + log "Installed hourly scan-checker cron" +fi + +log "Samba setup complete. Share: //localhost/ansipa-scans user: $SMB_USER" diff --git a/setup/modules/FreeipaAnsible/image/ansipa-smb.service b/setup/modules/FreeipaAnsible/image/ansipa-smb.service new file mode 100644 index 0000000..5b7b2f1 --- /dev/null +++ b/setup/modules/FreeipaAnsible/image/ansipa-smb.service @@ -0,0 +1,18 @@ +[Unit] +Description=Ansipa Scan Results SMB Share Setup +# Run before smb so smb.conf and the Samba user exist when smbd starts. +Before=smb.service +After=network.target + +[Service] +Type=oneshot +RemainAfterExit=yes +# SMB_SCAN_PASSWORD comes from the container environment on first boot. +# On subsequent restarts it is read from /data/samba/ansipa-smb.env by the script. +PassEnvironment=SMB_SCAN_PASSWORD +ExecStart=/usr/local/sbin/ansipa-smb-setup.sh +StandardOutput=journal +StandardError=journal + +[Install] +WantedBy=smb.service diff --git a/setup/modules/FreeipaAnsible/image/docker-compose.yml b/setup/modules/FreeipaAnsible/image/docker-compose.yml index 59ac8d8..848d266 100644 --- a/setup/modules/FreeipaAnsible/image/docker-compose.yml +++ b/setup/modules/FreeipaAnsible/image/docker-compose.yml @@ -48,6 +48,7 @@ services: IPA_SETUP_DNS: ${IPA_SETUP_DNS:-false} IPA_DNS_FORWARDER: ${IPA_DNS_FORWARDER:-} IPA_SETUP_KRA: ${IPA_SETUP_KRA:-false} + SMB_SCAN_PASSWORD: ${SMB_SCAN_PASSWORD:?set SMB_SCAN_PASSWORD in .env} ports: - "389:389" - "636:636" @@ -56,6 +57,8 @@ services: - "464:464" - "464:464/udp" - "443:443" + - "445:445" + - "139:139" networks: ipa-net: ipv4_address: 172.30.0.10 From c56c86d57b618fda48ba5fb30c070e8eba335ea7 Mon Sep 17 00:00:00 2001 From: The_miro Date: Wed, 20 May 2026 13:13:53 +0200 Subject: [PATCH 063/116] fix(freeipa): harden container SMB setup and fetch-alerts script ansipa-smb.service: WantedBy=multi-user.target (was smb.service) so the setup service always runs at boot, not only when smb.service pulls it in docker-compose.yml: add NetBIOS UDP ports 137/138 to match Dockerfile EXPOSE and nmb.service being enabled ansipa-smb-setup.sh: - use printf '%q' when writing SMB_SCAN_PASSWORD to ansipa-smb.env so passwords with spaces or shell-special chars are correctly quoted - always write /etc/cron.d/ansipa-check-scans (remove the [[ ! -f ]] guard) since /etc/cron.d is on the ephemeral container layer and is lost on container recreation; the service runs on every start anyway Dockerfile: add -e SMB_SCAN_PASSWORD and -p 445:445 to the quick-test comment ansipa-fetch-alerts.sh: replace $NEW && log with [[ "$NEW" == true ]] && log to avoid set -e ambiguity with the 'false' builtin Co-Authored-By: Claude Sonnet 4.6 --- .../FreeipaAnsible/ansible/ansipa-fetch-alerts.sh | 2 +- setup/modules/FreeipaAnsible/image/Dockerfile | 3 ++- .../FreeipaAnsible/image/ansipa-smb-setup.sh | 13 +++++++------ .../modules/FreeipaAnsible/image/ansipa-smb.service | 4 +++- .../modules/FreeipaAnsible/image/docker-compose.yml | 2 ++ 5 files changed, 15 insertions(+), 9 deletions(-) diff --git a/setup/modules/FreeipaAnsible/ansible/ansipa-fetch-alerts.sh b/setup/modules/FreeipaAnsible/ansible/ansipa-fetch-alerts.sh index 77c7dc1..a793b4a 100644 --- a/setup/modules/FreeipaAnsible/ansible/ansipa-fetch-alerts.sh +++ b/setup/modules/FreeipaAnsible/ansible/ansipa-fetch-alerts.sh @@ -122,7 +122,7 @@ for ALERT_NAME in "${SERVER_ALERTS[@]}"; do echo "$ALERT_NAME" >> "$FETCHED_STATE" fi - $NEW && log "New alert delivered: $ALERT_NAME" + [[ "$NEW" == true ]] && log "New alert delivered: $ALERT_NAME" done log "Done. ${#SERVER_ALERTS[@]} server alert(s) for $HOSTNAME." diff --git a/setup/modules/FreeipaAnsible/image/Dockerfile b/setup/modules/FreeipaAnsible/image/Dockerfile index cfd8571..6962f3d 100644 --- a/setup/modules/FreeipaAnsible/image/Dockerfile +++ b/setup/modules/FreeipaAnsible/image/Dockerfile @@ -12,7 +12,8 @@ # -e IPA_DOMAIN=example.com \ # -e IPA_ADMIN_PASSWORD=Secret123 \ # -e IPA_DM_PASSWORD=Secret456 \ -# -p 443:443 -p 389:389 -p 636:636 -p 88:88 \ +# -e SMB_SCAN_PASSWORD=Secret789 \ +# -p 443:443 -p 389:389 -p 636:636 -p 88:88 -p 445:445 \ # freeipa-server # # For production use docker-compose.yml instead. diff --git a/setup/modules/FreeipaAnsible/image/ansipa-smb-setup.sh b/setup/modules/FreeipaAnsible/image/ansipa-smb-setup.sh index b2665d8..e6cf33e 100644 --- a/setup/modules/FreeipaAnsible/image/ansipa-smb-setup.sh +++ b/setup/modules/FreeipaAnsible/image/ansipa-smb-setup.sh @@ -31,8 +31,9 @@ fi [[ -z "$SMB_PASS" ]] && die "SMB_SCAN_PASSWORD not set and $ENV_FILE not present. Set it in .env." # ── Persist for subsequent restarts ────────────────────────────────────────── +# %q shell-quotes the value so passwords with spaces or special chars are safe. mkdir -p "$(dirname "$ENV_FILE")" -printf 'SMB_SCAN_PASSWORD=%s\n' "$SMB_PASS" > "$ENV_FILE" +printf 'SMB_SCAN_PASSWORD=%q\n' "$SMB_PASS" > "$ENV_FILE" chmod 600 "$ENV_FILE" # ── Directory structure (idempotent) ────────────────────────────────────────── @@ -81,13 +82,13 @@ printf '%s\n%s\n' "$SMB_PASS" "$SMB_PASS" | smbpasswd -s "$SMB_USER" 2>/dev/n log "WARN: smbpasswd returned non-zero (user may already exist with correct password)" # ── Server-side scan checker cron (hourly, analysed on the IPA server itself) ─ -if [[ ! -f /etc/cron.d/ansipa-check-scans ]]; then - cat > /etc/cron.d/ansipa-check-scans <<'CRON' +# Always (re-)write: /etc/cron.d is on the ephemeral container layer and is +# lost on container recreation, so we must restore it on every start. +cat > /etc/cron.d/ansipa-check-scans <<'CRON' # ansipa: analyze client scan logs and write alerts — managed, do not edit. 0 * * * * root /usr/local/sbin/ansipa-check-scans.sh 2>&1 | logger -t ansipa-check-scans CRON - chmod 644 /etc/cron.d/ansipa-check-scans - log "Installed hourly scan-checker cron" -fi +chmod 644 /etc/cron.d/ansipa-check-scans +log "Installed hourly scan-checker cron" log "Samba setup complete. Share: //localhost/ansipa-scans user: $SMB_USER" diff --git a/setup/modules/FreeipaAnsible/image/ansipa-smb.service b/setup/modules/FreeipaAnsible/image/ansipa-smb.service index 5b7b2f1..8accb43 100644 --- a/setup/modules/FreeipaAnsible/image/ansipa-smb.service +++ b/setup/modules/FreeipaAnsible/image/ansipa-smb.service @@ -15,4 +15,6 @@ StandardOutput=journal StandardError=journal [Install] -WantedBy=smb.service +# multi-user.target ensures this runs on every container start. +# Before=smb.service guarantees smb.conf and the Samba user exist before smbd starts. +WantedBy=multi-user.target diff --git a/setup/modules/FreeipaAnsible/image/docker-compose.yml b/setup/modules/FreeipaAnsible/image/docker-compose.yml index 848d266..71b472f 100644 --- a/setup/modules/FreeipaAnsible/image/docker-compose.yml +++ b/setup/modules/FreeipaAnsible/image/docker-compose.yml @@ -59,6 +59,8 @@ services: - "443:443" - "445:445" - "139:139" + - "137:137/udp" + - "138:138/udp" networks: ipa-net: ipv4_address: 172.30.0.10 From a84e6ac41cb357ef5fc0da964916af7cd9b20f0b Mon Sep 17 00:00:00 2001 From: The_miro Date: Wed, 20 May 2026 15:09:00 +0200 Subject: [PATCH 064/116] feat(archiso): add system reset mode to installer Adds a post-keymap action selection to launch.sh (Install vs Reset). The reset routine (reset-arch.sh) unlocks LUKS via FIDO2 token and/or passphrase, snapshots /etc credentials and config, wipes and recreates the @ btrfs subvolume, reinstalls base packages via pacstrap, restores auth files (passwd/shadow/pam.d/sudoers) and system config, then regenerates the initramfs and GRUB menu from chroot. User home data is preserved; ~/.config is cleared except Yubico/ auth keys so FIDO2 PAM login continues to work. libfido2 added to packages.extra for live-env token unlock support. Co-Authored-By: Claude Sonnet 4.6 --- setup/archiso/build.sh | 1 + setup/archiso/overlay/airootfs/root/launch.sh | 13 + setup/archiso/overlay/packages.extra | 1 + setup/reset-arch.sh | 242 ++++++++++++++++++ 4 files changed, 257 insertions(+) create mode 100755 setup/reset-arch.sh diff --git a/setup/archiso/build.sh b/setup/archiso/build.sh index 62f3346..0179ff6 100755 --- a/setup/archiso/build.sh +++ b/setup/archiso/build.sh @@ -85,6 +85,7 @@ echo "Embedding installer scripts..." mkdir -p "$PROFILE/airootfs/root/installer" cp "$DOTFILES_DIR/setup/archbaseos-guided-install.sh" "$PROFILE/airootfs/root/installer/" cp "$DOTFILES_DIR/setup/arch-autoinstall.sh" "$PROFILE/airootfs/root/installer/" +cp "$DOTFILES_DIR/setup/reset-arch.sh" "$PROFILE/airootfs/root/installer/" chmod 755 \ "$PROFILE/airootfs/root/launch.sh" \ diff --git a/setup/archiso/overlay/airootfs/root/launch.sh b/setup/archiso/overlay/airootfs/root/launch.sh index e235889..5212471 100644 --- a/setup/archiso/overlay/airootfs/root/launch.sh +++ b/setup/archiso/overlay/airootfs/root/launch.sh @@ -34,6 +34,19 @@ fi loadkeys "$LIVE_KEYMAP" +# ── Action selection (skipped in auto mode) ────────────────────────────────── +if [[ "$MODE" != "auto" ]]; then + echo "" + echo "Select action:" + echo " 1) Install system (fresh install, erases disk)" + echo " 2) Reset system (wipe root, keep user data & passwords)" + read -rp "Choice [1]: " _ACTION_IDX + _ACTION_IDX="${_ACTION_IDX:-1}" + if [[ "$_ACTION_IDX" == "2" ]]; then + exec bash "$INSTALLER_DIR/reset-arch.sh" + fi +fi + case "$MODE" in auto) exec bash "$INSTALLER_DIR/arch-autoinstall.sh" "${@:2}" ;; guided) exec bash "$INSTALLER_DIR/archbaseos-guided-install.sh" ;; diff --git a/setup/archiso/overlay/packages.extra b/setup/archiso/overlay/packages.extra index e803fa6..0522978 100644 --- a/setup/archiso/overlay/packages.extra +++ b/setup/archiso/overlay/packages.extra @@ -2,6 +2,7 @@ git jq pam-u2f +libfido2 btop fastfetch openssh diff --git a/setup/reset-arch.sh b/setup/reset-arch.sh new file mode 100755 index 0000000..2d73dc5 --- /dev/null +++ b/setup/reset-arch.sh @@ -0,0 +1,242 @@ +#!/usr/bin/env bash +# reset-arch.sh — Reset the root btrfs subvolume while preserving user home data. +# +# What this does: +# 1. Detects LUKS encryption; unlocks via FIDO2 token and/or passphrase +# 2. Saves user credentials and system config from the old @ subvolume +# 3. Clears app configs (~/.config) from @home, preserving auth keys (Yubico/) +# 4. Deletes and recreates the @ (root) btrfs subvolume +# 5. Reinstalls the base system via pacstrap +# 6. Restores credentials, PAM, fstab, mkinitcpio, GRUB config +# 7. Regenerates initramfs and GRUB menu from chroot so the system boots cleanly + +set -euo pipefail + +TMPDIR=$(mktemp -d /tmp/arch-reset.XXXXXX) +trap 'rm -rf "$TMPDIR"' EXIT + +pause() { read -rp "Press ENTER to continue..."; } + +echo "=======================================" +echo " M-Archy System Reset" +echo "=======================================" +echo "This will:" +echo " • Delete and recreate the root (@) btrfs subvolume" +echo " • Reinstall base system packages from scratch" +echo " • Clear all user ~/.config directories (auth keys preserved)" +echo " • Preserve home directories, passwords, and FIDO2 login keys" +echo "" + +# ── Required tools in live environment ────────────────────────────────────── +pacman -Syd --noconfirm cryptsetup btrfs-progs jq libfido2 + +# ── Drive selection ────────────────────────────────────────────────────────── +lsblk +echo "" +read -rp "Enter drive to reset (e.g., /dev/sda): " DRIVE +ROOT_PART="${DRIVE}2" +EFI_PART="${DRIVE}1" + +echo "" +echo "WARNING: The root subvolume on $ROOT_PART will be DELETED and reinstalled." +echo " User home directories will be preserved." +echo " App configs (~/.config) will be wiped (Yubico auth keys excepted)." +echo "" +read -rp "Type YES to continue: " _CONFIRM +[[ "$_CONFIRM" == "YES" ]] || { echo "Aborted."; exit 1; } + +# ── LUKS detection and unlock ──────────────────────────────────────────────── +MAPPER_DEV="$ROOT_PART" + +if cryptsetup isLuks "$ROOT_PART" 2>/dev/null; then + echo "" + echo "Partition $ROOT_PART is LUKS2-encrypted." + echo "Select unlock method:" + echo " 1) Try enrolled token (FIDO2/TPM2) first, fall back to passphrase [recommended]" + echo " 2) Passphrase only" + echo " 3) Enrolled token only (FIDO2/TPM2)" + read -rp "Choice [1]: " _UNLOCK + _UNLOCK="${_UNLOCK:-1}" + + case "$_UNLOCK" in + 1) + echo "Insert FIDO2 key if using one, then press ENTER..." + pause + if ! cryptsetup open --token-only "$ROOT_PART" cryptroot 2>/dev/null; then + echo "Token unlock failed — enter passphrase..." + cryptsetup open "$ROOT_PART" cryptroot + fi + ;; + 2) + cryptsetup open "$ROOT_PART" cryptroot + ;; + 3) + echo "Insert FIDO2 key and press ENTER..." + pause + cryptsetup open --token-only "$ROOT_PART" cryptroot + ;; + *) + echo "Invalid choice, using passphrase..." + cryptsetup open "$ROOT_PART" cryptroot + ;; + esac + MAPPER_DEV="/dev/mapper/cryptroot" + echo "Partition unlocked." +fi + +# ── Detect installed kernel from EFI partition ─────────────────────────────── +TMPBOOT=$(mktemp -d /tmp/arch-reset-boot.XXXXXX) +mount "$EFI_PART" "$TMPBOOT" +KERNEL_PKG="linux" +for _img in "$TMPBOOT"/vmlinuz-*; do + [[ -f "$_img" ]] && KERNEL_PKG=$(basename "$_img" | sed 's/^vmlinuz-//') && break +done +umount "$TMPBOOT"; rmdir "$TMPBOOT" +echo "Detected kernel: $KERNEL_PKG" + +# ── Detect GPU from live hardware ──────────────────────────────────────────── +GPU_INFO=$(lspci 2>/dev/null | grep -E "VGA|3D" || true) +GPU_PKGS="" +if echo "$GPU_INFO" | grep -qi nvidia; then GPU_PKGS="nvidia-open" +elif echo "$GPU_INFO" | grep -qi amd; then GPU_PKGS="xf86-video-amdgpu" +elif echo "$GPU_INFO" | grep -qi intel; then GPU_PKGS="xf86-video-intel" +fi + +# ── Mount btrfs top-level ──────────────────────────────────────────────────── +BTRFS_MNT="$TMPDIR/btrfs" +mkdir -p "$BTRFS_MNT" +mount -o subvolid=5 "$MAPPER_DEV" "$BTRFS_MNT" + +# ── Save critical configuration from @ ────────────────────────────────────── +echo "Saving system configuration..." +SAVED="$TMPDIR/saved" + +_save() { + local src="$BTRFS_MNT/@/etc/$1" + local dst="$SAVED/etc/$1" + [[ -e "$src" ]] || return 0 + mkdir -p "$(dirname "$dst")" + cp -a "$src" "$dst" +} + +_save passwd +_save shadow +_save group +_save gshadow +_save sudoers +_save sudoers.d +_save pam.d +_save hostname +_save locale.conf +_save locale.gen +_save vconsole.conf +_save fstab +_save mkinitcpio.conf +_save mkinitcpio.conf.d +_save default/grub +_save NetworkManager + +# Save timezone symlink target as plain text (the symlink itself can't cross roots) +{ readlink "$BTRFS_MNT/@/etc/localtime" 2>/dev/null || echo "/usr/share/zoneinfo/UTC"; } \ + > "$SAVED/timezone" + +# ── Clear ~/.config in @home (preserve auth-critical subdirs) ──────────────── +echo "Clearing user app configs..." +# Yubico/ holds U2F/FIDO2 PAM keys — deleting these would break FIDO2 login +PRESERVED_CONFIG_DIRS=("Yubico" "pam-u2f") + +for _homedir in "$BTRFS_MNT/@home"/*/; do + [[ -d "$_homedir" ]] || continue + _user=$(basename "$_homedir") + _cfgdir="$_homedir/.config" + [[ -d "$_cfgdir" ]] || continue + echo " Clearing ~/.config for: $_user" + # Top-level files in .config + find "$_cfgdir" -mindepth 1 -maxdepth 1 ! -type d -delete + # Subdirectories, skipping preserved ones + while IFS= read -r -d '' _subdir; do + _dname=$(basename "$_subdir") + _skip=false + for _keep in "${PRESERVED_CONFIG_DIRS[@]}"; do + [[ "$_dname" == "$_keep" ]] && _skip=true && break + done + $_skip || rm -rf "$_subdir" + done < <(find "$_cfgdir" -mindepth 1 -maxdepth 1 -type d -print0) +done + +# ── Delete @ and recreate fresh ────────────────────────────────────────────── +echo "Deleting root subvolume @..." +btrfs subvolume delete "$BTRFS_MNT/@" +echo "Creating fresh root subvolume @..." +btrfs subvolume create "$BTRFS_MNT/@" + +# ── Mount for installation ─────────────────────────────────────────────────── +umount "$BTRFS_MNT" +mount -o subvol=@ "$MAPPER_DEV" /mnt +mkdir -p /mnt/home +mount -o subvol=@home "$MAPPER_DEV" /mnt/home +mkdir -p /mnt/boot +mount "$EFI_PART" /mnt/boot + +# ── Pacstrap base system ───────────────────────────────────────────────────── +echo "Reinstalling base system (this will take a while)..." +# shellcheck disable=SC2086 +pacstrap /mnt \ + base base-devel "$KERNEL_PKG" linux-firmware vim zsh git networkmanager grub efibootmgr \ + btrfs-progs cryptsetup libfido2 pam-u2f sudo less jq $GPU_PKGS + +# ── Restore saved configuration ────────────────────────────────────────────── +echo "Restoring system configuration..." + +_restore() { + local src="$SAVED/etc/$1" + local dst="/mnt/etc/$1" + [[ -e "$src" ]] || return 0 + mkdir -p "$(dirname "$dst")" + cp -a "$src" "$dst" +} + +# Auth files — explicit permissions +[[ -f "$SAVED/etc/passwd" ]] && install -m 644 "$SAVED/etc/passwd" /mnt/etc/passwd +[[ -f "$SAVED/etc/group" ]] && install -m 644 "$SAVED/etc/group" /mnt/etc/group +[[ -f "$SAVED/etc/shadow" ]] && install -m 000 "$SAVED/etc/shadow" /mnt/etc/shadow +[[ -f "$SAVED/etc/gshadow" ]] && install -m 000 "$SAVED/etc/gshadow" /mnt/etc/gshadow + +_restore sudoers +_restore sudoers.d +_restore pam.d +_restore hostname +_restore locale.conf +_restore locale.gen +_restore vconsole.conf +_restore fstab +_restore mkinitcpio.conf +_restore mkinitcpio.conf.d +_restore default/grub +_restore NetworkManager + +TZ_TARGET=$(cat "$SAVED/timezone") +ln -sf "$TZ_TARGET" /mnt/etc/localtime + +# ── Chroot: regenerate initramfs, GRUB menu, services ─────────────────────── +echo "Finalizing inside chroot..." +arch-chroot /mnt /bin/bash <<'CHROOT_EOF' +set -euo pipefail + +locale-gen +hwclock --systohc +systemctl enable NetworkManager +mkinitcpio -P +grub-mkconfig -o /boot/grub/grub.cfg + +# Re-apply correct ownership for user home directories using restored UIDs +while IFS=: read -r _uname _ _uid _gid _ _home _; do + (( _uid >= 1000 )) && [[ -d "$_home" ]] && chown -R "${_uid}:${_gid}" "$_home" || true +done < /etc/passwd +CHROOT_EOF + +echo "" +echo "=======================================" +echo " Reset complete!" +echo "=======================================" +echo " umount -R /mnt && reboot" From eb3ae766a5ddb01d7f8cc272bcd13ac785532c1d Mon Sep 17 00:00:00 2001 From: The_miro Date: Wed, 20 May 2026 15:12:21 +0200 Subject: [PATCH 065/116] feat(modules): add RDP client and QEMU/KVM modules rdp-client.sh: installs Remmina with the FreeRDP and libvncserver plugins for RDP and VNC sessions. qemu.sh: installs the full QEMU/KVM stack (qemu-full, libvirt, virt-manager, virt-viewer, dnsmasq, bridge-utils, edk2-ovmf, swtpm, vde2), enables and starts libvirtd, auto-starts the default NAT network, and adds the user to the libvirt and kvm groups. Both modules are wired into tui-install.sh: count_steps, checklist, confirmation summary, and run_module dispatch. Co-Authored-By: Claude Sonnet 4.6 --- setup/modules/optional-Modules/apps/qemu.sh | 22 +++++++++++++++++++ .../optional-Modules/apps/rdp-client.sh | 10 +++++++++ setup/tui-install.sh | 9 ++++++++ 3 files changed, 41 insertions(+) create mode 100644 setup/modules/optional-Modules/apps/qemu.sh create mode 100644 setup/modules/optional-Modules/apps/rdp-client.sh diff --git a/setup/modules/optional-Modules/apps/qemu.sh b/setup/modules/optional-Modules/apps/qemu.sh new file mode 100644 index 0000000..d1aa336 --- /dev/null +++ b/setup/modules/optional-Modules/apps/qemu.sh @@ -0,0 +1,22 @@ +#!/bin/bash +set -euo pipefail + +# QEMU/KVM + libvirt stack + virt-manager GUI +sudo pacman -S --noconfirm --needed \ + qemu-full \ + libvirt \ + virt-manager \ + virt-viewer \ + dnsmasq \ + bridge-utils \ + edk2-ovmf \ + swtpm \ + vde2 + +sudo systemctl enable --now libvirtd.service + +# Enable the default NAT network at libvirt startup +sudo virsh net-autostart default 2>/dev/null || true + +sudo usermod -aG libvirt,kvm "$USER" +echo "QEMU/KVM installed. Log out and back in for group membership to take effect." diff --git a/setup/modules/optional-Modules/apps/rdp-client.sh b/setup/modules/optional-Modules/apps/rdp-client.sh new file mode 100644 index 0000000..6add70c --- /dev/null +++ b/setup/modules/optional-Modules/apps/rdp-client.sh @@ -0,0 +1,10 @@ +#!/bin/bash +set -euo pipefail + +# Remmina + protocol plugins +sudo pacman -S --noconfirm --needed \ + remmina \ + freerdp \ + libvncserver + +echo "Remmina installed with RDP (freerdp) and VNC support." diff --git a/setup/tui-install.sh b/setup/tui-install.sh index 811c8f3..a5559ee 100755 --- a/setup/tui-install.sh +++ b/setup/tui-install.sh @@ -160,6 +160,8 @@ count_steps() { [[ "$a" == *"geany"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"codeblocks"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"kate"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"rdp-client"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"qemu"* ]] && TOTAL=$(( TOTAL + 1 )) } # ── Answerfile ──────────────────────────────────────────────────────────────── @@ -356,6 +358,9 @@ else "geany" "Geany lightweight IDE + plugins (official)" off \ "codeblocks" "Code::Blocks C/C++ IDE (official)" off \ "kate" "Kate KDE advanced text editor (official)" off \ + \ + "rdp-client" "RDP Client Remmina + FreeRDP + VNC plugins" off \ + "qemu" "QEMU/KVM full virt stack + virt-manager GUI" off \ 3>&1 1>&2 2>&3) || SELECTED_APPS="" fi @@ -423,6 +428,8 @@ if ! $ANSWERFILE_MODE; then [[ "$SELECTED_APPS" == *"geany"* ]] && SUMMARY+=" ✦ Geany\n" [[ "$SELECTED_APPS" == *"codeblocks"* ]] && SUMMARY+=" ✦ Code::Blocks\n" [[ "$SELECTED_APPS" == *"kate"* ]] && SUMMARY+=" ✦ Kate\n" + [[ "$SELECTED_APPS" == *"rdp-client"* ]] && SUMMARY+=" ✦ RDP Client (Remmina + FreeRDP)\n" + [[ "$SELECTED_APPS" == *"qemu"* ]] && SUMMARY+=" ✦ QEMU/KVM + virt-manager\n" fi dialog --backtitle "$BACKTITLE" \ @@ -505,6 +512,8 @@ fi [[ "$SELECTED_APPS" == *"geany"* ]] && run_module "Geany" "$APPS/geany.sh" [[ "$SELECTED_APPS" == *"codeblocks"* ]] && run_module "Code::Blocks" "$APPS/codeblocks.sh" [[ "$SELECTED_APPS" == *"kate"* ]] && run_module "Kate" "$APPS/kate.sh" +[[ "$SELECTED_APPS" == *"rdp-client"* ]] && run_module "RDP Client" "$APPS/rdp-client.sh" +[[ "$SELECTED_APPS" == *"qemu"* ]] && run_module "QEMU/KVM" "$APPS/qemu.sh" # ── Colorway (final step) ───────────────────────────────────────────────────── # Read defaults from repo colors.conf for pre-population From 63cd59fb918eb36bce58ff4751eb9f6f535fbe9d Mon Sep 17 00:00:00 2001 From: The_miro Date: Wed, 20 May 2026 15:15:59 +0200 Subject: [PATCH 066/116] feat(modules): add lamco-rdp-server module Installs lamco-rdp-server from AUR (native Wayland RDP server, Rust, H.264/VA-API). Enables lamco-rdp-server.service as a systemd user service. Wired into tui-install.sh alongside the existing rdp-client and qemu entries. Co-Authored-By: Claude Sonnet 4.6 --- .../optional-Modules/apps/lamco-rdp-server.sh | 16 +++++++++++++++ setup/tui-install.sh | 20 +++++++++++-------- 2 files changed, 28 insertions(+), 8 deletions(-) create mode 100644 setup/modules/optional-Modules/apps/lamco-rdp-server.sh diff --git a/setup/modules/optional-Modules/apps/lamco-rdp-server.sh b/setup/modules/optional-Modules/apps/lamco-rdp-server.sh new file mode 100644 index 0000000..5ada75b --- /dev/null +++ b/setup/modules/optional-Modules/apps/lamco-rdp-server.sh @@ -0,0 +1,16 @@ +#!/bin/bash +set -euo pipefail + +# lamco-rdp-server — native Wayland RDP server (Rust, H.264, VA-API) +# Builds from AUR; requires cargo, clang, cmake, nasm (auto-pulled as makedeps) +yay -S --answerdiff None --answerclean All --noconfirm lamco-rdp-server + +# Runs as a systemd user service (session-scoped, D-Bus activated) +systemctl --user enable lamco-rdp-server.service + +echo "lamco-rdp-server enabled as a user service." +echo "Start it with: systemctl --user start lamco-rdp-server" +echo "Or launch the GUI tray: lamco-rdp-server-gui" +echo "" +echo "Optional: install a matching xdg-desktop-portal for your compositor:" +echo " xdg-desktop-portal-hyprland / -wlr / -gnome / -kde" diff --git a/setup/tui-install.sh b/setup/tui-install.sh index a5559ee..c7612aa 100755 --- a/setup/tui-install.sh +++ b/setup/tui-install.sh @@ -160,8 +160,9 @@ count_steps() { [[ "$a" == *"geany"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"codeblocks"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"kate"* ]] && TOTAL=$(( TOTAL + 1 )) - [[ "$a" == *"rdp-client"* ]] && TOTAL=$(( TOTAL + 1 )) - [[ "$a" == *"qemu"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"rdp-client"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"lamco-rdp-server"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"qemu"* ]] && TOTAL=$(( TOTAL + 1 )) } # ── Answerfile ──────────────────────────────────────────────────────────────── @@ -359,8 +360,9 @@ else "codeblocks" "Code::Blocks C/C++ IDE (official)" off \ "kate" "Kate KDE advanced text editor (official)" off \ \ - "rdp-client" "RDP Client Remmina + FreeRDP + VNC plugins" off \ - "qemu" "QEMU/KVM full virt stack + virt-manager GUI" off \ + "rdp-client" "RDP Client Remmina + FreeRDP + VNC plugins" off \ + "lamco-rdp-server" "Lamco RDP Server native Wayland RDP server (AUR, Rust)" off \ + "qemu" "QEMU/KVM full virt stack + virt-manager GUI" off \ 3>&1 1>&2 2>&3) || SELECTED_APPS="" fi @@ -428,8 +430,9 @@ if ! $ANSWERFILE_MODE; then [[ "$SELECTED_APPS" == *"geany"* ]] && SUMMARY+=" ✦ Geany\n" [[ "$SELECTED_APPS" == *"codeblocks"* ]] && SUMMARY+=" ✦ Code::Blocks\n" [[ "$SELECTED_APPS" == *"kate"* ]] && SUMMARY+=" ✦ Kate\n" - [[ "$SELECTED_APPS" == *"rdp-client"* ]] && SUMMARY+=" ✦ RDP Client (Remmina + FreeRDP)\n" - [[ "$SELECTED_APPS" == *"qemu"* ]] && SUMMARY+=" ✦ QEMU/KVM + virt-manager\n" + [[ "$SELECTED_APPS" == *"rdp-client"* ]] && SUMMARY+=" ✦ RDP Client (Remmina + FreeRDP)\n" + [[ "$SELECTED_APPS" == *"lamco-rdp-server"* ]] && SUMMARY+=" ✦ Lamco RDP Server (native Wayland)\n" + [[ "$SELECTED_APPS" == *"qemu"* ]] && SUMMARY+=" ✦ QEMU/KVM + virt-manager\n" fi dialog --backtitle "$BACKTITLE" \ @@ -512,8 +515,9 @@ fi [[ "$SELECTED_APPS" == *"geany"* ]] && run_module "Geany" "$APPS/geany.sh" [[ "$SELECTED_APPS" == *"codeblocks"* ]] && run_module "Code::Blocks" "$APPS/codeblocks.sh" [[ "$SELECTED_APPS" == *"kate"* ]] && run_module "Kate" "$APPS/kate.sh" -[[ "$SELECTED_APPS" == *"rdp-client"* ]] && run_module "RDP Client" "$APPS/rdp-client.sh" -[[ "$SELECTED_APPS" == *"qemu"* ]] && run_module "QEMU/KVM" "$APPS/qemu.sh" +[[ "$SELECTED_APPS" == *"rdp-client"* ]] && run_module "RDP Client" "$APPS/rdp-client.sh" +[[ "$SELECTED_APPS" == *"lamco-rdp-server"* ]] && run_module "Lamco RDP Server" "$APPS/lamco-rdp-server.sh" +[[ "$SELECTED_APPS" == *"qemu"* ]] && run_module "QEMU/KVM" "$APPS/qemu.sh" # ── Colorway (final step) ───────────────────────────────────────────────────── # Read defaults from repo colors.conf for pre-population From aced2c754ed8b5cd5ec96335960600397ad0b56a Mon Sep 17 00:00:00 2001 From: The_miro Date: Wed, 20 May 2026 15:25:15 +0200 Subject: [PATCH 067/116] feat(ansipa): add daemon enable/disable policy via host-group regex MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Host groups named policy-daemon-enable- and policy-daemon-disable- are now matched by a wildcard case arm in the group parser — no per-service configuration required. Enforcement (every 30 min via existing timer): enable: systemctl enable --now ; state written to /var/lib/ansipa-policies/daemon-enabled disable: systemctl disable --now ; state written to /var/lib/ansipa-policies/daemon-disabled revert: when a host leaves a group the opposite action is applied on the next run (enable→disable, disable→enable) conflict: unit in both lists is skipped with a warning The .service suffix is optional — _svc_unit() appends it when the name contains no dot, so all systemd unit types work as-is. Co-Authored-By: Claude Sonnet 4.6 --- .../ansible/ansipa-enforce-policies.sh | 109 +++++++++++++++++- .../ansible/deploy-ansipa-policies.yml | 10 +- 2 files changed, 109 insertions(+), 10 deletions(-) diff --git a/setup/modules/FreeipaAnsible/ansible/ansipa-enforce-policies.sh b/setup/modules/FreeipaAnsible/ansible/ansipa-enforce-policies.sh index 936d6d4..501e80d 100755 --- a/setup/modules/FreeipaAnsible/ansible/ansipa-enforce-policies.sh +++ b/setup/modules/FreeipaAnsible/ansible/ansipa-enforce-policies.sh @@ -5,12 +5,18 @@ # leaving the group removes it on the next run (every 30 min via systemd timer). # # Host-group naming conventions: -# policy-block-binary- Block execution of via two layers: -# 1. PATH-priority wrapper in /usr/local/bin/ (catches $PATH calls) -# 2. AppArmor deny profile in /etc/apparmor.d/ (catches absolute paths) -# AppArmor layer is skipped silently if apparmor_parser is not present. -# policy-timeshift-backup Enforce a daily Timeshift snapshot (requires timeshift installed) -# policy-security-scan Enforce daily ClamAV + rkhunter + chkrootkit scans +# policy-block-binary- Block execution of via two layers: +# 1. PATH-priority wrapper in /usr/local/bin/ (catches $PATH calls) +# 2. AppArmor deny profile in /etc/apparmor.d/ (catches absolute paths) +# AppArmor layer is skipped silently if apparmor_parser is not present. +# policy-daemon-enable- Ensure is enabled and running (systemctl enable --now). +# Leaving the group reverts: service is disabled and stopped. +# policy-daemon-disable- Ensure is disabled and stopped (systemctl disable --now). +# Leaving the group reverts: service is re-enabled and started. +# may omit the .service suffix; all systemd unit types work. +# If a unit appears in both enable and disable groups it is skipped. +# policy-timeshift-backup Enforce a daily Timeshift snapshot (requires timeshift installed) +# policy-security-scan Enforce daily ClamAV + rkhunter + chkrootkit scans # # Notes: # - Install scan tools first: add the host to ansipa-module-anti-malware. @@ -43,6 +49,8 @@ RAW_GROUPS=$(ipa host-show "$HOST_FQDN" --all 2>/dev/null \ # ── Parse active policy groups ──────────────────────────────────────────────── ACTIVE_BLOCK_BINARIES=() +ACTIVE_DAEMON_ENABLE=() +ACTIVE_DAEMON_DISABLE=() WANT_TIMESHIFT_BACKUP=false WANT_SECURITY_SCAN=false WANT_SCAN_NOTIFY=false @@ -53,6 +61,8 @@ if [[ -n "$RAW_GROUPS" ]]; then g="${g// /}" case "$g" in policy-block-binary-*) ACTIVE_BLOCK_BINARIES+=("${g#policy-block-binary-}") ;; + policy-daemon-enable-*) ACTIVE_DAEMON_ENABLE+=("${g#policy-daemon-enable-}") ;; + policy-daemon-disable-*) ACTIVE_DAEMON_DISABLE+=("${g#policy-daemon-disable-}") ;; policy-timeshift-backup) WANT_TIMESHIFT_BACKUP=true ;; policy-security-scan) WANT_SECURITY_SCAN=true ;; policy-scan-notify) WANT_SCAN_NOTIFY=true ;; @@ -62,6 +72,7 @@ if [[ -n "$RAW_GROUPS" ]]; then fi log "Active policies — block-binary: ${ACTIVE_BLOCK_BINARIES[*]:-none}" \ + "| daemon-enable: ${ACTIVE_DAEMON_ENABLE[*]:-none} | daemon-disable: ${ACTIVE_DAEMON_DISABLE[*]:-none}" \ "| timeshift-backup: $WANT_TIMESHIFT_BACKUP" \ "| security-scan: $WANT_SECURITY_SCAN | scan-notify: $WANT_SCAN_NOTIFY" @@ -347,4 +358,90 @@ else fi fi +# ── Daemon enable / disable ─────────────────────────────────────────────────── +# policy-daemon-enable-: ensure the unit is enabled and running. +# Leaving the group reverts: unit is disabled and stopped. +# policy-daemon-disable-: ensure the unit is disabled and stopped. +# Leaving the group reverts: unit is re-enabled and started. +# may omit the .service suffix; systemd accepts both forms. +# Conflicts (unit in both lists): logged as a warning, unit is left untouched. + +DAEMON_ENABLE_STATE="$STATE_DIR/daemon-enabled" +DAEMON_DISABLE_STATE="$STATE_DIR/daemon-disabled" +[[ -f "$DAEMON_ENABLE_STATE" ]] || touch "$DAEMON_ENABLE_STATE" +[[ -f "$DAEMON_DISABLE_STATE" ]] || touch "$DAEMON_DISABLE_STATE" + +# Append .service only when the name has no unit-type suffix already. +_svc_unit() { [[ "$1" == *.* ]] && echo "$1" || echo "${1}.service"; } + +_in_enable_list() { local n="$1"; for s in "${ACTIVE_DAEMON_ENABLE[@]}"; do [[ "$s" == "$n" ]] && return 0; done; return 1; } +_in_disable_list() { local n="$1"; for s in "${ACTIVE_DAEMON_DISABLE[@]}"; do [[ "$s" == "$n" ]] && return 0; done; return 1; } + +# Apply enable policies +for _SVC in "${ACTIVE_DAEMON_ENABLE[@]}"; do + if _in_disable_list "$_SVC"; then + warn "Conflict: '$_SVC' is in both daemon-enable and daemon-disable groups — skipped" + continue + fi + _UNIT=$(_svc_unit "$_SVC") + _EN=$(systemctl is-enabled "$_UNIT" 2>/dev/null || echo "not-found") + _AC=$(systemctl is-active "$_UNIT" 2>/dev/null || echo "inactive") + if [[ "$_EN" != "enabled" || "$_AC" != "active" ]]; then + log "Enabling service: $_UNIT (enabled=$_EN active=$_AC)" + systemctl enable --now "$_UNIT" 2>/dev/null \ + && log "Service enabled: $_UNIT" \ + || warn "Failed to enable $_UNIT — unit may not exist on this host" + fi +done + +# Apply disable policies +for _SVC in "${ACTIVE_DAEMON_DISABLE[@]}"; do + if _in_enable_list "$_SVC"; then + continue # conflict already warned above + fi + _UNIT=$(_svc_unit "$_SVC") + _EN=$(systemctl is-enabled "$_UNIT" 2>/dev/null || echo "not-found") + _AC=$(systemctl is-active "$_UNIT" 2>/dev/null || echo "inactive") + if [[ "$_EN" == "enabled" || "$_AC" == "active" ]]; then + log "Disabling service: $_UNIT (enabled=$_EN active=$_AC)" + systemctl disable --now "$_UNIT" 2>/dev/null \ + && log "Service disabled: $_UNIT" \ + || warn "Failed to disable $_UNIT — unit may not exist on this host" + fi +done + +# Revert: host left a daemon-enable group → disable and stop the service +while IFS= read -r _OLD; do + [[ -z "$_OLD" ]] && continue + if ! _in_enable_list "$_OLD"; then + _UNIT=$(_svc_unit "$_OLD") + log "Reverting enable policy: disabling $_UNIT (host left daemon-enable group)" + systemctl disable --now "$_UNIT" 2>/dev/null \ + || warn "Failed to disable (revert) $_UNIT" + fi +done < "$DAEMON_ENABLE_STATE" + +# Revert: host left a daemon-disable group → re-enable and start the service +while IFS= read -r _OLD; do + [[ -z "$_OLD" ]] && continue + if ! _in_disable_list "$_OLD"; then + _UNIT=$(_svc_unit "$_OLD") + log "Reverting disable policy: enabling $_UNIT (host left daemon-disable group)" + systemctl enable --now "$_UNIT" 2>/dev/null \ + || warn "Failed to enable (revert) $_UNIT" + fi +done < "$DAEMON_DISABLE_STATE" + +# Persist current state +if [[ ${#ACTIVE_DAEMON_ENABLE[@]} -gt 0 ]]; then + printf '%s\n' "${ACTIVE_DAEMON_ENABLE[@]}" | sort -u > "$DAEMON_ENABLE_STATE" +else + > "$DAEMON_ENABLE_STATE" +fi +if [[ ${#ACTIVE_DAEMON_DISABLE[@]} -gt 0 ]]; then + printf '%s\n' "${ACTIVE_DAEMON_DISABLE[@]}" | sort -u > "$DAEMON_DISABLE_STATE" +else + > "$DAEMON_DISABLE_STATE" +fi + log "Policy enforcement complete." diff --git a/setup/modules/FreeipaAnsible/ansible/deploy-ansipa-policies.yml b/setup/modules/FreeipaAnsible/ansible/deploy-ansipa-policies.yml index bd0ab8e..70f7c97 100644 --- a/setup/modules/FreeipaAnsible/ansible/deploy-ansipa-policies.yml +++ b/setup/modules/FreeipaAnsible/ansible/deploy-ansipa-policies.yml @@ -4,10 +4,12 @@ # Installs ansipa-enforce-policies.sh and a systemd timer that runs it every 30 minutes. # Policies are declared by adding hosts to the following FreeIPA host groups: # -# policy-block-binary- Block execution of via a PATH-priority wrapper + AppArmor -# policy-timeshift-backup Enforce daily Timeshift snapshots (03:00) -# policy-security-scan Enforce daily ClamAV + rkhunter + chkrootkit scans + SMB upload (02:00) -# policy-scan-notify Fetch alerts from server, notify user every 10 min until acknowledged +# policy-block-binary- Block execution of via a PATH-priority wrapper + AppArmor +# policy-daemon-enable- Ensure is enabled and running; reverted when host leaves group +# policy-daemon-disable- Ensure is disabled and stopped; reverted when host leaves group +# policy-timeshift-backup Enforce daily Timeshift snapshots (03:00) +# policy-security-scan Enforce daily ClamAV + rkhunter + chkrootkit scans + SMB upload (02:00) +# policy-scan-notify Fetch alerts from server, notify user every 10 min until acknowledged # # Prerequisites: # - Host enrolled in FreeIPA (sssd + ipa CLI available) From 5d56984e38a0c700889672c4eb826a2b2d2a7671 Mon Sep 17 00:00:00 2001 From: The_miro Date: Wed, 20 May 2026 15:33:17 +0200 Subject: [PATCH 068/116] feat(ansipa): store LUKS backup keys on SMB share with KeyAdmin access control ansipa-smb-setup.sh: - Adds KeyAdmin Linux group and luks-upload service account (member of KeyAdmin) on the IPA container, both persisted across restarts. - LUKS base dir /data/luks-keys owned root:KeyAdmin, mode 2750 (setgid so new files inherit the group). - New [ansipa-luks-keys] SMB share: valid users = @KeyAdmin, read only, write list = luks-upload. Human admins gain read access by being added to KeyAdmin: useradd -r -G KeyAdmin && smbpasswd -a . - LUKS_KEY_UPLOAD_PASSWORD sourced from env / /data/samba/ansipa-smb.env alongside the existing SMB_SCAN_PASSWORD. collect-luks-keys.yml: - After fetching /_LUKS_BACKUP_KEY from each client, uploads it to the ansipa-luks-keys share via smbclient using a temp credentials file (no_log, deleted in post_tasks). - Local staging copy is removed after a successful upload. - SMB credentials file uses an epoch-stamped path to avoid collisions. .env.example: documents LUKS_KEY_UPLOAD_PASSWORD. Co-Authored-By: Claude Sonnet 4.6 --- .../ansible/collect-luks-keys.yml | 105 ++++++++++++++---- .../modules/FreeipaAnsible/image/.env.example | 13 ++- .../FreeipaAnsible/image/ansipa-smb-setup.sh | 84 +++++++++++--- 3 files changed, 160 insertions(+), 42 deletions(-) diff --git a/setup/modules/FreeipaAnsible/ansible/collect-luks-keys.yml b/setup/modules/FreeipaAnsible/ansible/collect-luks-keys.yml index ff986e3..fd2ebf3 100644 --- a/setup/modules/FreeipaAnsible/ansible/collect-luks-keys.yml +++ b/setup/modules/FreeipaAnsible/ansible/collect-luks-keys.yml @@ -1,56 +1,80 @@ --- -# collect-luks-keys.yml — fetch LUKS backup keys from enrolled clients. +# collect-luks-keys.yml — fetch LUKS backup keys from enrolled clients and store them +# on the ansipa-luks-keys SMB share (accessible only to KeyAdmin group members). # -# When a client was installed with disk encryption via the M-Archy installer, -# a backup LUKS key is stored at /_LUKS_BACKUP_KEY inside the encrypted root. -# This playbook fetches those keys to the controller and names each copy -# _LUKS_BACKUP_KEY so they can be archived securely. +# Flow per host: +# 1. Fetch /_LUKS_BACKUP_KEY from the client to a local staging directory. +# 2. Upload the staged file to //IPA_SERVER/ansipa-luks-keys/ via smbclient. +# 3. Delete the local staging copy. # -# Keys are stored in luks-keys/ relative to the playbook directory. -# Protect that directory carefully — keys can unlock client root partitions. +# The ansipa-luks-keys SMB share is write-only for 'luks-upload' and read-only +# for members of the 'KeyAdmin' group. Add a Samba user to KeyAdmin on the IPA +# container to grant read access: +# useradd -r -G KeyAdmin && smbpasswd -a # # Usage: -# ansible-playbook -i inventory collect-luks-keys.yml -# ansible-playbook -i inventory collect-luks-keys.yml -e luks_keys_store=/secure/path +# ansible-playbook -i inventory collect-luks-keys.yml \ +# -e luks_smb_server=ipa.corp.example.com \ +# -e luks_upload_password= # -# To run automatically, add a cron job on the Ansible controller: -# 0 3 * * * cd /path/to/playbooks && ansible-playbook -i inventory collect-luks-keys.yml +# Or set defaults in group_vars / ansible-vault. The smb_server can also be +# auto-detected from /etc/ipa/default.conf on the clients. -- name: Collect LUKS backup keys from enrolled clients +- name: Collect and archive LUKS backup keys hosts: all become: yes vars: luks_key_path: /_LUKS_BACKUP_KEY - luks_keys_store: "{{ playbook_dir }}/luks-keys" + # Local staging dir — files are deleted after a successful SMB upload. + luks_keys_stage: "{{ playbook_dir }}/luks-keys-stage" + luks_smb_server: "{{ luks_smb_server | mandatory('luks_smb_server is required — use -e luks_smb_server=') }}" + luks_smb_share: ansipa-luks-keys + luks_upload_user: luks-upload + luks_upload_password: "{{ luks_upload_password | mandatory('luks_upload_password is required — use -e luks_upload_password=... or ansible-vault') }}" + # Temp credentials file on the controller — removed at the end of the play. + _smb_creds_file: "/tmp/.ansipa-luks-upload-{{ ansible_date_time.epoch }}.creds" tasks: - - name: Ensure local key store directory exists + - name: Ensure local staging directory exists file: - path: "{{ luks_keys_store }}" + path: "{{ luks_keys_stage }}" state: directory mode: '0700' delegate_to: localhost run_once: true become: false + - name: Write temporary SMB credentials file on controller + copy: + dest: "{{ _smb_creds_file }}" + mode: '0600' + content: | + username = {{ luks_upload_user }} + password = {{ luks_upload_password }} + domain = WORKGROUP + delegate_to: localhost + run_once: true + become: false + no_log: true + - name: Check for LUKS backup key on client stat: path: "{{ luks_key_path }}" register: luks_key_stat - - name: Fetch LUKS backup key to controller + - name: Fetch LUKS backup key to local staging area fetch: src: "{{ luks_key_path }}" - dest: "{{ luks_keys_store }}/{{ inventory_hostname }}_LUKS_BACKUP_KEY" + dest: "{{ luks_keys_stage }}/{{ inventory_hostname }}_LUKS_BACKUP_KEY" flat: yes when: luks_key_stat.stat.exists register: luks_key_fetch - - name: Secure fetched key permissions + - name: Secure staged key permissions file: - path: "{{ luks_keys_store }}/{{ inventory_hostname }}_LUKS_BACKUP_KEY" + path: "{{ luks_keys_stage }}/{{ inventory_hostname }}_LUKS_BACKUP_KEY" mode: '0400' delegate_to: localhost become: false @@ -58,12 +82,49 @@ - luks_key_stat.stat.exists - luks_key_fetch is changed + - name: Upload key to ansipa-luks-keys SMB share + shell: > + smbclient "//{{ luks_smb_server }}/{{ luks_smb_share }}" + -A "{{ _smb_creds_file }}" + -c "put {{ luks_keys_stage }}/{{ inventory_hostname }}_LUKS_BACKUP_KEY {{ inventory_hostname }}_LUKS_BACKUP_KEY" + delegate_to: localhost + become: false + when: + - luks_key_stat.stat.exists + - luks_key_fetch is changed + register: smb_upload + no_log: true + + - name: Remove local staging copy after successful upload + file: + path: "{{ luks_keys_stage }}/{{ inventory_hostname }}_LUKS_BACKUP_KEY" + state: absent + delegate_to: localhost + become: false + when: + - luks_key_stat.stat.exists + - luks_key_fetch is changed + - smb_upload is succeeded + - name: Report key status debug: msg: >- {{ inventory_hostname }}: - {% if luks_key_stat.stat.exists %} - key found and fetched to {{ luks_keys_store }}/{{ inventory_hostname }}_LUKS_BACKUP_KEY + {% if not luks_key_stat.stat.exists %} + no /_LUKS_BACKUP_KEY present (unencrypted install or key already removed) + {% elif luks_key_fetch is changed and smb_upload is succeeded %} + key uploaded to //{{ luks_smb_server }}/{{ luks_smb_share }}/{{ inventory_hostname }}_LUKS_BACKUP_KEY + {% elif luks_key_fetch is not changed %} + key unchanged since last collection — skipped upload {% else %} - no /_LUKS_BACKUP_KEY present (unencrypted or already collected) + WARNING: key fetched but SMB upload failed — check smbclient output {% endif %} + + post_tasks: + - name: Remove temporary SMB credentials file + file: + path: "{{ _smb_creds_file }}" + state: absent + delegate_to: localhost + run_once: true + become: false diff --git a/setup/modules/FreeipaAnsible/image/.env.example b/setup/modules/FreeipaAnsible/image/.env.example index bca6ab1..d663333 100644 --- a/setup/modules/FreeipaAnsible/image/.env.example +++ b/setup/modules/FreeipaAnsible/image/.env.example @@ -8,10 +8,17 @@ IPA_SETUP_DNS=false IPA_DNS_FORWARDER= IPA_SETUP_KRA=false -# ── Ansipa SMB scan-results share ───────────────────────────────────────────── -# Password for the 'scanupload' Samba user. Deploy to clients via Ansible with -# smb_scan_password= (use ansible-vault for production). +# ── Ansipa SMB shares ───────────────────────────────────────────────────────── +# SMB_SCAN_PASSWORD — password for 'scanupload'; deploy to clients via Ansible +# with smb_scan_password= (use ansible-vault). +# LUKS_KEY_UPLOAD_PASSWORD — password for the 'luks-upload' service account used +# by the Ansible controller to write LUKS backup keys to +# the ansipa-luks-keys share. Pass to collect-luks-keys.yml +# with -e luks_upload_password=. +# To grant read access, add a Samba user to KeyAdmin on the +# container: useradd -r -G KeyAdmin && smbpasswd -a SMB_SCAN_PASSWORD=ChangeMe_ScanPass! +LUKS_KEY_UPLOAD_PASSWORD=ChangeMe_LuksUpload! # ── Keycloak ────────────────────────────────────────────────────────────────── KC_HOSTNAME=keycloak.corp.example.com diff --git a/setup/modules/FreeipaAnsible/image/ansipa-smb-setup.sh b/setup/modules/FreeipaAnsible/image/ansipa-smb-setup.sh index e6cf33e..bc80f15 100644 --- a/setup/modules/FreeipaAnsible/image/ansipa-smb-setup.sh +++ b/setup/modules/FreeipaAnsible/image/ansipa-smb-setup.sh @@ -1,50 +1,84 @@ #!/bin/bash -# ansipa-smb-setup.sh — configure the Samba scan-results share on the IPA container. +# ansipa-smb-setup.sh — configure the Samba scan-results and LUKS-key shares on the IPA container. # # Runs on every container start via ansipa-smb.service so that smb.conf and -# the Samba user are always in place after container restarts (ephemeral rootfs). +# Samba users are always in place after container restarts (ephemeral rootfs). # -# Password source (first match wins): -# 1. SMB_SCAN_PASSWORD environment variable (first boot / explicit override) -# 2. /data/samba/ansipa-smb.env (persisted from first boot) +# Password sources (first match wins per variable): +# 1. Environment variable (first boot / explicit override) +# 2. /data/samba/ansipa-smb.env (persisted from first boot) +# +# Shares: +# ansipa-scans — write-only for 'scanupload'; clients push scan results here. +# ansipa-luks-keys — write-only for 'luks-upload' (Ansible controller); +# read for members of the 'KeyAdmin' Linux group. +# Add a Samba user to KeyAdmin to grant key-read access: +# useradd -r -G KeyAdmin +# smbpasswd -a set -euo pipefail LOG_TAG="ansipa-smb-setup" SCAN_BASE="/data/scan-results" +LUKS_BASE="/data/luks-keys" SMB_CONF="/etc/samba/smb.conf" SMB_USER="scanupload" +LUKS_UPLOAD_USER="luks-upload" +KEYADMIN_GROUP="KeyAdmin" ENV_FILE="/data/samba/ansipa-smb.env" log() { echo "[$LOG_TAG] $*"; } die() { echo "[$LOG_TAG][ERROR] $*" >&2; exit 1; } -# ── Resolve password ────────────────────────────────────────────────────────── +# ── Resolve passwords ───────────────────────────────────────────────────────── SMB_PASS="${SMB_SCAN_PASSWORD:-}" +LUKS_PASS="${LUKS_KEY_UPLOAD_PASSWORD:-}" -if [[ -z "$SMB_PASS" ]] && [[ -f "$ENV_FILE" ]]; then +if [[ -f "$ENV_FILE" ]]; then # shellcheck source=/dev/null source "$ENV_FILE" - SMB_PASS="${SMB_SCAN_PASSWORD:-}" + SMB_PASS="${SMB_SCAN_PASSWORD:-$SMB_PASS}" + LUKS_PASS="${LUKS_KEY_UPLOAD_PASSWORD:-$LUKS_PASS}" fi -[[ -z "$SMB_PASS" ]] && die "SMB_SCAN_PASSWORD not set and $ENV_FILE not present. Set it in .env." +[[ -z "$SMB_PASS" ]] && die "SMB_SCAN_PASSWORD not set and $ENV_FILE not present. Set it in .env." +[[ -z "$LUKS_PASS" ]] && die "LUKS_KEY_UPLOAD_PASSWORD not set and $ENV_FILE not present. Set it in .env." # ── Persist for subsequent restarts ────────────────────────────────────────── -# %q shell-quotes the value so passwords with spaces or special chars are safe. mkdir -p "$(dirname "$ENV_FILE")" -printf 'SMB_SCAN_PASSWORD=%q\n' "$SMB_PASS" > "$ENV_FILE" +{ + printf 'SMB_SCAN_PASSWORD=%q\n' "$SMB_PASS" + printf 'LUKS_KEY_UPLOAD_PASSWORD=%q\n' "$LUKS_PASS" +} > "$ENV_FILE" chmod 600 "$ENV_FILE" # ── Directory structure (idempotent) ────────────────────────────────────────── mkdir -p "$SCAN_BASE/archive" "$SCAN_BASE/alerts" +mkdir -p "$LUKS_BASE" -# ── System user ─────────────────────────────────────────────────────────────── +# ── KeyAdmin group ──────────────────────────────────────────────────────────── +if ! getent group "$KEYADMIN_GROUP" &>/dev/null; then + groupadd -r "$KEYADMIN_GROUP" + log "Created group: $KEYADMIN_GROUP" +fi + +# ── System users ────────────────────────────────────────────────────────────── if ! id "$SMB_USER" &>/dev/null; then useradd -r -s /sbin/nologin -d "$SCAN_BASE" -M "$SMB_USER" log "Created system user: $SMB_USER" fi + +if ! id "$LUKS_UPLOAD_USER" &>/dev/null; then + useradd -r -s /sbin/nologin -d "$LUKS_BASE" -M -G "$KEYADMIN_GROUP" "$LUKS_UPLOAD_USER" + log "Created system user: $LUKS_UPLOAD_USER (member of $KEYADMIN_GROUP)" +else + # Ensure group membership is correct after container recreations + usermod -aG "$KEYADMIN_GROUP" "$LUKS_UPLOAD_USER" +fi + chown -R "$SMB_USER:$SMB_USER" "$SCAN_BASE" +chown -R "root:$KEYADMIN_GROUP" "$LUKS_BASE" +chmod 2750 "$LUKS_BASE" # setgid so new files inherit KeyAdmin group # ── smb.conf ────────────────────────────────────────────────────────────────── log "Writing $SMB_CONF" @@ -73,13 +107,29 @@ cat > "$SMB_CONF" </dev/null || \ -printf '%s\n%s\n' "$SMB_PASS" "$SMB_PASS" | smbpasswd -s "$SMB_USER" 2>/dev/null || \ -log "WARN: smbpasswd returned non-zero (user may already exist with correct password)" +# ── Samba passwords (idempotent — smbpasswd -a adds or updates) ─────────────── +_smb_set_pass() { + local user="$1" pass="$2" + log "Setting Samba password for $user" + printf '%s\n%s\n' "$pass" "$pass" | smbpasswd -a -s "$user" 2>/dev/null || \ + printf '%s\n%s\n' "$pass" "$pass" | smbpasswd -s "$user" 2>/dev/null || \ + log "WARN: smbpasswd returned non-zero for $user (may already be set correctly)" +} + +_smb_set_pass "$SMB_USER" "$SMB_PASS" +_smb_set_pass "$LUKS_UPLOAD_USER" "$LUKS_PASS" # ── Server-side scan checker cron (hourly, analysed on the IPA server itself) ─ # Always (re-)write: /etc/cron.d is on the ephemeral container layer and is From 6f2b24c51a6ec8cf9d9409fe580160e0ef3640ca Mon Sep 17 00:00:00 2001 From: The_miro Date: Wed, 20 May 2026 15:39:38 +0200 Subject: [PATCH 069/116] docs: update readme and docs for recent changes - freeipa-ansible.md: expand into full container installation guide covering SMB shares (ansipa-scans, ansipa-luks-keys), KeyAdmin access control, LUKS_KEY_UPLOAD_PASSWORD env var, updated collect-luks-keys flow via SMB, daemon enable/disable policy, security scan + alert pipeline, and Keycloak section - modules.md: add Virtualisation & Remote Desktop section (qemu, rdp-client, lamco-rdp-server) - archiso.md: document system reset mode (reset-arch.sh), launch.sh action selection, libfido2 in packages.extra - readme.md: update Cliff Notes and docs table to reflect all changes Co-Authored-By: Claude Sonnet 4.6 --- docs/md/archiso.md | 50 ++++++- docs/md/freeipa-ansible.md | 291 +++++++++++++++++++++++++++++-------- docs/md/modules.md | 14 ++ readme.md | 7 +- 4 files changed, 301 insertions(+), 61 deletions(-) diff --git a/docs/md/archiso.md b/docs/md/archiso.md index 1575c6d..f7630a7 100644 --- a/docs/md/archiso.md +++ b/docs/md/archiso.md @@ -71,8 +71,11 @@ pam-u2f btop fastfetch openssh +libfido2 ``` +`libfido2` is included to support FIDO2 / token-based LUKS unlock in the system reset mode (see below). + These are added on top of the standard Arch `releng` package set. --- @@ -93,7 +96,10 @@ install-arch auto # automated mode (reads /answerfile.json) ### `/root/launch.sh` -Internal dispatcher used by `install-arch`. +Internal dispatcher used by `install-arch`. After keymap selection, it prompts for one of two actions: + +- **Install** — runs the normal guided or automated installer. +- **Reset** — runs `setup/reset-arch.sh` (see [System Reset Mode](#system-reset-mode)). ### `/answerfile.json` @@ -101,6 +107,48 @@ Only present when built with `--preconf`. Both installer scripts check for this --- +## System Reset Mode + +`setup/reset-arch.sh` performs a non-destructive system reinstall from the live environment, keeping user home data and authentication keys intact. + +### What it does + +1. Detects LUKS2 encryption on the selected partition and unlocks it: + - **Option 1** (recommended): tries the enrolled FIDO2/TPM2 token first, falls back to passphrase. + - **Option 2**: passphrase only. + - **Option 3**: enrolled token only. +2. Snapshots `/etc` credentials and config from the existing `@` subvolume. +3. Wipes `~/.config` from `@home` for all users, **preserving** `~/.config/Yubico/` so FIDO2 PAM login continues to work after reset. +4. Deletes and recreates the `@` (root) Btrfs subvolume. +5. Reinstalls base system packages via `pacstrap`. +6. Restores `passwd`, `shadow`, `pam.d`, `sudoers`, `fstab`, `mkinitcpio.conf`, and GRUB config from the snapshot. +7. Regenerates initramfs and GRUB menu from chroot. + +### How to run it + +Boot from the ISO. At the action prompt, select **Reset**. + +The reset mode is also available standalone on any live Arch environment: + +```bash +bash /path/to/setup/reset-arch.sh +``` + +### What is preserved + +| Data | Preserved | +|------|-----------| +| User home directories (`/home/*`) | Yes | +| User passwords (`/etc/shadow`) | Yes | +| FIDO2 keys (`~/.config/Yubico/`) | Yes | +| PAM configuration | Yes | +| sudoers rules | Yes | +| fstab, mkinitcpio config | Yes | +| App configs (`~/.config/*`) | **No** (wiped except Yubico) | +| Installed packages | **No** (reinstalled from base) | + +--- + ## Automated Deployment Workflow ``` diff --git a/docs/md/freeipa-ansible.md b/docs/md/freeipa-ansible.md index 979ca89..83a6516 100644 --- a/docs/md/freeipa-ansible.md +++ b/docs/md/freeipa-ansible.md @@ -1,6 +1,6 @@ # FreeIPA & Ansible -The FreeIPA/Ansible system provides centralised identity management for a fleet of Arch Linux machines: single sign-on, host-group-driven package and module deployment, LUKS backup key collection, and automatic Keycloak configuration. +The FreeIPA/Ansible system provides centralised identity management for a fleet of Arch Linux machines: single sign-on, host-group-driven package and module deployment, policy enforcement, LUKS backup key collection, scan-result aggregation, and automatic Keycloak configuration. All relevant files live under `setup/modules/FreeipaAnsible/`. @@ -9,54 +9,140 @@ All relevant files live under `setup/modules/FreeipaAnsible/`. ## Architecture ``` -┌────────────────────────────────────┐ -│ FreeIPA Server │ -│ (can run in Docker / LXC) │ -│ │ -│ • User/host directory │ -│ • Kerberos KDC │ -│ • DNS (optional) │ -│ • Host group management │ -└──────────┬─────────────────────────┘ - │ SSSD / Kerberos - ▼ -┌────────────────────────────────────┐ -│ Enrolled client machine │ -│ │ -│ • sssd — authentication │ -│ • ipa CLI — host group queries │ -│ • Ansible-deployed timers │ -│ ├── package installer │ -│ ├── module installer │ -│ ├── Flatpak installer │ -│ └── baseuser group sync │ -└────────────────────────────────────┘ +┌──────────────────────────────────────────────────────────────────────┐ +│ FreeIPA + Keycloak + Samba container (docker-compose) │ +│ │ +│ • FreeIPA — user/host directory, Kerberos KDC, DNS (optional) │ +│ • Keycloak — OIDC provider federating FreeIPA via LDAP │ +│ • Samba — two SMB shares for scan results and LUKS backup keys │ +│ • cronie — hourly scan-result analyser (ansipa-check-scans) │ +└───────────┬─────────────────────────┬────────────────────────────────┘ + │ SSSD / Kerberos │ SMB (445) + ▼ ▼ +┌──────────────────────┐ ┌─────────────────────────────────────────┐ +│ Enrolled client │ │ Ansible controller │ +│ │ │ │ +│ • sssd │ │ • deploy-ansipa-*.yml playbooks │ +│ • ipa CLI │ │ • collect-luks-keys.yml │ +│ • Ansible-deployed │ │ (uploads keys to ansipa-luks-keys │ +│ timers: │ │ share as luks-upload service acct) │ +│ ├── pkg installer │ └─────────────────────────────────────────┘ +│ ├── module install│ +│ ├── Flatpak install +│ ├── baseuser sync │ +│ └── policy enforcer (every 30 min) +│ ├── binary blocking +│ ├── daemon enable/disable +│ ├── Timeshift backups +│ ├── security scans + SMB upload +│ └── alert fetch + desktop notify +└──────────────────────┘ ``` --- -## FreeIPA Server +## FreeIPA Server Container -### Docker / OCI Image - -A pre-built Docker image is available via `setup/modules/FreeipaAnsible/image/`: +### Quick Start ```bash cd setup/modules/FreeipaAnsible/image cp .env.example .env -# Edit .env with your domain, admin password, realm, etc. +$EDITOR .env # set all required variables docker compose up -d +docker compose logs -f freeipa # watch first-boot (~10 min) +# Once freeipa is healthy: +./keycloak-configure.sh # wire Keycloak → FreeIPA LDAP ``` -The container runs `ipa-first-boot.sh` on first start to initialise the IPA instance, then optionally `keycloak-configure.sh` to wire up Keycloak as an OIDC provider. - -### Interactive Server Setup +To run FreeIPA without Keycloak: ```bash -bash setup/modules/optional-Modules/apps/freeipa-server.sh +docker compose up -d freeipa ``` -Prompts for realm, domain, admin password, and whether to generate client-install scripts. +### Environment Variables (`.env`) + +| Variable | Required | Description | +|----------|----------|-------------| +| `IPA_HOSTNAME` | yes | FQDN of the IPA server (e.g. `ipa.corp.example.com`) | +| `IPA_DOMAIN` | yes | DNS domain (e.g. `corp.example.com`) | +| `IPA_REALM` | — | Kerberos realm; defaults to `IPA_DOMAIN` uppercased | +| `IPA_ADMIN_PASSWORD` | yes | `admin` account password | +| `IPA_DM_PASSWORD` | yes | Directory Manager password | +| `IPA_SETUP_DNS` | — | `true` to enable integrated DNS (default `false`) | +| `IPA_DNS_FORWARDER` | — | Upstream DNS when `IPA_SETUP_DNS=true` | +| `IPA_SETUP_KRA` | — | `true` to enable the Key Recovery Authority | +| `SMB_SCAN_PASSWORD` | yes | Password for the `scanupload` Samba service account | +| `LUKS_KEY_UPLOAD_PASSWORD` | yes | Password for the `luks-upload` Samba service account | +| `KC_HOSTNAME` | yes | Public hostname of Keycloak | +| `KC_REALM` | — | Keycloak realm name (default `corp`) | +| `KC_ADMIN` | — | Keycloak admin username (default `admin`) | +| `KC_ADMIN_PASSWORD` | yes | Keycloak admin password | +| `KC_DB_PASSWORD` | yes | PostgreSQL password for Keycloak | +| `IPA_BIND_DN` | — | LDAP bind DN for Keycloak federation (default: Directory Manager) | +| `IPA_BIND_PASSWORD` | — | LDAP bind password; leave blank to reuse `IPA_DM_PASSWORD` | +| `IPA_USE_LDAPS` | — | `true` to use LDAPS for Keycloak federation | + +### Exposed Ports + +| Port | Protocol | Service | +|------|----------|---------| +| 389 | TCP | LDAP | +| 636 | TCP | LDAPS | +| 88 | TCP + UDP | Kerberos | +| 464 | TCP + UDP | kpasswd | +| 443 | TCP | HTTPS (IPA web UI) | +| 445 | TCP | SMB (Samba shares) | +| 139 | TCP | NetBIOS session (Samba) | +| 137 | UDP | NetBIOS name service | +| 138 | UDP | NetBIOS datagram | +| 8080 | TCP | Keycloak HTTP | +| 8443 | TCP | Keycloak HTTPS | + +### Container Internals + +On first start, `ipa-first-boot.service` runs `ipa-first-boot.sh` to initialise the FreeIPA instance. On every start, `ansipa-smb.service` runs `ansipa-smb-setup.sh` to configure Samba (the container rootfs is ephemeral — Samba config and users must be re-applied after restarts). + +Data persisted to the `/data` volume: + +``` +/data/ +├── samba/ +│ ├── passdb.tdb # Samba password database (survives restarts) +│ └── ansipa-smb.env # Persisted SMB passwords (auto-written on first start) +├── scan-results/ +│ ├── archive// # Client scan logs (written by clients via SMB) +│ └── alerts// # Alert files generated by ansipa-check-scans (hourly) +└── luks-keys/ # LUKS backup keys (written by Ansible controller via SMB) +``` + +--- + +## SMB Shares + +The container exposes two Samba shares, both configured by `ansipa-smb-setup.sh`. + +### `ansipa-scans` — Scan Result Archive + +- **Path:** `/data/scan-results` +- **Authenticated user:** `scanupload` (write-only; no browse) +- **Purpose:** Clients enrolled in `policy-security-scan` upload their daily ClamAV / rkhunter / chkrootkit logs here after each scan run. +- **Analysis:** `ansipa-check-scans.sh` runs hourly via cronie; it reads each host's archive logs and writes `*.alert` files to the `alerts/` subdirectory when concerning patterns are found. +- **Credentials file on clients:** `/etc/ansipa-smb.creds` (deployed by `deploy-ansipa-policies.yml`) + +### `ansipa-luks-keys` — LUKS Backup Key Store + +- **Path:** `/data/luks-keys` +- **Permissions:** write-only for `luks-upload`; read-only for members of the `KeyAdmin` Linux group +- **Purpose:** The Ansible controller writes each host's LUKS backup key here after collecting it via `collect-luks-keys.yml`. +- **Access control:** Add an admin Samba user to the `KeyAdmin` group on the container: + ```bash + # On the freeipa container + useradd -r -G KeyAdmin + smbpasswd -a + ``` + The `KeyAdmin` group and the `luks-upload` / `scanupload` service accounts are created by `ansipa-smb-setup.sh` on every container start. --- @@ -118,9 +204,9 @@ All playbooks live in `setup/modules/FreeipaAnsible/ansible/` and require an inv ansible-playbook -i inventory deploy-ansipa-install.yml ``` -Deploys `ansipa-install-packages.sh` + a systemd timer that runs every 30 minutes. The script queries IPA for host groups named `ansipa-install-` and installs/removes packages to match. +Deploys `ansipa-install-packages.sh` + a systemd timer (every 30 min). The script queries IPA for host groups named `ansipa-install-` and installs or removes packages to match. -**Group naming convention:** `ansipa-install-firefox` → installs the `firefox` package. +**Group naming convention:** `ansipa-install-firefox` → installs `firefox`. ### Deploy Module Auto-Installer @@ -129,13 +215,9 @@ ansible-playbook -i inventory deploy-ansipa-modules.yml \ [-e ansipa_user=amir] ``` -Deploys `ansipa-install-modules.sh` + timer. Queries for groups named `ansipa-module-` and runs the matching script from `/usr/local/lib/ansipa-modules/.sh`. +Deploys `ansipa-install-modules.sh` + timer. Queries for groups named `ansipa-module-` and runs the matching script from `/usr/local/lib/ansipa-modules/.sh`. Module scripts are copied from `setup/modules/optional-Modules/apps/*.sh`. -Module scripts are the same ones used by `install-modules.sh` — copied from `setup/modules/optional-Modules/apps/*.sh`. - -**Group naming convention:** `ansipa-module-docker` → runs `docker.sh` on the host. - -Each module is applied once and stamped in `/var/lib/ansipa-modules/.done`. Re-running the timer skips already-applied modules. +Each module is applied once and stamped in `/var/lib/ansipa-modules/.done`. ### Deploy BaseUser Sync @@ -143,27 +225,40 @@ Each module is applied once and stamped in `/var/lib/ansipa-modules/.done` ansible-playbook -i inventory deploy-baseuser-sync.yml ``` -Deploys a `systemd.path` unit that triggers whenever a user logs in. If the user is a member of the IPA `BaseUser` group, they are automatically added to the local `baseusers` group — useful for desktop permission grants. +Deploys a `systemd.path` unit that triggers on login. Users who are members of the IPA `BaseUser` group are automatically added to the local `baseusers` group. + +### Deploy Policy Enforcer + +```bash +ansible-playbook -i inventory deploy-ansipa-policies.yml \ + -e smb_scan_password= +``` + +Deploys `ansipa-enforce-policies.sh`, `ansipa-fetch-alerts.sh`, `ansipa-scan-notify.sh`, a systemd timer (every 30 min), and `/etc/ansipa-smb.creds`. Use `ansible-vault` for the password in production. ### Collect LUKS Backup Keys ```bash ansible-playbook -i inventory collect-luks-keys.yml \ - [-e luks_keys_store=/secure/location] + -e luks_smb_server=ipa.corp.example.com \ + -e luks_upload_password= ``` -For each enrolled host, checks for `/_LUKS_BACKUP_KEY` (placed there by the M-Archy installer when disk encryption is enabled) and fetches it to the controller as: +For each enrolled host: +1. Fetches `/_LUKS_BACKUP_KEY` from the client to a local staging directory. +2. Uploads the staged key to `//ipa-server/ansipa-luks-keys/_LUKS_BACKUP_KEY` via `smbclient` using a temporary credentials file (`no_log`, deleted in `post_tasks`). +3. Removes the local staging copy after a successful upload. -``` -/_LUKS_BACKUP_KEY -``` +Keys on the SMB share are accessible only to `KeyAdmin` group members (see [SMB Shares](#smb-shares)). -Keys are stored with mode `0400`. The store directory is created with mode `0700`. +**Schedule automatic collection:** -**Schedule for automatic collection:** ```bash # Add to crontab on the Ansible controller -0 3 * * * cd /path/to/playbooks && ansible-playbook -i inventory collect-luks-keys.yml +0 3 * * * cd /path/to/FreeipaAnsible/ansible && \ + ansible-playbook -i inventory collect-luks-keys.yml \ + -e luks_smb_server=ipa.corp.example.com \ + -e luks_upload_password= ``` --- @@ -176,6 +271,63 @@ Keys are stored with mode `0400`. The store directory is created with mode `0700 | `ansipa-module-` | `ansipa-install-modules.sh` | Run module script once | | `fp_install-` | `ansipa-install-flatpaks.sh` | Install Flatpak app | | `BaseUser` | `auto-add-baseuser.sh` | Add user to local `baseusers` group | +| `policy-block-binary-` | `ansipa-enforce-policies.sh` | Block binary via PATH wrapper + AppArmor | +| `policy-daemon-enable-` | `ansipa-enforce-policies.sh` | `systemctl enable --now `; reverted on leave | +| `policy-daemon-disable-` | `ansipa-enforce-policies.sh` | `systemctl disable --now `; reverted on leave | +| `policy-timeshift-backup` | `ansipa-enforce-policies.sh` | Daily Timeshift snapshot at 03:00 | +| `policy-security-scan` | `ansipa-enforce-policies.sh` | Daily ClamAV + rkhunter + chkrootkit scan + SMB upload | +| `policy-scan-notify` | `ansipa-enforce-policies.sh` | Fetch server alerts, notify user every 10 min until acknowledged | + +--- + +## Policy Enforcement + +`ansipa-enforce-policies.sh` runs every 30 minutes on each enrolled client (deployed by `deploy-ansipa-policies.yml`). All policies are idempotent and reversible — leaving a host group undoes the policy on the next run. + +### Binary Blocking + +Adding a host to `policy-block-binary-` applies two layers: + +1. **PATH wrapper** — a script in `/usr/local/bin/` that prints a policy message and exits 1. Takes priority over the real binary for `$PATH`-based calls. +2. **AppArmor deny profile** — `/etc/apparmor.d/ansipa-block-` with an empty profile, denying all file access. Blocks absolute-path calls and direct `exec()`. Skipped silently if `apparmor_parser` is not present. + +Leaving the group removes both layers on the next enforcer run. + +### Daemon Enable / Disable + +| Group | Effect on join | Effect on leave | +|-------|---------------|-----------------| +| `policy-daemon-enable-` | `systemctl enable --now ` | `systemctl disable --now ` | +| `policy-daemon-disable-` | `systemctl disable --now ` | `systemctl enable --now ` | + +The `.service` suffix is optional — it is appended automatically when the unit name contains no dot, so any systemd unit type works. If a unit appears in both enable and disable groups simultaneously, it is skipped with a warning. + +State is tracked in `/var/lib/ansipa-policies/daemon-enabled` and `daemon-disabled` so revert actions are applied correctly when a host leaves a group. + +### Security Scans & Alert Pipeline + +``` +Client (policy-security-scan) + └── daily 02:00: clamscan + rkhunter + chkrootkit + └── smbclient → //ipa-server/ansipa-scans/archive//.log + +IPA container (hourly cron) + └── ansipa-check-scans.sh + └── grep for FOUND / Warning / Possible rootkit / etc. + └── writes /data/scan-results/alerts//.alert + +Client (policy-scan-notify, every 10 min via systemd timer) + └── ansipa-fetch-alerts.sh (root) + └── downloads *.alert files → ~/administration// per active user + └── ansipa-scan-notify.sh (user daemon, started on login via profile.d) + └── notify-send every 10 min while *.alert files remain + └── delete file to acknowledge → removed from server on next fetch +``` + +**Prerequisites for scan policies:** +- Add host to `ansipa-module-anti-malware` before `policy-security-scan` (installs ClamAV, rkhunter, chkrootkit). +- `samba-client` is installed automatically by `deploy-ansipa-policies.yml`. +- SMB credentials are written to `/etc/ansipa-smb.creds` (root-only, `0600`). --- @@ -190,15 +342,40 @@ Keys are stored with mode `0400`. The store directory is created with mode `0700 4. Key written to /_LUKS_BACKUP_KEY (mode 0400, root-only) inside the encrypted Btrfs volume - Post-install (Ansible) - ────────────────────── - 5. collect-luks-keys.yml runs from the controller - 6. Fetches /_LUKS_BACKUP_KEY from each client - 7. Stores as luks-keys/_LUKS_BACKUP_KEY (mode 0400) - on the controller + Post-install (Ansible controller) + ────────────────────────────────── + 5. collect-luks-keys.yml runs + 6. Fetches /_LUKS_BACKUP_KEY from each client (become: yes) + 7. Uploads to //ipa-server/ansipa-luks-keys/_LUKS_BACKUP_KEY + as 'luks-upload' service account (write-only, no_log) + 8. Local staging copy deleted after successful upload + + Recovery (KeyAdmin member) + ─────────────────────────── + 9. Connect to //ipa-server/ansipa-luks-keys with a KeyAdmin Samba account + 10. Retrieve _LUKS_BACKUP_KEY and use with cryptsetup ``` -The backup key lives inside the encrypted partition, so it is only accessible when the disk is already unlocked. Its purpose is to allow an admin to unlock the disk for recovery without knowing the user's passphrase. +The backup key lives inside the encrypted partition and is only accessible when the disk is already unlocked. Its purpose is to allow an admin to unlock the disk for recovery without knowing the user's passphrase. + +--- + +## Keycloak + +`keycloak-configure.sh` performs the initial wiring after both FreeIPA and Keycloak containers are healthy: + +1. Creates the configured realm in Keycloak. +2. Sets up an LDAP federation pointing at the FreeIPA LDAP/LDAPS endpoint. +3. Configures user and group mappers. + +Run it once after the first `docker compose up`: + +```bash +cd setup/modules/FreeipaAnsible/image +./keycloak-configure.sh +``` + +The Keycloak admin console is available at `http://:8080` (dev mode) or `https://:8443` (requires TLS cert for production `start` command). --- diff --git a/docs/md/modules.md b/docs/md/modules.md index 4f1707c..f28e405 100644 --- a/docs/md/modules.md +++ b/docs/md/modules.md @@ -89,6 +89,20 @@ bash ~/Dotfiles/setup/install-modules.sh | `ssh-server` | openssh | SSH daemon with key-auth enforcement | | `wireshark` | wireshark-qt | Packet capture and analysis GUI | +### Virtualisation & Remote Desktop + +| ID | Packages | Description | +|----|---------|-------------| +| `qemu` | qemu-full · libvirt · virt-manager · virt-viewer · dnsmasq · bridge-utils · edk2-ovmf · swtpm · vde2 | Full QEMU/KVM stack with virt-manager GUI; enables libvirtd, auto-starts default NAT network, adds user to `libvirt` and `kvm` groups | +| `rdp-client` | remmina · freerdp · libvncserver | Remmina remote desktop client with RDP (FreeRDP) and VNC support | +| `lamco-rdp-server` | lamco-rdp-server (AUR) | Native Wayland RDP server written in Rust with H.264/VA-API encoding; runs as a systemd user service | + +**lamco-rdp-server notes:** +- Enabled as a user service: `systemctl --user enable lamco-rdp-server.service` +- Start manually: `systemctl --user start lamco-rdp-server` +- Optional GUI tray: `lamco-rdp-server-gui` +- Requires an `xdg-desktop-portal` matching your compositor (`-hyprland`, `-wlr`, `-gnome`, `-kde`) + ### Development | ID | Packages | Description | diff --git a/readme.md b/readme.md index 7ab7cf3..b387d4e 100644 --- a/readme.md +++ b/readme.md @@ -23,8 +23,9 @@ To add modules to an existing system: `bash ~/Dotfiles/setup/install-modules.sh` - **Single source of truth for colours** — edit `colors.conf`, run `apply-theme.sh` to propagate everywhere. - **Answerfile** — generate with `setup/generate-answerfile.sh`, place at `/answerfile.json` for a fully automated install. Passwords are never stored in it. - **Hostname uniqueness** — the MAC address of the primary NIC is appended automatically when an answerfile hostname is set (`myhost` → `myhost-aabbccddee11`). -- **LUKS encryption** — backup key is auto-generated from `/dev/urandom`, enrolled in a second LUKS slot, written to `/_LUKS_BACKUP_KEY` (root-only, inside the encrypted container). Collectable via Ansible. -- **Custom ISO** — `setup/archiso/` builds a live USB that can embed a pre-baked answerfile for zero-touch deployment. +- **LUKS encryption** — backup key is auto-generated from `/dev/urandom`, enrolled in a second LUKS slot, written to `/_LUKS_BACKUP_KEY` (root-only, inside the encrypted container). Collected by Ansible and stored on the SMB `ansipa-luks-keys` share (KeyAdmin-only read access). +- **Custom ISO** — `setup/archiso/` builds a live USB that can embed a pre-baked answerfile for zero-touch deployment. The live environment also includes a **System Reset** mode that reinstalls the root subvolume while preserving home data and FIDO2 auth keys. +- **FreeIPA + Keycloak + Samba container** — `setup/modules/FreeipaAnsible/image/` ships a single `docker compose up` stack: FreeIPA for identity, Keycloak for OIDC, and Samba for scan-result and LUKS-key SMB shares. Host-group-driven policies (binary blocking, daemon enable/disable, daily scans, alert delivery) are enforced on enrolled clients every 30 minutes via Ansible-deployed timers. - **Modular** — core, shell, services, and desktop are independent components; pick only what you need. --- @@ -41,7 +42,7 @@ Full docs live in [`docs/md/`](docs/md/) (Markdown) and [`docs/html/`](docs/html | Theming & CyberQueer palette | [theming.md](docs/md/theming.md) | [theming.html](docs/html/theming.html) | | Optional modules & app catalogue | [modules.md](docs/md/modules.md) | [modules.html](docs/html/modules.html) | | Custom Archiso builder | [archiso.md](docs/md/archiso.md) | [archiso.html](docs/html/archiso.html) | -| FreeIPA & Ansible | [freeipa-ansible.md](docs/md/freeipa-ansible.md) | [freeipa-ansible.html](docs/html/freeipa-ansible.html) | +| FreeIPA, Ansible, Keycloak & SMB | [freeipa-ansible.md](docs/md/freeipa-ansible.md) | [freeipa-ansible.html](docs/html/freeipa-ansible.html) | | Editors (Neovim, Micro, Yazi) | [editors.md](docs/md/editors.md) | [editors.html](docs/html/editors.html) | | Utilities (encrypt, ClamAV, updates) | [utilities.md](docs/md/utilities.md) | [utilities.html](docs/html/utilities.html) | From 5d976f5aadc8568cf9fb657e31b8de9cae6f4161 Mon Sep 17 00:00:00 2001 From: The_miro Date: Wed, 20 May 2026 15:47:12 +0200 Subject: [PATCH 070/116] feat(modules): add graphic design, video editing, and audio app modules Add separate install modules for GIMP, Inkscape, Krita, Kdenlive, OpenShot, Shotcut, Audacity, LMMS, Ardour, Mixxx, and Cecilia. Co-Authored-By: Claude Sonnet 4.6 --- setup/modules/optional-Modules/apps/ardour.sh | 4 ++++ setup/modules/optional-Modules/apps/audacity.sh | 4 ++++ setup/modules/optional-Modules/apps/cecilia.sh | 4 ++++ setup/modules/optional-Modules/apps/gimp.sh | 4 ++++ setup/modules/optional-Modules/apps/inkscape.sh | 4 ++++ setup/modules/optional-Modules/apps/kdenlive.sh | 4 ++++ setup/modules/optional-Modules/apps/krita.sh | 4 ++++ setup/modules/optional-Modules/apps/lmms.sh | 4 ++++ setup/modules/optional-Modules/apps/mixxx.sh | 4 ++++ setup/modules/optional-Modules/apps/openshot.sh | 4 ++++ setup/modules/optional-Modules/apps/shotcut.sh | 4 ++++ 11 files changed, 44 insertions(+) create mode 100644 setup/modules/optional-Modules/apps/ardour.sh create mode 100644 setup/modules/optional-Modules/apps/audacity.sh create mode 100644 setup/modules/optional-Modules/apps/cecilia.sh create mode 100644 setup/modules/optional-Modules/apps/gimp.sh create mode 100644 setup/modules/optional-Modules/apps/inkscape.sh create mode 100644 setup/modules/optional-Modules/apps/kdenlive.sh create mode 100644 setup/modules/optional-Modules/apps/krita.sh create mode 100644 setup/modules/optional-Modules/apps/lmms.sh create mode 100644 setup/modules/optional-Modules/apps/mixxx.sh create mode 100644 setup/modules/optional-Modules/apps/openshot.sh create mode 100644 setup/modules/optional-Modules/apps/shotcut.sh diff --git a/setup/modules/optional-Modules/apps/ardour.sh b/setup/modules/optional-Modules/apps/ardour.sh new file mode 100644 index 0000000..be7fb12 --- /dev/null +++ b/setup/modules/optional-Modules/apps/ardour.sh @@ -0,0 +1,4 @@ +#!/bin/bash +set -euo pipefail + +sudo pacman -S --noconfirm --needed ardour diff --git a/setup/modules/optional-Modules/apps/audacity.sh b/setup/modules/optional-Modules/apps/audacity.sh new file mode 100644 index 0000000..8694955 --- /dev/null +++ b/setup/modules/optional-Modules/apps/audacity.sh @@ -0,0 +1,4 @@ +#!/bin/bash +set -euo pipefail + +sudo pacman -S --noconfirm --needed audacity diff --git a/setup/modules/optional-Modules/apps/cecilia.sh b/setup/modules/optional-Modules/apps/cecilia.sh new file mode 100644 index 0000000..f5cfb15 --- /dev/null +++ b/setup/modules/optional-Modules/apps/cecilia.sh @@ -0,0 +1,4 @@ +#!/bin/bash +set -euo pipefail + +yay -S --answerdiff None --answerclean All --noconfirm cecilia diff --git a/setup/modules/optional-Modules/apps/gimp.sh b/setup/modules/optional-Modules/apps/gimp.sh new file mode 100644 index 0000000..bb1dad3 --- /dev/null +++ b/setup/modules/optional-Modules/apps/gimp.sh @@ -0,0 +1,4 @@ +#!/bin/bash +set -euo pipefail + +sudo pacman -S --noconfirm --needed gimp diff --git a/setup/modules/optional-Modules/apps/inkscape.sh b/setup/modules/optional-Modules/apps/inkscape.sh new file mode 100644 index 0000000..4fb7e6f --- /dev/null +++ b/setup/modules/optional-Modules/apps/inkscape.sh @@ -0,0 +1,4 @@ +#!/bin/bash +set -euo pipefail + +sudo pacman -S --noconfirm --needed inkscape diff --git a/setup/modules/optional-Modules/apps/kdenlive.sh b/setup/modules/optional-Modules/apps/kdenlive.sh new file mode 100644 index 0000000..0a49008 --- /dev/null +++ b/setup/modules/optional-Modules/apps/kdenlive.sh @@ -0,0 +1,4 @@ +#!/bin/bash +set -euo pipefail + +sudo pacman -S --noconfirm --needed kdenlive diff --git a/setup/modules/optional-Modules/apps/krita.sh b/setup/modules/optional-Modules/apps/krita.sh new file mode 100644 index 0000000..7cc95be --- /dev/null +++ b/setup/modules/optional-Modules/apps/krita.sh @@ -0,0 +1,4 @@ +#!/bin/bash +set -euo pipefail + +sudo pacman -S --noconfirm --needed krita diff --git a/setup/modules/optional-Modules/apps/lmms.sh b/setup/modules/optional-Modules/apps/lmms.sh new file mode 100644 index 0000000..aef1a53 --- /dev/null +++ b/setup/modules/optional-Modules/apps/lmms.sh @@ -0,0 +1,4 @@ +#!/bin/bash +set -euo pipefail + +sudo pacman -S --noconfirm --needed lmms diff --git a/setup/modules/optional-Modules/apps/mixxx.sh b/setup/modules/optional-Modules/apps/mixxx.sh new file mode 100644 index 0000000..f4b999c --- /dev/null +++ b/setup/modules/optional-Modules/apps/mixxx.sh @@ -0,0 +1,4 @@ +#!/bin/bash +set -euo pipefail + +sudo pacman -S --noconfirm --needed mixxx diff --git a/setup/modules/optional-Modules/apps/openshot.sh b/setup/modules/optional-Modules/apps/openshot.sh new file mode 100644 index 0000000..1d7cfc3 --- /dev/null +++ b/setup/modules/optional-Modules/apps/openshot.sh @@ -0,0 +1,4 @@ +#!/bin/bash +set -euo pipefail + +sudo pacman -S --noconfirm --needed openshot diff --git a/setup/modules/optional-Modules/apps/shotcut.sh b/setup/modules/optional-Modules/apps/shotcut.sh new file mode 100644 index 0000000..975c809 --- /dev/null +++ b/setup/modules/optional-Modules/apps/shotcut.sh @@ -0,0 +1,4 @@ +#!/bin/bash +set -euo pipefail + +sudo pacman -S --noconfirm --needed shotcut From 3ef916290ce3680e7af6a50953f56e116d33b9d1 Mon Sep 17 00:00:00 2001 From: The_miro Date: Wed, 20 May 2026 15:48:46 +0200 Subject: [PATCH 071/116] docs: add graphic design, video editing, and audio modules to modules reference Co-Authored-By: Claude Sonnet 4.6 --- docs/md/modules.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/docs/md/modules.md b/docs/md/modules.md index f28e405..81c1e01 100644 --- a/docs/md/modules.md +++ b/docs/md/modules.md @@ -158,6 +158,32 @@ bash ~/Dotfiles/setup/install-modules.sh | `gnuplot` | gnuplot | Scientific plotting | | `povray` | povray | Ray-tracing renderer | +#### Graphic Design + +| ID | Package | Description | +|----|---------|-------------| +| `gimp` | gimp | GNU Image Manipulation Program | +| `inkscape` | inkscape | Vector graphics editor | +| `krita` | krita | Digital painting and illustration | + +#### Video Editing + +| ID | Package | Description | +|----|---------|-------------| +| `kdenlive` | kdenlive | KDE non-linear video editor | +| `openshot` | openshot | Cross-platform video editor | +| `shotcut` | shotcut | Cross-platform video editor | + +#### Audio Production + +| ID | Package | Description | +|----|---------|-------------| +| `audacity` | audacity | Multi-track audio editor | +| `lmms` | lmms | Linux MultiMedia Studio (music production) | +| `ardour` | ardour | Professional DAW | +| `mixxx` | mixxx | DJ mixing software | +| `cecilia` | cecilia (AUR) | Audio synthesis and signal processing | + ### Productivity | ID | Packages | Description | From 6ad8d0d488f569f53c54162ebf208631f4921636 Mon Sep 17 00:00:00 2001 From: The_miro Date: Wed, 20 May 2026 16:18:48 +0200 Subject: [PATCH 072/116] feat(ansipa): add no_local_users device policy to lock all local account passwords Adds a new host group policy `no_local_users` that locks the passwords of root and all local users (UID >= 1000) via `passwd -l`, ensuring only FreeIPA domain accounts with centrally-managed sudo rules can authenticate and gain elevated privileges. Leaving the group reverts by unlocking every account tracked in the state file. Updates docs with group reference entry and Local User Lockdown section. Co-Authored-By: Claude Sonnet 4.6 --- docs/md/freeipa-ansible.md | 14 ++++ .../ansible/ansipa-enforce-policies.sh | 65 ++++++++++++++++++- 2 files changed, 78 insertions(+), 1 deletion(-) diff --git a/docs/md/freeipa-ansible.md b/docs/md/freeipa-ansible.md index 83a6516..815581e 100644 --- a/docs/md/freeipa-ansible.md +++ b/docs/md/freeipa-ansible.md @@ -277,6 +277,7 @@ Keys on the SMB share are accessible only to `KeyAdmin` group members (see [SMB | `policy-timeshift-backup` | `ansipa-enforce-policies.sh` | Daily Timeshift snapshot at 03:00 | | `policy-security-scan` | `ansipa-enforce-policies.sh` | Daily ClamAV + rkhunter + chkrootkit scan + SMB upload | | `policy-scan-notify` | `ansipa-enforce-policies.sh` | Fetch server alerts, notify user every 10 min until acknowledged | +| `no_local_users` | `ansipa-enforce-policies.sh` | Lock passwords for root and all local users (UID ≥ 1000); reverted on leave | --- @@ -329,6 +330,19 @@ Client (policy-scan-notify, every 10 min via systemd timer) - `samba-client` is installed automatically by `deploy-ansipa-policies.yml`. - SMB credentials are written to `/etc/ansipa-smb.creds` (root-only, `0600`). +### Local User Lockdown + +Adding a host to the `no_local_users` group locks the password of every local account — root (UID 0) and all regular users (UID ≥ 1000) — using `passwd -l`. Accounts whose passwords are already locked (`!` or `*` prefix in shadow) are left untouched and are not tracked. + +State is persisted in `/var/lib/ansipa-policies/no-local-users` (one username per line). Only accounts that were actively unlocked at apply time are written to this file, so the revert step only unlocks what was changed. + +| Action | Effect | +|--------|--------| +| Join `no_local_users` | `passwd -l` on root + all UID ≥ 1000 local accounts | +| Leave `no_local_users` | `passwd -u` on every account listed in the state file | + +**Interaction with FreeIPA sudo:** Domain accounts in the `sudoers` or `sudo-nopasswd` FreeIPA groups retain full sudo access via SSSD — local password lockdown does not affect them. Ensure at least one domain admin has sudo before adding a host to this group. + --- ## LUKS Key Flow diff --git a/setup/modules/FreeipaAnsible/ansible/ansipa-enforce-policies.sh b/setup/modules/FreeipaAnsible/ansible/ansipa-enforce-policies.sh index 501e80d..ba5e38b 100755 --- a/setup/modules/FreeipaAnsible/ansible/ansipa-enforce-policies.sh +++ b/setup/modules/FreeipaAnsible/ansible/ansipa-enforce-policies.sh @@ -17,6 +17,11 @@ # If a unit appears in both enable and disable groups it is skipped. # policy-timeshift-backup Enforce a daily Timeshift snapshot (requires timeshift installed) # policy-security-scan Enforce daily ClamAV + rkhunter + chkrootkit scans +# no_local_users Lock passwords for root and all local users (UID >= 1000) so +# that only FreeIPA domain accounts with centrally-managed sudo +# rules can authenticate and gain elevated privileges. +# Leaving the group reverts: every account locked by this policy +# is unlocked on the next run. # # Notes: # - Install scan tools first: add the host to ansipa-module-anti-malware. @@ -54,6 +59,7 @@ ACTIVE_DAEMON_DISABLE=() WANT_TIMESHIFT_BACKUP=false WANT_SECURITY_SCAN=false WANT_SCAN_NOTIFY=false +WANT_NO_LOCAL_USERS=false if [[ -n "$RAW_GROUPS" ]]; then while IFS=',' read -ra GRP_ARRAY; do @@ -66,6 +72,7 @@ if [[ -n "$RAW_GROUPS" ]]; then policy-timeshift-backup) WANT_TIMESHIFT_BACKUP=true ;; policy-security-scan) WANT_SECURITY_SCAN=true ;; policy-scan-notify) WANT_SCAN_NOTIFY=true ;; + no_local_users) WANT_NO_LOCAL_USERS=true ;; esac done done <<< "$RAW_GROUPS" @@ -74,7 +81,8 @@ fi log "Active policies — block-binary: ${ACTIVE_BLOCK_BINARIES[*]:-none}" \ "| daemon-enable: ${ACTIVE_DAEMON_ENABLE[*]:-none} | daemon-disable: ${ACTIVE_DAEMON_DISABLE[*]:-none}" \ "| timeshift-backup: $WANT_TIMESHIFT_BACKUP" \ - "| security-scan: $WANT_SECURITY_SCAN | scan-notify: $WANT_SCAN_NOTIFY" + "| security-scan: $WANT_SECURITY_SCAN | scan-notify: $WANT_SCAN_NOTIFY" \ + "| no-local-users: $WANT_NO_LOCAL_USERS" # ── Helpers ─────────────────────────────────────────────────────────────────── in_active_list() { @@ -444,4 +452,59 @@ else > "$DAEMON_DISABLE_STATE" fi +# ── No-local-users policy ────────────────────────────────────────────────────── +# no_local_users: lock the passwords of root and all local users (UID >= 1000) +# so that only FreeIPA domain accounts with centrally-managed sudo rules can +# authenticate and gain elevated privileges. +# Leaving the group reverts: every account locked by this policy is unlocked. + +NO_LOCAL_USERS_STATE="$STATE_DIR/no-local-users" + +_apply_no_local_users() { + log "Applying no_local_users policy — locking local account passwords" + [[ -f "$NO_LOCAL_USERS_STATE" ]] || touch "$NO_LOCAL_USERS_STATE" + + while IFS=: read -r uname _ uid _; do + [[ "$uid" =~ ^[0-9]+$ ]] || continue + { [[ "$uid" == "0" ]] || [[ "$uid" -ge 1000 ]]; } || continue + + # Skip accounts already tracked (locked on a previous run) + grep -qxF "$uname" "$NO_LOCAL_USERS_STATE" 2>/dev/null && continue + + # Lock only accounts that currently have a real (unlocked) password hash + local hash + hash=$(getent shadow "$uname" 2>/dev/null | cut -d: -f2 || true) + [[ -z "$hash" || "$hash" == '!'* || "$hash" == '*'* ]] && continue + + if passwd -l "$uname" &>/dev/null; then + echo "$uname" >> "$NO_LOCAL_USERS_STATE" + log "Locked local account: $uname" + else + warn "Failed to lock local account: $uname" + fi + done < /etc/passwd +} + +_revert_no_local_users() { + [[ -f "$NO_LOCAL_USERS_STATE" ]] || return 0 + log "Reverting no_local_users policy — unlocking previously locked accounts" + while IFS= read -r uname; do + [[ -z "$uname" ]] && continue + if passwd -u "$uname" &>/dev/null; then + log "Unlocked local account: $uname" + else + warn "Failed to unlock local account: $uname (may have been removed)" + fi + done < "$NO_LOCAL_USERS_STATE" + > "$NO_LOCAL_USERS_STATE" +} + +if [[ "$WANT_NO_LOCAL_USERS" == true ]]; then + _apply_no_local_users +else + if [[ -f "$NO_LOCAL_USERS_STATE" ]] && [[ -s "$NO_LOCAL_USERS_STATE" ]]; then + _revert_no_local_users + fi +fi + log "Policy enforcement complete." From 87b62f368bd2aced97a8b72f0bc11e112cab503d Mon Sep 17 00:00:00 2001 From: The_miro Date: Wed, 20 May 2026 16:31:43 +0200 Subject: [PATCH 073/116] feat(ansipa): rework binary blocking as per-user policy; add local_sudo device policy policy-block-binary- is now a FreeIPA *user* group instead of a host group, so restrictions follow the user to every enrolled machine. The PATH wrapper is installed on all hosts and checks group membership at runtime via id(1)/SSSD, passing non-members through transparently. __ in the group name decodes to . so Flatpak app IDs are supported (flatpak run fallback included). AppArmor layer removed since per-user confinement requires a different approach and the wrapper alone is sufficient. Adds local_sudo_ host group policy which writes a sudoers drop-in granting that user full sudo on the specific device, reverted on group leave. Co-Authored-By: Claude Sonnet 4.6 --- docs/md/freeipa-ansible.md | 34 ++- .../ansible/ansipa-enforce-policies.sh | 204 ++++++++++-------- 2 files changed, 139 insertions(+), 99 deletions(-) diff --git a/docs/md/freeipa-ansible.md b/docs/md/freeipa-ansible.md index 815581e..375421c 100644 --- a/docs/md/freeipa-ansible.md +++ b/docs/md/freeipa-ansible.md @@ -265,19 +265,27 @@ Keys on the SMB share are accessible only to `KeyAdmin` group members (see [SMB ## Host Group Reference +### Device policies (host groups — applied machine-wide) + | Group prefix | Handled by | Effect | |--------------|-----------|--------| | `ansipa-install-` | `ansipa-install-packages.sh` | Install/remove native package | | `ansipa-module-` | `ansipa-install-modules.sh` | Run module script once | | `fp_install-` | `ansipa-install-flatpaks.sh` | Install Flatpak app | | `BaseUser` | `auto-add-baseuser.sh` | Add user to local `baseusers` group | -| `policy-block-binary-` | `ansipa-enforce-policies.sh` | Block binary via PATH wrapper + AppArmor | | `policy-daemon-enable-` | `ansipa-enforce-policies.sh` | `systemctl enable --now `; reverted on leave | | `policy-daemon-disable-` | `ansipa-enforce-policies.sh` | `systemctl disable --now `; reverted on leave | | `policy-timeshift-backup` | `ansipa-enforce-policies.sh` | Daily Timeshift snapshot at 03:00 | | `policy-security-scan` | `ansipa-enforce-policies.sh` | Daily ClamAV + rkhunter + chkrootkit scan + SMB upload | | `policy-scan-notify` | `ansipa-enforce-policies.sh` | Fetch server alerts, notify user every 10 min until acknowledged | | `no_local_users` | `ansipa-enforce-policies.sh` | Lock passwords for root and all local users (UID ≥ 1000); reverted on leave | +| `local_sudo_` | `ansipa-enforce-policies.sh` | Grant `` full sudo on this specific device; reverted on leave | + +### User policies (user groups — follow the user across all enrolled devices) + +| Group prefix | Handled by | Effect | +|--------------|-----------|--------| +| `policy-block-binary-` | `ansipa-enforce-policies.sh` | Prevent group members from running `` on any enrolled host; use `__` for `.` in Flatpak app IDs | --- @@ -285,14 +293,17 @@ Keys on the SMB share are accessible only to `KeyAdmin` group members (see [SMB `ansipa-enforce-policies.sh` runs every 30 minutes on each enrolled client (deployed by `deploy-ansipa-policies.yml`). All policies are idempotent and reversible — leaving a host group undoes the policy on the next run. -### Binary Blocking +### Binary Blocking (per user) -Adding a host to `policy-block-binary-` applies two layers: +`policy-block-binary-` is a FreeIPA **user group**, not a host group. Membership follows the user to every enrolled machine: a blocked user cannot run `` regardless of which device they log into. -1. **PATH wrapper** — a script in `/usr/local/bin/` that prints a policy message and exits 1. Takes priority over the real binary for `$PATH`-based calls. -2. **AppArmor deny profile** — `/etc/apparmor.d/ansipa-block-` with an empty profile, denying all file access. Blocks absolute-path calls and direct `exec()`. Skipped silently if `apparmor_parser` is not present. +The enforcer queries all `policy-block-binary-*` user groups from FreeIPA on every run and installs a **PATH-priority wrapper** in `/usr/local/bin/` for each one. The wrapper checks the caller's group membership at runtime via `id(1)` / SSSD and: +- **blocks** the command if the caller is a group member (exits 1 with a policy message); +- **passes through** to the real binary for all other users (searches native PATH dirs, then falls back to `flatpak run `). -Leaving the group removes both layers on the next enforcer run. +**Flatpak support:** use `__` in place of `.` in the group name. For example, `policy-block-binary-org__gimp__Gimp` blocks the Flatpak `org.gimp.Gimp` for group members while transparently invoking `flatpak run org.gimp.Gimp` for everyone else. + +Deleting the IPA user group causes the wrapper to be removed on the next enforcer run. State is tracked in `/var/lib/ansipa-policies/blocked-binaries`. ### Daemon Enable / Disable @@ -343,6 +354,17 @@ State is persisted in `/var/lib/ansipa-policies/no-local-users` (one username pe **Interaction with FreeIPA sudo:** Domain accounts in the `sudoers` or `sudo-nopasswd` FreeIPA groups retain full sudo access via SSSD — local password lockdown does not affect them. Ensure at least one domain admin has sudo before adding a host to this group. +### Per-device sudo grants + +`local_sudo_` is a **host group** that grants a specific user full sudo on that particular machine, independently of FreeIPA-wide sudo rules. This is useful for giving a user admin rights on their own workstation while keeping them unprivileged on shared servers. + +| Action | Effect | +|--------|--------| +| Join `local_sudo_alice` | Creates `/etc/sudoers.d/ansipa-local-sudo-alice` with `alice ALL=(ALL) ALL` | +| Leave `local_sudo_alice` | Removes the drop-in on the next enforcer run | + +State is tracked in `/var/lib/ansipa-policies/local-sudo-users`. Drop-ins are mode `0440` and validated by `visudo` syntax rules automatically. + --- ## LUKS Key Flow diff --git a/setup/modules/FreeipaAnsible/ansible/ansipa-enforce-policies.sh b/setup/modules/FreeipaAnsible/ansible/ansipa-enforce-policies.sh index ba5e38b..fae558c 100755 --- a/setup/modules/FreeipaAnsible/ansible/ansipa-enforce-policies.sh +++ b/setup/modules/FreeipaAnsible/ansible/ansipa-enforce-policies.sh @@ -4,11 +4,7 @@ # Policies are idempotent and reversible: joining a group applies the policy; # leaving the group removes it on the next run (every 30 min via systemd timer). # -# Host-group naming conventions: -# policy-block-binary- Block execution of via two layers: -# 1. PATH-priority wrapper in /usr/local/bin/ (catches $PATH calls) -# 2. AppArmor deny profile in /etc/apparmor.d/ (catches absolute paths) -# AppArmor layer is skipped silently if apparmor_parser is not present. +# Host-group naming conventions (device policies — applied to the whole machine): # policy-daemon-enable- Ensure is enabled and running (systemctl enable --now). # Leaving the group reverts: service is disabled and stopped. # policy-daemon-disable- Ensure is disabled and stopped (systemctl disable --now). @@ -22,6 +18,17 @@ # rules can authenticate and gain elevated privileges. # Leaving the group reverts: every account locked by this policy # is unlocked on the next run. +# local_sudo_ Grant full sudo on this specific device by adding +# them to the local sudoers drop-in. Leaving the group removes +# the drop-in on the next run. +# +# User-group naming conventions (per-user policies — follow the user across devices): +# policy-block-binary- Prevent members of this FreeIPA user group from running +# on any enrolled host. Use __ in place of . to support Flatpak +# app IDs (e.g. policy-block-binary-org__gimp__Gimp blocks the +# Flatpak org.gimp.Gimp). Enforced via a PATH-priority wrapper +# that checks group membership at runtime via SSSD/id(1). +# Removing the user group from FreeIPA reverts the wrapper. # # Notes: # - Install scan tools first: add the host to ansipa-module-anti-malware. @@ -32,7 +39,6 @@ set -euo pipefail LOG_TAG="ansipa-policies" STATE_DIR="/var/lib/ansipa-policies" BLOCK_DIR="/usr/local/bin" -APPARMOR_DIR="/etc/apparmor.d" CRON_DIR="/etc/cron.d" log() { echo "[$LOG_TAG] $*"; logger -t "$LOG_TAG" "$*" 2>/dev/null || true; } @@ -52,10 +58,10 @@ mkdir -p "$STATE_DIR" RAW_GROUPS=$(ipa host-show "$HOST_FQDN" --all 2>/dev/null \ | grep -i "Member of host-groups:" | sed 's/.*: //' || true) -# ── Parse active policy groups ──────────────────────────────────────────────── -ACTIVE_BLOCK_BINARIES=() +# ── Parse active host-group (device) policies ───────────────────────────────── ACTIVE_DAEMON_ENABLE=() ACTIVE_DAEMON_DISABLE=() +ACTIVE_LOCAL_SUDO_USERS=() WANT_TIMESHIFT_BACKUP=false WANT_SECURITY_SCAN=false WANT_SCAN_NOTIFY=false @@ -66,26 +72,45 @@ if [[ -n "$RAW_GROUPS" ]]; then for g in "${GRP_ARRAY[@]}"; do g="${g// /}" case "$g" in - policy-block-binary-*) ACTIVE_BLOCK_BINARIES+=("${g#policy-block-binary-}") ;; policy-daemon-enable-*) ACTIVE_DAEMON_ENABLE+=("${g#policy-daemon-enable-}") ;; policy-daemon-disable-*) ACTIVE_DAEMON_DISABLE+=("${g#policy-daemon-disable-}") ;; policy-timeshift-backup) WANT_TIMESHIFT_BACKUP=true ;; policy-security-scan) WANT_SECURITY_SCAN=true ;; policy-scan-notify) WANT_SCAN_NOTIFY=true ;; no_local_users) WANT_NO_LOCAL_USERS=true ;; + local_sudo_*) ACTIVE_LOCAL_SUDO_USERS+=("${g#local_sudo_}") ;; esac done done <<< "$RAW_GROUPS" fi -log "Active policies — block-binary: ${ACTIVE_BLOCK_BINARIES[*]:-none}" \ - "| daemon-enable: ${ACTIVE_DAEMON_ENABLE[*]:-none} | daemon-disable: ${ACTIVE_DAEMON_DISABLE[*]:-none}" \ - "| timeshift-backup: $WANT_TIMESHIFT_BACKUP" \ - "| security-scan: $WANT_SECURITY_SCAN | scan-notify: $WANT_SCAN_NOTIFY" \ - "| no-local-users: $WANT_NO_LOCAL_USERS" +# ── Fetch user-group-based binary block policies from FreeIPA ───────────────── +# policy-block-binary- groups are FreeIPA *user* groups — membership follows +# the user to every enrolled host rather than being tied to a device. +ACTIVE_BLOCK_BINARIES=() +ACTIVE_BLOCK_IPA_GROUPS=() + +_BLOCK_LIST=$(ipa group-find --pkey-only 2>/dev/null \ + | awk '/Group name:/ {print $NF}' \ + | grep "^policy-block-binary-" | sort -u || true) + +while IFS= read -r _grp; do + [[ -z "$_grp" ]] && continue + _raw="${_grp#policy-block-binary-}" + ACTIVE_BLOCK_BINARIES+=("${_raw//__/.}") + ACTIVE_BLOCK_IPA_GROUPS+=("$_grp") +done <<< "$_BLOCK_LIST" +unset _BLOCK_LIST _grp _raw + +log "Device policies — daemon-enable: ${ACTIVE_DAEMON_ENABLE[*]:-none}" \ + "| daemon-disable: ${ACTIVE_DAEMON_DISABLE[*]:-none}" \ + "| timeshift-backup: $WANT_TIMESHIFT_BACKUP | security-scan: $WANT_SECURITY_SCAN" \ + "| scan-notify: $WANT_SCAN_NOTIFY | no-local-users: $WANT_NO_LOCAL_USERS" \ + "| local-sudo: ${ACTIVE_LOCAL_SUDO_USERS[*]:-none}" +log "User policies — block-binary: ${ACTIVE_BLOCK_BINARIES[*]:-none}" # ── Helpers ─────────────────────────────────────────────────────────────────── -in_active_list() { +_in_block_list() { local needle="$1" for b in "${ACTIVE_BLOCK_BINARIES[@]}"; do [[ "$b" == "$needle" ]] && return 0 @@ -93,102 +118,53 @@ in_active_list() { return 1 } -# Find the real installed binary, skipping /usr/local/bin where our wrapper lives. -find_real_binary() { - local name="$1" - for dir in /usr/bin /usr/sbin /bin /sbin /usr/local/sbin /opt/bin; do - [[ -x "$dir/$name" ]] && echo "$dir/$name" && return 0 - done - return 1 -} - -aa_profile_file() { echo "$APPARMOR_DIR/ansipa-block-${1}"; } - -# Load an AppArmor deny profile for a binary path. -# An empty AppArmor profile denies all access: the binary cannot load shared -# libraries or open any files, so it exits immediately with a permission error. -apply_apparmor_block() { - local bin="$1" - command -v apparmor_parser &>/dev/null || return 0 - - local bin_path - bin_path=$(find_real_binary "$bin") || { - warn "AppArmor block: real binary '$bin' not found on disk — profile skipped until it is installed." - return 0 - } - - local profile_file - profile_file=$(aa_profile_file "$bin") - - # Write the profile only if it doesn't exist or points to a different path. - if [[ ! -f "$profile_file" ]] || ! grep -qF "$bin_path" "$profile_file" 2>/dev/null; then - log "Writing AppArmor block profile: $profile_file ($bin_path)" - cat > "$profile_file" < - -# ansipa-block-policy: managed by ansipa-enforce-policies — do not edit manually. -# Deny all access so the binary cannot load libraries or run. -# To unblock manually: apparmor_parser -R $profile_file && rm $profile_file -$bin_path { -} -PROFILE - fi - - # Load (or reload) the profile in enforce mode. - if ! apparmor_parser -r "$profile_file" 2>/dev/null; then - warn "apparmor_parser failed to load $profile_file — AppArmor block not active" - fi -} - -# Remove the AppArmor deny profile for a binary. -remove_apparmor_block() { - local bin="$1" - command -v apparmor_parser &>/dev/null || return 0 - - local profile_file - profile_file=$(aa_profile_file "$bin") - [[ -f "$profile_file" ]] || return 0 - - if grep -q "ansipa-block-policy" "$profile_file" 2>/dev/null; then - apparmor_parser -R "$profile_file" 2>/dev/null || true - rm -f "$profile_file" - log "Removed AppArmor block profile: $bin" - fi -} - -# ── Binary blocking ─────────────────────────────────────────────────────────── -# Layer 1: PATH-priority wrapper in /usr/local/bin/ — blocks $PATH-based calls. -# Layer 2: AppArmor deny profile — blocks absolute-path calls and direct exec(). -# Both layers use the "ansipa policy" sentinel to identify managed files. +# ── Binary blocking (user-based) ────────────────────────────────────────────── +# A PATH-priority wrapper is installed in /usr/local/bin/ for every binary named +# by a policy-block-binary-* FreeIPA *user* group. The wrapper checks the +# caller's group membership at runtime (via id + SSSD) and only blocks members; +# non-members are transparently passed through to the real binary. +# __ in the group suffix decodes to . so Flatpak app IDs are fully supported. +# Removing the IPA user group causes the wrapper to be cleaned up on the next run. BLOCK_STATE="$STATE_DIR/blocked-binaries" [[ -f "$BLOCK_STATE" ]] || touch "$BLOCK_STATE" -for BIN in "${ACTIVE_BLOCK_BINARIES[@]}"; do +for _idx in "${!ACTIVE_BLOCK_BINARIES[@]}"; do + BIN="${ACTIVE_BLOCK_BINARIES[$_idx]}" + IPA_GRP="${ACTIVE_BLOCK_IPA_GROUPS[$_idx]}" WRAPPER="$BLOCK_DIR/$BIN" - if [[ ! -f "$WRAPPER" ]] || ! grep -q "blocked by ansipa policy" "$WRAPPER" 2>/dev/null; then - log "Applying PATH wrapper block: $BIN" + # Write (or refresh) the wrapper when it is absent, not ours, or the group name changed. + if [[ ! -f "$WRAPPER" ]] \ + || ! grep -q "blocked by ansipa policy" "$WRAPPER" 2>/dev/null \ + || ! grep -qF "$IPA_GRP" "$WRAPPER" 2>/dev/null; then + log "Installing user-aware block wrapper: $BIN (group: $IPA_GRP)" cat > "$WRAPPER" <&2 -exit 1 +# blocked by ansipa policy (user-based) +if id -Gn 2>/dev/null | tr ' ' '\n' | grep -qxF "${IPA_GRP}"; then + echo "[ansipa-policies] '${BIN}' is blocked by system policy for your account." >&2 + exit 1 +fi +_real=\$(PATH="/usr/bin:/usr/sbin:/bin:/sbin:/usr/local/sbin:/opt/bin:/var/lib/flatpak/exports/bin:/usr/share/flatpak/exports/bin" command -v "${BIN}" 2>/dev/null) +[[ -n "\$_real" ]] && exec "\$_real" "\$@" +command -v flatpak &>/dev/null && exec flatpak run "${BIN}" "\$@" 2>/dev/null +echo "${BIN}: command not found" >&2 +exit 127 WRAPPER chmod 755 "$WRAPPER" fi - apply_apparmor_block "$BIN" done +unset _idx -# Remove blocks for binaries no longer in any active policy group. +# Remove wrappers whose IPA user group no longer exists. while IFS= read -r OLD_BIN; do [[ -z "$OLD_BIN" ]] && continue - if ! in_active_list "$OLD_BIN"; then + if ! _in_block_list "$OLD_BIN"; then WRAPPER="$BLOCK_DIR/$OLD_BIN" if [[ -f "$WRAPPER" ]] && grep -q "blocked by ansipa policy" "$WRAPPER" 2>/dev/null; then rm -f "$WRAPPER" - log "Removed PATH wrapper block: $OLD_BIN" + log "Removed binary block wrapper: $OLD_BIN" fi - remove_apparmor_block "$OLD_BIN" fi done < "$BLOCK_STATE" @@ -452,6 +428,48 @@ else > "$DAEMON_DISABLE_STATE" fi +# ── Per-device local sudo grants ────────────────────────────────────────────── +# local_sudo_: write a sudoers drop-in granting full sudo on +# this specific device. The drop-in is removed when the host leaves the group. + +LOCAL_SUDO_DIR="/etc/sudoers.d" +LOCAL_SUDO_STATE="$STATE_DIR/local-sudo-users" +[[ -f "$LOCAL_SUDO_STATE" ]] || touch "$LOCAL_SUDO_STATE" + +for _USER in "${ACTIVE_LOCAL_SUDO_USERS[@]}"; do + _DROPIN="$LOCAL_SUDO_DIR/ansipa-local-sudo-${_USER}" + if [[ ! -f "$_DROPIN" ]]; then + log "Granting local sudo to $_USER on this device" + echo "$_USER ALL=(ALL) ALL" > "$_DROPIN" + chmod 440 "$_DROPIN" + fi + grep -qxF "$_USER" "$LOCAL_SUDO_STATE" 2>/dev/null || echo "$_USER" >> "$LOCAL_SUDO_STATE" +done + +# Revoke sudo for users no longer in any active local_sudo_* group. +while IFS= read -r _OLD_USER; do + [[ -z "$_OLD_USER" ]] && continue + _still_active=false + for _U in "${ACTIVE_LOCAL_SUDO_USERS[@]}"; do + [[ "$_U" == "$_OLD_USER" ]] && _still_active=true && break + done + if [[ "$_still_active" == false ]]; then + _DROPIN="$LOCAL_SUDO_DIR/ansipa-local-sudo-${_OLD_USER}" + if [[ -f "$_DROPIN" ]]; then + rm -f "$_DROPIN" + log "Revoked local sudo for $_OLD_USER (host left local_sudo_$_OLD_USER group)" + fi + fi +done < "$LOCAL_SUDO_STATE" + +# Persist current local sudo users. +if [[ ${#ACTIVE_LOCAL_SUDO_USERS[@]} -gt 0 ]]; then + printf '%s\n' "${ACTIVE_LOCAL_SUDO_USERS[@]}" | sort -u > "$LOCAL_SUDO_STATE" +else + > "$LOCAL_SUDO_STATE" +fi +unset _USER _DROPIN _OLD_USER _still_active _U + # ── No-local-users policy ────────────────────────────────────────────────────── # no_local_users: lock the passwords of root and all local users (UID >= 1000) # so that only FreeIPA domain accounts with centrally-managed sudo rules can From 547c9976148fd31511c53a9d8c3945eb8d2ca0c2 Mon Sep 17 00:00:00 2001 From: The_miro Date: Wed, 20 May 2026 16:41:35 +0200 Subject: [PATCH 074/116] feat(ansipa): rework scan-notify as per-user policy policy-scan-notify is now a FreeIPA *user* group instead of a host group, so alert notifications follow the user to every enrolled machine. The fetch-alerts timer is installed fleet-wide on any host where the group exists; the profile.d snippet gates notification daemon start on runtime group membership (id(1) / SSSD) so non-members log in unaffected. Co-Authored-By: Claude Sonnet 4.6 --- docs/md/freeipa-ansible.md | 12 +++++-- .../ansible/ansipa-enforce-policies.sh | 33 +++++++++++++++---- 2 files changed, 36 insertions(+), 9 deletions(-) diff --git a/docs/md/freeipa-ansible.md b/docs/md/freeipa-ansible.md index 375421c..76e02a2 100644 --- a/docs/md/freeipa-ansible.md +++ b/docs/md/freeipa-ansible.md @@ -277,7 +277,6 @@ Keys on the SMB share are accessible only to `KeyAdmin` group members (see [SMB | `policy-daemon-disable-` | `ansipa-enforce-policies.sh` | `systemctl disable --now `; reverted on leave | | `policy-timeshift-backup` | `ansipa-enforce-policies.sh` | Daily Timeshift snapshot at 03:00 | | `policy-security-scan` | `ansipa-enforce-policies.sh` | Daily ClamAV + rkhunter + chkrootkit scan + SMB upload | -| `policy-scan-notify` | `ansipa-enforce-policies.sh` | Fetch server alerts, notify user every 10 min until acknowledged | | `no_local_users` | `ansipa-enforce-policies.sh` | Lock passwords for root and all local users (UID ≥ 1000); reverted on leave | | `local_sudo_` | `ansipa-enforce-policies.sh` | Grant `` full sudo on this specific device; reverted on leave | @@ -286,12 +285,13 @@ Keys on the SMB share are accessible only to `KeyAdmin` group members (see [SMB | Group prefix | Handled by | Effect | |--------------|-----------|--------| | `policy-block-binary-` | `ansipa-enforce-policies.sh` | Prevent group members from running `` on any enrolled host; use `__` for `.` in Flatpak app IDs | +| `policy-scan-notify` | `ansipa-enforce-policies.sh` | Fetch server alerts and notify group members every 10 min until acknowledged; follows the user across all enrolled devices | --- ## Policy Enforcement -`ansipa-enforce-policies.sh` runs every 30 minutes on each enrolled client (deployed by `deploy-ansipa-policies.yml`). All policies are idempotent and reversible — leaving a host group undoes the policy on the next run. +`ansipa-enforce-policies.sh` runs every 30 minutes on each enrolled client (deployed by `deploy-ansipa-policies.yml`). All policies are idempotent and reversible — leaving a host/user group undoes the policy on the next run. ### Binary Blocking (per user) @@ -305,6 +305,14 @@ The enforcer queries all `policy-block-binary-*` user groups from FreeIPA on eve Deleting the IPA user group causes the wrapper to be removed on the next enforcer run. State is tracked in `/var/lib/ansipa-policies/blocked-binaries`. +### Scan Notifications (per user) + +`policy-scan-notify` is a FreeIPA **user group**, not a host group. Membership follows the user to every enrolled machine: group members receive scan alert notifications regardless of which device they log into. + +The enforcer checks whether the `policy-scan-notify` group exists in FreeIPA on every run. If it does, it installs the `ansipa-fetch-alerts` systemd timer fleet-wide (root service, fires every 10 min) and a `/etc/profile.d/ansipa-notify.sh` snippet. The profile.d snippet checks group membership at login via `id(1)` / SSSD and starts `ansipa-scan-notify.sh` as a background user daemon only for members. Non-members log in unaffected. + +Deleting the `policy-scan-notify` IPA user group causes the timer and profile.d snippet to be removed on the next enforcer run. + ### Daemon Enable / Disable | Group | Effect on join | Effect on leave | diff --git a/setup/modules/FreeipaAnsible/ansible/ansipa-enforce-policies.sh b/setup/modules/FreeipaAnsible/ansible/ansipa-enforce-policies.sh index fae558c..fe83426 100755 --- a/setup/modules/FreeipaAnsible/ansible/ansipa-enforce-policies.sh +++ b/setup/modules/FreeipaAnsible/ansible/ansipa-enforce-policies.sh @@ -13,6 +13,7 @@ # If a unit appears in both enable and disable groups it is skipped. # policy-timeshift-backup Enforce a daily Timeshift snapshot (requires timeshift installed) # policy-security-scan Enforce daily ClamAV + rkhunter + chkrootkit scans +# policy-scan-notify (see User-group section below — treated as a user group) # no_local_users Lock passwords for root and all local users (UID >= 1000) so # that only FreeIPA domain accounts with centrally-managed sudo # rules can authenticate and gain elevated privileges. @@ -29,6 +30,12 @@ # Flatpak org.gimp.Gimp). Enforced via a PATH-priority wrapper # that checks group membership at runtime via SSSD/id(1). # Removing the user group from FreeIPA reverts the wrapper. +# policy-scan-notify Members receive scan alert notifications on every enrolled device +# they log into. The fetch-alerts timer is installed fleet-wide +# when the group exists; the notification daemon starts on login +# only for group members (checked via id(1) / SSSD). +# Deleting the IPA user group removes the timer and profile.d +# snippet on the next enforcer run. # # Notes: # - Install scan tools first: add the host to ansipa-module-anti-malware. @@ -76,7 +83,6 @@ if [[ -n "$RAW_GROUPS" ]]; then policy-daemon-disable-*) ACTIVE_DAEMON_DISABLE+=("${g#policy-daemon-disable-}") ;; policy-timeshift-backup) WANT_TIMESHIFT_BACKUP=true ;; policy-security-scan) WANT_SECURITY_SCAN=true ;; - policy-scan-notify) WANT_SCAN_NOTIFY=true ;; no_local_users) WANT_NO_LOCAL_USERS=true ;; local_sudo_*) ACTIVE_LOCAL_SUDO_USERS+=("${g#local_sudo_}") ;; esac @@ -102,12 +108,20 @@ while IFS= read -r _grp; do done <<< "$_BLOCK_LIST" unset _BLOCK_LIST _grp _raw +# ── Fetch user-group-based scan-notify policy from FreeIPA ──────────────────── +# policy-scan-notify is a FreeIPA *user* group — membership follows the user to +# every enrolled host. Install the fetch-alerts timer on any device where the +# group exists; the profile.d snippet gates daemon start on runtime membership. +if ipa group-show policy-scan-notify >/dev/null 2>&1; then + WANT_SCAN_NOTIFY=true +fi + log "Device policies — daemon-enable: ${ACTIVE_DAEMON_ENABLE[*]:-none}" \ "| daemon-disable: ${ACTIVE_DAEMON_DISABLE[*]:-none}" \ "| timeshift-backup: $WANT_TIMESHIFT_BACKUP | security-scan: $WANT_SECURITY_SCAN" \ - "| scan-notify: $WANT_SCAN_NOTIFY | no-local-users: $WANT_NO_LOCAL_USERS" \ - "| local-sudo: ${ACTIVE_LOCAL_SUDO_USERS[*]:-none}" -log "User policies — block-binary: ${ACTIVE_BLOCK_BINARIES[*]:-none}" + "| no-local-users: $WANT_NO_LOCAL_USERS | local-sudo: ${ACTIVE_LOCAL_SUDO_USERS[*]:-none}" +log "User policies — block-binary: ${ACTIVE_BLOCK_BINARIES[*]:-none}" \ + "| scan-notify: $WANT_SCAN_NOTIFY" # ── Helpers ─────────────────────────────────────────────────────────────────── _in_block_list() { @@ -264,7 +278,10 @@ else fi # ── Scan notification daemon ────────────────────────────────────────────────── -# policy-scan-notify: +# policy-scan-notify is a FreeIPA *user* group (not a host group). The fetch- +# alerts timer runs fleet-wide on any host where the group exists; the profile.d +# snippet starts the notification daemon on login only for group members +# (checked via id(1) / SSSD so no IPA query is needed at login time). # - Root timer (every 10 min): ansipa-fetch-alerts.sh downloads alerts from the # server SMB share and places them in ~/administration// per active user. # - profile.d snippet: starts ansipa-scan-notify.sh as a user daemon on login; @@ -317,10 +334,12 @@ UNIT if [[ ! -f "$NOTIFY_PROFILED" ]]; then log "Installing /etc/profile.d/ansipa-notify.sh" cat > "$NOTIFY_PROFILED" <<'PROFILED' -# ansipa-notify: launch the scan alert notification daemon on login. +# ansipa-notify: launch the scan alert notification daemon on login for +# members of the policy-scan-notify FreeIPA user group. # Managed by ansipa-enforce-policies — do not edit manually. _NOTIFY_DAEMON=/usr/local/bin/ansipa-scan-notify.sh if [[ -x "$_NOTIFY_DAEMON" ]] && \ + id -nG 2>/dev/null | grep -qw "policy-scan-notify" && \ ! pgrep -u "$(id -u)" -f "ansipa-scan-notify" >/dev/null 2>&1; then "$_NOTIFY_DAEMON" & disown @@ -334,7 +353,7 @@ else systemctl disable --now ansipa-fetch-alerts.timer 2>/dev/null || true rm -f "$FETCH_SVC" "$FETCH_TIMER" systemctl daemon-reload - log "Removed ansipa-fetch-alerts timer (host left policy-scan-notify group)" + log "Removed ansipa-fetch-alerts timer (policy-scan-notify user group no longer exists)" fi if [[ -f "$NOTIFY_PROFILED" ]]; then rm -f "$NOTIFY_PROFILED" From 95617dd673afad2bd1f7b569f1405728bb6a25ea Mon Sep 17 00:00:00 2001 From: The_miro Date: Thu, 21 May 2026 16:15:18 +0200 Subject: [PATCH 075/116] fix(keymaps): fall back to :q when :wq fails on bufferless windows Co-Authored-By: Claude Sonnet 4.6 --- nvim/init.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nvim/init.lua b/nvim/init.lua index 151f39b..f6b20c0 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -97,7 +97,10 @@ vim.keymap.set("n", "t", ":FloatermNew", { silent = true }) vim.keymap.set("n", "e", ":NERDTreeTogglel", { silent = true }) vim.keymap.set("n", "s", ":DBUIToggle", { silent = true }) vim.keymap.set("n", "x", "(DBUI_ExecuteQuery)", { remap = true }) -vim.keymap.set("n", "q", ":wq", { silent = true }) +vim.keymap.set("n", "q", function() + local ok = pcall(vim.cmd, "wq") + if not ok then vim.cmd("q") end +end, { silent = true }) -- insert mode completion vim.keymap.set("i", "", "") From 319af7bde7df3de90c1b1623e3379e188841cdf3 Mon Sep 17 00:00:00 2001 From: The_miro Date: Thu, 21 May 2026 18:54:57 +0200 Subject: [PATCH 076/116] fix(installer): add logging to guided installer and fix NVMe partition naming - Add full session logging (tee to logfile) to archbaseos-guided-install.sh, matching the pattern already in arch-autoinstall.sh; copy log to /mnt/boot/ at the end so it survives into the new system - Add part() helper to both installers so NVMe/eMMC drives use the correct 'p' separator (e.g. /dev/nvme0n1p1 instead of the broken /dev/nvme0n11) - Add disk size guard to arch-autoinstall.sh: fail early with a clear message if ROOT_GIB would be < 8GiB instead of passing a nonsense value to parted Co-Authored-By: Claude Sonnet 4.6 --- setup/arch-autoinstall.sh | 12 +++++++++--- setup/archbaseos-guided-install.sh | 27 +++++++++++++++++++++++---- 2 files changed, 32 insertions(+), 7 deletions(-) diff --git a/setup/arch-autoinstall.sh b/setup/arch-autoinstall.sh index fb443c6..e1ab659 100755 --- a/setup/arch-autoinstall.sh +++ b/setup/arch-autoinstall.sh @@ -49,6 +49,8 @@ get_mac_suffix() { printf '%s' "${mac//:/}" } +part() { [[ "$1" == *nvme* || "$1" == *mmcblk* ]] && echo "${1}p${2}" || echo "${1}${2}"; } + if $AF_MODE; then echo "Answerfile detected: $ANSWERFILE" # Ensure jq is available @@ -165,6 +167,10 @@ SWAP_SIZE="${RAM_GB}GiB" DISK_SIZE=$(lsblk -b -dn -o SIZE "$DRIVE") DISK_GIB=$((DISK_SIZE / 1024 / 1024 / 1024)) ROOT_GIB=$((DISK_GIB - RAM_GB - 15)) +if (( ROOT_GIB < 8 )); then + echo "ERROR: Not enough disk space. Root would be only ${ROOT_GIB}GiB (need ≥8GiB)." + exit 1 +fi echo "Partition plan:" echo " Boot: ${BOOT_SIZE}" @@ -180,9 +186,9 @@ parted "$DRIVE" --script mklabel gpt \ mkpart ROOT 15GiB "$((15 + ROOT_GIB))"GiB \ mkpart SWAP "$((15 + ROOT_GIB))"GiB 100% -BOOT_PART="${DRIVE}1" -ROOT_PART="${DRIVE}2" -SWAP_PART="${DRIVE}3" +BOOT_PART=$(part "$DRIVE" 1) +ROOT_PART=$(part "$DRIVE" 2) +SWAP_PART=$(part "$DRIVE" 3) ############################################ # FORMAT BOOT + SWAP diff --git a/setup/archbaseos-guided-install.sh b/setup/archbaseos-guided-install.sh index 78f3abe..f30024d 100755 --- a/setup/archbaseos-guided-install.sh +++ b/setup/archbaseos-guided-install.sh @@ -6,6 +6,19 @@ set -euo pipefail +############################################ +# LOGGING +############################################ +LOGFILE="$HOME/archbaseos-guided-install.log" +{ + echo + echo "############################################" + echo " Arch Guided Install Log - Started $(date)" + echo "############################################" + echo +} >> "$LOGFILE" +exec > >(tee -a "$LOGFILE") 2>&1 + ############################################ # Helper Functions ############################################ @@ -27,6 +40,10 @@ pause() { read -rp "Press ENTER to continue..." } +# Returns the correct partition device for a given drive and partition number. +# NVMe and eMMC use a 'p' separator (e.g. /dev/nvme0n1p1), others don't. +part() { [[ "$1" == *nvme* || "$1" == *mmcblk* ]] && echo "${1}p${2}" || echo "${1}${2}"; } + ############################################ # ANSWERFILE ############################################ @@ -157,9 +174,9 @@ parted -s "$DRIVE" mklabel gpt \ mkpart ROOT "${EFI_SIZE}GiB" "$((EFI_SIZE + ROOT_SIZE))GiB" \ mkpart SWAP "$((EFI_SIZE + ROOT_SIZE))GiB" 100% -EFI_PART="${DRIVE}1" -ROOT_PART="${DRIVE}2" -SWAP_PART="${DRIVE}3" +EFI_PART=$(part "$DRIVE" 1) +ROOT_PART=$(part "$DRIVE" 2) +SWAP_PART=$(part "$DRIVE" 3) mkfs.fat -F32 "$EFI_PART" mkswap "$SWAP_PART" @@ -359,7 +376,9 @@ if $AF_MODE && [[ -f /mnt/answerfile.json ]]; then rm -f /mnt/answerfile.json fi -echo "Installation complete!" +cp "$LOGFILE" /mnt/boot/ 2>/dev/null || true + +echo "Installation complete! Log saved to /mnt/boot/$(basename "$LOGFILE")" echo " umount -R /mnt && reboot" if [[ "${_DO_TUI^^}" != "YES" ]]; then echo From a0a2b66ccff6b1830c60dec9e5931668b142f8b8 Mon Sep 17 00:00:00 2001 From: The_miro Date: Thu, 21 May 2026 19:28:43 +0200 Subject: [PATCH 077/116] feat(installer): show croc log-send TUI on install error On any ERR, both installers now trap the failure, log the line/exit code, and pop a dialog yes/no asking whether to send the log to another system via croc. Falls back to a plain read prompt if dialog is absent. Added dialog and croc to packages.extra so they are present in the live ISO. Co-Authored-By: Claude Sonnet 4.6 --- setup/arch-autoinstall.sh | 44 +++++++++++++++++++++++++++- setup/archbaseos-guided-install.sh | 44 +++++++++++++++++++++++++++- setup/archiso/overlay/packages.extra | 2 ++ 3 files changed, 88 insertions(+), 2 deletions(-) diff --git a/setup/arch-autoinstall.sh b/setup/arch-autoinstall.sh index e1ab659..722e1a2 100755 --- a/setup/arch-autoinstall.sh +++ b/setup/arch-autoinstall.sh @@ -7,7 +7,7 @@ # Answerfile fields: drive, kernel, keymap, hostname, username, encrypt, fido2_root, # fido2_user, run_tui (password always prompted interactively) -set -euo pipefail +set -Eeuo pipefail ############################################ # LOGGING @@ -22,6 +22,48 @@ LOGFILE="$HOME/arch-autoinstall.log" } >> "$LOGFILE" exec > >(tee -a "$LOGFILE") 2>&1 +############################################ +# Error handler — TUI prompt to send log via croc +############################################ +error_handler() { + local exit_code=$? line_num="${1:-?}" + echo "" >> "$LOGFILE" + echo "ERROR: installer failed at line $line_num (exit code $exit_code)" >> "$LOGFILE" + + if command -v dialog &>/dev/null; then + if dialog --clear --title " Installer Error " \ + --yesno \ + "Installation failed at line $line_num (exit code: $exit_code).\n\nSend the log to another system via croc for analysis?" \ + 9 62; then + clear + if ! command -v croc &>/dev/null; then + echo "Installing croc..." + pacman -Sy --noconfirm croc 2>/dev/null || true + fi + if command -v croc &>/dev/null; then + croc send "$LOGFILE" + else + echo "croc unavailable — log is at: $LOGFILE" + fi + else + clear + echo "Log saved to: $LOGFILE" + fi + else + echo "" + echo "Installation failed at line $line_num (exit code $exit_code)." + read -rp "Send log via croc? [y/N]: " _croc_ans + if [[ "${_croc_ans,,}" == "y" ]]; then + command -v croc &>/dev/null || pacman -Sy --noconfirm croc 2>/dev/null || true + croc send "$LOGFILE" || true + else + echo "Log saved to: $LOGFILE" + fi + fi + exit "$exit_code" +} +trap 'error_handler $LINENO' ERR + ############################################ # ANSWERFILE ############################################ diff --git a/setup/archbaseos-guided-install.sh b/setup/archbaseos-guided-install.sh index f30024d..798f9a2 100755 --- a/setup/archbaseos-guided-install.sh +++ b/setup/archbaseos-guided-install.sh @@ -4,7 +4,7 @@ # If /answerfile.json exists (e.g. embedded via build.sh --preconf), all prompts # are answered from it. Missing fields fall back to interactive prompts. -set -euo pipefail +set -Eeuo pipefail ############################################ # LOGGING @@ -19,6 +19,48 @@ LOGFILE="$HOME/archbaseos-guided-install.log" } >> "$LOGFILE" exec > >(tee -a "$LOGFILE") 2>&1 +############################################ +# Error handler — TUI prompt to send log via croc +############################################ +error_handler() { + local exit_code=$? line_num="${1:-?}" + echo "" >> "$LOGFILE" + echo "ERROR: installer failed at line $line_num (exit code $exit_code)" >> "$LOGFILE" + + if command -v dialog &>/dev/null; then + if dialog --clear --title " Installer Error " \ + --yesno \ + "Installation failed at line $line_num (exit code: $exit_code).\n\nSend the log to another system via croc for analysis?" \ + 9 62; then + clear + if ! command -v croc &>/dev/null; then + echo "Installing croc..." + pacman -Sy --noconfirm croc 2>/dev/null || true + fi + if command -v croc &>/dev/null; then + croc send "$LOGFILE" + else + echo "croc unavailable — log is at: $LOGFILE" + fi + else + clear + echo "Log saved to: $LOGFILE" + fi + else + echo "" + echo "Installation failed at line $line_num (exit code $exit_code)." + read -rp "Send log via croc? [y/N]: " _croc_ans + if [[ "${_croc_ans,,}" == "y" ]]; then + command -v croc &>/dev/null || pacman -Sy --noconfirm croc 2>/dev/null || true + croc send "$LOGFILE" || true + else + echo "Log saved to: $LOGFILE" + fi + fi + exit "$exit_code" +} +trap 'error_handler $LINENO' ERR + ############################################ # Helper Functions ############################################ diff --git a/setup/archiso/overlay/packages.extra b/setup/archiso/overlay/packages.extra index 0522978..38885e7 100644 --- a/setup/archiso/overlay/packages.extra +++ b/setup/archiso/overlay/packages.extra @@ -6,3 +6,5 @@ libfido2 btop fastfetch openssh +dialog +croc From aae5042258fb9b6ec4a946bb5e6da96525d50517 Mon Sep 17 00:00:00 2001 From: The_miro Date: Thu, 21 May 2026 19:37:01 +0200 Subject: [PATCH 078/116] =?UTF-8?q?fix(installer):=20remove=20lvm2=20hook?= =?UTF-8?q?=20from=20mkinitcpio=20=E2=80=94=20setup=20uses=20LUKS2+btrfs,?= =?UTF-8?q?=20no=20LVM?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- setup/archbaseos-guided-install.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup/archbaseos-guided-install.sh b/setup/archbaseos-guided-install.sh index 798f9a2..02ce53e 100755 --- a/setup/archbaseos-guided-install.sh +++ b/setup/archbaseos-guided-install.sh @@ -354,9 +354,9 @@ echo "%wheel ALL=(ALL) ALL" >> /etc/sudoers # Initramfs if [[ "$ENCRYPT_DISK" == "YES" && "$ENABLE_FIDO_ROOT" == "YES" ]]; then - sed -i 's/^HOOKS=.*/HOOKS=(base udev systemd autodetect microcode modconf kms consolefont block sd-encrypt lvm2 btrfs filesystems keyboard keymap fsck)/' /etc/mkinitcpio.conf + sed -i 's/^HOOKS=.*/HOOKS=(base udev systemd autodetect microcode modconf kms consolefont block sd-encrypt btrfs filesystems keyboard keymap fsck)/' /etc/mkinitcpio.conf elif [[ "$ENCRYPT_DISK" == "YES" ]]; then - sed -i 's/^HOOKS=.*/HOOKS=(base udev autodetect microcode modconf kms consolefont block encrypt lvm2 btrfs filesystems keyboard keymap fsck)/' /etc/mkinitcpio.conf + sed -i 's/^HOOKS=.*/HOOKS=(base udev autodetect microcode modconf kms consolefont block encrypt btrfs filesystems keyboard keymap fsck)/' /etc/mkinitcpio.conf else sed -i 's/^HOOKS=.*/HOOKS=(base udev autodetect microcode modconf kms consolefont block btrfs filesystems keyboard fsck)/' /etc/mkinitcpio.conf fi From cfe102b26fa532dd6dc3e0cdde0724e3aec73573 Mon Sep 17 00:00:00 2001 From: The_miro Date: Thu, 21 May 2026 20:29:30 +0200 Subject: [PATCH 079/116] fix(installer): run pamu2fcfg outside arch-chroot to fix FIDO2 user enrollment Inside the chroot the host's udev manages /dev/hidraw* with permissions scoped to live-system groups; the new user has none of them, so pamu2fcfg timed out with "No FIDO authenticator found". Move enrollment to after CHROOT_EOF where it runs as root on the live system, then fix ownership using the new system's UID/GID. Co-Authored-By: Claude Sonnet 4.6 --- setup/archbaseos-guided-install.sh | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/setup/archbaseos-guided-install.sh b/setup/archbaseos-guided-install.sh index 02ce53e..597b19b 100755 --- a/setup/archbaseos-guided-install.sh +++ b/setup/archbaseos-guided-install.sh @@ -379,17 +379,29 @@ sed -i "s|^GRUB_CMDLINE_LINUX=.*|GRUB_CMDLINE_LINUX=\"$GRUB_CMDLINE\"|" /etc/def grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB grub-mkconfig -o /boot/grub/grub.cfg -# User login FIDO2 +# User login FIDO2 — directory + PAM only; key enrollment happens outside chroot if [[ "$ENABLE_FIDO_USER" == "YES" ]]; then - echo "Enrolling FIDO2 for user login" mkdir -p "/home/$USERNAME/.config/Yubico" chown "$USERNAME:$USERNAME" "/home/$USERNAME/.config/Yubico" - sudo -u "$USERNAME" bash -c "pamu2fcfg >> /home/$USERNAME/.config/Yubico/u2f_keys" echo "auth required pam_u2f.so" >> /etc/pam.d/system-auth fi CHROOT_EOF +# pamu2fcfg must run outside arch-chroot: inside the chroot the host's udev manages +# /dev/hidraw* permissions and the new user has no access to the device. +if [[ "$ENABLE_FIDO_USER" == "YES" ]]; then + echo "Enrolling FIDO2 key for user login (outside chroot)..." + U2F_KEYFILE="/mnt/home/${USERNAME}/.config/Yubico/u2f_keys" + mkdir -p "/mnt/home/${USERNAME}/.config/Yubico" + pamu2fcfg -u "$USERNAME" > "$U2F_KEYFILE" + _NEWUID=$(arch-chroot /mnt id -u "$USERNAME" 2>/dev/null || echo "1000") + _NEWGID=$(arch-chroot /mnt id -g "$USERNAME" 2>/dev/null || echo "1000") + chown -R "$_NEWUID:$_NEWGID" "/mnt/home/${USERNAME}/.config/Yubico" + chmod 600 "$U2F_KEYFILE" + echo "FIDO2 key enrolled for $USERNAME." +fi + ############################################ # DOTFILES SETUP (in-chroot, optional) ############################################ From fb4cef6a09cb1782a2abe7a4cf62fff9a3b2f870 Mon Sep 17 00:00:00 2001 From: The_miro Date: Thu, 21 May 2026 20:36:49 +0200 Subject: [PATCH 080/116] fix(archiso): chmod 777 build and out dirs after mkarchiso Co-Authored-By: Claude Sonnet 4.6 --- setup/archiso/build.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/setup/archiso/build.sh b/setup/archiso/build.sh index 0179ff6..acdc82a 100755 --- a/setup/archiso/build.sh +++ b/setup/archiso/build.sh @@ -101,6 +101,7 @@ fi echo "Building ISO (this may take a while)..." sudo mkarchiso -v -w "$WORK_DIR/mkarchiso" -o "$OUT_DIR" "$PROFILE" +sudo chmod -R 777 "$WORK_DIR" "$OUT_DIR" sudo chown -R "$(id -u):$(id -g)" "$WORK_DIR" "$OUT_DIR" echo From dbb1be0081cc9b450b44378bdb2f0271bbc73045 Mon Sep 17 00:00:00 2001 From: The_miro Date: Thu, 21 May 2026 20:45:17 +0200 Subject: [PATCH 081/116] fix(installer): show password input in plain text Remove -s flag from read so the password is visible while typing, enabling piped input to work visibly on the ISO installer. Co-Authored-By: Claude Sonnet 4.6 --- setup/arch-autoinstall.sh | 2 +- setup/archbaseos-guided-install.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/setup/arch-autoinstall.sh b/setup/arch-autoinstall.sh index 722e1a2..b08b12b 100755 --- a/setup/arch-autoinstall.sh +++ b/setup/arch-autoinstall.sh @@ -190,7 +190,7 @@ else fi # Password always prompted — never stored in answerfile -read -rsp "Enter password for $USERNAME: " USERPASS; echo +read -rp "Enter password for $USERNAME: " USERPASS [[ -z "$USERPASS" ]] && { echo "Error: password cannot be empty."; exit 1; } if ! $AF_MODE; then diff --git a/setup/archbaseos-guided-install.sh b/setup/archbaseos-guided-install.sh index 597b19b..947faad 100755 --- a/setup/archbaseos-guided-install.sh +++ b/setup/archbaseos-guided-install.sh @@ -174,7 +174,7 @@ else fi fi -read -rsp "Password for $USERNAME: " USERPASS; echo +read -rp "Password for $USERNAME: " USERPASS [[ -z "$USERPASS" ]] && { echo "Error: password cannot be empty."; exit 1; } lsblk From 1f1e9f6f9c8ea046a8c9a04ef1d81cd3a6d85766 Mon Sep 17 00:00:00 2001 From: The_miro Date: Thu, 21 May 2026 21:18:46 +0200 Subject: [PATCH 082/116] fix(installer): fix tui-install on bare console + add network check to archiso installers tui-install.sh: dialog height=40 apps checklist and height=24 confirm dialog both exceeded the standard 24-row VT console, causing dialog to exit with code 1 and silently skip all apps. Make both heights terminal-adaptive via tput lines/cols. Also extend the EXIT trap to reset the terminal so Ctrl-C during a dialog doesn't leave the console in raw/no-echo mode. arch-autoinstall.sh, archbaseos-guided-install.sh: add a ping 1.1.1.1 check early in both scripts. In interactive mode, launches nmtui if offline, then re-checks; prompts to abort if still down. Answerfile mode logs a warning and continues. Co-Authored-By: Claude Sonnet 4.6 --- setup/arch-autoinstall.sh | 17 +++++++++++++++++ setup/archbaseos-guided-install.sh | 17 +++++++++++++++++ setup/tui-install.sh | 13 ++++++++++--- 3 files changed, 44 insertions(+), 3 deletions(-) diff --git a/setup/arch-autoinstall.sh b/setup/arch-autoinstall.sh index b08b12b..42da19e 100755 --- a/setup/arch-autoinstall.sh +++ b/setup/arch-autoinstall.sh @@ -99,6 +99,23 @@ if $AF_MODE; then command -v jq &>/dev/null || pacman -Sy --noconfirm jq fi +############################################ +# NETWORK CHECK +############################################ +if ! ping -c1 -W3 1.1.1.1 &>/dev/null; then + if $AF_MODE; then + echo "Warning: no internet connection detected — continuing in answerfile mode." + else + echo "No internet connection detected. Launching nmtui..." + nmtui + if ! ping -c1 -W3 1.1.1.1 &>/dev/null; then + echo "Warning: still offline. Packages cannot be downloaded without network." + read -rp "Continue anyway? [y/N]: " _net_ans + [[ "${_net_ans,,}" == "y" ]] || { echo "Aborted — no network."; exit 1; } + fi + fi +fi + ############################################ # KEYMAP # To add more layouts: append "code|Display Name" to KEYMAPS diff --git a/setup/archbaseos-guided-install.sh b/setup/archbaseos-guided-install.sh index 947faad..1f55e0b 100755 --- a/setup/archbaseos-guided-install.sh +++ b/setup/archbaseos-guided-install.sh @@ -118,6 +118,23 @@ else echo "== Arch Linux FIDO2-Ready Installer ==" fi +############################################ +# NETWORK CHECK +############################################ +if ! ping -c1 -W3 1.1.1.1 &>/dev/null; then + if $AF_MODE; then + echo "Warning: no internet connection detected — continuing in answerfile mode." + else + echo "No internet connection detected. Launching nmtui..." + nmtui + if ! ping -c1 -W3 1.1.1.1 &>/dev/null; then + echo "Warning: still offline. Packages cannot be downloaded without network." + read -rp "Continue anyway? [y/N]: " _net_ans + [[ "${_net_ans,,}" == "y" ]] || { echo "Aborted — no network."; exit 1; } + fi + fi +fi + ############################################ # Begin ############################################ diff --git a/setup/tui-install.sh b/setup/tui-install.sh index c7612aa..bb551f7 100755 --- a/setup/tui-install.sh +++ b/setup/tui-install.sh @@ -10,7 +10,7 @@ MODULES="$DOTFILES_DIR/setup/modules" APPS="$MODULES/optional-Modules/apps" LOG="$HOME/dotfiles-install.log" TMP_D="$(mktemp -d)" -trap 'rm -rf "$TMP_D"' EXIT +trap 'rm -rf "$TMP_D"; tput reset 2>/dev/null || stty sane 2>/dev/null || true' EXIT INT TERM HUP ANSWERFILE="${ANSWERFILE:-/answerfile.json}" ANSWERFILE_MODE=false @@ -18,6 +18,10 @@ ANSWERFILE_MODE=false BACKTITLE="the_miro's Arch Dotfiles" +# ── Terminal dimensions (bare console safe) ─────────────────────────────────── +TERM_H=$(tput lines 2>/dev/null || echo 24) +TERM_W=$(tput cols 2>/dev/null || echo 80) + # ── Cyberqueer dialog theme ─────────────────────────────────────────────────── export DIALOGRC="$TMP_D/dialogrc" cat > "$DIALOGRC" <<'EOF' @@ -302,9 +306,11 @@ fi if $ANSWERFILE_MODE; then SELECTED_APPS="$AF_APPS" else + _APP_H=$(( TERM_H - 2 < 40 ? TERM_H - 2 : 40 )) + _APP_LIST_H=$(( _APP_H - 8 < 4 ? 4 : _APP_H - 8 )) SELECTED_APPS=$(dialog --backtitle "$BACKTITLE" \ --title " Applications " \ - --checklist "Optional applications — installed after base components:" 40 76 32 \ + --checklist "Optional applications — installed after base components:" "$_APP_H" 76 "$_APP_LIST_H" \ "ollama" "Ollama local LLM runner + API server" off \ "llama-cpp" "llama.cpp standalone inference CLI + server" off \ "open-webui" "Open WebUI browser UI for Ollama / LLM backends" off \ @@ -435,10 +441,11 @@ if ! $ANSWERFILE_MODE; then [[ "$SELECTED_APPS" == *"qemu"* ]] && SUMMARY+=" ✦ QEMU/KVM + virt-manager\n" fi + _CONF_H=$(( TERM_H - 2 < 24 ? TERM_H - 2 : 24 )) dialog --backtitle "$BACKTITLE" \ --title " Confirm Installation " \ --yesno "\n Components to install:\n\n${SUMMARY}\n Log: $LOG\n\n Proceed?" \ - 24 62 || { clear; echo "Aborted."; exit 0; } + "$_CONF_H" 62 || { clear; echo "Aborted."; exit 0; } fi count_steps "$COMPONENTS" "$DE" "$SELECTED_APPS" From cdccc7634a57bec2b6e9f55c97e2a286d453f992 Mon Sep 17 00:00:00 2001 From: The_miro Date: Thu, 21 May 2026 22:23:11 +0200 Subject: [PATCH 083/116] feat(installer): replace dialog with pure-bash TUI in simple-install.sh Rewrites simple-install.sh to use ANSI/read-based TUI primitives (tui_msg, tui_yesno, tui_input, tui_checklist, tui_menu) instead of dialog, removing the dialog dependency entirely. Updates archbaseos-guided-install.sh to invoke simple-install.sh and drops dialog from the archiso package list; error_handler now uses the plain read-based croc prompt unconditionally. Co-Authored-By: Claude Sonnet 4.6 --- setup/archbaseos-guided-install.sh | 41 +- setup/archiso/overlay/packages.extra | 1 - setup/simple-install.sh | 633 +++++++++++++++++++++++++++ 3 files changed, 643 insertions(+), 32 deletions(-) create mode 100755 setup/simple-install.sh diff --git a/setup/archbaseos-guided-install.sh b/setup/archbaseos-guided-install.sh index 1f55e0b..1e03df1 100755 --- a/setup/archbaseos-guided-install.sh +++ b/setup/archbaseos-guided-install.sh @@ -27,35 +27,14 @@ error_handler() { echo "" >> "$LOGFILE" echo "ERROR: installer failed at line $line_num (exit code $exit_code)" >> "$LOGFILE" - if command -v dialog &>/dev/null; then - if dialog --clear --title " Installer Error " \ - --yesno \ - "Installation failed at line $line_num (exit code: $exit_code).\n\nSend the log to another system via croc for analysis?" \ - 9 62; then - clear - if ! command -v croc &>/dev/null; then - echo "Installing croc..." - pacman -Sy --noconfirm croc 2>/dev/null || true - fi - if command -v croc &>/dev/null; then - croc send "$LOGFILE" - else - echo "croc unavailable — log is at: $LOGFILE" - fi - else - clear - echo "Log saved to: $LOGFILE" - fi + echo "" + echo "Installation failed at line $line_num (exit code $exit_code)." + read -rp "Send log via croc? [y/N]: " _croc_ans + if [[ "${_croc_ans,,}" == "y" ]]; then + command -v croc &>/dev/null || pacman -Sy --noconfirm croc 2>/dev/null || true + croc send "$LOGFILE" || true else - echo "" - echo "Installation failed at line $line_num (exit code $exit_code)." - read -rp "Send log via croc? [y/N]: " _croc_ans - if [[ "${_croc_ans,,}" == "y" ]]; then - command -v croc &>/dev/null || pacman -Sy --noconfirm croc 2>/dev/null || true - croc send "$LOGFILE" || true - else - echo "Log saved to: $LOGFILE" - fi + echo "Log saved to: $LOGFILE" fi exit "$exit_code" } @@ -434,9 +413,9 @@ if [[ "${_DO_TUI^^}" == "YES" ]]; then echo "${USERNAME} ALL=(ALL) NOPASSWD: ALL" \ | arch-chroot /mnt tee /etc/sudoers.d/99-setup-nopasswd > /dev/null - echo "Running tui-install.sh as ${USERNAME} inside chroot..." + echo "Running simple-install.sh as ${USERNAME} inside chroot..." arch-chroot /mnt runuser -u "${USERNAME}" -- \ - bash "/home/${USERNAME}/Dotfiles/setup/tui-install.sh" \ + bash "/home/${USERNAME}/Dotfiles/setup/simple-install.sh" \ || echo "Warning: tui-install exited with errors — check ~/dotfiles-install.log in the new system." arch-chroot /mnt rm -f /etc/sudoers.d/99-setup-nopasswd @@ -454,7 +433,7 @@ echo " umount -R /mnt && reboot" if [[ "${_DO_TUI^^}" != "YES" ]]; then echo echo "After first boot, login as ${USERNAME} and run:" - echo " ~/Dotfiles/setup/tui-install.sh" + echo " ~/Dotfiles/setup/simple-install.sh" fi if [[ "$ENCRYPT_DISK" == "YES" ]]; then echo diff --git a/setup/archiso/overlay/packages.extra b/setup/archiso/overlay/packages.extra index 38885e7..c5351b6 100644 --- a/setup/archiso/overlay/packages.extra +++ b/setup/archiso/overlay/packages.extra @@ -6,5 +6,4 @@ libfido2 btop fastfetch openssh -dialog croc diff --git a/setup/simple-install.sh b/setup/simple-install.sh new file mode 100755 index 0000000..3c7fc0b --- /dev/null +++ b/setup/simple-install.sh @@ -0,0 +1,633 @@ +#!/bin/bash +# simple-install.sh — TUI installer for the_miro's Arch dotfiles + +set -uo pipefail + +# ── Paths ───────────────────────────────────────────────────────────────────── +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +DOTFILES_DIR="$(cd "$SCRIPT_DIR/.." && pwd)" +MODULES="$DOTFILES_DIR/setup/modules" +APPS="$MODULES/optional-Modules/apps" +LOG="$HOME/dotfiles-install.log" +TMP_D="$(mktemp -d)" +trap 'rm -rf "$TMP_D"; tput reset 2>/dev/null || stty sane 2>/dev/null || true' EXIT INT TERM HUP + +ANSWERFILE="${ANSWERFILE:-/answerfile.json}" +ANSWERFILE_MODE=false +[[ -f "$ANSWERFILE" ]] && ANSWERFILE_MODE=true + +TITLE="the_miro's Arch Dotfiles" + +# ── Terminal dimensions ─────────────────────────────────────────────────────── +TERM_H=$(tput lines 2>/dev/null || echo 24) +TERM_W=$(tput cols 2>/dev/null || echo 80) +TUI_W=$(( TERM_W < 74 ? TERM_W - 2 : 72 )) +printf -v TUI_BAR '%.0s─' $(seq 1 "$TUI_W") + +# ── ANSI color codes ────────────────────────────────────────────────────────── +R=$'\e[0m'; B=$'\e[1m'; D=$'\e[2m'; M=$'\e[1;35m'; CY=$'\e[1;36m' + +# ── TUI primitives ──────────────────────────────────────────────────────────── +# All display goes to /dev/tty so functions work correctly inside $() captures. + +_hdr() { + printf '\e[2J\e[H' >/dev/tty + printf "${M} ┌%s┐${R}\n ${M}│ ${B}%-*s${R} ${M}│${R}\n ${M}└%s┘${R}\n\n" \ + "$TUI_BAR" $(( TUI_W - 4 )) "$TITLE" "$TUI_BAR" >/dev/tty +} + +_sep() { printf " ${D}─────────────────────────────────────────────${R}\n\n" >/dev/tty; } + +# tui_msg TITLE MSG +tui_msg() { + _hdr + printf " ${M}${B}%s${R}\n" "$1" >/dev/tty; _sep + printf "%b\n\n" "$2" >/dev/tty + printf " ${D}Press Enter to continue...${R}" >/dev/tty; read -r /dev/tty; _sep + printf "%b\n\n" "$2" >/dev/tty + local a + while true; do + printf " ${CY}[Y/n]${R} > " >/dev/tty; read -r a /dev/tty ;; + esac + done +} + +# tui_input TITLE PROMPT [DEFAULT] → prints value to stdout +tui_input() { + _hdr + printf " ${M}${B}%s${R}\n" "$1" >/dev/tty; _sep + printf " %b\n" "$2" >/dev/tty + [[ -n "${3:-}" ]] && printf " ${D}(default: %s)${R}\n" "$3" >/dev/tty + printf "\n > " >/dev/tty; local v; read -r v /dev/tty; _sep + printf " ${D}%s${R}\n\n" "$prompt" >/dev/tty + + local -a sel=() + local i num=0 + for (( i=0; i/dev/tty + continue + fi + sel+=("$i"); (( num++ )) + if [[ "${_S[$i]}" == "on" ]]; then + printf " ${CY}%3d) [*] %-22s${R} %s\n" "$num" "${_T[$i]}" "${_D[$i]}" >/dev/tty + else + printf " %3d) [ ] %-22s %s\n" "$num" "${_T[$i]}" "${_D[$i]}" >/dev/tty + fi + done + local total_sel=${#sel[@]} + + printf "\n ${D}Number(s) to toggle · 'a' all · 'n' none · Enter confirm:${R}\n > " >/dev/tty + local inp; read -r inp = 0 && k < total_sel )) || continue + local idx="${sel[$k]}" + [[ "${_S[$idx]}" == "on" ]] && _S[$idx]="off" || _S[$idx]="on" + fi + done + done + + local res="" + for (( i=0; i/dev/tty; _sep + printf " ${D}%s${R}\n\n" "$prompt" >/dev/tty + local i + for (( i=0; i/dev/tty + done + printf "\n ${D}Enter number:${R}\n > " >/dev/tty + local inp; read -r inp = 1 && inp <= n )); then + printf '%s' "${_T[$(( inp-1 ))]}"; return 0 + fi + printf " Invalid selection.\n" >/dev/tty; sleep 0.4 + done +} + +# ── State ───────────────────────────────────────────────────────────────────── +STEP=0 +TOTAL=0 + +# ── Helpers ─────────────────────────────────────────────────────────────────── +require_jq() { + command -v jq &>/dev/null && return + echo "jq not found — installing..." + sudo pacman -S --noconfirm jq || { echo "Failed to install jq."; exit 1; } +} + +die() { + clear + printf "\n Error: %s\n\n" "$1" >&2 + exit 1 +} + +log_sep() { + printf "\n══════════════════════════════════\n %s\n %s\n" "$1" "$(date)" >> "$LOG" +} + +run_module() { + local label="$1" script="$2" + STEP=$(( STEP + 1 )) + log_sep "[$STEP/$TOTAL] $label" + + clear + printf "\n${M} [$STEP/$TOTAL] %s${R}\n" "$label" + printf "${D} ─────────────────────────────────────────────${R}\n\n" + + local rc=0 + bash "$script" 2>&1 | tee -a "$LOG" || rc=${PIPESTATUS[0]} + + if [[ $rc -ne 0 ]]; then + if [[ $ANSWERFILE_MODE == true ]]; then + printf "\n Warning: %s exited with code %d — continuing.\n" "$label" "$rc" | tee -a "$LOG" + else + tui_yesno " Module Failed " \ + " $label exited with code $rc.\n\n Continue anyway?" \ + || { clear; exit 1; } + fi + fi +} + +count_steps() { + local c="$1" de="$2" a="${3:-}" + TOTAL=0 + [[ "$c" == *"pkg"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$c" == *"core"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$c" == *"svc"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$c" == *"shell"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$de" != "none" ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"ollama"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"llama-cpp"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"open-webui"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"claude"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"networking-cli"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"disk-recovery"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"himalaya"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"gnuplot"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"povray"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"blender"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"toot"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"db-clients"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"mysql"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"productivity"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"yt-dlp"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"sox"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"imagemagick"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"ffmpeg"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"localtunnel"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"butter"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"tlp"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"steam"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"vesktop"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"spotify"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"prism"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"vintagestory"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"localsend"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"croc"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"onlyoffice"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"wireshark"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"k8s"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"docker"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"podman"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"cockpit"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"ssh-server"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"freeipa-client"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"freeipa-server"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"freeipa-image"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"python"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"zfs"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"wprs"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"chromium"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"firefox-browser"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"zen-browser"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"nyxt"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"librewolf"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"min-browser"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"vscodium"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"zed-ide"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"geany"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"codeblocks"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"kate"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"rdp-client"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"lamco-rdp-server"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"qemu"* ]] && TOTAL=$(( TOTAL + 1 )) +} + +# ── Answerfile ──────────────────────────────────────────────────────────────── +AF_HOSTNAME="" +AF_COMPONENTS="" +AF_DE="none" +AF_APPS="" +AF_COLOR_TEXT="" +AF_COLOR_BG="" +AF_COLOR_HIGHLIGHT="" +AF_COLOR_DARK="" +AF_COLOR_RED="" + +load_answerfile() { + require_jq + AF_HOSTNAME=$(jq -r '.hostname // ""' "$ANSWERFILE") + AF_COMPONENTS=$(jq -r '(.components // []) | join(" ")' "$ANSWERFILE") + AF_DE=$(jq -r '.desktop_environment // "none"' "$ANSWERFILE") + AF_APPS=$(jq -r '(.apps // []) | join(" ")' "$ANSWERFILE") + AF_COLOR_TEXT=$(jq -r '.colors.COLOR_TEXT // ""' "$ANSWERFILE") + AF_COLOR_BG=$(jq -r '.colors.COLOR_BG // ""' "$ANSWERFILE") + AF_COLOR_HIGHLIGHT=$(jq -r '.colors.COLOR_HIGHLIGHT // ""' "$ANSWERFILE") + AF_COLOR_DARK=$(jq -r '.colors.COLOR_DARK // ""' "$ANSWERFILE") + AF_COLOR_RED=$(jq -r '.colors.COLOR_RED // ""' "$ANSWERFILE") +} + +# ── MAC address helper ──────────────────────────────────────────────────────── +get_mac_suffix() { + local mac + mac=$(ip link show 2>/dev/null \ + | awk '/^[0-9]+: [^l][^o]/{iface=1} iface && /link\/ether/{print $2; iface=0; exit}') + printf '%s' "${mac//:/}" +} + +# ── Preflight ───────────────────────────────────────────────────────────────── +[[ $EUID -eq 0 ]] && die "Run as your normal user (not root)." +command -v pacman &>/dev/null || die "pacman not found — Arch Linux required." + +if $ANSWERFILE_MODE; then + load_answerfile + printf "Answerfile mode: %s\n" "$ANSWERFILE" | tee -a "$LOG" +fi + +# ── Network check ───────────────────────────────────────────────────────────── +if ! ping -c1 -W3 archlinux.org &>/dev/null; then + if $ANSWERFILE_MODE; then + printf "Warning: no internet connection detected.\n" | tee -a "$LOG" + else + tui_msg " No Network Detected " \ + " No internet connection found.\n\n nmtui will open so you can configure networking.\n Close nmtui when done to continue the installer." + nmtui + if ! ping -c1 -W3 archlinux.org &>/dev/null; then + tui_yesno " Still Offline " \ + " Still no internet connection.\n\n Packages cannot be downloaded without network access.\n\n Continue anyway?" \ + || { clear; echo "Aborted — no network."; exit 1; } + fi + fi +fi + +> "$LOG" +printf "Dotfiles install: %s\nDotfiles dir: %s\n" "$(date)" "$DOTFILES_DIR" >> "$LOG" + +# ── Welcome ─────────────────────────────────────────────────────────────────── +if ! $ANSWERFILE_MODE; then + tui_msg " Welcome " \ + " the_miro's Arch dotfiles installer\n Cyberqueer · Wayland · Hyprland\n ─────────────────────────────────────────\n\n Arch Linux — network admin, development & gaming\n\n Source: $DOTFILES_DIR\n Log: $LOG" +fi + +# ── Hostname ────────────────────────────────────────────────────────────────── +HOSTNAME_SET="" +if $ANSWERFILE_MODE; then + if [[ -n "$AF_HOSTNAME" ]]; then + MAC=$(get_mac_suffix) + HOSTNAME_SET="${AF_HOSTNAME}-${MAC}" + printf "Hostname (from answerfile + MAC): %s\n" "$HOSTNAME_SET" | tee -a "$LOG" + fi +else + HOSTNAME_SET=$(tui_input " Hostname " \ + "Hostname for this machine (leave blank to keep default)." "") +fi + +if [[ -n "$HOSTNAME_SET" ]]; then + sudo hostnamectl set-hostname "$HOSTNAME_SET" 2>/dev/null \ + || echo "$HOSTNAME_SET" | sudo tee /etc/hostname > /dev/null + printf "Hostname set: %s\n" "$HOSTNAME_SET" >> "$LOG" +fi + +# ── Component selection ─────────────────────────────────────────────────────── +if $ANSWERFILE_MODE; then + COMPONENTS="$AF_COMPONENTS" +else + COMPONENTS=$(tui_checklist " Select Components " \ + "Number to toggle · Enter to confirm" \ + "pkg" "Package managers yay · nvm · rust" on \ + "core" "Core packages 100+ base system packages" on \ + "svc" "Core services NetworkManager · cronie · fail2ban" on \ + "shell" "Shell setup zsh · nvim · yazi · micro · starship" on) +fi + +# ── DE selection ────────────────────────────────────────────────────────────── +if $ANSWERFILE_MODE; then + DE="$AF_DE" +else + DE=$(tui_menu " Desktop Environment " \ + "Select a desktop environment:" \ + "hyprlua" "HyprLua — Hyprland with Lua config (recommended)" \ + "hyprland" "Hyprland — Wayland WM, hyprlang config (legacy)" \ + "sway" "Sway — Wayland tiling WM" \ + "kde-plasma" "KDE Plasma — feature-rich Wayland/X11 DE" \ + "gnome" "GNOME — modern Wayland DE" \ + "cosmic" "COSMIC — Rust-built Wayland DE (System76)" \ + "xfce" "XFCE — lightweight X11 DE" \ + "lxqt" "LXQt — lightweight Qt X11 DE" \ + "none" "Skip DE installation") +fi + +# ── Apps selection ──────────────────────────────────────────────────────────── +if $ANSWERFILE_MODE; then + SELECTED_APPS="$AF_APPS" +else + SELECTED_APPS=$(tui_checklist " Applications " \ + "Optional applications — number to toggle, Enter to confirm:" \ + \ + "" "AI / LLM" header \ + "ollama" "Ollama local LLM runner + API server" off \ + "llama-cpp" "llama.cpp standalone inference CLI + server" off \ + "open-webui" "Open WebUI browser UI for Ollama / LLM backends" off \ + "claude" "Claude Code Anthropic CLI via npm" off \ + \ + "" "Networking & Disk" header \ + "networking-cli" "Networking CLI nmap · nethogs · mitmproxy · httpie" off \ + "disk-recovery" "Disk Recovery ddrescue · f3" off \ + \ + "" "CLI Tools" header \ + "himalaya" "Himalaya terminal email client (AUR)" off \ + "gnuplot" "Gnuplot scientific plotting" off \ + "povray" "POV-Ray ray-tracing renderer" off \ + "blender" "Blender 3D creation suite" off \ + "toot" "toot Mastodon CLI client (AUR)" off \ + "db-clients" "DB Clients pgcli · mycli" off \ + "mysql" "MySQL / MariaDB mariadb server + setup" off \ + "productivity" "Productivity taskwarrior · watson · jrnl" off \ + "yt-dlp" "yt-dlp YouTube / media downloader" off \ + "sox" "SoX audio processing toolkit" off \ + "imagemagick" "ImageMagick image manipulation" off \ + "ffmpeg" "FFmpeg extras thumbnailer · GStreamer codecs" off \ + "localtunnel" "LocalTunnel expose localhost via tunnel" off \ + "butter" "butter btrfs snapshot backup (AUR)" off \ + "tlp" "TLP laptop power management" off \ + \ + "" "Gaming" header \ + "steam" "Steam gaming platform" off \ + "vesktop" "Vesktop Discord + Vencord theme" off \ + "spotify" "Spotify launcher + Spicetify theming" off \ + "prism" "PrismLauncher Minecraft launcher (Flatpak)" off \ + "vintagestory" "Vintage Story survival game (AUR)" off \ + \ + "" "File Transfer & Office" header \ + "localsend" "LocalSend LAN file transfer (AUR)" off \ + "croc" "croc cross-platform file transfer" off \ + "onlyoffice" "OnlyOffice office suite (AUR)" off \ + \ + "" "Security" header \ + "wireshark" "Wireshark network packet analyser (GUI)" off \ + \ + "" "Containers & Server" header \ + "k8s" "Kubernetes tools kubectl · podman-desktop" off \ + "docker" "Docker docker · docker-compose" off \ + "podman" "Podman rootless containers · buildah" off \ + "cockpit" "Cockpit web UI · machines · podman" off \ + "ssh-server" "SSH server openssh · key-auth · enabled" off \ + "freeipa-client" "FreeIPA Client sssd + ipa-client-install + enrollment" off \ + "freeipa-server" "FreeIPA Server interactive server setup + client gen" off \ + "freeipa-image" "FreeIPA Image OCI/LXC/Proxmox LXC builder + Keycloak" off \ + \ + "" "Dev & System" header \ + "python" "Python tools pyright · pipx · pynvim" off \ + "zfs" "ZFS zfs-dkms kernel module" off \ + "wprs" "WPRS wprs-git (AUR)" off \ + \ + "" "Browsers" header \ + "chromium" "Chromium open-source browser (official)" off \ + "firefox-browser" "Firefox Mozilla browser (official)" off \ + "zen-browser" "Zen Browser Firefox-based privacy browser (AUR)" off \ + "nyxt" "Nyxt keyboard-driven browser (AUR)" off \ + "librewolf" "LibreWolf hardened Firefox fork (AUR)" off \ + "min-browser" "Min minimal Electron browser (AUR)" off \ + \ + "" "IDEs & Editors" header \ + "vscodium" "VSCodium telemetry-free VS Code (AUR)" off \ + "zed-ide" "Zed high-performance Rust IDE (official)" off \ + "geany" "Geany lightweight IDE + plugins (official)" off \ + "codeblocks" "Code::Blocks C/C++ IDE (official)" off \ + "kate" "Kate KDE advanced text editor (official)" off \ + \ + "" "Remote & Virtualization" header \ + "rdp-client" "RDP Client Remmina + FreeRDP + VNC plugins" off \ + "lamco-rdp-server" "Lamco RDP Srv native Wayland RDP server (AUR, Rust)" off \ + "qemu" "QEMU/KVM full virt stack + virt-manager GUI" off) +fi + +# ── Confirmation (interactive mode only) ────────────────────────────────────── +if ! $ANSWERFILE_MODE; then + SUMMARY="" + [[ -n "$HOSTNAME_SET" ]] && SUMMARY+=" ✦ Hostname: $HOSTNAME_SET\n" + [[ "$COMPONENTS" == *"pkg"* ]] && SUMMARY+=" ✦ Package managers (yay, nvm, rust)\n" + [[ "$COMPONENTS" == *"core"* ]] && SUMMARY+=" ✦ Core packages\n" + [[ "$COMPONENTS" == *"svc"* ]] && SUMMARY+=" ✦ Core services\n" + [[ "$COMPONENTS" == *"shell"* ]] && SUMMARY+=" ✦ Shell setup\n" + [[ "$DE" != "none" ]] && SUMMARY+=" ✦ Desktop environment: $DE\n" + + if [[ -n "$SELECTED_APPS" ]]; then + SUMMARY+="\n Applications:\n" + for _app in ollama llama-cpp open-webui claude networking-cli disk-recovery \ + himalaya gnuplot povray blender toot db-clients mysql productivity \ + yt-dlp sox imagemagick ffmpeg localtunnel butter tlp steam vesktop \ + spotify prism vintagestory localsend croc onlyoffice wireshark k8s \ + docker podman cockpit ssh-server freeipa-client freeipa-server \ + freeipa-image python zfs wprs chromium firefox-browser zen-browser \ + nyxt librewolf min-browser vscodium zed-ide geany codeblocks kate \ + rdp-client lamco-rdp-server qemu; do + [[ "$SELECTED_APPS" == *"$_app"* ]] && SUMMARY+=" ✦ $_app\n" + done + fi + + tui_yesno " Confirm Installation " \ + " Components to install:\n\n${SUMMARY}\n Log: $LOG\n\n Proceed?" \ + || { clear; echo "Aborted."; exit 0; } +fi + +count_steps "$COMPONENTS" "$DE" "$SELECTED_APPS" + +# ── Installation: base components ───────────────────────────────────────────── +[[ "$COMPONENTS" == *"pkg"* ]] && run_module "Package Managers" "$MODULES/package-managers.sh" +[[ "$COMPONENTS" == *"core"* ]] && run_module "Core Packages" "$MODULES/core-packages.sh" +[[ "$COMPONENTS" == *"svc"* ]] && run_module "Core Services" "$MODULES/core.sh" +[[ "$COMPONENTS" == *"shell"* ]] && run_module "Shell Setup" "$MODULES/shell-setup.sh" + +if [[ "$DE" != "none" ]]; then + case "$DE" in + hyprlua) run_module "HyprLua" "$MODULES/Desktop-Environments/hyprlua.sh" ;; + hyprland) run_module "Hyprland" "$MODULES/Desktop-Environments/hyprland.sh" ;; + sway) run_module "Sway" "$MODULES/Desktop-Environments/sway.sh" ;; + kde-plasma) run_module "KDE Plasma" "$MODULES/Desktop-Environments/kde-plasma.sh" ;; + gnome) run_module "GNOME" "$MODULES/Desktop-Environments/gnome.sh" ;; + cosmic) run_module "COSMIC" "$MODULES/Desktop-Environments/cosmic.sh" ;; + xfce) run_module "XFCE" "$MODULES/Desktop-Environments/xfce.sh" ;; + lxqt) run_module "LXQt" "$MODULES/Desktop-Environments/lxqt.sh" ;; + esac +fi + +# ── Installation: applications ──────────────────────────────────────────────── +[[ "$SELECTED_APPS" == *"ollama"* ]] && run_module "Ollama" "$APPS/ollama.sh" +[[ "$SELECTED_APPS" == *"llama-cpp"* ]] && run_module "llama.cpp" "$APPS/llama-cpp.sh" +[[ "$SELECTED_APPS" == *"open-webui"* ]] && run_module "Open WebUI" "$APPS/open-webui.sh" +[[ "$SELECTED_APPS" == *"claude"* ]] && run_module "Claude Code" "$APPS/claude.sh" +[[ "$SELECTED_APPS" == *"networking-cli"* ]] && run_module "Networking CLI" "$APPS/networking-cli.sh" +[[ "$SELECTED_APPS" == *"disk-recovery"* ]] && run_module "Disk Recovery" "$APPS/disk-recovery.sh" +[[ "$SELECTED_APPS" == *"himalaya"* ]] && run_module "Himalaya" "$APPS/himalaya.sh" +[[ "$SELECTED_APPS" == *"gnuplot"* ]] && run_module "Gnuplot" "$APPS/gnuplot.sh" +[[ "$SELECTED_APPS" == *"povray"* ]] && run_module "POV-Ray" "$APPS/povray.sh" +[[ "$SELECTED_APPS" == *"blender"* ]] && run_module "Blender" "$APPS/blender.sh" +[[ "$SELECTED_APPS" == *"toot"* ]] && run_module "toot" "$APPS/toot.sh" +[[ "$SELECTED_APPS" == *"db-clients"* ]] && run_module "DB Clients" "$APPS/db-clients.sh" +[[ "$SELECTED_APPS" == *"mysql"* ]] && run_module "MySQL / MariaDB" "$APPS/mysql.sh" +[[ "$SELECTED_APPS" == *"productivity"* ]] && run_module "Productivity" "$APPS/productivity.sh" +[[ "$SELECTED_APPS" == *"yt-dlp"* ]] && run_module "yt-dlp" "$APPS/yt-dlp.sh" +[[ "$SELECTED_APPS" == *"sox"* ]] && run_module "SoX" "$APPS/sox.sh" +[[ "$SELECTED_APPS" == *"imagemagick"* ]] && run_module "ImageMagick" "$APPS/imagemagick.sh" +[[ "$SELECTED_APPS" == *"ffmpeg"* ]] && run_module "FFmpeg extras" "$APPS/ffmpeg.sh" +[[ "$SELECTED_APPS" == *"localtunnel"* ]] && run_module "LocalTunnel" "$APPS/localtunnel.sh" +[[ "$SELECTED_APPS" == *"butter"* ]] && run_module "butter" "$APPS/butter.sh" +[[ "$SELECTED_APPS" == *"tlp"* ]] && run_module "TLP" "$APPS/tlp.sh" +[[ "$SELECTED_APPS" == *"steam"* ]] && run_module "Steam" "$APPS/steam.sh" +[[ "$SELECTED_APPS" == *"vesktop"* ]] && run_module "Vesktop" "$APPS/vesktop.sh" +[[ "$SELECTED_APPS" == *"spotify"* ]] && run_module "Spotify" "$APPS/spotify.sh" +[[ "$SELECTED_APPS" == *"prism"* ]] && run_module "PrismLauncher" "$APPS/prismlauncher.sh" +[[ "$SELECTED_APPS" == *"vintagestory"* ]] && run_module "Vintage Story" "$APPS/vintagestory.sh" +[[ "$SELECTED_APPS" == *"localsend"* ]] && run_module "LocalSend" "$APPS/localsend.sh" +[[ "$SELECTED_APPS" == *"croc"* ]] && run_module "croc" "$APPS/croc.sh" +[[ "$SELECTED_APPS" == *"onlyoffice"* ]] && run_module "OnlyOffice" "$APPS/onlyoffice.sh" +[[ "$SELECTED_APPS" == *"wireshark"* ]] && run_module "Wireshark" "$APPS/wireshark.sh" +[[ "$SELECTED_APPS" == *"k8s"* ]] && run_module "Kubernetes Tools" "$APPS/k8s.sh" +[[ "$SELECTED_APPS" == *"docker"* ]] && run_module "Docker" "$APPS/docker.sh" +[[ "$SELECTED_APPS" == *"podman"* ]] && run_module "Podman" "$APPS/podman.sh" +[[ "$SELECTED_APPS" == *"cockpit"* ]] && run_module "Cockpit" "$APPS/cockpit.sh" +[[ "$SELECTED_APPS" == *"ssh-server"* ]] && run_module "SSH Server" "$APPS/ssh-server.sh" +[[ "$SELECTED_APPS" == *"freeipa-client"* ]] && run_module "FreeIPA Client" "$APPS/freeipa-client.sh" +[[ "$SELECTED_APPS" == *"freeipa-server"* ]] && run_module "FreeIPA Server" "$APPS/freeipa-server.sh" +[[ "$SELECTED_APPS" == *"freeipa-image"* ]] && run_module "FreeIPA Image" "$APPS/freeipa-image-builder.sh" +[[ "$SELECTED_APPS" == *"python"* ]] && run_module "Python Tools" "$MODULES/optional-Modules/python.sh" +[[ "$SELECTED_APPS" == *"zfs"* ]] && run_module "ZFS" "$MODULES/optional-Modules/zfs.sh" +[[ "$SELECTED_APPS" == *"wprs"* ]] && run_module "WPRS" "$MODULES/optional-Modules/wprs.sh" +[[ "$SELECTED_APPS" == *"chromium"* ]] && run_module "Chromium" "$APPS/chromium.sh" +[[ "$SELECTED_APPS" == *"firefox-browser"* ]] && run_module "Firefox" "$APPS/firefox.sh" +[[ "$SELECTED_APPS" == *"zen-browser"* ]] && run_module "Zen Browser" "$APPS/zen-browser.sh" +[[ "$SELECTED_APPS" == *"nyxt"* ]] && run_module "Nyxt" "$APPS/nyxt.sh" +[[ "$SELECTED_APPS" == *"librewolf"* ]] && run_module "LibreWolf" "$APPS/librewolf.sh" +[[ "$SELECTED_APPS" == *"min-browser"* ]] && run_module "Min Browser" "$APPS/min-browser.sh" +[[ "$SELECTED_APPS" == *"vscodium"* ]] && run_module "VSCodium" "$APPS/vscodium.sh" +[[ "$SELECTED_APPS" == *"zed-ide"* ]] && run_module "Zed IDE" "$APPS/zed.sh" +[[ "$SELECTED_APPS" == *"geany"* ]] && run_module "Geany" "$APPS/geany.sh" +[[ "$SELECTED_APPS" == *"codeblocks"* ]] && run_module "Code::Blocks" "$APPS/codeblocks.sh" +[[ "$SELECTED_APPS" == *"kate"* ]] && run_module "Kate" "$APPS/kate.sh" +[[ "$SELECTED_APPS" == *"rdp-client"* ]] && run_module "RDP Client" "$APPS/rdp-client.sh" +[[ "$SELECTED_APPS" == *"lamco-rdp-server"* ]] && run_module "Lamco RDP Server" "$APPS/lamco-rdp-server.sh" +[[ "$SELECTED_APPS" == *"qemu"* ]] && run_module "QEMU/KVM" "$APPS/qemu.sh" + +# ── Colorway (final step) ───────────────────────────────────────────────────── +declare -A _cdef +if [[ -f "$DOTFILES_DIR/colors.conf" ]]; then + while IFS='=' read -r k v; do + k="${k%%[[:space:]]*}" + [[ "$k" =~ ^[[:space:]]*# || -z "$k" ]] && continue + v="${v%%#*}"; v="${v//[[:space:]]/}"; v="${v^^}" + _cdef[$k]="$v" + done < "$DOTFILES_DIR/colors.conf" +fi +DEF_TEXT="${_cdef[COLOR_TEXT]:-D6ABAB}" +DEF_BG="${_cdef[COLOR_BG]:-1A1A1A}" +DEF_HIGHLIGHT="${_cdef[COLOR_HIGHLIGHT]:-E40046}" +DEF_DARK="${_cdef[COLOR_DARK]:-5018DD}" +DEF_RED="${_cdef[COLOR_RED]:-F50505}" + +_write_colors_conf() { + local out="$1" t="$2" b="$3" h="$4" d="$5" r="$6" + printf 'COLOR_TEXT=%s\nCOLOR_BG=%s\nCOLOR_HIGHLIGHT=%s\nCOLOR_DARK=%s\nCOLOR_RED=%s\n' \ + "${t^^}" "${b^^}" "${h^^}" "${d^^}" "${r^^}" > "$out" +} + +if $ANSWERFILE_MODE; then + if [[ -n "$AF_COLOR_TEXT$AF_COLOR_BG$AF_COLOR_HIGHLIGHT$AF_COLOR_DARK$AF_COLOR_RED" ]]; then + TMP_COLORS="$TMP_D/colors.conf" + _write_colors_conf "$TMP_COLORS" \ + "${AF_COLOR_TEXT:-$DEF_TEXT}" \ + "${AF_COLOR_BG:-$DEF_BG}" \ + "${AF_COLOR_HIGHLIGHT:-$DEF_HIGHLIGHT}" \ + "${AF_COLOR_DARK:-$DEF_DARK}" \ + "${AF_COLOR_RED:-$DEF_RED}" + printf "Applying colorway from answerfile...\n" | tee -a "$LOG" + bash "$DOTFILES_DIR/apply-theme.sh" "$TMP_COLORS" 2>&1 | tee -a "$LOG" || true + fi +else + _hdr + printf " ${M}${B} Colorway (optional) ${R}\n" >/dev/tty; _sep + printf " Customize theme colors — bare 6-digit hex, no #.\n Press Enter to keep each default.\n\n" >/dev/tty + + printf " COLOR_TEXT ${D}[%s]${R} > " "$DEF_TEXT" >/dev/tty; read -r N_TEXT " "$DEF_BG" >/dev/tty; read -r N_BG " "$DEF_HIGHLIGHT" >/dev/tty; read -r N_HIGHLIGHT " "$DEF_DARK" >/dev/tty; read -r N_DARK " "$DEF_RED" >/dev/tty; read -r N_RED &1 | tee -a "$LOG" || true + fi +fi + +# ── Done ────────────────────────────────────────────────────────────────────── +if $ANSWERFILE_MODE; then + printf "\nDone. Log: %s\n" "$LOG" +else + tui_msg " Done " \ + " All selected components installed.\n\n Log: $LOG\n\n A reboot may be required for all changes to take effect." + clear + printf "\n Done. Log: %s\n\n" "$LOG" +fi From 379dfc4885338165a2ccb2588446a8c9fa11fd6f Mon Sep 17 00:00:00 2001 From: The_miro Date: Thu, 21 May 2026 22:58:02 +0200 Subject: [PATCH 084/116] feat(installer): replace number-input checklist with scrollable TUI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Arrow keys navigate a viewport-bounded list, Space toggles items, Enter/n confirms — fixes overflow on the app selection screen. Co-Authored-By: Claude Sonnet 4.6 --- setup/simple-install.sh | 163 ++++++++++++++++++++++++++++++++-------- 1 file changed, 131 insertions(+), 32 deletions(-) diff --git a/setup/simple-install.sh b/setup/simple-install.sh index 3c7fc0b..50fcdb3 100755 --- a/setup/simple-install.sh +++ b/setup/simple-install.sh @@ -75,54 +75,153 @@ tui_input() { # tui_checklist TITLE PROMPT tag desc state tag desc state ... # state: "on" | "off" | "header" (header = section label, tag is ignored) # Prints space-separated selected tags to stdout. +# Arrow keys navigate · Space toggles · a selects all · Enter/n confirms tui_checklist() { local title="$1" prompt="$2"; shift 2 local -a _T _D _S while [[ $# -ge 3 ]]; do _T+=("$1"); _D+=("$2"); _S+=("$3"); shift 3; done local n=${#_T[@]} + local _tv _vp _cur _scr _VIS _k _k2 _k3 _k4 _i _j _f _l _chk _res _toti _posi i - while true; do + _tv=$(tput lines 2>/dev/null || echo 24) + _vp=$(( _tv - 11 )) + (( _vp < 4 )) && _vp=4 + + _toti=0 + for (( i=0; i/dev/tty; _sep + printf " ${M}${B}%s${R}\n" "$title" >/dev/tty + _sep printf " ${D}%s${R}\n\n" "$prompt" >/dev/tty - local -a sel=() - local i num=0 - for (( i=0; i/dev/tty - continue - fi - sel+=("$i"); (( num++ )) - if [[ "${_S[$i]}" == "on" ]]; then - printf " ${CY}%3d) [*] %-22s${R} %s\n" "$num" "${_T[$i]}" "${_D[$i]}" >/dev/tty + if (( i == _scr )); then + (( _l + 1 > _vp )) && break + printf " ${M}── %s${R}\n" "${_D[$i]}" >/dev/tty + (( _l++ )) + else + (( _l + 2 > _vp )) && break + printf "\n ${M}── %s${R}\n" "${_D[$i]}" >/dev/tty + (( _l+=2 )) + fi else - printf " %3d) [ ] %-22s %s\n" "$num" "${_T[$i]}" "${_D[$i]}" >/dev/tty + (( _l + 1 > _vp )) && break + _chk=" "; [[ "${_S[$i]}" == "on" ]] && _chk="*" + if (( i == _cur )); then + printf " ${CY}▶ [%s] %-22s${R} %s\n" "$_chk" "${_T[$i]}" "${_D[$i]}" >/dev/tty + else + printf " [%s] %-22s %s\n" "$_chk" "${_T[$i]}" "${_D[$i]}" >/dev/tty + fi + (( _l++ )) fi done - local total_sel=${#sel[@]} - printf "\n ${D}Number(s) to toggle · 'a' all · 'n' none · Enter confirm:${R}\n > " >/dev/tty - local inp; read -r inp /dev/tty + } - [[ -z "$inp" ]] && break - case "$inp" in - a) for (( i=0; i=0; _i-- )); do + [[ "${_S[$_i]}" != "header" ]] && { _cur=$_i; break; } + done ;; + $'\e[B') # Down arrow + for (( _i=_cur+1; _i=0; _i-- )); do + [[ "${_S[$_i]}" != "header" ]] && { _cur=$_i; _f=1; break; } + done + (( _f == 0 )) && break + done ;; + $'\e[6~') # Page Down + for (( _j=0; _j < _vp/2; _j++ )); do + _f=0 + for (( _i=_cur+1; _i=0; _i-- )); do + [[ "${_S[$_i]}" != "header" ]] && { _cur=$_i; break; } + done ;; + ' ') # Space — toggle current item + [[ "${_S[$_cur]}" == "on" ]] && _S[$_cur]="off" || _S[$_cur]="on" ;; + 'a') # Select all + for (( _i=0; _i= 0 && k < total_sel )) || continue - local idx="${sel[$k]}" - [[ "${_S[$idx]}" == "on" ]] && _S[$idx]="off" || _S[$idx]="on" - fi - done done - local res="" - for (( i=0; i Date: Thu, 21 May 2026 23:21:46 +0200 Subject: [PATCH 085/116] feat(installer): wire up all missing optional modules in simple-install.sh Adds 13 previously unlinked app modules (gimp, inkscape, krita, ardour, audacity, lmms, mixxx, cecilia, kdenlive, openshot, shotcut, anti-malware, timeshift) to the checklist, summary loop, and dispatch block, with three new TUI sections: Graphics & Design, Audio & Music, and Video Editing. Co-Authored-By: Claude Sonnet 4.6 --- setup/simple-install.sh | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/setup/simple-install.sh b/setup/simple-install.sh index 50fcdb3..ca3c155 100755 --- a/setup/simple-install.sh +++ b/setup/simple-install.sh @@ -517,7 +517,26 @@ else "croc" "croc cross-platform file transfer" off \ "onlyoffice" "OnlyOffice office suite (AUR)" off \ \ + "" "Graphics & Design" header \ + "gimp" "GIMP GNU image manipulation program" off \ + "inkscape" "Inkscape vector graphics editor" off \ + "krita" "Krita digital painting application" off \ + \ + "" "Audio & Music" header \ + "ardour" "Ardour professional DAW" off \ + "audacity" "Audacity multi-track audio editor" off \ + "lmms" "LMMS Linux MultiMedia Studio DAW" off \ + "mixxx" "Mixxx DJ mixing software" off \ + "cecilia" "Cecilia audio signal processing (AUR)" off \ + \ + "" "Video Editing" header \ + "kdenlive" "Kdenlive KDE non-linear video editor" off \ + "openshot" "OpenShot easy video editor" off \ + "shotcut" "Shotcut cross-platform video editor" off \ + \ "" "Security" header \ + "anti-malware" "Anti-Malware ClamAV · rkhunter · chkrootkit" off \ + "timeshift" "Timeshift system snapshot / backup + autosnap" off \ "wireshark" "Wireshark network packet analyser (GUI)" off \ \ "" "Containers & Server" header \ @@ -571,7 +590,10 @@ if ! $ANSWERFILE_MODE; then for _app in ollama llama-cpp open-webui claude networking-cli disk-recovery \ himalaya gnuplot povray blender toot db-clients mysql productivity \ yt-dlp sox imagemagick ffmpeg localtunnel butter tlp steam vesktop \ - spotify prism vintagestory localsend croc onlyoffice wireshark k8s \ + spotify prism vintagestory localsend croc onlyoffice \ + gimp inkscape krita ardour audacity lmms mixxx cecilia \ + kdenlive openshot shotcut \ + anti-malware timeshift wireshark k8s \ docker podman cockpit ssh-server freeipa-client freeipa-server \ freeipa-image python zfs wprs chromium firefox-browser zen-browser \ nyxt librewolf min-browser vscodium zed-ide geany codeblocks kate \ @@ -636,6 +658,19 @@ fi [[ "$SELECTED_APPS" == *"localsend"* ]] && run_module "LocalSend" "$APPS/localsend.sh" [[ "$SELECTED_APPS" == *"croc"* ]] && run_module "croc" "$APPS/croc.sh" [[ "$SELECTED_APPS" == *"onlyoffice"* ]] && run_module "OnlyOffice" "$APPS/onlyoffice.sh" +[[ "$SELECTED_APPS" == *"gimp"* ]] && run_module "GIMP" "$APPS/gimp.sh" +[[ "$SELECTED_APPS" == *"inkscape"* ]] && run_module "Inkscape" "$APPS/inkscape.sh" +[[ "$SELECTED_APPS" == *"krita"* ]] && run_module "Krita" "$APPS/krita.sh" +[[ "$SELECTED_APPS" == *"ardour"* ]] && run_module "Ardour" "$APPS/ardour.sh" +[[ "$SELECTED_APPS" == *"audacity"* ]] && run_module "Audacity" "$APPS/audacity.sh" +[[ "$SELECTED_APPS" == *"lmms"* ]] && run_module "LMMS" "$APPS/lmms.sh" +[[ "$SELECTED_APPS" == *"mixxx"* ]] && run_module "Mixxx" "$APPS/mixxx.sh" +[[ "$SELECTED_APPS" == *"cecilia"* ]] && run_module "Cecilia" "$APPS/cecilia.sh" +[[ "$SELECTED_APPS" == *"kdenlive"* ]] && run_module "Kdenlive" "$APPS/kdenlive.sh" +[[ "$SELECTED_APPS" == *"openshot"* ]] && run_module "OpenShot" "$APPS/openshot.sh" +[[ "$SELECTED_APPS" == *"shotcut"* ]] && run_module "Shotcut" "$APPS/shotcut.sh" +[[ "$SELECTED_APPS" == *"anti-malware"* ]] && run_module "Anti-Malware" "$APPS/anti-malware.sh" +[[ "$SELECTED_APPS" == *"timeshift"* ]] && run_module "Timeshift" "$APPS/timeshift.sh" [[ "$SELECTED_APPS" == *"wireshark"* ]] && run_module "Wireshark" "$APPS/wireshark.sh" [[ "$SELECTED_APPS" == *"k8s"* ]] && run_module "Kubernetes Tools" "$APPS/k8s.sh" [[ "$SELECTED_APPS" == *"docker"* ]] && run_module "Docker" "$APPS/docker.sh" From 832eb2df5b0fbb146659f4c68840e363402ca4fb Mon Sep 17 00:00:00 2001 From: The_miro Date: Thu, 21 May 2026 23:35:29 +0200 Subject: [PATCH 086/116] feat(installer): add xournal++ module, merge blender+povray, sync tui with simple MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add apps/xournal.sh (xournalpp) wired into both installers - Merge apps/blender.sh + apps/povray.sh → apps/blender-povray.sh; remove old files - Sync tui-install.sh with simple-install.sh: add the 13 missing app modules (gimp, inkscape, krita, ardour, audacity, lmms, mixxx, cecilia, kdenlive, openshot, shotcut, anti-malware, timeshift) to checklist, count_steps, summary, and run_module sections Co-Authored-By: Claude Sonnet 4.6 --- .../apps/{blender.sh => blender-povray.sh} | 0 setup/modules/optional-Modules/apps/povray.sh | 4 -- .../modules/optional-Modules/apps/xournal.sh | 4 ++ setup/simple-install.sh | 16 ++--- setup/tui-install.sh | 68 ++++++++++++++++--- 5 files changed, 72 insertions(+), 20 deletions(-) rename setup/modules/optional-Modules/apps/{blender.sh => blender-povray.sh} (100%) mode change 100755 => 100644 delete mode 100755 setup/modules/optional-Modules/apps/povray.sh create mode 100644 setup/modules/optional-Modules/apps/xournal.sh diff --git a/setup/modules/optional-Modules/apps/blender.sh b/setup/modules/optional-Modules/apps/blender-povray.sh old mode 100755 new mode 100644 similarity index 100% rename from setup/modules/optional-Modules/apps/blender.sh rename to setup/modules/optional-Modules/apps/blender-povray.sh diff --git a/setup/modules/optional-Modules/apps/povray.sh b/setup/modules/optional-Modules/apps/povray.sh deleted file mode 100755 index bbe7d55..0000000 --- a/setup/modules/optional-Modules/apps/povray.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -set -euo pipefail - -sudo pacman -S --noconfirm --needed povray diff --git a/setup/modules/optional-Modules/apps/xournal.sh b/setup/modules/optional-Modules/apps/xournal.sh new file mode 100644 index 0000000..2209c4a --- /dev/null +++ b/setup/modules/optional-Modules/apps/xournal.sh @@ -0,0 +1,4 @@ +#!/bin/bash +set -euo pipefail + +sudo pacman -S --noconfirm --needed xournalpp diff --git a/setup/simple-install.sh b/setup/simple-install.sh index ca3c155..5ca6e96 100755 --- a/setup/simple-install.sh +++ b/setup/simple-install.sh @@ -308,8 +308,7 @@ count_steps() { [[ "$a" == *"disk-recovery"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"himalaya"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"gnuplot"* ]] && TOTAL=$(( TOTAL + 1 )) - [[ "$a" == *"povray"* ]] && TOTAL=$(( TOTAL + 1 )) - [[ "$a" == *"blender"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"blender-povray"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"toot"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"db-clients"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"mysql"* ]] && TOTAL=$(( TOTAL + 1 )) @@ -355,6 +354,7 @@ count_steps() { [[ "$a" == *"rdp-client"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"lamco-rdp-server"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"qemu"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"xournal"* ]] && TOTAL=$(( TOTAL + 1 )) } # ── Answerfile ──────────────────────────────────────────────────────────────── @@ -491,8 +491,7 @@ else "" "CLI Tools" header \ "himalaya" "Himalaya terminal email client (AUR)" off \ "gnuplot" "Gnuplot scientific plotting" off \ - "povray" "POV-Ray ray-tracing renderer" off \ - "blender" "Blender 3D creation suite" off \ + "blender-povray" "Blender + POV-Ray 3D modelling & ray-tracing" off \ "toot" "toot Mastodon CLI client (AUR)" off \ "db-clients" "DB Clients pgcli · mycli" off \ "mysql" "MySQL / MariaDB mariadb server + setup" off \ @@ -521,6 +520,7 @@ else "gimp" "GIMP GNU image manipulation program" off \ "inkscape" "Inkscape vector graphics editor" off \ "krita" "Krita digital painting application" off \ + "xournal" "Xournal++ note-taking & PDF annotator" off \ \ "" "Audio & Music" header \ "ardour" "Ardour professional DAW" off \ @@ -588,10 +588,10 @@ if ! $ANSWERFILE_MODE; then if [[ -n "$SELECTED_APPS" ]]; then SUMMARY+="\n Applications:\n" for _app in ollama llama-cpp open-webui claude networking-cli disk-recovery \ - himalaya gnuplot povray blender toot db-clients mysql productivity \ + himalaya gnuplot blender-povray toot db-clients mysql productivity \ yt-dlp sox imagemagick ffmpeg localtunnel butter tlp steam vesktop \ spotify prism vintagestory localsend croc onlyoffice \ - gimp inkscape krita ardour audacity lmms mixxx cecilia \ + gimp inkscape krita xournal ardour audacity lmms mixxx cecilia \ kdenlive openshot shotcut \ anti-malware timeshift wireshark k8s \ docker podman cockpit ssh-server freeipa-client freeipa-server \ @@ -637,8 +637,7 @@ fi [[ "$SELECTED_APPS" == *"disk-recovery"* ]] && run_module "Disk Recovery" "$APPS/disk-recovery.sh" [[ "$SELECTED_APPS" == *"himalaya"* ]] && run_module "Himalaya" "$APPS/himalaya.sh" [[ "$SELECTED_APPS" == *"gnuplot"* ]] && run_module "Gnuplot" "$APPS/gnuplot.sh" -[[ "$SELECTED_APPS" == *"povray"* ]] && run_module "POV-Ray" "$APPS/povray.sh" -[[ "$SELECTED_APPS" == *"blender"* ]] && run_module "Blender" "$APPS/blender.sh" +[[ "$SELECTED_APPS" == *"blender-povray"* ]] && run_module "Blender + POV-Ray" "$APPS/blender-povray.sh" [[ "$SELECTED_APPS" == *"toot"* ]] && run_module "toot" "$APPS/toot.sh" [[ "$SELECTED_APPS" == *"db-clients"* ]] && run_module "DB Clients" "$APPS/db-clients.sh" [[ "$SELECTED_APPS" == *"mysql"* ]] && run_module "MySQL / MariaDB" "$APPS/mysql.sh" @@ -661,6 +660,7 @@ fi [[ "$SELECTED_APPS" == *"gimp"* ]] && run_module "GIMP" "$APPS/gimp.sh" [[ "$SELECTED_APPS" == *"inkscape"* ]] && run_module "Inkscape" "$APPS/inkscape.sh" [[ "$SELECTED_APPS" == *"krita"* ]] && run_module "Krita" "$APPS/krita.sh" +[[ "$SELECTED_APPS" == *"xournal"* ]] && run_module "Xournal++" "$APPS/xournal.sh" [[ "$SELECTED_APPS" == *"ardour"* ]] && run_module "Ardour" "$APPS/ardour.sh" [[ "$SELECTED_APPS" == *"audacity"* ]] && run_module "Audacity" "$APPS/audacity.sh" [[ "$SELECTED_APPS" == *"lmms"* ]] && run_module "LMMS" "$APPS/lmms.sh" diff --git a/setup/tui-install.sh b/setup/tui-install.sh index bb551f7..33eb8fb 100755 --- a/setup/tui-install.sh +++ b/setup/tui-install.sh @@ -120,8 +120,7 @@ count_steps() { [[ "$a" == *"disk-recovery"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"himalaya"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"gnuplot"* ]] && TOTAL=$(( TOTAL + 1 )) - [[ "$a" == *"povray"* ]] && TOTAL=$(( TOTAL + 1 )) - [[ "$a" == *"blender"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"blender-povray"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"toot"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"db-clients"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"mysql"* ]] && TOTAL=$(( TOTAL + 1 )) @@ -167,6 +166,20 @@ count_steps() { [[ "$a" == *"rdp-client"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"lamco-rdp-server"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"qemu"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"xournal"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"gimp"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"inkscape"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"krita"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"ardour"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"audacity"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"lmms"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"mixxx"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"cecilia"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"kdenlive"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"openshot"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"shotcut"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"anti-malware"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"timeshift"* ]] && TOTAL=$(( TOTAL + 1 )) } # ── Answerfile ──────────────────────────────────────────────────────────────── @@ -319,8 +332,7 @@ else "disk-recovery" "Disk Recovery ddrescue · f3" off \ "himalaya" "Himalaya terminal email client (AUR)" off \ "gnuplot" "Gnuplot scientific plotting" off \ - "povray" "POV-Ray ray-tracing renderer" off \ - "blender" "Blender 3D creation suite" off \ + "blender-povray" "Blender + POV-Ray 3D modelling & ray-tracing" off \ "toot" "toot Mastodon CLI client (AUR)" off \ "db-clients" "DB Clients pgcli · mycli" off \ "mysql" "MySQL / MariaDB mariadb server + setup" off \ @@ -340,6 +352,20 @@ else "localsend" "LocalSend LAN file transfer (AUR)" off \ "croc" "croc cross-platform file transfer" off \ "onlyoffice" "OnlyOffice office suite (AUR)" off \ + "xournal" "Xournal++ note-taking & PDF annotator" off \ + "gimp" "GIMP GNU image manipulation program" off \ + "inkscape" "Inkscape vector graphics editor" off \ + "krita" "Krita digital painting application" off \ + "ardour" "Ardour professional DAW" off \ + "audacity" "Audacity multi-track audio editor" off \ + "lmms" "LMMS Linux MultiMedia Studio DAW" off \ + "mixxx" "Mixxx DJ mixing software" off \ + "cecilia" "Cecilia audio signal processing (AUR)" off \ + "kdenlive" "Kdenlive KDE non-linear video editor" off \ + "openshot" "OpenShot easy video editor" off \ + "shotcut" "Shotcut cross-platform video editor" off \ + "anti-malware" "Anti-Malware ClamAV · rkhunter · chkrootkit" off \ + "timeshift" "Timeshift system snapshot / backup + autosnap" off \ "wireshark" "Wireshark network packet analyser (GUI)" off \ "k8s" "Kubernetes tools kubectl · podman-desktop" off \ "docker" "Docker docker · docker-compose" off \ @@ -392,8 +418,7 @@ if ! $ANSWERFILE_MODE; then [[ "$SELECTED_APPS" == *"disk-recovery"* ]] && SUMMARY+=" ✦ Disk Recovery (ddrescue, f3)\n" [[ "$SELECTED_APPS" == *"himalaya"* ]] && SUMMARY+=" ✦ Himalaya\n" [[ "$SELECTED_APPS" == *"gnuplot"* ]] && SUMMARY+=" ✦ Gnuplot\n" - [[ "$SELECTED_APPS" == *"povray"* ]] && SUMMARY+=" ✦ POV-Ray\n" - [[ "$SELECTED_APPS" == *"blender"* ]] && SUMMARY+=" ✦ Blender\n" + [[ "$SELECTED_APPS" == *"blender-povray"* ]] && SUMMARY+=" ✦ Blender + POV-Ray\n" [[ "$SELECTED_APPS" == *"toot"* ]] && SUMMARY+=" ✦ toot\n" [[ "$SELECTED_APPS" == *"db-clients"* ]] && SUMMARY+=" ✦ DB Clients (pgcli, mycli)\n" [[ "$SELECTED_APPS" == *"mysql"* ]] && SUMMARY+=" ✦ MySQL / MariaDB\n" @@ -413,6 +438,20 @@ if ! $ANSWERFILE_MODE; then [[ "$SELECTED_APPS" == *"localsend"* ]] && SUMMARY+=" ✦ LocalSend\n" [[ "$SELECTED_APPS" == *"croc"* ]] && SUMMARY+=" ✦ croc\n" [[ "$SELECTED_APPS" == *"onlyoffice"* ]] && SUMMARY+=" ✦ OnlyOffice\n" + [[ "$SELECTED_APPS" == *"xournal"* ]] && SUMMARY+=" ✦ Xournal++\n" + [[ "$SELECTED_APPS" == *"gimp"* ]] && SUMMARY+=" ✦ GIMP\n" + [[ "$SELECTED_APPS" == *"inkscape"* ]] && SUMMARY+=" ✦ Inkscape\n" + [[ "$SELECTED_APPS" == *"krita"* ]] && SUMMARY+=" ✦ Krita\n" + [[ "$SELECTED_APPS" == *"ardour"* ]] && SUMMARY+=" ✦ Ardour\n" + [[ "$SELECTED_APPS" == *"audacity"* ]] && SUMMARY+=" ✦ Audacity\n" + [[ "$SELECTED_APPS" == *"lmms"* ]] && SUMMARY+=" ✦ LMMS\n" + [[ "$SELECTED_APPS" == *"mixxx"* ]] && SUMMARY+=" ✦ Mixxx\n" + [[ "$SELECTED_APPS" == *"cecilia"* ]] && SUMMARY+=" ✦ Cecilia\n" + [[ "$SELECTED_APPS" == *"kdenlive"* ]] && SUMMARY+=" ✦ Kdenlive\n" + [[ "$SELECTED_APPS" == *"openshot"* ]] && SUMMARY+=" ✦ OpenShot\n" + [[ "$SELECTED_APPS" == *"shotcut"* ]] && SUMMARY+=" ✦ Shotcut\n" + [[ "$SELECTED_APPS" == *"anti-malware"* ]] && SUMMARY+=" ✦ Anti-Malware (ClamAV, rkhunter, chkrootkit)\n" + [[ "$SELECTED_APPS" == *"timeshift"* ]] && SUMMARY+=" ✦ Timeshift\n" [[ "$SELECTED_APPS" == *"wireshark"* ]] && SUMMARY+=" ✦ Wireshark\n" [[ "$SELECTED_APPS" == *"k8s"* ]] && SUMMARY+=" ✦ Kubernetes tools\n" [[ "$SELECTED_APPS" == *"docker"* ]] && SUMMARY+=" ✦ Docker + Compose\n" @@ -478,8 +517,7 @@ fi [[ "$SELECTED_APPS" == *"disk-recovery"* ]] && run_module "Disk Recovery" "$APPS/disk-recovery.sh" [[ "$SELECTED_APPS" == *"himalaya"* ]] && run_module "Himalaya" "$APPS/himalaya.sh" [[ "$SELECTED_APPS" == *"gnuplot"* ]] && run_module "Gnuplot" "$APPS/gnuplot.sh" -[[ "$SELECTED_APPS" == *"povray"* ]] && run_module "POV-Ray" "$APPS/povray.sh" -[[ "$SELECTED_APPS" == *"blender"* ]] && run_module "Blender" "$APPS/blender.sh" +[[ "$SELECTED_APPS" == *"blender-povray"* ]] && run_module "Blender + POV-Ray" "$APPS/blender-povray.sh" [[ "$SELECTED_APPS" == *"toot"* ]] && run_module "toot" "$APPS/toot.sh" [[ "$SELECTED_APPS" == *"db-clients"* ]] && run_module "DB Clients" "$APPS/db-clients.sh" [[ "$SELECTED_APPS" == *"mysql"* ]] && run_module "MySQL / MariaDB" "$APPS/mysql.sh" @@ -499,6 +537,20 @@ fi [[ "$SELECTED_APPS" == *"localsend"* ]] && run_module "LocalSend" "$APPS/localsend.sh" [[ "$SELECTED_APPS" == *"croc"* ]] && run_module "croc" "$APPS/croc.sh" [[ "$SELECTED_APPS" == *"onlyoffice"* ]] && run_module "OnlyOffice" "$APPS/onlyoffice.sh" +[[ "$SELECTED_APPS" == *"xournal"* ]] && run_module "Xournal++" "$APPS/xournal.sh" +[[ "$SELECTED_APPS" == *"gimp"* ]] && run_module "GIMP" "$APPS/gimp.sh" +[[ "$SELECTED_APPS" == *"inkscape"* ]] && run_module "Inkscape" "$APPS/inkscape.sh" +[[ "$SELECTED_APPS" == *"krita"* ]] && run_module "Krita" "$APPS/krita.sh" +[[ "$SELECTED_APPS" == *"ardour"* ]] && run_module "Ardour" "$APPS/ardour.sh" +[[ "$SELECTED_APPS" == *"audacity"* ]] && run_module "Audacity" "$APPS/audacity.sh" +[[ "$SELECTED_APPS" == *"lmms"* ]] && run_module "LMMS" "$APPS/lmms.sh" +[[ "$SELECTED_APPS" == *"mixxx"* ]] && run_module "Mixxx" "$APPS/mixxx.sh" +[[ "$SELECTED_APPS" == *"cecilia"* ]] && run_module "Cecilia" "$APPS/cecilia.sh" +[[ "$SELECTED_APPS" == *"kdenlive"* ]] && run_module "Kdenlive" "$APPS/kdenlive.sh" +[[ "$SELECTED_APPS" == *"openshot"* ]] && run_module "OpenShot" "$APPS/openshot.sh" +[[ "$SELECTED_APPS" == *"shotcut"* ]] && run_module "Shotcut" "$APPS/shotcut.sh" +[[ "$SELECTED_APPS" == *"anti-malware"* ]] && run_module "Anti-Malware" "$APPS/anti-malware.sh" +[[ "$SELECTED_APPS" == *"timeshift"* ]] && run_module "Timeshift" "$APPS/timeshift.sh" [[ "$SELECTED_APPS" == *"wireshark"* ]] && run_module "Wireshark" "$APPS/wireshark.sh" [[ "$SELECTED_APPS" == *"k8s"* ]] && run_module "Kubernetes Tools" "$APPS/k8s.sh" [[ "$SELECTED_APPS" == *"docker"* ]] && run_module "Docker" "$APPS/docker.sh" From 33d2fe771522e1db0804b5ab25a498a48bf2585c Mon Sep 17 00:00:00 2001 From: The_miro Date: Thu, 21 May 2026 23:47:36 +0200 Subject: [PATCH 087/116] fix(installer): replace nmtui with iwctl instructions in network check nmtui is not available on the archiso live environment; direct users to iwctl (WiFi) or ethernet instead, and pause for input before re-checking. Co-Authored-By: Claude Sonnet 4.6 --- setup/arch-autoinstall.sh | 7 +++++-- setup/archbaseos-guided-install.sh | 7 +++++-- setup/simple-install.sh | 3 +-- setup/tui-install.sh | 3 +-- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/setup/arch-autoinstall.sh b/setup/arch-autoinstall.sh index 42da19e..f6a56a6 100755 --- a/setup/arch-autoinstall.sh +++ b/setup/arch-autoinstall.sh @@ -106,8 +106,11 @@ if ! ping -c1 -W3 1.1.1.1 &>/dev/null; then if $AF_MODE; then echo "Warning: no internet connection detected — continuing in answerfile mode." else - echo "No internet connection detected. Launching nmtui..." - nmtui + echo "No internet connection detected." + echo " Wired: ensure the cable is plugged in." + echo " WiFi: switch to another TTY (Alt+F2) and run: iwctl" + echo "" + read -rp "Press Enter once connected (or Ctrl+C to abort)..." if ! ping -c1 -W3 1.1.1.1 &>/dev/null; then echo "Warning: still offline. Packages cannot be downloaded without network." read -rp "Continue anyway? [y/N]: " _net_ans diff --git a/setup/archbaseos-guided-install.sh b/setup/archbaseos-guided-install.sh index 1e03df1..bad5f8b 100755 --- a/setup/archbaseos-guided-install.sh +++ b/setup/archbaseos-guided-install.sh @@ -104,8 +104,11 @@ if ! ping -c1 -W3 1.1.1.1 &>/dev/null; then if $AF_MODE; then echo "Warning: no internet connection detected — continuing in answerfile mode." else - echo "No internet connection detected. Launching nmtui..." - nmtui + echo "No internet connection detected." + echo " Wired: ensure the cable is plugged in." + echo " WiFi: switch to another TTY (Alt+F2) and run: iwctl" + echo "" + read -rp "Press Enter once connected (or Ctrl+C to abort)..." if ! ping -c1 -W3 1.1.1.1 &>/dev/null; then echo "Warning: still offline. Packages cannot be downloaded without network." read -rp "Continue anyway? [y/N]: " _net_ans diff --git a/setup/simple-install.sh b/setup/simple-install.sh index 5ca6e96..57d337d 100755 --- a/setup/simple-install.sh +++ b/setup/simple-install.sh @@ -404,8 +404,7 @@ if ! ping -c1 -W3 archlinux.org &>/dev/null; then printf "Warning: no internet connection detected.\n" | tee -a "$LOG" else tui_msg " No Network Detected " \ - " No internet connection found.\n\n nmtui will open so you can configure networking.\n Close nmtui when done to continue the installer." - nmtui + " No internet connection found.\n\n Wired: ensure the cable is plugged in.\n WiFi: switch to another TTY (Alt+F2) and run: iwctl\n\n Press Enter here once connected." if ! ping -c1 -W3 archlinux.org &>/dev/null; then tui_yesno " Still Offline " \ " Still no internet connection.\n\n Packages cannot be downloaded without network access.\n\n Continue anyway?" \ diff --git a/setup/tui-install.sh b/setup/tui-install.sh index 33eb8fb..1b927da 100755 --- a/setup/tui-install.sh +++ b/setup/tui-install.sh @@ -231,8 +231,7 @@ if ! ping -c1 -W3 archlinux.org &>/dev/null; then else dialog --backtitle "$BACKTITLE" \ --title " No Network Detected " \ - --msgbox "\n No internet connection found.\n\n nmtui will open so you can configure networking.\n Close nmtui when done to continue the installer.\n" 11 58 - nmtui + --msgbox "\n No internet connection found.\n\n Wired: ensure the cable is plugged in.\n WiFi: switch to another TTY (Alt+F2)\n and run: iwctl\n\n Press OK once connected.\n" 13 58 if ! ping -c1 -W3 archlinux.org &>/dev/null; then dialog --backtitle "$BACKTITLE" \ --title " Still Offline " \ From 6d27c189f31b8d4f32de44c39770c5b5bb81cc39 Mon Sep 17 00:00:00 2001 From: The_miro Date: Thu, 21 May 2026 23:51:33 +0200 Subject: [PATCH 088/116] feat(modules): add openarena, tetris CLI, and doom modules openarena: open-source Quake III Arena (pacman) tetris: bastet + vitetris (pacman + AUR) doom: Chocolate Doom + Freedoom game data (pacman) Wired up in simple-install.sh, tui-install.sh, and install-modules.sh. Co-Authored-By: Claude Sonnet 4.6 --- setup/install-modules.sh | 12 ++++++++++++ setup/modules/optional-Modules/apps/doom.sh | 5 +++++ setup/modules/optional-Modules/apps/openarena.sh | 3 +++ setup/modules/optional-Modules/apps/tetris.sh | 6 ++++++ setup/simple-install.sh | 11 ++++++++++- setup/tui-install.sh | 12 ++++++++++++ 6 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 setup/modules/optional-Modules/apps/doom.sh create mode 100644 setup/modules/optional-Modules/apps/openarena.sh create mode 100644 setup/modules/optional-Modules/apps/tetris.sh diff --git a/setup/install-modules.sh b/setup/install-modules.sh index e951132..c807201 100755 --- a/setup/install-modules.sh +++ b/setup/install-modules.sh @@ -116,6 +116,9 @@ count_steps() { [[ "$sel" == *"spotify"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"prism"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"vintagestory"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"openarena"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"tetris"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"doom"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"localsend"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"croc"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"onlyoffice"* ]] && TOTAL=$(( TOTAL + 1 )) @@ -201,6 +204,9 @@ SELECTED=$(dialog --backtitle "$BACKTITLE" \ "spotify" "Spotify launcher + Spicetify theming" off \ "prism" "PrismLauncher Minecraft launcher (Flatpak)" off \ "vintagestory" "Vintage Story survival game (AUR)" off \ + "openarena" "OpenArena open-source Quake III Arena" off \ + "tetris" "Tetris CLI bastet · vitetris" off \ + "doom" "Doom Chocolate Doom + Freedoom data" off \ "localsend" "LocalSend LAN file transfer (AUR)" off \ "croc" "croc cross-platform file transfer" off \ "onlyoffice" "OnlyOffice office suite (AUR)" off \ @@ -266,6 +272,9 @@ SUMMARY="" [[ "$SELECTED" == *"spotify"* ]] && SUMMARY+=" ✦ Spotify\n" [[ "$SELECTED" == *"prism"* ]] && SUMMARY+=" ✦ PrismLauncher\n" [[ "$SELECTED" == *"vintagestory"* ]] && SUMMARY+=" ✦ Vintage Story\n" +[[ "$SELECTED" == *"openarena"* ]] && SUMMARY+=" ✦ OpenArena\n" +[[ "$SELECTED" == *"tetris"* ]] && SUMMARY+=" ✦ Tetris CLI (bastet · vitetris)\n" +[[ "$SELECTED" == *"doom"* ]] && SUMMARY+=" ✦ Doom\n" [[ "$SELECTED" == *"localsend"* ]] && SUMMARY+=" ✦ LocalSend\n" [[ "$SELECTED" == *"croc"* ]] && SUMMARY+=" ✦ croc\n" [[ "$SELECTED" == *"onlyoffice"* ]] && SUMMARY+=" ✦ OnlyOffice\n" @@ -333,6 +342,9 @@ DE_DIR="$MODULES/Desktop-Environments" [[ "$SELECTED" == *"spotify"* ]] && run_module "Spotify" "$APPS/spotify.sh" [[ "$SELECTED" == *"prism"* ]] && run_module "PrismLauncher" "$APPS/prismlauncher.sh" [[ "$SELECTED" == *"vintagestory"* ]] && run_module "Vintage Story" "$APPS/vintagestory.sh" +[[ "$SELECTED" == *"openarena"* ]] && run_module "OpenArena" "$APPS/openarena.sh" +[[ "$SELECTED" == *"tetris"* ]] && run_module "Tetris CLI" "$APPS/tetris.sh" +[[ "$SELECTED" == *"doom"* ]] && run_module "Doom" "$APPS/doom.sh" [[ "$SELECTED" == *"localsend"* ]] && run_module "LocalSend" "$APPS/localsend.sh" [[ "$SELECTED" == *"croc"* ]] && run_module "croc" "$APPS/croc.sh" [[ "$SELECTED" == *"onlyoffice"* ]] && run_module "OnlyOffice" "$APPS/onlyoffice.sh" diff --git a/setup/modules/optional-Modules/apps/doom.sh b/setup/modules/optional-Modules/apps/doom.sh new file mode 100644 index 0000000..6d1bc01 --- /dev/null +++ b/setup/modules/optional-Modules/apps/doom.sh @@ -0,0 +1,5 @@ +#!/bin/bash +set -euo pipefail + +# chocolate-doom: faithful vanilla Doom port; freedoom: free game data (playable without IWADs) +sudo pacman -S --noconfirm --needed chocolate-doom freedoom diff --git a/setup/modules/optional-Modules/apps/openarena.sh b/setup/modules/optional-Modules/apps/openarena.sh new file mode 100644 index 0000000..7a32af2 --- /dev/null +++ b/setup/modules/optional-Modules/apps/openarena.sh @@ -0,0 +1,3 @@ +#!/bin/bash +set -euo pipefail +sudo pacman -S --noconfirm --needed openarena diff --git a/setup/modules/optional-Modules/apps/tetris.sh b/setup/modules/optional-Modules/apps/tetris.sh new file mode 100644 index 0000000..040de3f --- /dev/null +++ b/setup/modules/optional-Modules/apps/tetris.sh @@ -0,0 +1,6 @@ +#!/bin/bash +set -euo pipefail + +sudo pacman -S --noconfirm --needed bastet + +yay -S --answerdiff None --answerclean All --noconfirm vitetris diff --git a/setup/simple-install.sh b/setup/simple-install.sh index 57d337d..78f0796 100755 --- a/setup/simple-install.sh +++ b/setup/simple-install.sh @@ -325,6 +325,9 @@ count_steps() { [[ "$a" == *"spotify"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"prism"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"vintagestory"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"openarena"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"tetris"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"doom"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"localsend"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"croc"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"onlyoffice"* ]] && TOTAL=$(( TOTAL + 1 )) @@ -509,6 +512,9 @@ else "spotify" "Spotify launcher + Spicetify theming" off \ "prism" "PrismLauncher Minecraft launcher (Flatpak)" off \ "vintagestory" "Vintage Story survival game (AUR)" off \ + "openarena" "OpenArena open-source Quake III Arena" off \ + "tetris" "Tetris CLI bastet · vitetris" off \ + "doom" "Doom Chocolate Doom + Freedoom data" off \ \ "" "File Transfer & Office" header \ "localsend" "LocalSend LAN file transfer (AUR)" off \ @@ -589,7 +595,7 @@ if ! $ANSWERFILE_MODE; then for _app in ollama llama-cpp open-webui claude networking-cli disk-recovery \ himalaya gnuplot blender-povray toot db-clients mysql productivity \ yt-dlp sox imagemagick ffmpeg localtunnel butter tlp steam vesktop \ - spotify prism vintagestory localsend croc onlyoffice \ + spotify prism vintagestory openarena tetris doom localsend croc onlyoffice \ gimp inkscape krita xournal ardour audacity lmms mixxx cecilia \ kdenlive openshot shotcut \ anti-malware timeshift wireshark k8s \ @@ -653,6 +659,9 @@ fi [[ "$SELECTED_APPS" == *"spotify"* ]] && run_module "Spotify" "$APPS/spotify.sh" [[ "$SELECTED_APPS" == *"prism"* ]] && run_module "PrismLauncher" "$APPS/prismlauncher.sh" [[ "$SELECTED_APPS" == *"vintagestory"* ]] && run_module "Vintage Story" "$APPS/vintagestory.sh" +[[ "$SELECTED_APPS" == *"openarena"* ]] && run_module "OpenArena" "$APPS/openarena.sh" +[[ "$SELECTED_APPS" == *"tetris"* ]] && run_module "Tetris CLI" "$APPS/tetris.sh" +[[ "$SELECTED_APPS" == *"doom"* ]] && run_module "Doom" "$APPS/doom.sh" [[ "$SELECTED_APPS" == *"localsend"* ]] && run_module "LocalSend" "$APPS/localsend.sh" [[ "$SELECTED_APPS" == *"croc"* ]] && run_module "croc" "$APPS/croc.sh" [[ "$SELECTED_APPS" == *"onlyoffice"* ]] && run_module "OnlyOffice" "$APPS/onlyoffice.sh" diff --git a/setup/tui-install.sh b/setup/tui-install.sh index 1b927da..7b27788 100755 --- a/setup/tui-install.sh +++ b/setup/tui-install.sh @@ -137,6 +137,9 @@ count_steps() { [[ "$a" == *"spotify"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"prism"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"vintagestory"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"openarena"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"tetris"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"doom"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"localsend"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"croc"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"onlyoffice"* ]] && TOTAL=$(( TOTAL + 1 )) @@ -348,6 +351,9 @@ else "spotify" "Spotify launcher + Spicetify theming" off \ "prism" "PrismLauncher Minecraft launcher (Flatpak)" off \ "vintagestory" "Vintage Story survival game (AUR)" off \ + "openarena" "OpenArena open-source Quake III Arena" off \ + "tetris" "Tetris CLI bastet · vitetris" off \ + "doom" "Doom Chocolate Doom + Freedoom data" off \ "localsend" "LocalSend LAN file transfer (AUR)" off \ "croc" "croc cross-platform file transfer" off \ "onlyoffice" "OnlyOffice office suite (AUR)" off \ @@ -434,6 +440,9 @@ if ! $ANSWERFILE_MODE; then [[ "$SELECTED_APPS" == *"spotify"* ]] && SUMMARY+=" ✦ Spotify + Spicetify\n" [[ "$SELECTED_APPS" == *"prism"* ]] && SUMMARY+=" ✦ PrismLauncher\n" [[ "$SELECTED_APPS" == *"vintagestory"* ]] && SUMMARY+=" ✦ Vintage Story\n" + [[ "$SELECTED_APPS" == *"openarena"* ]] && SUMMARY+=" ✦ OpenArena\n" + [[ "$SELECTED_APPS" == *"tetris"* ]] && SUMMARY+=" ✦ Tetris CLI (bastet · vitetris)\n" + [[ "$SELECTED_APPS" == *"doom"* ]] && SUMMARY+=" ✦ Doom\n" [[ "$SELECTED_APPS" == *"localsend"* ]] && SUMMARY+=" ✦ LocalSend\n" [[ "$SELECTED_APPS" == *"croc"* ]] && SUMMARY+=" ✦ croc\n" [[ "$SELECTED_APPS" == *"onlyoffice"* ]] && SUMMARY+=" ✦ OnlyOffice\n" @@ -533,6 +542,9 @@ fi [[ "$SELECTED_APPS" == *"spotify"* ]] && run_module "Spotify" "$APPS/spotify.sh" [[ "$SELECTED_APPS" == *"prism"* ]] && run_module "PrismLauncher" "$APPS/prismlauncher.sh" [[ "$SELECTED_APPS" == *"vintagestory"* ]] && run_module "Vintage Story" "$APPS/vintagestory.sh" +[[ "$SELECTED_APPS" == *"openarena"* ]] && run_module "OpenArena" "$APPS/openarena.sh" +[[ "$SELECTED_APPS" == *"tetris"* ]] && run_module "Tetris CLI" "$APPS/tetris.sh" +[[ "$SELECTED_APPS" == *"doom"* ]] && run_module "Doom" "$APPS/doom.sh" [[ "$SELECTED_APPS" == *"localsend"* ]] && run_module "LocalSend" "$APPS/localsend.sh" [[ "$SELECTED_APPS" == *"croc"* ]] && run_module "croc" "$APPS/croc.sh" [[ "$SELECTED_APPS" == *"onlyoffice"* ]] && run_module "OnlyOffice" "$APPS/onlyoffice.sh" From 69f5b3c13b15ba4580ca52f5ae1398fa43156a75 Mon Sep 17 00:00:00 2001 From: The_miro Date: Fri, 22 May 2026 00:17:17 +0200 Subject: [PATCH 089/116] feat(modules): add sauerbraten and stuntrally modules sauerbraten: open-source Cube 2 FPS (pacman) stuntrally: rally racing game via Flatpak (io.github.stuntrally.StuntRally3) Co-Authored-By: Claude Sonnet 4.6 --- setup/install-modules.sh | 8 ++++++++ setup/modules/optional-Modules/apps/sauerbraten.sh | 3 +++ setup/modules/optional-Modules/apps/stuntrally.sh | 3 +++ setup/simple-install.sh | 8 +++++++- setup/tui-install.sh | 8 ++++++++ 5 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 setup/modules/optional-Modules/apps/sauerbraten.sh create mode 100644 setup/modules/optional-Modules/apps/stuntrally.sh diff --git a/setup/install-modules.sh b/setup/install-modules.sh index c807201..fa9a891 100755 --- a/setup/install-modules.sh +++ b/setup/install-modules.sh @@ -119,6 +119,8 @@ count_steps() { [[ "$sel" == *"openarena"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"tetris"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"doom"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"sauerbraten"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"stuntrally"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"localsend"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"croc"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"onlyoffice"* ]] && TOTAL=$(( TOTAL + 1 )) @@ -207,6 +209,8 @@ SELECTED=$(dialog --backtitle "$BACKTITLE" \ "openarena" "OpenArena open-source Quake III Arena" off \ "tetris" "Tetris CLI bastet · vitetris" off \ "doom" "Doom Chocolate Doom + Freedoom data" off \ + "sauerbraten" "Sauerbraten open-source FPS (Cube 2)" off \ + "stuntrally" "Stunt Rally rally racing game (Flatpak)" off \ "localsend" "LocalSend LAN file transfer (AUR)" off \ "croc" "croc cross-platform file transfer" off \ "onlyoffice" "OnlyOffice office suite (AUR)" off \ @@ -275,6 +279,8 @@ SUMMARY="" [[ "$SELECTED" == *"openarena"* ]] && SUMMARY+=" ✦ OpenArena\n" [[ "$SELECTED" == *"tetris"* ]] && SUMMARY+=" ✦ Tetris CLI (bastet · vitetris)\n" [[ "$SELECTED" == *"doom"* ]] && SUMMARY+=" ✦ Doom\n" +[[ "$SELECTED" == *"sauerbraten"* ]] && SUMMARY+=" ✦ Sauerbraten\n" +[[ "$SELECTED" == *"stuntrally"* ]] && SUMMARY+=" ✦ Stunt Rally\n" [[ "$SELECTED" == *"localsend"* ]] && SUMMARY+=" ✦ LocalSend\n" [[ "$SELECTED" == *"croc"* ]] && SUMMARY+=" ✦ croc\n" [[ "$SELECTED" == *"onlyoffice"* ]] && SUMMARY+=" ✦ OnlyOffice\n" @@ -345,6 +351,8 @@ DE_DIR="$MODULES/Desktop-Environments" [[ "$SELECTED" == *"openarena"* ]] && run_module "OpenArena" "$APPS/openarena.sh" [[ "$SELECTED" == *"tetris"* ]] && run_module "Tetris CLI" "$APPS/tetris.sh" [[ "$SELECTED" == *"doom"* ]] && run_module "Doom" "$APPS/doom.sh" +[[ "$SELECTED" == *"sauerbraten"* ]] && run_module "Sauerbraten" "$APPS/sauerbraten.sh" +[[ "$SELECTED" == *"stuntrally"* ]] && run_module "Stunt Rally" "$APPS/stuntrally.sh" [[ "$SELECTED" == *"localsend"* ]] && run_module "LocalSend" "$APPS/localsend.sh" [[ "$SELECTED" == *"croc"* ]] && run_module "croc" "$APPS/croc.sh" [[ "$SELECTED" == *"onlyoffice"* ]] && run_module "OnlyOffice" "$APPS/onlyoffice.sh" diff --git a/setup/modules/optional-Modules/apps/sauerbraten.sh b/setup/modules/optional-Modules/apps/sauerbraten.sh new file mode 100644 index 0000000..d339a7c --- /dev/null +++ b/setup/modules/optional-Modules/apps/sauerbraten.sh @@ -0,0 +1,3 @@ +#!/bin/bash +set -euo pipefail +sudo pacman -S --noconfirm --needed sauerbraten diff --git a/setup/modules/optional-Modules/apps/stuntrally.sh b/setup/modules/optional-Modules/apps/stuntrally.sh new file mode 100644 index 0000000..b7961e7 --- /dev/null +++ b/setup/modules/optional-Modules/apps/stuntrally.sh @@ -0,0 +1,3 @@ +#!/bin/bash +set -euo pipefail +flatpak install -y flathub io.github.stuntrally.StuntRally3 diff --git a/setup/simple-install.sh b/setup/simple-install.sh index 78f0796..f5f9ec5 100755 --- a/setup/simple-install.sh +++ b/setup/simple-install.sh @@ -328,6 +328,8 @@ count_steps() { [[ "$a" == *"openarena"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"tetris"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"doom"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"sauerbraten"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"stuntrally"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"localsend"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"croc"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"onlyoffice"* ]] && TOTAL=$(( TOTAL + 1 )) @@ -515,6 +517,8 @@ else "openarena" "OpenArena open-source Quake III Arena" off \ "tetris" "Tetris CLI bastet · vitetris" off \ "doom" "Doom Chocolate Doom + Freedoom data" off \ + "sauerbraten" "Sauerbraten open-source FPS (Cube 2)" off \ + "stuntrally" "Stunt Rally rally racing game (Flatpak)" off \ \ "" "File Transfer & Office" header \ "localsend" "LocalSend LAN file transfer (AUR)" off \ @@ -595,7 +599,7 @@ if ! $ANSWERFILE_MODE; then for _app in ollama llama-cpp open-webui claude networking-cli disk-recovery \ himalaya gnuplot blender-povray toot db-clients mysql productivity \ yt-dlp sox imagemagick ffmpeg localtunnel butter tlp steam vesktop \ - spotify prism vintagestory openarena tetris doom localsend croc onlyoffice \ + spotify prism vintagestory openarena tetris doom sauerbraten stuntrally localsend croc onlyoffice \ gimp inkscape krita xournal ardour audacity lmms mixxx cecilia \ kdenlive openshot shotcut \ anti-malware timeshift wireshark k8s \ @@ -662,6 +666,8 @@ fi [[ "$SELECTED_APPS" == *"openarena"* ]] && run_module "OpenArena" "$APPS/openarena.sh" [[ "$SELECTED_APPS" == *"tetris"* ]] && run_module "Tetris CLI" "$APPS/tetris.sh" [[ "$SELECTED_APPS" == *"doom"* ]] && run_module "Doom" "$APPS/doom.sh" +[[ "$SELECTED_APPS" == *"sauerbraten"* ]] && run_module "Sauerbraten" "$APPS/sauerbraten.sh" +[[ "$SELECTED_APPS" == *"stuntrally"* ]] && run_module "Stunt Rally" "$APPS/stuntrally.sh" [[ "$SELECTED_APPS" == *"localsend"* ]] && run_module "LocalSend" "$APPS/localsend.sh" [[ "$SELECTED_APPS" == *"croc"* ]] && run_module "croc" "$APPS/croc.sh" [[ "$SELECTED_APPS" == *"onlyoffice"* ]] && run_module "OnlyOffice" "$APPS/onlyoffice.sh" diff --git a/setup/tui-install.sh b/setup/tui-install.sh index 7b27788..721d17e 100755 --- a/setup/tui-install.sh +++ b/setup/tui-install.sh @@ -140,6 +140,8 @@ count_steps() { [[ "$a" == *"openarena"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"tetris"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"doom"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"sauerbraten"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"stuntrally"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"localsend"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"croc"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"onlyoffice"* ]] && TOTAL=$(( TOTAL + 1 )) @@ -354,6 +356,8 @@ else "openarena" "OpenArena open-source Quake III Arena" off \ "tetris" "Tetris CLI bastet · vitetris" off \ "doom" "Doom Chocolate Doom + Freedoom data" off \ + "sauerbraten" "Sauerbraten open-source FPS (Cube 2)" off \ + "stuntrally" "Stunt Rally rally racing game (Flatpak)" off \ "localsend" "LocalSend LAN file transfer (AUR)" off \ "croc" "croc cross-platform file transfer" off \ "onlyoffice" "OnlyOffice office suite (AUR)" off \ @@ -443,6 +447,8 @@ if ! $ANSWERFILE_MODE; then [[ "$SELECTED_APPS" == *"openarena"* ]] && SUMMARY+=" ✦ OpenArena\n" [[ "$SELECTED_APPS" == *"tetris"* ]] && SUMMARY+=" ✦ Tetris CLI (bastet · vitetris)\n" [[ "$SELECTED_APPS" == *"doom"* ]] && SUMMARY+=" ✦ Doom\n" + [[ "$SELECTED_APPS" == *"sauerbraten"* ]] && SUMMARY+=" ✦ Sauerbraten\n" + [[ "$SELECTED_APPS" == *"stuntrally"* ]] && SUMMARY+=" ✦ Stunt Rally\n" [[ "$SELECTED_APPS" == *"localsend"* ]] && SUMMARY+=" ✦ LocalSend\n" [[ "$SELECTED_APPS" == *"croc"* ]] && SUMMARY+=" ✦ croc\n" [[ "$SELECTED_APPS" == *"onlyoffice"* ]] && SUMMARY+=" ✦ OnlyOffice\n" @@ -545,6 +551,8 @@ fi [[ "$SELECTED_APPS" == *"openarena"* ]] && run_module "OpenArena" "$APPS/openarena.sh" [[ "$SELECTED_APPS" == *"tetris"* ]] && run_module "Tetris CLI" "$APPS/tetris.sh" [[ "$SELECTED_APPS" == *"doom"* ]] && run_module "Doom" "$APPS/doom.sh" +[[ "$SELECTED_APPS" == *"sauerbraten"* ]] && run_module "Sauerbraten" "$APPS/sauerbraten.sh" +[[ "$SELECTED_APPS" == *"stuntrally"* ]] && run_module "Stunt Rally" "$APPS/stuntrally.sh" [[ "$SELECTED_APPS" == *"localsend"* ]] && run_module "LocalSend" "$APPS/localsend.sh" [[ "$SELECTED_APPS" == *"croc"* ]] && run_module "croc" "$APPS/croc.sh" [[ "$SELECTED_APPS" == *"onlyoffice"* ]] && run_module "OnlyOffice" "$APPS/onlyoffice.sh" From 242a544909296622e927a04bd8b054e7c56403ba Mon Sep 17 00:00:00 2001 From: The_miro Date: Fri, 22 May 2026 00:53:04 +0200 Subject: [PATCH 090/116] added create-webapp.sh - via claude --- create-webapp.sh | 131 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100755 create-webapp.sh diff --git a/create-webapp.sh b/create-webapp.sh new file mode 100755 index 0000000..519125a --- /dev/null +++ b/create-webapp.sh @@ -0,0 +1,131 @@ +#!/usr/bin/env bash +# Creates a Chromium webapp .desktop entry with favicon as icon. +# Usage: create-webapp.sh [display-name] + +set -euo pipefail + +usage() { + echo "Usage: $(basename "$0") [display-name]" + echo + echo " Fetches the page title and favicon, then writes a .desktop" + echo " entry that opens the URL in Chromium app-window mode (no tabs/address bar)." + exit 1 +} + +[[ $# -lt 1 ]] && usage + +URL="$1" +CUSTOM_NAME="${2:-}" + +# Ensure scheme +[[ "$URL" != http://* && "$URL" != https://* ]] && URL="https://$URL" + +BASE_URL=$(echo "$URL" | grep -oE 'https?://[^/]+') +DOMAIN=$(echo "$BASE_URL" | sed -E 's|https?://(www\.)?||') + +echo "Fetching: $URL" +PAGE_HTML=$(curl -sL --max-time 15 \ + -A "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36" \ + "$URL" 2>/dev/null || echo "") + +# Resolve app name from or argument +if [[ -n "$CUSTOM_NAME" ]]; then + APP_NAME="$CUSTOM_NAME" +else + APP_NAME=$(echo "$PAGE_HTML" | python3 -c ' +import sys, re, html as html_mod +content = sys.stdin.read() +m = re.search(r"<title[^>]*>([^<]+)", content, re.IGNORECASE) +print(html_mod.unescape(m.group(1).strip()) if m else "", end="") +' 2>/dev/null || true) + APP_NAME="${APP_NAME:-$DOMAIN}" +fi + +# Safe identifier for filenames / WM_CLASS +SAFE_ID=$(echo "$APP_NAME" | tr '[:upper:]' '[:lower:]' | tr -cs 'a-z0-9' '-' | sed 's/^-*//;s/-*$//') +[[ -z "$SAFE_ID" ]] && SAFE_ID="$DOMAIN" + +# Find best favicon from HTML link tags (largest declared size wins) +FAVICON_URL=$(echo "$PAGE_HTML" | python3 -c ' +import sys, re +from urllib.parse import urljoin + +base = sys.argv[1] +content = sys.stdin.read() + +candidates = [] +for link in re.findall(r"]+?)/??>", content, re.IGNORECASE | re.DOTALL): + rel_m = re.search(r"rel=[\"'"'"']([^\"'"'"']+)[\"'"'"']", link, re.IGNORECASE) + if not rel_m or "icon" not in rel_m.group(1).lower(): + continue + href_m = re.search(r"href=[\"'"'"']([^\"'"'"']+)[\"'"'"']", link, re.IGNORECASE) + if not href_m: + continue + size = 0 + sizes_m = re.search(r"sizes=[\"'"'"']([^\"'"'"']+)[\"'"'"']", link, re.IGNORECASE) + if sizes_m: + val = sizes_m.group(1).lower().split("x")[0] + try: + size = 999 if val == "any" else int(val) + except ValueError: + pass + candidates.append((size, href_m.group(1))) + +if candidates: + candidates.sort(key=lambda x: x[0], reverse=True) + print(urljoin(base, candidates[0][1]), end="") +' "$BASE_URL" 2>/dev/null || true) + +FAVICON_URL="${FAVICON_URL:-$BASE_URL/favicon.ico}" +echo "Favicon: $FAVICON_URL" + +# Download icon +ICON_DIR="$HOME/.local/share/icons/webapps" +mkdir -p "$ICON_DIR" + +TMP=$(mktemp /tmp/webapp-icon.XXXXXX) +trap 'rm -f "$TMP"' EXIT + +ICON_PATH="chromium" # fallback + +if curl -sL --max-time 10 -A "Mozilla/5.0" -o "$TMP" "$FAVICON_URL" && [[ -s "$TMP" ]]; then + if command -v convert &>/dev/null \ + && convert "${TMP}[0]" -resize 128x128\> "${ICON_DIR}/${SAFE_ID}.png" 2>/dev/null; then + ICON_PATH="${ICON_DIR}/${SAFE_ID}.png" + echo "Icon: $ICON_PATH (PNG via ImageMagick)" + else + MIME=$(file -b --mime-type "$TMP") + EXT="${MIME##*/}" + [[ "$EXT" == "x-icon" || "$EXT" == "vnd.microsoft.icon" ]] && EXT="ico" + cp "$TMP" "${ICON_DIR}/${SAFE_ID}.${EXT}" + ICON_PATH="${ICON_DIR}/${SAFE_ID}.${EXT}" + echo "Icon: $ICON_PATH ($MIME)" + fi +else + echo "Warning: could not fetch favicon — using chromium default icon" +fi + +# Write .desktop file +DESKTOP_DIR="$HOME/.local/share/applications" +mkdir -p "$DESKTOP_DIR" +DESKTOP_FILE="${DESKTOP_DIR}/webapp-${SAFE_ID}.desktop" + +cat > "$DESKTOP_FILE" << DESKTOP +[Desktop Entry] +Version=1.0 +Type=Application +Name=${APP_NAME} +Exec=chromium --app=${URL} +Icon=${ICON_PATH} +Terminal=false +Categories=Network;WebBrowser; +StartupWMClass=${SAFE_ID} +DESKTOP + +chmod +x "$DESKTOP_FILE" + +echo +echo "Created : $DESKTOP_FILE" +echo " Name : $APP_NAME" +echo " URL : $URL" +echo " Icon : $ICON_PATH" From 0c88a09a0f483f5687bba1f8cd07f4d652e73a32 Mon Sep 17 00:00:00 2001 From: The_miro Date: Fri, 22 May 2026 01:44:31 +0200 Subject: [PATCH 091/116] feat(installer): add structured logging to all modules and installers Add modules/lib/logging.sh with log(), skip(), warn(), err() helpers. Source it in all 84 scripts (core, DEs, optional apps) and replace bare echo calls with structured log messages. Add log file capture to install.sh. Co-Authored-By: Claude Sonnet 4.6 --- setup/install.sh | 7 ++++ setup/modules/Desktop-Environments/cosmic.sh | 9 +++--- setup/modules/Desktop-Environments/gnome.sh | 9 +++--- .../modules/Desktop-Environments/hyprland.sh | 32 ++++++++++++------- setup/modules/Desktop-Environments/hyprlua.sh | 32 ++++++++++++------- .../Desktop-Environments/kde-plasma.sh | 9 +++--- setup/modules/Desktop-Environments/lxqt.sh | 9 +++--- setup/modules/Desktop-Environments/sway.sh | 12 ++++--- setup/modules/Desktop-Environments/xfce.sh | 9 +++--- setup/modules/core-packages.sh | 5 +++ setup/modules/core.sh | 17 ++++++---- setup/modules/lib/logging.sh | 12 +++++++ .../optional-Modules/apps/anti-malware.sh | 13 ++++++-- setup/modules/optional-Modules/apps/ardour.sh | 3 ++ .../modules/optional-Modules/apps/audacity.sh | 3 ++ .../optional-Modules/apps/blender-povray.sh | 3 ++ setup/modules/optional-Modules/apps/butter.sh | 4 +++ .../modules/optional-Modules/apps/cecilia.sh | 3 ++ .../modules/optional-Modules/apps/chromium.sh | 4 +++ setup/modules/optional-Modules/apps/claude.sh | 4 +++ .../modules/optional-Modules/apps/cockpit.sh | 8 +++-- .../optional-Modules/apps/codeblocks.sh | 4 +++ setup/modules/optional-Modules/apps/croc.sh | 4 +++ .../optional-Modules/apps/db-clients.sh | 4 +++ .../optional-Modules/apps/disk-recovery.sh | 4 +++ setup/modules/optional-Modules/apps/docker.sh | 9 +++++- setup/modules/optional-Modules/apps/doom.sh | 3 ++ setup/modules/optional-Modules/apps/ffmpeg.sh | 3 ++ .../modules/optional-Modules/apps/firefox.sh | 4 +++ .../optional-Modules/apps/freeipa-client.sh | 3 ++ .../apps/freeipa-image-builder.sh | 2 ++ .../optional-Modules/apps/freeipa-server.sh | 3 ++ setup/modules/optional-Modules/apps/geany.sh | 4 +++ setup/modules/optional-Modules/apps/gimp.sh | 3 ++ .../modules/optional-Modules/apps/gnuplot.sh | 3 ++ .../modules/optional-Modules/apps/himalaya.sh | 3 ++ .../optional-Modules/apps/imagemagick.sh | 3 ++ .../modules/optional-Modules/apps/inkscape.sh | 3 ++ setup/modules/optional-Modules/apps/k8s.sh | 4 +++ setup/modules/optional-Modules/apps/kate.sh | 4 +++ .../modules/optional-Modules/apps/kdenlive.sh | 3 ++ setup/modules/optional-Modules/apps/krita.sh | 3 ++ .../optional-Modules/apps/lamco-rdp-server.sh | 14 ++++---- .../optional-Modules/apps/librewolf.sh | 4 +++ .../optional-Modules/apps/llama-cpp.sh | 3 ++ setup/modules/optional-Modules/apps/lmms.sh | 3 ++ .../optional-Modules/apps/localsend.sh | 4 +++ .../optional-Modules/apps/localtunnel.sh | 3 ++ .../optional-Modules/apps/min-browser.sh | 4 +++ setup/modules/optional-Modules/apps/mixxx.sh | 3 ++ setup/modules/optional-Modules/apps/mysql.sh | 7 ++++ .../optional-Modules/apps/networking-cli.sh | 3 ++ setup/modules/optional-Modules/apps/nyxt.sh | 4 +++ setup/modules/optional-Modules/apps/ollama.sh | 9 ++++-- .../optional-Modules/apps/onlyoffice.sh | 4 +++ .../optional-Modules/apps/open-webui.sh | 5 ++- .../optional-Modules/apps/openarena.sh | 4 +++ .../modules/optional-Modules/apps/openshot.sh | 3 ++ setup/modules/optional-Modules/apps/podman.sh | 7 ++-- .../optional-Modules/apps/prismlauncher.sh | 4 +++ .../optional-Modules/apps/productivity.sh | 4 +++ setup/modules/optional-Modules/apps/qemu.sh | 9 ++++-- .../optional-Modules/apps/rdp-client.sh | 6 ++-- .../optional-Modules/apps/sauerbraten.sh | 4 +++ .../modules/optional-Modules/apps/shotcut.sh | 3 ++ setup/modules/optional-Modules/apps/sox.sh | 3 ++ .../modules/optional-Modules/apps/spotify.sh | 8 +++++ .../optional-Modules/apps/ssh-server.sh | 9 ++++-- setup/modules/optional-Modules/apps/steam.sh | 4 +++ .../optional-Modules/apps/stuntrally.sh | 4 +++ setup/modules/optional-Modules/apps/tetris.sh | 4 +++ .../optional-Modules/apps/timeshift.sh | 6 +++- setup/modules/optional-Modules/apps/tlp.sh | 4 +++ setup/modules/optional-Modules/apps/toot.sh | 3 ++ .../modules/optional-Modules/apps/vesktop.sh | 6 ++++ .../optional-Modules/apps/vintagestory.sh | 4 +++ .../modules/optional-Modules/apps/vscodium.sh | 4 +++ .../optional-Modules/apps/wireshark.sh | 4 +++ .../modules/optional-Modules/apps/xournal.sh | 3 ++ setup/modules/optional-Modules/apps/yt-dlp.sh | 3 ++ setup/modules/optional-Modules/apps/zed.sh | 4 +++ .../optional-Modules/apps/zen-browser.sh | 4 +++ setup/modules/optional-Modules/python.sh | 5 +++ setup/modules/optional-Modules/wprs.sh | 3 ++ setup/modules/optional-Modules/zfs.sh | 4 ++- setup/modules/package-managers.sh | 14 +++++--- setup/modules/shell-setup.sh | 21 ++++-------- 87 files changed, 411 insertions(+), 110 deletions(-) create mode 100644 setup/modules/lib/logging.sh diff --git a/setup/install.sh b/setup/install.sh index 8a4394f..14c3f7e 100755 --- a/setup/install.sh +++ b/setup/install.sh @@ -1,4 +1,10 @@ #!/bin/bash +set -uo pipefail + +LOG="$HOME/dotfiles-install.log" +> "$LOG" +printf "Dotfiles install: %s\n" "$(date)" >> "$LOG" +exec > >(tee -a "$LOG") 2>&1 echo "Running Core installation Scripts" bash ~/Dotfiles/setup/modules/package-managers.sh @@ -31,3 +37,4 @@ esac # bash ~/Dotfiles/setup/modules/optional-Modules/zfs.sh # bash ~/Dotfiles/setup/modules/optional-Modules/wprs.sh +printf "\nDone. Log: %s\n" "$LOG" diff --git a/setup/modules/Desktop-Environments/cosmic.sh b/setup/modules/Desktop-Environments/cosmic.sh index a28fa10..c83967b 100755 --- a/setup/modules/Desktop-Environments/cosmic.sh +++ b/setup/modules/Desktop-Environments/cosmic.sh @@ -1,9 +1,8 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../lib/logging.sh" -echo "=== COSMIC Desktop Installer ===" - -echo "[+] Installing COSMIC..." +log "Installing COSMIC desktop..." sudo pacman -S --noconfirm --needed \ cosmic \ pipewire wireplumber pipewire-alsa pipewire-jack pipewire-pulse \ @@ -11,7 +10,7 @@ sudo pacman -S --noconfirm --needed \ bluez bluez-utils \ flatpak -echo "[+] Enabling services..." +log "Enabling services..." # cosmic-greeter is COSMIC's own display manager; fall back to sddm if absent if pacman -Qi cosmic-greeter &>/dev/null; then sudo systemctl enable cosmic-greeter.service @@ -22,4 +21,4 @@ fi sudo systemctl enable NetworkManager.service sudo systemctl enable bluetooth.service -echo "=== COSMIC installation complete. Reboot to start. ===" +log "COSMIC installation complete. Reboot to start." diff --git a/setup/modules/Desktop-Environments/gnome.sh b/setup/modules/Desktop-Environments/gnome.sh index 9a6d0f9..0d60453 100755 --- a/setup/modules/Desktop-Environments/gnome.sh +++ b/setup/modules/Desktop-Environments/gnome.sh @@ -1,9 +1,8 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../lib/logging.sh" -echo "=== GNOME Installer ===" - -echo "[+] Installing GNOME..." +log "Installing GNOME desktop..." sudo pacman -S --noconfirm --needed \ gnome \ gnome-tweaks \ @@ -12,8 +11,8 @@ sudo pacman -S --noconfirm --needed \ networkmanager \ flatpak -echo "[+] Enabling services..." +log "Enabling services..." sudo systemctl enable gdm.service sudo systemctl enable NetworkManager.service -echo "=== GNOME installation complete. Reboot to start. ===" +log "GNOME installation complete. Reboot to start." diff --git a/setup/modules/Desktop-Environments/hyprland.sh b/setup/modules/Desktop-Environments/hyprland.sh index 8d42fe0..85d5685 100755 --- a/setup/modules/Desktop-Environments/hyprland.sh +++ b/setup/modules/Desktop-Environments/hyprland.sh @@ -1,14 +1,15 @@ #!/bin/bash set -e +source "$(dirname "${BASH_SOURCE[0]}")/../lib/logging.sh" -echo "=== Hyprland Environment Installer (legacy — hyprlang config) ===" +log "Starting Hyprland installer (legacy — hyprlang config)..." # 1. Update system and install Flatpak -echo "Updating system and installing Flatpak..." +log "Updating system and installing Flatpak..." sudo pacman -Syu --noconfirm --needed flatpak # 2. Install required packages -echo "Installing required packages..." +log "Installing required packages..." sudo pacman -Syu --noconfirm --needed \ hyprland hyprcursor wl-clipboard hyprpaper hyprlock wofi kitty dunst \ nwg-dock-hyprland nwg-drawer nwg-menu nwg-look \ @@ -28,14 +29,14 @@ sudo pacman -Syu --noconfirm --needed \ hyprpolkitagent pavucontrol playerctl wf-recorder sound-theme-freedesktop # 3. Enable essential services -echo "Enabling essential services..." +log "Enabling essential services..." sudo systemctl enable NetworkManager.service sudo systemctl disable getty@tty1.service || true sudo systemctl enable ly@tty1.service sudo systemctl enable udisks2.service # 4. Install AUR packages -echo "Installing AUR packages..." +log "Installing AUR packages..." rustup default stable yay -Syu --answerdiff None --answerclean All --noconfirm \ hyprland-workspaces vicinae-bin bluetuith wvkbd iwmenu pinta \ @@ -43,7 +44,7 @@ yay -Syu --answerdiff None --answerclean All --noconfirm \ wofi-calc bri chamel # 5. EWW bar selection and compilation -echo "Setting up EWW bar..." +log "Setting up EWW bar..." rm -rf ~/.config/eww read -n1 -p "Install eww bar for PC, Notebook or Tablet [P/N/T]: " doit echo @@ -51,10 +52,10 @@ case $doit in n|N) cp -rf ~/Dotfiles/desktopenvs/hyprland/eww/ ~/.config/ ;; p|P) cp -rf ~/Dotfiles/desktopenvs/hyprland/eww-nobattery/ ~/.config/eww ;; t|T) cp -rf ~/Dotfiles/desktopenvs/hyprland/eww-touch/ ~/.config/eww ;; - *) echo "No valid choice — skipping EWW copy. Run manually later." ;; + *) warn "No valid choice — skipping EWW copy. Run manually later." ;; esac -echo "Compiling EWW..." +log "Compiling EWW..." mkdir -p ~/install-tmp cd ~/install-tmp git clone https://github.com/elkowar/eww @@ -65,6 +66,7 @@ sudo cp target/release/eww /usr/bin/ cd ~ # 6. Theme and icon setup +log "Installing themes and icons..." sudo cp -r ~/Dotfiles/gtk-themes/cyberqueer /usr/share/themes sudo cp ~/Dotfiles/desktopenvs/hyprland/btop/themes/cyberqueer.theme /usr/share/btop/themes sudo cp -f ~/Dotfiles/etc-ly-config.ini /etc/ly/config.ini @@ -72,12 +74,14 @@ sudo ln -sf /usr/bin/kitty /usr/bin/xdg-terminal-exec sudo ln -sf /usr/bin/ksshaskpass /usr/lib/ssh/ssh-askpass # 7. Cursor setup +log "Installing cursor theme..." mkdir -p ~/.icons wget -O ~/install-tmp/Nordzy-cursors-lefthand.tar.gz \ https://github.com/guillaumeboehm/Nordzy-cursors/releases/download/v2.3.0/Nordzy-cursors-lefthand.tar.gz tar -zxf ~/install-tmp/Nordzy-cursors-lefthand.tar.gz -C ~/.icons/ # 8. Enable Bluetooth and wireless services +log "Enabling Bluetooth and wireless services..." sudo systemctl enable bluez sudo systemctl enable bluetooth.service sudo systemctl enable iwd.service @@ -88,7 +92,7 @@ sudo systemctl enable iwd.service # hyprpm add https://github.com/hyprwm/hyprland-plugins # 10. Copy configs -echo "Copying configs..." +log "Copying configs..." CONFIGS=(kitty mimeapps.list vicinae walker ulauncher hypr xfce4 wofi dunst alacritty nwg-dock-hyprland nwg-drawer nwg-panel scripts btop gtk-3.0) for cfg in "${CONFIGS[@]}"; do rm -rf ~/.config/"$cfg" @@ -99,16 +103,18 @@ cp ~/Dotfiles/desktopenvs/hyprland/hypr-usr/* ~/.config/ cp ~/Dotfiles/colors.conf ~/.config/colors.conf # 11. Wallpaper and resources +log "Copying wallpaper and resources..." mkdir -p ~/Pictures cp ~/Dotfiles/resources/fflogo.svg ~/Pictures/fflogo.svg wget "https://cloud.abdelbaki.eu/apps/theming/image/background?v=15" -O ~/Pictures/background.jpg # 12. Python venv for scripts +log "Setting up Python venv for scripts..." python -m venv ~/.config/python-script ~/.config/python-script/bin/pip install speedtest-cli requests pint simpleeval parsedatetime # 13. Udiskie icon fix -echo "Applying Udiskie icon fix..." +log "Applying Udiskie icon fix..." PAPIRUS_DIR="/usr/share/icons/Papirus-Dark/status" HICOLOR_DIR="/usr/share/icons/hicolor/scalable/status" if [ -d "$PAPIRUS_DIR" ]; then @@ -116,14 +122,16 @@ if [ -d "$PAPIRUS_DIR" ]; then sudo ln -sf "$PAPIRUS_DIR/checkbox-unchecked.svg" "$HICOLOR_DIR/udiskie-checkbox-unchecked.svg" sudo gtk-update-icon-cache -f -t /usr/share/icons/hicolor else - echo "Papirus-Dark not found — skipping udiskie icon fix." + warn "Papirus-Dark not found — skipping udiskie icon fix." fi # 14. Enable udiskie +log "Enabling udiskie service..." sudo systemctl enable udiskie.service sudo systemctl start udiskie.service # 15. Install config updater and theme script +log "Installing config updater and theme script..." mkdir -p ~/.config/config-updater ln -sf ~/Dotfiles/desktopenvs/hyprland/config-updater/updater.conf ~/.config/config-updater/updater.conf ln -sf ~/Dotfiles/desktopenvs/hyprland/config-updater/update-configs.sh ~/update-configs.sh @@ -135,4 +143,4 @@ chmod +x ~/apply-theme.sh # | grep -Po '"browser_download_url": "\K[^"]+' | grep WallRizz)" | tar -xz \ # && sudo mv WallRizz /usr/bin/ -echo "=== Hyprland installation complete. Reboot to start. ===" +log "Hyprland installation complete. Reboot to start." diff --git a/setup/modules/Desktop-Environments/hyprlua.sh b/setup/modules/Desktop-Environments/hyprlua.sh index cc0e616..60d10b7 100755 --- a/setup/modules/Desktop-Environments/hyprlua.sh +++ b/setup/modules/Desktop-Environments/hyprlua.sh @@ -1,14 +1,15 @@ #!/bin/bash set -e +source "$(dirname "${BASH_SOURCE[0]}")/../lib/logging.sh" -echo "=== HyprLua Environment Installer (Lua-based config) ===" +log "Starting HyprLua installer (Lua-based config)..." # 1. Update system and install Flatpak -echo "Updating system and installing Flatpak..." +log "Updating system and installing Flatpak..." sudo pacman -Syu --noconfirm --needed flatpak # 2. Install required packages -echo "Installing required packages..." +log "Installing required packages..." sudo pacman -Syu --noconfirm --needed \ hyprland hyprcursor wl-clipboard hyprpaper hyprlock wofi kitty dunst \ nwg-dock-hyprland nwg-drawer nwg-menu nwg-look \ @@ -28,14 +29,14 @@ sudo pacman -Syu --noconfirm --needed \ hyprpolkitagent pavucontrol playerctl wf-recorder sound-theme-freedesktop # 3. Enable essential services -echo "Enabling essential services..." +log "Enabling essential services..." sudo systemctl enable NetworkManager.service sudo systemctl disable getty@tty1.service || true sudo systemctl enable ly@tty1.service sudo systemctl enable udisks2.service # 4. Install AUR packages -echo "Installing AUR packages..." +log "Installing AUR packages..." rustup default stable yay -Syu --answerdiff None --answerclean All --noconfirm \ hyprland-workspaces vicinae-bin bluetuith wvkbd iwmenu pinta \ @@ -43,7 +44,7 @@ yay -Syu --answerdiff None --answerclean All --noconfirm \ wofi-calc bri chamel # 5. EWW bar selection and compilation -echo "Setting up EWW bar..." +log "Setting up EWW bar..." rm -rf ~/.config/eww read -n1 -p "Install eww bar for PC, Notebook or Tablet [P/N/T]: " doit echo @@ -51,10 +52,10 @@ case $doit in n|N) cp -rf ~/Dotfiles/desktopenvs/hyprlua/eww/ ~/.config/ ;; p|P) cp -rf ~/Dotfiles/desktopenvs/hyprlua/eww-nobattery/ ~/.config/eww ;; t|T) cp -rf ~/Dotfiles/desktopenvs/hyprlua/eww-touch/ ~/.config/eww ;; - *) echo "No valid choice — skipping EWW copy. Run manually later." ;; + *) warn "No valid choice — skipping EWW copy. Run manually later." ;; esac -echo "Compiling EWW..." +log "Compiling EWW..." mkdir -p ~/install-tmp cd ~/install-tmp git clone https://github.com/elkowar/eww @@ -65,6 +66,7 @@ sudo cp target/release/eww /usr/bin/ cd ~ # 6. Theme and icon setup +log "Installing themes and icons..." sudo cp -r ~/Dotfiles/gtk-themes/cyberqueer /usr/share/themes sudo cp ~/Dotfiles/desktopenvs/hyprlua/btop/themes/cyberqueer.theme /usr/share/btop/themes sudo cp -f ~/Dotfiles/etc-ly-config.ini /etc/ly/config.ini @@ -74,12 +76,14 @@ sudo ln -sf /usr/bin/ksshaskpass /usr/lib/ssh/ssh-askpass gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' # 7. Cursor setup +log "Installing cursor theme..." mkdir -p ~/.icons wget -O ~/install-tmp/Nordzy-cursors-lefthand.tar.gz \ https://github.com/guillaumeboehm/Nordzy-cursors/releases/download/v2.3.0/Nordzy-cursors-lefthand.tar.gz tar -zxf ~/install-tmp/Nordzy-cursors-lefthand.tar.gz -C ~/.icons/ # 8. Enable Bluetooth and wireless services +log "Enabling Bluetooth and wireless services..." sudo systemctl enable bluez sudo systemctl enable bluetooth.service sudo systemctl enable iwd.service @@ -90,7 +94,7 @@ sudo systemctl enable iwd.service # hyprpm add https://github.com/hyprwm/hyprland-plugins # 10. Copy configs -echo "Copying configs..." +log "Copying configs..." CONFIGS=(kitty mimeapps.list vicinae walker ulauncher hypr xfce4 wofi dunst alacritty nwg-dock-hyprland nwg-drawer nwg-panel scripts btop gtk-3.0) for cfg in "${CONFIGS[@]}"; do rm -rf ~/.config/"$cfg" @@ -105,16 +109,18 @@ cp ~/Dotfiles/desktopenvs/hyprlua/hypr-usr/wallpaper.conf ~/.config/ cp ~/Dotfiles/colors.conf ~/.config/colors.conf # 11. Wallpaper and resources +log "Copying wallpaper and resources..." mkdir -p ~/Pictures cp ~/Dotfiles/resources/fflogo.svg ~/Pictures/fflogo.svg wget "https://cloud.abdelbaki.eu/apps/theming/image/background?v=15" -O ~/Pictures/background.jpg # 12. Python venv for scripts +log "Setting up Python venv for scripts..." python -m venv ~/.config/python-script ~/.config/python-script/bin/pip install speedtest-cli requests pint simpleeval parsedatetime # 13. Udiskie icon fix -echo "Applying Udiskie icon fix..." +log "Applying Udiskie icon fix..." PAPIRUS_DIR="/usr/share/icons/Papirus-Dark/status" HICOLOR_DIR="/usr/share/icons/hicolor/scalable/status" if [ -d "$PAPIRUS_DIR" ]; then @@ -122,18 +128,20 @@ if [ -d "$PAPIRUS_DIR" ]; then sudo ln -sf "$PAPIRUS_DIR/checkbox-unchecked.svg" "$HICOLOR_DIR/udiskie-checkbox-unchecked.svg" sudo gtk-update-icon-cache -f -t /usr/share/icons/hicolor else - echo "Papirus-Dark not found — skipping udiskie icon fix." + warn "Papirus-Dark not found — skipping udiskie icon fix." fi # 14. Enable udiskie +log "Enabling udiskie service..." sudo systemctl enable udiskie.service sudo systemctl start udiskie.service # 15. Install config updater and theme script +log "Installing config updater and theme script..." mkdir -p ~/.config/config-updater ln -sf ~/Dotfiles/desktopenvs/hyprlua/config-updater/updater.conf ~/.config/config-updater/updater.conf ln -sf ~/Dotfiles/desktopenvs/hyprlua/config-updater/update-configs.sh ~/update-configs.sh cp ~/Dotfiles/apply-theme.sh ~/apply-theme.sh chmod +x ~/apply-theme.sh -echo "=== HyprLua installation complete. Reboot to start. ===" +log "HyprLua installation complete. Reboot to start." diff --git a/setup/modules/Desktop-Environments/kde-plasma.sh b/setup/modules/Desktop-Environments/kde-plasma.sh index fa02ce0..83cc737 100755 --- a/setup/modules/Desktop-Environments/kde-plasma.sh +++ b/setup/modules/Desktop-Environments/kde-plasma.sh @@ -1,9 +1,8 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../lib/logging.sh" -echo "=== KDE Plasma Installer ===" - -echo "[+] Installing KDE Plasma..." +log "Installing KDE Plasma desktop..." sudo pacman -S --noconfirm --needed \ plasma-meta \ sddm sddm-kcm \ @@ -16,9 +15,9 @@ sudo pacman -S --noconfirm --needed \ power-profiles-daemon \ flatpak -echo "[+] Enabling services..." +log "Enabling services..." sudo systemctl enable sddm.service sudo systemctl enable NetworkManager.service sudo systemctl enable bluetooth.service -echo "=== KDE Plasma installation complete. Reboot to start. ===" +log "KDE Plasma installation complete. Reboot to start." diff --git a/setup/modules/Desktop-Environments/lxqt.sh b/setup/modules/Desktop-Environments/lxqt.sh index 9fc685f..6e1911e 100755 --- a/setup/modules/Desktop-Environments/lxqt.sh +++ b/setup/modules/Desktop-Environments/lxqt.sh @@ -1,9 +1,8 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../lib/logging.sh" -echo "=== LXQt Installer ===" - -echo "[+] Installing LXQt..." +log "Installing LXQt desktop..." sudo pacman -S --noconfirm --needed \ lxqt \ openbox obconf-qt \ @@ -17,9 +16,9 @@ sudo pacman -S --noconfirm --needed \ gvfs gvfs-smb gvfs-mtp \ flatpak -echo "[+] Enabling services..." +log "Enabling services..." sudo systemctl enable sddm.service sudo systemctl enable NetworkManager.service sudo systemctl enable bluetooth.service -echo "=== LXQt installation complete. Reboot to start. ===" +log "LXQt installation complete. Reboot to start." diff --git a/setup/modules/Desktop-Environments/sway.sh b/setup/modules/Desktop-Environments/sway.sh index 619a05b..60ff14b 100644 --- a/setup/modules/Desktop-Environments/sway.sh +++ b/setup/modules/Desktop-Environments/sway.sh @@ -1,10 +1,11 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../lib/logging.sh" -echo "=== Sway Environment Installer ===" +log "Starting Sway installer..." # 1. Install packages -echo "Installing required packages..." +log "Installing required packages..." sudo pacman -Syu --noconfirm --needed \ brightnessctl btop dmenu foot glfw grim \ greetd-tuigreet gst-plugin-pipewire imagemagick iwd libpulse \ @@ -18,15 +19,16 @@ sudo pacman -Syu --noconfirm --needed \ zram-generator # 2. Enable services -echo "Enabling services..." +log "Enabling services..." sudo systemctl enable NetworkManager.service # 3. greetd config +log "Deploying greetd config..." sudo cp -f ~/Dotfiles/desktopenvs/hyprland/greetd-tuigreet/config.toml /etc/greetd/config.toml sudo systemctl enable greetd.service # 4. Copy DE configs -echo "Copying configs..." +log "Copying Sway configs..." CONFIGS=(sway alacritty) for cfg in "${CONFIGS[@]}"; do rm -rf ~/.config/"$cfg" @@ -37,4 +39,4 @@ cp ~/Dotfiles/colors.conf ~/.config/colors.conf cp ~/Dotfiles/apply-theme.sh ~/apply-theme.sh chmod +x ~/apply-theme.sh -echo "=== Sway installation complete. Run shell-setup.sh if you haven't already, then reboot. ===" +log "Sway installation complete. Run shell-setup.sh if you haven't already, then reboot." diff --git a/setup/modules/Desktop-Environments/xfce.sh b/setup/modules/Desktop-Environments/xfce.sh index 84aa141..0f72a07 100755 --- a/setup/modules/Desktop-Environments/xfce.sh +++ b/setup/modules/Desktop-Environments/xfce.sh @@ -1,9 +1,8 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../lib/logging.sh" -echo "=== XFCE Installer ===" - -echo "[+] Installing XFCE..." +log "Installing XFCE desktop..." sudo pacman -S --noconfirm --needed \ xfce4 xfce4-goodies \ lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings \ @@ -15,9 +14,9 @@ sudo pacman -S --noconfirm --needed \ gvfs gvfs-smb gvfs-mtp \ flatpak -echo "[+] Enabling services..." +log "Enabling services..." sudo systemctl enable lightdm.service sudo systemctl enable NetworkManager.service sudo systemctl enable bluetooth.service -echo "=== XFCE installation complete. Reboot to start. ===" +log "XFCE installation complete. Reboot to start." diff --git a/setup/modules/core-packages.sh b/setup/modules/core-packages.sh index 5099559..08f54a4 100644 --- a/setup/modules/core-packages.sh +++ b/setup/modules/core-packages.sh @@ -1,6 +1,8 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/lib/logging.sh" +log "Installing core packages..." sudo pacman -Syu --noconfirm --needed \ 7zip arch-install-scripts atftp atool \ base base-devel bc bind bluez btrfs-progs btop \ @@ -18,4 +20,7 @@ sudo pacman -Syu --noconfirm --needed \ vim vnstat wget whois wireplumber wireless_tools wpa_supplicant wprs \ yazi zip unzip zram-generator +log "Installing AUR packages..." yay -S --aur --noconfirm --needed pamtester + +log "Core packages installed." diff --git a/setup/modules/core.sh b/setup/modules/core.sh index a3e6000..ffd12cb 100644 --- a/setup/modules/core.sh +++ b/setup/modules/core.sh @@ -1,16 +1,21 @@ #!/bin/bash +set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/lib/logging.sh" -#networkmanager setup -echo "enabling NetworkManager" +log "Enabling NetworkManager..." sudo systemctl enable NetworkManager.service -#cron setup -echo "enabling cronie" +log "Enabling cronie..." sudo systemctl enable cronie.service -#greetd setup -echo "Installing greetd" +log "Deploying greetd config..." sudo cp -f ~/Dotfiles/desktopenvs/hyprland/greetd-tuigreet/config.toml /etc/greetd/config.toml sudo systemctl enable greetd.service + +log "Enabling fail2ban..." sudo systemctl enable fail2ban.service + +log "Enabling udisks2..." sudo systemctl enable udisks2.service + +log "Core services enabled." diff --git a/setup/modules/lib/logging.sh b/setup/modules/lib/logging.sh new file mode 100644 index 0000000..df0050c --- /dev/null +++ b/setup/modules/lib/logging.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Shared logging helpers — source this in every module + +GREEN="\e[32m" +YELLOW="\e[33m" +RED="\e[31m" +RESET="\e[0m" + +log() { printf "${GREEN}[+] %s${RESET}\n" "$*"; } +skip() { printf "${YELLOW}[~] %s${RESET}\n" "$*"; } +warn() { printf "${YELLOW}[!] %s${RESET}\n" "$*" >&2; } +err() { printf "${RED}[✖] %s${RESET}\n" "$*" >&2; } diff --git a/setup/modules/optional-Modules/apps/anti-malware.sh b/setup/modules/optional-Modules/apps/anti-malware.sh index 07bae0a..47adfb1 100644 --- a/setup/modules/optional-Modules/apps/anti-malware.sh +++ b/setup/modules/optional-Modules/apps/anti-malware.sh @@ -1,24 +1,33 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing anti-malware tools (clamav, clamtk, rkhunter)..." sudo pacman -S --noconfirm --needed \ clamav clamtk rkhunter +log "Installing chkrootkit (AUR)..." yay -S --aur --noconfirm --needed chkrootkit # initialise ClamAV database (first run) if [[ ! -f /var/lib/clamav/main.cvd ]] && [[ ! -f /var/lib/clamav/main.cld ]]; then - echo "Running initial freshclam..." + log "Running initial freshclam (virus database update)..." sudo freshclam +else + skip "ClamAV database already present." fi # cron job: update virus definitions twice a day CRON_FILE=/etc/cron.d/freshclam if [[ ! -f "$CRON_FILE" ]]; then - echo "Installing freshclam cron job..." + log "Installing freshclam cron job (twice daily)..." sudo tee "$CRON_FILE" > /dev/null <<'EOF' # Update ClamAV virus definitions twice a day 0 */12 * * * root /usr/bin/freshclam --quiet 2>/dev/null EOF sudo chmod 644 "$CRON_FILE" +else + skip "freshclam cron job already configured." fi + +log "Anti-malware tools installed." diff --git a/setup/modules/optional-Modules/apps/ardour.sh b/setup/modules/optional-Modules/apps/ardour.sh index be7fb12..7b2cb79 100644 --- a/setup/modules/optional-Modules/apps/ardour.sh +++ b/setup/modules/optional-Modules/apps/ardour.sh @@ -1,4 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing Ardour (professional DAW)..." sudo pacman -S --noconfirm --needed ardour +log "Ardour installed." diff --git a/setup/modules/optional-Modules/apps/audacity.sh b/setup/modules/optional-Modules/apps/audacity.sh index 8694955..3548eb9 100644 --- a/setup/modules/optional-Modules/apps/audacity.sh +++ b/setup/modules/optional-Modules/apps/audacity.sh @@ -1,4 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing Audacity (audio editor)..." sudo pacman -S --noconfirm --needed audacity +log "Audacity installed." diff --git a/setup/modules/optional-Modules/apps/blender-povray.sh b/setup/modules/optional-Modules/apps/blender-povray.sh index c5f01c4..c813518 100644 --- a/setup/modules/optional-Modules/apps/blender-povray.sh +++ b/setup/modules/optional-Modules/apps/blender-povray.sh @@ -1,4 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing Blender and POV-Ray..." sudo pacman -S --noconfirm --needed blender povray +log "Blender and POV-Ray installed." diff --git a/setup/modules/optional-Modules/apps/butter.sh b/setup/modules/optional-Modules/apps/butter.sh index 0ad5535..32b0fbc 100755 --- a/setup/modules/optional-Modules/apps/butter.sh +++ b/setup/modules/optional-Modules/apps/butter.sh @@ -1,6 +1,10 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing btrfs-progs..." sudo pacman -S --noconfirm --needed btrfs-progs +log "Installing butter (AUR)..." yay -S --answerdiff None --answerclean All --noconfirm butter +log "butter installed." diff --git a/setup/modules/optional-Modules/apps/cecilia.sh b/setup/modules/optional-Modules/apps/cecilia.sh index f5cfb15..20996b2 100644 --- a/setup/modules/optional-Modules/apps/cecilia.sh +++ b/setup/modules/optional-Modules/apps/cecilia.sh @@ -1,4 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing Cecilia (AUR)..." yay -S --answerdiff None --answerclean All --noconfirm cecilia +log "Cecilia installed." diff --git a/setup/modules/optional-Modules/apps/chromium.sh b/setup/modules/optional-Modules/apps/chromium.sh index bd5fe3f..502444b 100644 --- a/setup/modules/optional-Modules/apps/chromium.sh +++ b/setup/modules/optional-Modules/apps/chromium.sh @@ -1,3 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" + +log "Installing Chromium..." sudo pacman -S --noconfirm --needed chromium +log "Chromium installed." diff --git a/setup/modules/optional-Modules/apps/claude.sh b/setup/modules/optional-Modules/apps/claude.sh index 64d6933..a7727f2 100755 --- a/setup/modules/optional-Modules/apps/claude.sh +++ b/setup/modules/optional-Modules/apps/claude.sh @@ -1,9 +1,13 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing Claude Code via npm..." if ! command -v npm &>/dev/null; then + log "Sourcing nvm to get npm..." export NVM_DIR="$HOME/.nvm" [[ -s "$NVM_DIR/nvm.sh" ]] && source "$NVM_DIR/nvm.sh" fi npm install -g @anthropic-ai/claude-code +log "Claude Code installed." diff --git a/setup/modules/optional-Modules/apps/cockpit.sh b/setup/modules/optional-Modules/apps/cockpit.sh index cda70e5..661bba0 100644 --- a/setup/modules/optional-Modules/apps/cockpit.sh +++ b/setup/modules/optional-Modules/apps/cockpit.sh @@ -1,17 +1,19 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" -# Core + official-repo plugins +log "Installing Cockpit (core + official plugins)..." sudo pacman -S --noconfirm --needed \ cockpit \ cockpit-pcp \ pcp -# AUR plugins: machines (VMs), podman containers, file navigator +log "Installing Cockpit AUR plugins (machines, podman, navigator)..." yay -S --answerdiff None --answerclean All --noconfirm \ cockpit-machines \ cockpit-podman \ cockpit-navigator +log "Enabling Cockpit socket..." sudo systemctl enable cockpit.socket -echo "Cockpit enabled. Web UI available at https://localhost:9090" +log "Cockpit enabled. Web UI available at https://localhost:9090" diff --git a/setup/modules/optional-Modules/apps/codeblocks.sh b/setup/modules/optional-Modules/apps/codeblocks.sh index a2deffb..3daadc3 100644 --- a/setup/modules/optional-Modules/apps/codeblocks.sh +++ b/setup/modules/optional-Modules/apps/codeblocks.sh @@ -1,3 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" + +log "Installing Code::Blocks..." sudo pacman -S --noconfirm --needed codeblocks +log "Code::Blocks installed." diff --git a/setup/modules/optional-Modules/apps/croc.sh b/setup/modules/optional-Modules/apps/croc.sh index a1af8b5..22fad87 100755 --- a/setup/modules/optional-Modules/apps/croc.sh +++ b/setup/modules/optional-Modules/apps/croc.sh @@ -1,3 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" + +log "Installing croc (file transfer)..." sudo pacman -S --noconfirm --needed croc +log "croc installed." diff --git a/setup/modules/optional-Modules/apps/db-clients.sh b/setup/modules/optional-Modules/apps/db-clients.sh index f6f11d0..2649211 100755 --- a/setup/modules/optional-Modules/apps/db-clients.sh +++ b/setup/modules/optional-Modules/apps/db-clients.sh @@ -1,6 +1,10 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing pgcli..." sudo pacman -S --noconfirm --needed pgcli +log "Installing mycli (AUR)..." yay -S --answerdiff None --answerclean All --noconfirm mycli +log "DB clients installed." diff --git a/setup/modules/optional-Modules/apps/disk-recovery.sh b/setup/modules/optional-Modules/apps/disk-recovery.sh index 96e9f6d..28f52db 100755 --- a/setup/modules/optional-Modules/apps/disk-recovery.sh +++ b/setup/modules/optional-Modules/apps/disk-recovery.sh @@ -1,6 +1,10 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing ddrescue..." sudo pacman -S --noconfirm --needed ddrescue +log "Installing f3 (AUR)..." yay -S --answerdiff None --answerclean All --noconfirm f3 +log "Disk recovery tools installed." diff --git a/setup/modules/optional-Modules/apps/docker.sh b/setup/modules/optional-Modules/apps/docker.sh index 571c316..373ec18 100644 --- a/setup/modules/optional-Modules/apps/docker.sh +++ b/setup/modules/optional-Modules/apps/docker.sh @@ -1,7 +1,14 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing Docker and Docker Compose..." sudo pacman -S --noconfirm --needed docker docker-compose + +log "Enabling Docker service..." sudo systemctl enable docker.service + +log "Adding $USER to docker group..." sudo usermod -aG docker "$USER" -echo "Docker installed. Log out and back in for group membership to take effect." + +log "Docker installed. Log out and back in for group membership to take effect." diff --git a/setup/modules/optional-Modules/apps/doom.sh b/setup/modules/optional-Modules/apps/doom.sh index 6d1bc01..0148429 100644 --- a/setup/modules/optional-Modules/apps/doom.sh +++ b/setup/modules/optional-Modules/apps/doom.sh @@ -1,5 +1,8 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" # chocolate-doom: faithful vanilla Doom port; freedoom: free game data (playable without IWADs) +log "Installing Chocolate Doom and Freedoom data..." sudo pacman -S --noconfirm --needed chocolate-doom freedoom +log "Doom installed." diff --git a/setup/modules/optional-Modules/apps/ffmpeg.sh b/setup/modules/optional-Modules/apps/ffmpeg.sh index e557a03..a5494f6 100755 --- a/setup/modules/optional-Modules/apps/ffmpeg.sh +++ b/setup/modules/optional-Modules/apps/ffmpeg.sh @@ -1,6 +1,9 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing FFmpeg extras (thumbnailer + GStreamer codecs)..." sudo pacman -S --noconfirm --needed \ ffmpeg ffmpegthumbnailer \ gst-libav gst-plugins-good gst-plugins-bad gst-plugins-ugly +log "FFmpeg extras installed." diff --git a/setup/modules/optional-Modules/apps/firefox.sh b/setup/modules/optional-Modules/apps/firefox.sh index e53c71a..c2225fc 100644 --- a/setup/modules/optional-Modules/apps/firefox.sh +++ b/setup/modules/optional-Modules/apps/firefox.sh @@ -1,3 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" + +log "Installing Firefox..." sudo pacman -S --noconfirm --needed firefox +log "Firefox installed." diff --git a/setup/modules/optional-Modules/apps/freeipa-client.sh b/setup/modules/optional-Modules/apps/freeipa-client.sh index 219fdce..4d84f4f 100755 --- a/setup/modules/optional-Modules/apps/freeipa-client.sh +++ b/setup/modules/optional-Modules/apps/freeipa-client.sh @@ -1,5 +1,8 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" + +log "Starting FreeIPA client installer..." SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" FREEIPA_DIR="$SCRIPT_DIR/../../FreeipaAnsible" diff --git a/setup/modules/optional-Modules/apps/freeipa-image-builder.sh b/setup/modules/optional-Modules/apps/freeipa-image-builder.sh index 4a09cac..a507cb0 100755 --- a/setup/modules/optional-Modules/apps/freeipa-image-builder.sh +++ b/setup/modules/optional-Modules/apps/freeipa-image-builder.sh @@ -1,5 +1,7 @@ #!/bin/bash # freeipa-image-builder.sh — build a FreeIPA server image for multiple targets +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Starting FreeIPA image builder..." # # Targets (TUI chooser): # docker Build Docker/Podman image and optionally push to a registry diff --git a/setup/modules/optional-Modules/apps/freeipa-server.sh b/setup/modules/optional-Modules/apps/freeipa-server.sh index 6a24732..4d31e21 100755 --- a/setup/modules/optional-Modules/apps/freeipa-server.sh +++ b/setup/modules/optional-Modules/apps/freeipa-server.sh @@ -5,6 +5,9 @@ # and optionally auto-enroll-ansible.sh) ready for distribution. set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" + +log "Starting FreeIPA server installer..." RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m' BLUE='\033[0;34m'; CYAN='\033[0;36m'; MAGENTA='\033[0;35m'; NC='\033[0m' diff --git a/setup/modules/optional-Modules/apps/geany.sh b/setup/modules/optional-Modules/apps/geany.sh index 3628d0a..d9fecb3 100644 --- a/setup/modules/optional-Modules/apps/geany.sh +++ b/setup/modules/optional-Modules/apps/geany.sh @@ -1,3 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" + +log "Installing Geany and plugins..." sudo pacman -S --noconfirm --needed geany geany-plugins +log "Geany installed." diff --git a/setup/modules/optional-Modules/apps/gimp.sh b/setup/modules/optional-Modules/apps/gimp.sh index bb1dad3..34d275e 100644 --- a/setup/modules/optional-Modules/apps/gimp.sh +++ b/setup/modules/optional-Modules/apps/gimp.sh @@ -1,4 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing GIMP..." sudo pacman -S --noconfirm --needed gimp +log "GIMP installed." diff --git a/setup/modules/optional-Modules/apps/gnuplot.sh b/setup/modules/optional-Modules/apps/gnuplot.sh index 5dcf98c..04c520e 100755 --- a/setup/modules/optional-Modules/apps/gnuplot.sh +++ b/setup/modules/optional-Modules/apps/gnuplot.sh @@ -1,4 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing Gnuplot..." sudo pacman -S --noconfirm --needed gnuplot +log "Gnuplot installed." diff --git a/setup/modules/optional-Modules/apps/himalaya.sh b/setup/modules/optional-Modules/apps/himalaya.sh index 2787861..3baf644 100755 --- a/setup/modules/optional-Modules/apps/himalaya.sh +++ b/setup/modules/optional-Modules/apps/himalaya.sh @@ -1,4 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing Himalaya (AUR)..." yay -S --answerdiff None --answerclean All --noconfirm himalaya-bin +log "Himalaya installed." diff --git a/setup/modules/optional-Modules/apps/imagemagick.sh b/setup/modules/optional-Modules/apps/imagemagick.sh index fb7b4a2..66deb4f 100755 --- a/setup/modules/optional-Modules/apps/imagemagick.sh +++ b/setup/modules/optional-Modules/apps/imagemagick.sh @@ -1,4 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing ImageMagick..." sudo pacman -S --noconfirm --needed imagemagick +log "ImageMagick installed." diff --git a/setup/modules/optional-Modules/apps/inkscape.sh b/setup/modules/optional-Modules/apps/inkscape.sh index 4fb7e6f..e8d84b5 100644 --- a/setup/modules/optional-Modules/apps/inkscape.sh +++ b/setup/modules/optional-Modules/apps/inkscape.sh @@ -1,4 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing Inkscape..." sudo pacman -S --noconfirm --needed inkscape +log "Inkscape installed." diff --git a/setup/modules/optional-Modules/apps/k8s.sh b/setup/modules/optional-Modules/apps/k8s.sh index b1c33ef..74e6a30 100644 --- a/setup/modules/optional-Modules/apps/k8s.sh +++ b/setup/modules/optional-Modules/apps/k8s.sh @@ -1,3 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" + +log "Installing Kubernetes tools (kubectl, podman-desktop)..." sudo pacman -S --noconfirm --needed kubectl podman-desktop +log "Kubernetes tools installed." diff --git a/setup/modules/optional-Modules/apps/kate.sh b/setup/modules/optional-Modules/apps/kate.sh index c2d6594..43e80c6 100644 --- a/setup/modules/optional-Modules/apps/kate.sh +++ b/setup/modules/optional-Modules/apps/kate.sh @@ -1,3 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" + +log "Installing Kate..." sudo pacman -S --noconfirm --needed kate +log "Kate installed." diff --git a/setup/modules/optional-Modules/apps/kdenlive.sh b/setup/modules/optional-Modules/apps/kdenlive.sh index 0a49008..c4b8c12 100644 --- a/setup/modules/optional-Modules/apps/kdenlive.sh +++ b/setup/modules/optional-Modules/apps/kdenlive.sh @@ -1,4 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing Kdenlive..." sudo pacman -S --noconfirm --needed kdenlive +log "Kdenlive installed." diff --git a/setup/modules/optional-Modules/apps/krita.sh b/setup/modules/optional-Modules/apps/krita.sh index 7cc95be..da4c0a0 100644 --- a/setup/modules/optional-Modules/apps/krita.sh +++ b/setup/modules/optional-Modules/apps/krita.sh @@ -1,4 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing Krita..." sudo pacman -S --noconfirm --needed krita +log "Krita installed." diff --git a/setup/modules/optional-Modules/apps/lamco-rdp-server.sh b/setup/modules/optional-Modules/apps/lamco-rdp-server.sh index 5ada75b..40b19a4 100644 --- a/setup/modules/optional-Modules/apps/lamco-rdp-server.sh +++ b/setup/modules/optional-Modules/apps/lamco-rdp-server.sh @@ -1,16 +1,16 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" # lamco-rdp-server — native Wayland RDP server (Rust, H.264, VA-API) # Builds from AUR; requires cargo, clang, cmake, nasm (auto-pulled as makedeps) +log "Installing lamco-rdp-server (AUR)..." yay -S --answerdiff None --answerclean All --noconfirm lamco-rdp-server -# Runs as a systemd user service (session-scoped, D-Bus activated) +log "Enabling lamco-rdp-server as user service..." systemctl --user enable lamco-rdp-server.service -echo "lamco-rdp-server enabled as a user service." -echo "Start it with: systemctl --user start lamco-rdp-server" -echo "Or launch the GUI tray: lamco-rdp-server-gui" -echo "" -echo "Optional: install a matching xdg-desktop-portal for your compositor:" -echo " xdg-desktop-portal-hyprland / -wlr / -gnome / -kde" +log "lamco-rdp-server enabled as a user service." +log "Start it with: systemctl --user start lamco-rdp-server" +log "Or launch the GUI tray: lamco-rdp-server-gui" +warn "Install a matching xdg-desktop-portal for your compositor: xdg-desktop-portal-hyprland / -wlr / -gnome / -kde" diff --git a/setup/modules/optional-Modules/apps/librewolf.sh b/setup/modules/optional-Modules/apps/librewolf.sh index 5ab3713..de8425e 100644 --- a/setup/modules/optional-Modules/apps/librewolf.sh +++ b/setup/modules/optional-Modules/apps/librewolf.sh @@ -1,3 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" + +log "Installing LibreWolf (AUR)..." yay -S --answerdiff None --answerclean All --noconfirm librewolf-bin +log "LibreWolf installed." diff --git a/setup/modules/optional-Modules/apps/llama-cpp.sh b/setup/modules/optional-Modules/apps/llama-cpp.sh index 034a1c2..5e12877 100755 --- a/setup/modules/optional-Modules/apps/llama-cpp.sh +++ b/setup/modules/optional-Modules/apps/llama-cpp.sh @@ -1,7 +1,10 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" # Provides standalone llama-cli, llama-server, and related tools. # Ollama bundles its own copy of llama.cpp internally — the two coexist # at the package level but share GPU resources at runtime. +log "Installing llama.cpp (AUR)..." yay -S --answerdiff None --answerclean All --noconfirm llama-cpp +log "llama.cpp installed." diff --git a/setup/modules/optional-Modules/apps/lmms.sh b/setup/modules/optional-Modules/apps/lmms.sh index aef1a53..5de8a28 100644 --- a/setup/modules/optional-Modules/apps/lmms.sh +++ b/setup/modules/optional-Modules/apps/lmms.sh @@ -1,4 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing LMMS..." sudo pacman -S --noconfirm --needed lmms +log "LMMS installed." diff --git a/setup/modules/optional-Modules/apps/localsend.sh b/setup/modules/optional-Modules/apps/localsend.sh index ac5bb42..0454412 100644 --- a/setup/modules/optional-Modules/apps/localsend.sh +++ b/setup/modules/optional-Modules/apps/localsend.sh @@ -1,3 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" + +log "Installing LocalSend (AUR)..." yay -S --answerdiff None --answerclean All --noconfirm localsend +log "LocalSend installed." diff --git a/setup/modules/optional-Modules/apps/localtunnel.sh b/setup/modules/optional-Modules/apps/localtunnel.sh index 6039676..f719613 100755 --- a/setup/modules/optional-Modules/apps/localtunnel.sh +++ b/setup/modules/optional-Modules/apps/localtunnel.sh @@ -1,8 +1,11 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing LocalTunnel..." if command -v npm &>/dev/null; then npm install -g localtunnel else yay -S --answerdiff None --answerclean All --noconfirm localtunnel fi +log "LocalTunnel installed." diff --git a/setup/modules/optional-Modules/apps/min-browser.sh b/setup/modules/optional-Modules/apps/min-browser.sh index d309b43..9b30375 100644 --- a/setup/modules/optional-Modules/apps/min-browser.sh +++ b/setup/modules/optional-Modules/apps/min-browser.sh @@ -1,3 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" + +log "Installing Min browser (AUR)..." yay -S --answerdiff None --answerclean All --noconfirm min +log "Min browser installed." diff --git a/setup/modules/optional-Modules/apps/mixxx.sh b/setup/modules/optional-Modules/apps/mixxx.sh index f4b999c..a9676a6 100644 --- a/setup/modules/optional-Modules/apps/mixxx.sh +++ b/setup/modules/optional-Modules/apps/mixxx.sh @@ -1,4 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing Mixxx (DJ software)..." sudo pacman -S --noconfirm --needed mixxx +log "Mixxx installed." diff --git a/setup/modules/optional-Modules/apps/mysql.sh b/setup/modules/optional-Modules/apps/mysql.sh index bb706b4..7050df8 100755 --- a/setup/modules/optional-Modules/apps/mysql.sh +++ b/setup/modules/optional-Modules/apps/mysql.sh @@ -1,10 +1,17 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing MariaDB..." sudo pacman -S --noconfirm --needed mariadb if [[ ! -d /var/lib/mysql/mysql ]]; then + log "Initialising MariaDB data directory..." sudo mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql +else + skip "MariaDB data directory already initialised." fi +log "Enabling MariaDB service..." sudo systemctl enable --now mariadb.service +log "MariaDB installed and running." diff --git a/setup/modules/optional-Modules/apps/networking-cli.sh b/setup/modules/optional-Modules/apps/networking-cli.sh index 6d80186..abcc491 100755 --- a/setup/modules/optional-Modules/apps/networking-cli.sh +++ b/setup/modules/optional-Modules/apps/networking-cli.sh @@ -1,6 +1,9 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing networking CLI tools..." sudo pacman -S --noconfirm --needed \ httpie ipcalc mitmproxy mtr net-tools nethogs \ nmap tcpdump traceroute +log "Networking CLI tools installed." diff --git a/setup/modules/optional-Modules/apps/nyxt.sh b/setup/modules/optional-Modules/apps/nyxt.sh index c77f8fa..6d258ec 100644 --- a/setup/modules/optional-Modules/apps/nyxt.sh +++ b/setup/modules/optional-Modules/apps/nyxt.sh @@ -1,3 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" + +log "Installing Nyxt browser (AUR)..." yay -S --answerdiff None --answerclean All --noconfirm nyxt +log "Nyxt installed." diff --git a/setup/modules/optional-Modules/apps/ollama.sh b/setup/modules/optional-Modules/apps/ollama.sh index c911021..d201a12 100755 --- a/setup/modules/optional-Modules/apps/ollama.sh +++ b/setup/modules/optional-Modules/apps/ollama.sh @@ -1,12 +1,15 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" # GPU variants: install ollama-cuda (AUR) for NVIDIA or ollama-rocm (AUR) for AMD. # The base package runs on CPU and auto-uses GPU libs if present at runtime. +log "Installing Ollama..." sudo pacman -S --noconfirm --needed ollama +log "Enabling Ollama service..." sudo systemctl enable --now ollama.service -echo "Ollama running on http://localhost:11434" -echo "Pull models with: ollama pull " -echo "Note: if llama.cpp is also installed, avoid running both GPU-bound at once." +log "Ollama running on http://localhost:11434" +log "Pull models with: ollama pull " +warn "If llama.cpp is also installed, avoid running both GPU-bound at once." diff --git a/setup/modules/optional-Modules/apps/onlyoffice.sh b/setup/modules/optional-Modules/apps/onlyoffice.sh index 8c0d45e..e878198 100644 --- a/setup/modules/optional-Modules/apps/onlyoffice.sh +++ b/setup/modules/optional-Modules/apps/onlyoffice.sh @@ -1,3 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" + +log "Installing OnlyOffice (AUR)..." yay -S --answerdiff None --answerclean All --noconfirm onlyoffice-bin +log "OnlyOffice installed." diff --git a/setup/modules/optional-Modules/apps/open-webui.sh b/setup/modules/optional-Modules/apps/open-webui.sh index 0842c41..f0da8ec 100755 --- a/setup/modules/optional-Modules/apps/open-webui.sh +++ b/setup/modules/optional-Modules/apps/open-webui.sh @@ -1,10 +1,13 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" # Open WebUI — browser UI for Ollama and other LLM backends. # Ollama module should be installed first for full functionality. +log "Installing Open WebUI (AUR)..." yay -S --answerdiff None --answerclean All --noconfirm open-webui +log "Enabling Open WebUI service..." sudo systemctl enable --now open-webui.service -echo "Open WebUI running at http://localhost:8080" +log "Open WebUI running at http://localhost:8080" diff --git a/setup/modules/optional-Modules/apps/openarena.sh b/setup/modules/optional-Modules/apps/openarena.sh index 7a32af2..f48385a 100644 --- a/setup/modules/optional-Modules/apps/openarena.sh +++ b/setup/modules/optional-Modules/apps/openarena.sh @@ -1,3 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" + +log "Installing OpenArena..." sudo pacman -S --noconfirm --needed openarena +log "OpenArena installed." diff --git a/setup/modules/optional-Modules/apps/openshot.sh b/setup/modules/optional-Modules/apps/openshot.sh index 1d7cfc3..3101e14 100644 --- a/setup/modules/optional-Modules/apps/openshot.sh +++ b/setup/modules/optional-Modules/apps/openshot.sh @@ -1,4 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing OpenShot..." sudo pacman -S --noconfirm --needed openshot +log "OpenShot installed." diff --git a/setup/modules/optional-Modules/apps/podman.sh b/setup/modules/optional-Modules/apps/podman.sh index 418f76f..aad5f32 100644 --- a/setup/modules/optional-Modules/apps/podman.sh +++ b/setup/modules/optional-Modules/apps/podman.sh @@ -1,7 +1,10 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing Podman (rootless containers, buildah, skopeo)..." sudo pacman -S --noconfirm --needed podman podman-compose buildah skopeo -# Enable lingering so rootless containers survive logout + +log "Enabling user lingering so rootless containers survive logout..." loginctl enable-linger "$USER" -echo "Podman installed (rootless, no daemon). User lingering enabled." +log "Podman installed (rootless, no daemon). User lingering enabled." diff --git a/setup/modules/optional-Modules/apps/prismlauncher.sh b/setup/modules/optional-Modules/apps/prismlauncher.sh index baa2faa..a72b539 100644 --- a/setup/modules/optional-Modules/apps/prismlauncher.sh +++ b/setup/modules/optional-Modules/apps/prismlauncher.sh @@ -1,3 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" + +log "Installing PrismLauncher (Flatpak)..." flatpak install -y flathub org.prismlauncher.PrismLauncher +log "PrismLauncher installed." diff --git a/setup/modules/optional-Modules/apps/productivity.sh b/setup/modules/optional-Modules/apps/productivity.sh index 7030594..0535af4 100755 --- a/setup/modules/optional-Modules/apps/productivity.sh +++ b/setup/modules/optional-Modules/apps/productivity.sh @@ -1,6 +1,10 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing taskwarrior..." sudo pacman -S --noconfirm --needed task +log "Installing watson and jrnl (AUR)..." yay -S --answerdiff None --answerclean All --noconfirm watson python-jrnl +log "Productivity tools installed." diff --git a/setup/modules/optional-Modules/apps/qemu.sh b/setup/modules/optional-Modules/apps/qemu.sh index d1aa336..bd267e1 100644 --- a/setup/modules/optional-Modules/apps/qemu.sh +++ b/setup/modules/optional-Modules/apps/qemu.sh @@ -1,7 +1,8 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" -# QEMU/KVM + libvirt stack + virt-manager GUI +log "Installing QEMU/KVM + libvirt stack + virt-manager..." sudo pacman -S --noconfirm --needed \ qemu-full \ libvirt \ @@ -13,10 +14,12 @@ sudo pacman -S --noconfirm --needed \ swtpm \ vde2 +log "Enabling libvirtd service..." sudo systemctl enable --now libvirtd.service -# Enable the default NAT network at libvirt startup +log "Configuring default NAT network for autostart..." sudo virsh net-autostart default 2>/dev/null || true +log "Adding $USER to libvirt and kvm groups..." sudo usermod -aG libvirt,kvm "$USER" -echo "QEMU/KVM installed. Log out and back in for group membership to take effect." +log "QEMU/KVM installed. Log out and back in for group membership to take effect." diff --git a/setup/modules/optional-Modules/apps/rdp-client.sh b/setup/modules/optional-Modules/apps/rdp-client.sh index 6add70c..7ac2885 100644 --- a/setup/modules/optional-Modules/apps/rdp-client.sh +++ b/setup/modules/optional-Modules/apps/rdp-client.sh @@ -1,10 +1,10 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" -# Remmina + protocol plugins +log "Installing Remmina RDP client with FreeRDP and VNC support..." sudo pacman -S --noconfirm --needed \ remmina \ freerdp \ libvncserver - -echo "Remmina installed with RDP (freerdp) and VNC support." +log "Remmina installed with RDP (freerdp) and VNC support." diff --git a/setup/modules/optional-Modules/apps/sauerbraten.sh b/setup/modules/optional-Modules/apps/sauerbraten.sh index d339a7c..6628d75 100644 --- a/setup/modules/optional-Modules/apps/sauerbraten.sh +++ b/setup/modules/optional-Modules/apps/sauerbraten.sh @@ -1,3 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" + +log "Installing Sauerbraten (Cube 2 FPS)..." sudo pacman -S --noconfirm --needed sauerbraten +log "Sauerbraten installed." diff --git a/setup/modules/optional-Modules/apps/shotcut.sh b/setup/modules/optional-Modules/apps/shotcut.sh index 975c809..7cb1d2f 100644 --- a/setup/modules/optional-Modules/apps/shotcut.sh +++ b/setup/modules/optional-Modules/apps/shotcut.sh @@ -1,4 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing Shotcut..." sudo pacman -S --noconfirm --needed shotcut +log "Shotcut installed." diff --git a/setup/modules/optional-Modules/apps/sox.sh b/setup/modules/optional-Modules/apps/sox.sh index beb91a0..ead2ef2 100755 --- a/setup/modules/optional-Modules/apps/sox.sh +++ b/setup/modules/optional-Modules/apps/sox.sh @@ -1,4 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing SoX (audio processing toolkit)..." sudo pacman -S --noconfirm --needed sox +log "SoX installed." diff --git a/setup/modules/optional-Modules/apps/spotify.sh b/setup/modules/optional-Modules/apps/spotify.sh index 59f563f..e8f97a0 100644 --- a/setup/modules/optional-Modules/apps/spotify.sh +++ b/setup/modules/optional-Modules/apps/spotify.sh @@ -1,6 +1,14 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" + +log "Installing Spotify launcher..." sudo pacman -S --noconfirm --needed spotify-launcher + +log "Installing Spicetify CLI..." curl -fsSL https://raw.githubusercontent.com/spicetify/cli/main/install.sh | sh + +log "Deploying Spicetify config..." rm -rf ~/.config/spicetify cp -r ~/Dotfiles/desktopenvs/hyprland/spicetify ~/.config/ +log "Spotify installed with Spicetify theming." diff --git a/setup/modules/optional-Modules/apps/ssh-server.sh b/setup/modules/optional-Modules/apps/ssh-server.sh index 45f6019..b744a9c 100644 --- a/setup/modules/optional-Modules/apps/ssh-server.sh +++ b/setup/modules/optional-Modules/apps/ssh-server.sh @@ -1,14 +1,17 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing OpenSSH server..." sudo pacman -S --noconfirm --needed openssh -# Harden defaults: disable root login, enforce key auth only +log "Hardening SSH config (disable root login, enforce key auth)..." SSHD_CONF=/etc/ssh/sshd_config sudo sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin no/' "$SSHD_CONF" sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/' "$SSHD_CONF" sudo sed -i 's/^#\?PubkeyAuthentication.*/PubkeyAuthentication yes/' "$SSHD_CONF" +log "Enabling sshd service..." sudo systemctl enable sshd.service -echo "SSH server installed and enabled (key auth only, root login disabled)." -echo "Add your public key to ~/.ssh/authorized_keys before first use." +log "SSH server installed and enabled (key auth only, root login disabled)." +warn "Add your public key to ~/.ssh/authorized_keys before first use." diff --git a/setup/modules/optional-Modules/apps/steam.sh b/setup/modules/optional-Modules/apps/steam.sh index b0ef32c..6babf77 100644 --- a/setup/modules/optional-Modules/apps/steam.sh +++ b/setup/modules/optional-Modules/apps/steam.sh @@ -1,3 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" + +log "Installing Steam..." sudo pacman -S --noconfirm --needed steam +log "Steam installed." diff --git a/setup/modules/optional-Modules/apps/stuntrally.sh b/setup/modules/optional-Modules/apps/stuntrally.sh index b7961e7..ba66aac 100644 --- a/setup/modules/optional-Modules/apps/stuntrally.sh +++ b/setup/modules/optional-Modules/apps/stuntrally.sh @@ -1,3 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" + +log "Installing Stunt Rally (Flatpak)..." flatpak install -y flathub io.github.stuntrally.StuntRally3 +log "Stunt Rally installed." diff --git a/setup/modules/optional-Modules/apps/tetris.sh b/setup/modules/optional-Modules/apps/tetris.sh index 040de3f..86c9e96 100644 --- a/setup/modules/optional-Modules/apps/tetris.sh +++ b/setup/modules/optional-Modules/apps/tetris.sh @@ -1,6 +1,10 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing bastet (Tetris CLI)..." sudo pacman -S --noconfirm --needed bastet +log "Installing vitetris (AUR)..." yay -S --answerdiff None --answerclean All --noconfirm vitetris +log "Tetris CLI tools installed." diff --git a/setup/modules/optional-Modules/apps/timeshift.sh b/setup/modules/optional-Modules/apps/timeshift.sh index 6d07d1b..d877c40 100755 --- a/setup/modules/optional-Modules/apps/timeshift.sh +++ b/setup/modules/optional-Modules/apps/timeshift.sh @@ -1,9 +1,13 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing Timeshift and cronie..." sudo pacman -S --noconfirm --needed timeshift cronie -# Auto-snapshot before pacman transactions +log "Installing timeshift-autosnap (AUR)..." yay -S --answerdiff None --answerclean All --noconfirm timeshift-autosnap +log "Enabling cronie service..." sudo systemctl enable --now cronie.service +log "Timeshift installed with autosnap on pacman transactions." diff --git a/setup/modules/optional-Modules/apps/tlp.sh b/setup/modules/optional-Modules/apps/tlp.sh index 07ef5e4..567e9cd 100755 --- a/setup/modules/optional-Modules/apps/tlp.sh +++ b/setup/modules/optional-Modules/apps/tlp.sh @@ -1,8 +1,12 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing TLP (laptop power management)..." sudo pacman -S --noconfirm --needed tlp tlp-rdw +log "Enabling TLP and masking rfkill to avoid conflicts..." sudo systemctl enable --now tlp.service sudo systemctl enable NetworkManager-dispatcher.service sudo systemctl mask systemd-rfkill.service systemd-rfkill.socket +log "TLP installed." diff --git a/setup/modules/optional-Modules/apps/toot.sh b/setup/modules/optional-Modules/apps/toot.sh index 69b9b7b..4a78ace 100755 --- a/setup/modules/optional-Modules/apps/toot.sh +++ b/setup/modules/optional-Modules/apps/toot.sh @@ -1,4 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing toot (Mastodon CLI, AUR)..." yay -S --answerdiff None --answerclean All --noconfirm toot +log "toot installed." diff --git a/setup/modules/optional-Modules/apps/vesktop.sh b/setup/modules/optional-Modules/apps/vesktop.sh index c7e0792..e2153e0 100644 --- a/setup/modules/optional-Modules/apps/vesktop.sh +++ b/setup/modules/optional-Modules/apps/vesktop.sh @@ -1,6 +1,12 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" + +log "Installing Vesktop (AUR)..." yay -S --answerdiff None --answerclean All --noconfirm vesktop + +log "Deploying Vencord config..." rm -rf ~/.config/Vencord ~/.config/vesktop cp -r ~/Dotfiles/desktopenvs/hyprland/Vencord ~/.config/ cp -r ~/Dotfiles/desktopenvs/hyprland/Vencord ~/.config/vesktop +log "Vesktop installed with Vencord theme." diff --git a/setup/modules/optional-Modules/apps/vintagestory.sh b/setup/modules/optional-Modules/apps/vintagestory.sh index 75d57da..1e74293 100644 --- a/setup/modules/optional-Modules/apps/vintagestory.sh +++ b/setup/modules/optional-Modules/apps/vintagestory.sh @@ -1,3 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" + +log "Installing Vintage Story (AUR)..." yay -S --answerdiff None --answerclean All --noconfirm vintagestory +log "Vintage Story installed." diff --git a/setup/modules/optional-Modules/apps/vscodium.sh b/setup/modules/optional-Modules/apps/vscodium.sh index f537713..32e7d7d 100644 --- a/setup/modules/optional-Modules/apps/vscodium.sh +++ b/setup/modules/optional-Modules/apps/vscodium.sh @@ -1,3 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" + +log "Installing VSCodium (AUR)..." yay -S --answerdiff None --answerclean All --noconfirm vscodium-bin +log "VSCodium installed." diff --git a/setup/modules/optional-Modules/apps/wireshark.sh b/setup/modules/optional-Modules/apps/wireshark.sh index 1c41c94..4b38e48 100644 --- a/setup/modules/optional-Modules/apps/wireshark.sh +++ b/setup/modules/optional-Modules/apps/wireshark.sh @@ -1,3 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" + +log "Installing Wireshark..." sudo pacman -S --noconfirm --needed wireshark-qt +log "Wireshark installed." diff --git a/setup/modules/optional-Modules/apps/xournal.sh b/setup/modules/optional-Modules/apps/xournal.sh index 2209c4a..5cbf6b4 100644 --- a/setup/modules/optional-Modules/apps/xournal.sh +++ b/setup/modules/optional-Modules/apps/xournal.sh @@ -1,4 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing Xournal++ (PDF annotator)..." sudo pacman -S --noconfirm --needed xournalpp +log "Xournal++ installed." diff --git a/setup/modules/optional-Modules/apps/yt-dlp.sh b/setup/modules/optional-Modules/apps/yt-dlp.sh index 2b971b3..d0c558c 100755 --- a/setup/modules/optional-Modules/apps/yt-dlp.sh +++ b/setup/modules/optional-Modules/apps/yt-dlp.sh @@ -1,4 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" +log "Installing yt-dlp (media downloader)..." sudo pacman -S --noconfirm --needed yt-dlp +log "yt-dlp installed." diff --git a/setup/modules/optional-Modules/apps/zed.sh b/setup/modules/optional-Modules/apps/zed.sh index 4ca0fd9..0c38da1 100644 --- a/setup/modules/optional-Modules/apps/zed.sh +++ b/setup/modules/optional-Modules/apps/zed.sh @@ -1,3 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" + +log "Installing Zed editor..." sudo pacman -S --noconfirm --needed zed +log "Zed installed." diff --git a/setup/modules/optional-Modules/apps/zen-browser.sh b/setup/modules/optional-Modules/apps/zen-browser.sh index 87c99e5..f51e33d 100644 --- a/setup/modules/optional-Modules/apps/zen-browser.sh +++ b/setup/modules/optional-Modules/apps/zen-browser.sh @@ -1,3 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" + +log "Installing Zen Browser (AUR)..." yay -S --answerdiff None --answerclean All --noconfirm zen-browser-bin +log "Zen Browser installed." diff --git a/setup/modules/optional-Modules/python.sh b/setup/modules/optional-Modules/python.sh index ccd3906..d9b0310 100755 --- a/setup/modules/optional-Modules/python.sh +++ b/setup/modules/optional-Modules/python.sh @@ -1,2 +1,7 @@ #!/bin/bash +set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../lib/logging.sh" + +log "Installing Python tools..." sudo pacman -Syu python pyright python-pynvim python-pipx +log "Python tools installed." diff --git a/setup/modules/optional-Modules/wprs.sh b/setup/modules/optional-Modules/wprs.sh index 06bc546..6424b86 100755 --- a/setup/modules/optional-Modules/wprs.sh +++ b/setup/modules/optional-Modules/wprs.sh @@ -1,4 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../lib/logging.sh" +log "Installing wprs-git (AUR)..." yay -S --answerdiff None --answerclean All --noconfirm wprs-git +log "wprs installed." diff --git a/setup/modules/optional-Modules/zfs.sh b/setup/modules/optional-Modules/zfs.sh index 9f8b564..fe8d38c 100755 --- a/setup/modules/optional-Modules/zfs.sh +++ b/setup/modules/optional-Modules/zfs.sh @@ -1,5 +1,7 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../lib/logging.sh" -echo "Installing ZFS kernel module..." +log "Installing ZFS kernel module (AUR)..." yay -S --answerdiff None --answerclean All --noconfirm zfs-dkms +log "ZFS installed." diff --git a/setup/modules/package-managers.sh b/setup/modules/package-managers.sh index 66cca03..f17ee79 100644 --- a/setup/modules/package-managers.sh +++ b/setup/modules/package-managers.sh @@ -1,35 +1,39 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/lib/logging.sh" +log "Updating system and installing Flatpak..." sudo pacman -Syu --noconfirm --needed flatpak # yay if ! command -v yay &>/dev/null; then - echo "Installing yay..." + log "Installing yay..." mkdir -p ~/install-tmp git clone https://aur.archlinux.org/yay.git ~/install-tmp/yay cd ~/install-tmp/yay makepkg -si --noconfirm cd ~ else - echo "yay already installed." + skip "yay already installed." fi # rustup / rust if ! command -v rustup &>/dev/null; then - echo "Installing rustup..." + log "Installing rustup..." sudo pacman -S --noconfirm --needed rustup fi rustup default stable # nvm + Node.js if ! command -v node &>/dev/null; then - echo "Installing nvm and Node.js 22..." + log "Installing nvm and Node.js 22..." if [ ! -d "$HOME/.nvm" ]; then curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.2/install.sh | bash fi . "$HOME/.nvm/nvm.sh" nvm install 22 else - echo "Node.js already installed: $(node -v)" + skip "Node.js already installed: $(node -v)" fi + +log "Package managers ready." diff --git a/setup/modules/shell-setup.sh b/setup/modules/shell-setup.sh index 98ce7b5..9eb1ec8 100755 --- a/setup/modules/shell-setup.sh +++ b/setup/modules/shell-setup.sh @@ -1,18 +1,11 @@ #!/bin/bash set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/lib/logging.sh" -GREEN="\e[32m" -YELLOW="\e[33m" -RESET="\e[0m" - -log() { echo -e "${GREEN}✔ $1${RESET}"; } -skip() { echo -e "${YELLOW}↷ $1${RESET}"; } - -# Update system log "Updating system..." sudo pacman -Syu --noconfirm -# Install base packages +log "Installing base shell packages..." PACKAGES=(zsh neovim curl pyright bash atftp bash-language-server btop clang fastfetch fzf hyfetch lua-language-server micro nano pulsemixer yazi z qrencode distrobox dysk python python-pip glow) for pkg in "${PACKAGES[@]}"; do if ! pacman -Qi "$pkg" &>/dev/null; then @@ -55,10 +48,9 @@ else skip "Node.js already installed." fi -# git config +log "Configuring git..." git config --global core.editor nvim -# Dotfiles log "Deploying dotfiles..." mkdir -p ~/.config ~/Pictures @@ -69,9 +61,6 @@ ln -sf ~/Dotfiles/starship.toml ~/.config/starship.toml rm -rf ~/.config/micro cp -r ~/Dotfiles/micro ~/.config/ -# nvim — lazy.nvim bootstraps itself on first launch via init.lua -# airline cyberqueer theme lives at nvim/autoload/airline/themes/cyberqueer.vim -# and is discovered automatically via the rtp symlink below rm -rf ~/.config/nvim ln -sf ~/Dotfiles/nvim ~/.config/nvim @@ -91,7 +80,7 @@ else skip "Starship already installed." fi -# oh-my-zsh (RUNZSH=no prevents installer from spawning a new shell) +# oh-my-zsh if [ ! -d "$HOME/.oh-my-zsh" ]; then log "Installing oh-my-zsh..." RUNZSH=no CHSH=no sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" @@ -102,12 +91,14 @@ fi # oh-my-zsh plugins ZSH_CUSTOM="${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}" if [ ! -d "$ZSH_CUSTOM/plugins/zsh-syntax-highlighting" ]; then + log "Installing zsh-syntax-highlighting..." git clone https://github.com/zsh-users/zsh-syntax-highlighting.git \ "$ZSH_CUSTOM/plugins/zsh-syntax-highlighting" else skip "zsh-syntax-highlighting already installed." fi if [ ! -d "$ZSH_CUSTOM/plugins/zsh-autosuggestions" ]; then + log "Installing zsh-autosuggestions..." git clone https://github.com/zsh-users/zsh-autosuggestions \ "$ZSH_CUSTOM/plugins/zsh-autosuggestions" else From f358cb6d2c7d3c4e4ee28788c42af3d11e1ffaa8 Mon Sep 17 00:00:00 2001 From: The_miro Date: Fri, 22 May 2026 04:06:49 +0200 Subject: [PATCH 092/116] fix(installer): fix FIDO2 user login and AUR module failures - Pin pamu2fcfg enrollment to the target hostname (-o/-i pam://$HOSTNAME) so the credential origin matches pam_u2f.so at runtime; enrolling outside the chroot previously used the live ISO hostname, causing auth to fail - Add `cue` to the pam_u2f.so PAM line so ly prompts the user to touch the key after password entry - Add --needed to hyprlua AUR yay call to survive re-runs - Degrade gracefully in lamco-rdp-server when no user D-Bus session is active (systemctl --user enable would abort the module under set -e) Co-Authored-By: Claude Sonnet 4.6 --- setup/archbaseos-guided-install.sh | 4 ++-- setup/modules/Desktop-Environments/hyprlua.sh | 2 +- setup/modules/optional-Modules/apps/lamco-rdp-server.sh | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/setup/archbaseos-guided-install.sh b/setup/archbaseos-guided-install.sh index bad5f8b..0c35f3f 100755 --- a/setup/archbaseos-guided-install.sh +++ b/setup/archbaseos-guided-install.sh @@ -382,7 +382,7 @@ grub-mkconfig -o /boot/grub/grub.cfg if [[ "$ENABLE_FIDO_USER" == "YES" ]]; then mkdir -p "/home/$USERNAME/.config/Yubico" chown "$USERNAME:$USERNAME" "/home/$USERNAME/.config/Yubico" - echo "auth required pam_u2f.so" >> /etc/pam.d/system-auth + echo "auth required pam_u2f.so cue" >> /etc/pam.d/system-auth fi CHROOT_EOF @@ -393,7 +393,7 @@ if [[ "$ENABLE_FIDO_USER" == "YES" ]]; then echo "Enrolling FIDO2 key for user login (outside chroot)..." U2F_KEYFILE="/mnt/home/${USERNAME}/.config/Yubico/u2f_keys" mkdir -p "/mnt/home/${USERNAME}/.config/Yubico" - pamu2fcfg -u "$USERNAME" > "$U2F_KEYFILE" + pamu2fcfg -u "$USERNAME" -o "pam://$HOSTNAME" -i "pam://$HOSTNAME" > "$U2F_KEYFILE" _NEWUID=$(arch-chroot /mnt id -u "$USERNAME" 2>/dev/null || echo "1000") _NEWGID=$(arch-chroot /mnt id -g "$USERNAME" 2>/dev/null || echo "1000") chown -R "$_NEWUID:$_NEWGID" "/mnt/home/${USERNAME}/.config/Yubico" diff --git a/setup/modules/Desktop-Environments/hyprlua.sh b/setup/modules/Desktop-Environments/hyprlua.sh index 60d10b7..8ef349d 100755 --- a/setup/modules/Desktop-Environments/hyprlua.sh +++ b/setup/modules/Desktop-Environments/hyprlua.sh @@ -38,7 +38,7 @@ sudo systemctl enable udisks2.service # 4. Install AUR packages log "Installing AUR packages..." rustup default stable -yay -Syu --answerdiff None --answerclean All --noconfirm \ +yay -Syu --answerdiff None --answerclean All --noconfirm --needed \ hyprland-workspaces vicinae-bin bluetuith wvkbd iwmenu pinta \ walker-bin ulauncher bzmenu udiskie \ wofi-calc bri chamel diff --git a/setup/modules/optional-Modules/apps/lamco-rdp-server.sh b/setup/modules/optional-Modules/apps/lamco-rdp-server.sh index 40b19a4..33e6934 100644 --- a/setup/modules/optional-Modules/apps/lamco-rdp-server.sh +++ b/setup/modules/optional-Modules/apps/lamco-rdp-server.sh @@ -8,7 +8,8 @@ log "Installing lamco-rdp-server (AUR)..." yay -S --answerdiff None --answerclean All --noconfirm lamco-rdp-server log "Enabling lamco-rdp-server as user service..." -systemctl --user enable lamco-rdp-server.service +systemctl --user enable lamco-rdp-server.service 2>/dev/null \ + || warn "No user session active — run after login: systemctl --user enable lamco-rdp-server.service" log "lamco-rdp-server enabled as a user service." log "Start it with: systemctl --user start lamco-rdp-server" From 3e78c7cb2ae6e6d98d1e2372583de1e4a3d4f521 Mon Sep 17 00:00:00 2001 From: The_miro Date: Fri, 22 May 2026 05:04:55 +0200 Subject: [PATCH 093/116] fix(installer): allow root execution in archiso by shimming sudo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When running as root (archiso chroot context), all three TUI installers previously died immediately. Replace the hard die with a sudo passthrough shim ($TMP_D/bin/sudo → exec "$@") prepended to PATH, so every module's `sudo pacman`, `sudo systemctl` etc. just executes directly as root. The shim lives in TMP_D and is cleaned up by the existing EXIT trap. Co-Authored-By: Claude Sonnet 4.6 --- setup/install-modules.sh | 8 +++++++- setup/simple-install.sh | 8 +++++++- setup/tui-install.sh | 8 +++++++- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/setup/install-modules.sh b/setup/install-modules.sh index fa9a891..40c0ba0 100755 --- a/setup/install-modules.sh +++ b/setup/install-modules.sh @@ -149,7 +149,13 @@ count_steps() { [[ "$sel" == *"kate"* ]] && TOTAL=$(( TOTAL + 1 )) } -[[ $EUID -eq 0 ]] && die "Run as your normal user (not root)." +if [[ $EUID -eq 0 ]]; then + # Root context (e.g. archiso chroot): shim sudo as a passthrough + mkdir -p "$TMP_D/bin" + printf '#!/bin/bash\nexec "$@"\n' > "$TMP_D/bin/sudo" + chmod +x "$TMP_D/bin/sudo" + export PATH="$TMP_D/bin:$PATH" +fi command -v pacman &>/dev/null || die "pacman not found — Arch Linux required." require_dialog diff --git a/setup/simple-install.sh b/setup/simple-install.sh index f5f9ec5..488ed06 100755 --- a/setup/simple-install.sh +++ b/setup/simple-install.sh @@ -395,7 +395,13 @@ get_mac_suffix() { } # ── Preflight ───────────────────────────────────────────────────────────────── -[[ $EUID -eq 0 ]] && die "Run as your normal user (not root)." +if [[ $EUID -eq 0 ]]; then + # Root context (e.g. archiso chroot): shim sudo as a passthrough + mkdir -p "$TMP_D/bin" + printf '#!/bin/bash\nexec "$@"\n' > "$TMP_D/bin/sudo" + chmod +x "$TMP_D/bin/sudo" + export PATH="$TMP_D/bin:$PATH" +fi command -v pacman &>/dev/null || die "pacman not found — Arch Linux required." if $ANSWERFILE_MODE; then diff --git a/setup/tui-install.sh b/setup/tui-install.sh index 721d17e..27e5bbe 100755 --- a/setup/tui-install.sh +++ b/setup/tui-install.sh @@ -220,7 +220,13 @@ get_mac_suffix() { } # ── Preflight ───────────────────────────────────────────────────────────────── -[[ $EUID -eq 0 ]] && die "Run as your normal user (not root)." +if [[ $EUID -eq 0 ]]; then + # Root context (e.g. archiso chroot): shim sudo as a passthrough + mkdir -p "$TMP_D/bin" + printf '#!/bin/bash\nexec "$@"\n' > "$TMP_D/bin/sudo" + chmod +x "$TMP_D/bin/sudo" + export PATH="$TMP_D/bin:$PATH" +fi command -v pacman &>/dev/null || die "pacman not found — Arch Linux required." require_dialog From 612c13b4c0420e729e37e02037c22f928df14d82 Mon Sep 17 00:00:00 2001 From: The_miro Date: Sat, 23 May 2026 10:23:22 +0200 Subject: [PATCH 094/116] fix(rotate): add pen/stylus rotation with explicit output mapping Tablet devices require output= in hl.device() for transform to take effect, unlike touchscreens which auto-bind to their display. Co-Authored-By: Claude Sonnet 4.6 --- desktopenvs/hyprlua/scripts/unified-rotate.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/desktopenvs/hyprlua/scripts/unified-rotate.sh b/desktopenvs/hyprlua/scripts/unified-rotate.sh index 7c44b11..f1f0b4d 100755 --- a/desktopenvs/hyprlua/scripts/unified-rotate.sh +++ b/desktopenvs/hyprlua/scripts/unified-rotate.sh @@ -54,5 +54,15 @@ else echo "No touchscreen device detected." fi +# Detect pen/tablet device name +pendev=$(hyprctl devices -j | jq -r '.tablets[0].name // empty') + +if [[ -n "$pendev" ]]; then + echo "Applying same rotation to pen/tablet: $pendev" + hyprctl eval "hl.device({name='$pendev', transform=$newrot, output='$curmon'})" +else + echo "No pen/tablet device detected." +fi + # Reload Eww to adjust bar size eww reload From 266a032cb389cce4671ef2d7532378a6cd0de87f Mon Sep 17 00:00:00 2001 From: The_miro Date: Sat, 23 May 2026 10:28:10 +0200 Subject: [PATCH 095/116] fix(eww-touch): fix middle button close window action hl.dsp.window.close() is not a valid Hyprland Lua API method; replace with hyprctl dispatch killactive. Co-Authored-By: Claude Sonnet 4.6 --- desktopenvs/hyprlua/eww-touch/eww.yuck | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/desktopenvs/hyprlua/eww-touch/eww.yuck b/desktopenvs/hyprlua/eww-touch/eww.yuck index 3a8186f..71f3c18 100644 --- a/desktopenvs/hyprlua/eww-touch/eww.yuck +++ b/desktopenvs/hyprlua/eww-touch/eww.yuck @@ -63,7 +63,7 @@ :orientation "h" :space-evenly false :halign "center" - :onclick "hyprctl eval 'hl.dsp.window.close()'" + :onclick "hyprctl dispatch killactive" {""} ) (button :class "music" From 21ec76c6ebf6507d47e4852b8efe18cbd91ae8ab Mon Sep 17 00:00:00 2001 From: The_miro Date: Sat, 23 May 2026 10:29:17 +0200 Subject: [PATCH 096/116] Revert "fix(eww-touch): fix middle button close window action" This reverts commit 266a032cb389cce4671ef2d7532378a6cd0de87f. --- desktopenvs/hyprlua/eww-touch/eww.yuck | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/desktopenvs/hyprlua/eww-touch/eww.yuck b/desktopenvs/hyprlua/eww-touch/eww.yuck index 71f3c18..3a8186f 100644 --- a/desktopenvs/hyprlua/eww-touch/eww.yuck +++ b/desktopenvs/hyprlua/eww-touch/eww.yuck @@ -63,7 +63,7 @@ :orientation "h" :space-evenly false :halign "center" - :onclick "hyprctl dispatch killactive" + :onclick "hyprctl eval 'hl.dsp.window.close()'" {""} ) (button :class "music" From 867686e409d91c3235109ccdce11e458fc894c4e Mon Sep 17 00:00:00 2001 From: The_miro Date: Sat, 23 May 2026 10:30:52 +0200 Subject: [PATCH 097/116] fix(eww-touch): use hyprctl dispatch for close window button Co-Authored-By: Claude Sonnet 4.6 --- desktopenvs/hyprlua/eww-touch/eww.yuck | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/desktopenvs/hyprlua/eww-touch/eww.yuck b/desktopenvs/hyprlua/eww-touch/eww.yuck index 3a8186f..0a041e0 100644 --- a/desktopenvs/hyprlua/eww-touch/eww.yuck +++ b/desktopenvs/hyprlua/eww-touch/eww.yuck @@ -63,7 +63,7 @@ :orientation "h" :space-evenly false :halign "center" - :onclick "hyprctl eval 'hl.dsp.window.close()'" + :onclick "hyprctl dispatch 'hl.dsp.window.close()'" {""} ) (button :class "music" From 00b178103e747ae0059cc894a1dc34f625e2f9c0 Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 26 May 2026 11:52:05 +0200 Subject: [PATCH 098/116] feat(nvim): add PIM panel with calendar, alot mail, and abook Adds itchyny/calendar.vim plugin and keybinds for a PIM sidebar: - r: full-screen tab with alot (top), calendar + abook (bottom split) - n/g/f: individual vsplit toggles for alot, calendar, abook - Restores window nav inside calendar buffers - shell-setup.sh installs notmuch, alot, abook (AUR) and syncs lazy.nvim Co-Authored-By: Claude Sonnet 4.6 --- nvim/init.lua | 90 ++++++++++++++++++++++++++++++++++++ setup/modules/shell-setup.sh | 13 +++++- 2 files changed, 102 insertions(+), 1 deletion(-) diff --git a/nvim/init.lua b/nvim/init.lua index f6b20c0..f7ce487 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -37,6 +37,7 @@ require("lazy").setup({ "nvim-mini/mini.icons", "tadmccorkle/markdown.nvim", { "ellisonleao/glow.nvim", config = true }, + "itchyny/calendar.vim", { "greggh/claude-code.nvim", dependencies = { "nvim-lua/plenary.nvim" }, @@ -92,6 +93,18 @@ vim.keymap.set("n", "", "h") vim.keymap.set("n", "", "j") vim.keymap.set("n", "", "k") +-- calendar.vim steals for month nav; restore window movement +vim.api.nvim_create_autocmd("FileType", { + pattern = "calendar", + callback = function() + local o = { buffer = true, silent = true } + vim.keymap.set("n", "", "w", o) + vim.keymap.set("n", "", "h", o) + vim.keymap.set("n", "", "j", o) + vim.keymap.set("n", "", "k", o) + end, +}) + -- quick actions vim.keymap.set("n", "t", ":FloatermNew", { silent = true }) vim.keymap.set("n", "e", ":NERDTreeTogglel", { silent = true }) @@ -145,3 +158,80 @@ end, { expr = true, silent = true }) vim.keymap.set("i", "", function() return vim.fn["coc#pum#visible"]() == 1 and vim.fn["coc#pum#confirm"]() or "" end, { expr = true, silent = true }) + +-- ── PIM sidebar (calendar / notmuch / abook) ────────────────────────────────── +local function _pim_scratch(label, err) + vim.cmd("enew") + vim.bo.buftype = "nofile" + vim.bo.buflisted = false + vim.api.nvim_buf_set_lines(0, 0, -1, false, { "[" .. label .. " unavailable]", "", err or "" }) +end + +local function _pim_close_win(win) + if not vim.api.nvim_win_is_valid(win) then return end + local buf = vim.api.nvim_win_get_buf(win) + vim.api.nvim_win_close(win, true) + if vim.api.nvim_buf_is_valid(buf) and vim.bo[buf].buftype == "terminal" then + pcall(vim.api.nvim_buf_delete, buf, { force = true }) + end +end + +-- individual toggles: n = notmuch/alot, g = calendar, f = find/abook +local _solo = {} + +local function toggle_solo(key, cmd, label, width) + local win = _solo[key] + if win and vim.api.nvim_win_is_valid(win) then + _pim_close_win(win) + _solo[key] = nil + else + local prev = vim.api.nvim_get_current_win() + vim.cmd("topleft vsplit") + vim.api.nvim_win_set_width(0, width) + local ok, err = pcall(vim.cmd, cmd) + if not ok then _pim_scratch(label, err) end + _solo[key] = vim.api.nvim_get_current_win() + vim.api.nvim_set_current_win(prev) + end +end + +vim.keymap.set("n", "n", function() toggle_solo("n", "terminal alot", "alot", 55) end, { silent = true }) +vim.keymap.set("n", "g", function() toggle_solo("g", "Calendar", "calendar.vim", 35) end, { silent = true }) +vim.keymap.set("n", "f", function() toggle_solo("f", "terminal abook", "abook", 80) end, { silent = true }) + +-- r = full-screen PIM tab (mail top, calendar bottom-left, abook bottom-right) +local _pim_tab = nil + +local function toggle_pim() + if _pim_tab and vim.api.nvim_tabpage_is_valid(_pim_tab) then + vim.cmd("tabclose " .. vim.api.nvim_tabpage_get_number(_pim_tab)) + _pim_tab = nil + return + end + + vim.cmd("tabnew") + _pim_tab = vim.api.nvim_get_current_tabpage() + + -- top pane: alot (mail), full width + local ok, err = pcall(vim.cmd, "terminal alot") + if not ok then _pim_scratch("alot", err) end + + -- split bottom third for calendar + abook + vim.cmd("belowright split") + vim.cmd("resize 24") + + -- bottom-left: calendar + vim.cmd("leftabove vsplit") + ok, err = pcall(vim.cmd, "Calendar") + if not ok then _pim_scratch("calendar.vim", err) end + + -- bottom-right: abook + vim.cmd("wincmd l") + ok, err = pcall(vim.cmd, "terminal abook") + if not ok then _pim_scratch("abook", err) end + + -- focus mail + vim.cmd("wincmd k") +end + +vim.keymap.set("n", "r", toggle_pim, { silent = true }) diff --git a/setup/modules/shell-setup.sh b/setup/modules/shell-setup.sh index 9eb1ec8..7de96b5 100755 --- a/setup/modules/shell-setup.sh +++ b/setup/modules/shell-setup.sh @@ -6,7 +6,7 @@ log "Updating system..." sudo pacman -Syu --noconfirm log "Installing base shell packages..." -PACKAGES=(zsh neovim curl pyright bash atftp bash-language-server btop clang fastfetch fzf hyfetch lua-language-server micro nano pulsemixer yazi z qrencode distrobox dysk python python-pip glow) +PACKAGES=(zsh neovim curl pyright bash atftp bash-language-server btop clang fastfetch fzf hyfetch lua-language-server micro nano pulsemixer yazi z qrencode distrobox dysk python python-pip glow notmuch alot) for pkg in "${PACKAGES[@]}"; do if ! pacman -Qi "$pkg" &>/dev/null; then log "Installing $pkg..." @@ -16,6 +16,14 @@ for pkg in "${PACKAGES[@]}"; do fi done +# abook (AUR) +if ! command -v abook &>/dev/null; then + log "Installing abook (AUR)..." + yay -S --noconfirm --needed abook +else + skip "abook already installed." +fi + # yay if ! command -v yay &>/dev/null; then log "Installing yay..." @@ -64,6 +72,9 @@ cp -r ~/Dotfiles/micro ~/.config/ rm -rf ~/.config/nvim ln -sf ~/Dotfiles/nvim ~/.config/nvim +log "Syncing neovim plugins (lazy.nvim)..." +nvim --headless "+Lazy! sync" +qa 2>/dev/null || true + rm -rf ~/.config/yazi ln -sf ~/Dotfiles/yazi ~/.config/yazi From 96610b7ed0a63552dca1cbbb58644c7a1d075045 Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 26 May 2026 11:57:43 +0200 Subject: [PATCH 099/116] feat(nvim,mail): floating PIM windows + notmuch/alot setup script - Replace tab/vsplit PIM approach with nvim_open_win floating windows: r opens a tiled full-screen overlay (alot top, calendar+abook bottom) n/g/f open individual centered floats with rounded border - Add setup/modules/optional-Modules/apps/mail-notmuch.sh: configures mbsync, msmtp, notmuch, alot from interactive prompts installs a systemd user timer for 5-min periodic mail sync Co-Authored-By: Claude Sonnet 4.6 --- nvim/init.lua | 75 ++++++---- .../optional-Modules/apps/mail-notmuch.sh | 139 ++++++++++++++++++ 2 files changed, 182 insertions(+), 32 deletions(-) create mode 100755 setup/modules/optional-Modules/apps/mail-notmuch.sh diff --git a/nvim/init.lua b/nvim/init.lua index f7ce487..4f6b595 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -159,7 +159,7 @@ vim.keymap.set("i", "", function() return vim.fn["coc#pum#visible"]() == 1 and vim.fn["coc#pum#confirm"]() or "" end, { expr = true, silent = true }) --- ── PIM sidebar (calendar / notmuch / abook) ────────────────────────────────── +-- ── PIM floating windows (calendar / alot / abook) ─────────────────────────── local function _pim_scratch(label, err) vim.cmd("enew") vim.bo.buftype = "nofile" @@ -176,62 +176,73 @@ local function _pim_close_win(win) end end --- individual toggles: n = notmuch/alot, g = calendar, f = find/abook +local function _pim_float(row, col, height, width, border) + local buf = vim.api.nvim_create_buf(false, true) + vim.api.nvim_open_win(buf, true, { + relative = "editor", + row = row, col = col, + height = height, width = width, + style = "minimal", + border = border or "none", + zindex = 50, + }) + return vim.api.nvim_get_current_win() +end + +-- n/g/f: individual centered floating windows local _solo = {} -local function toggle_solo(key, cmd, label, width) +local function toggle_solo(key, cmd, label) local win = _solo[key] if win and vim.api.nvim_win_is_valid(win) then _pim_close_win(win) _solo[key] = nil - else - local prev = vim.api.nvim_get_current_win() - vim.cmd("topleft vsplit") - vim.api.nvim_win_set_width(0, width) - local ok, err = pcall(vim.cmd, cmd) - if not ok then _pim_scratch(label, err) end - _solo[key] = vim.api.nvim_get_current_win() - vim.api.nvim_set_current_win(prev) + return end + local h = math.floor(vim.o.lines * 0.85) + local w = math.floor(vim.o.columns * 0.85) + local r = math.floor((vim.o.lines - h - 2) / 2) + local c = math.floor((vim.o.columns - w - 2) / 2) + local win_id = _pim_float(r, c, h, w, "rounded") + local ok, err = pcall(vim.cmd, cmd) + if not ok then _pim_scratch(label, err) end + _solo[key] = win_id end -vim.keymap.set("n", "n", function() toggle_solo("n", "terminal alot", "alot", 55) end, { silent = true }) -vim.keymap.set("n", "g", function() toggle_solo("g", "Calendar", "calendar.vim", 35) end, { silent = true }) -vim.keymap.set("n", "f", function() toggle_solo("f", "terminal abook", "abook", 80) end, { silent = true }) +vim.keymap.set("n", "n", function() toggle_solo("n", "terminal alot", "alot") end, { silent = true }) +vim.keymap.set("n", "g", function() toggle_solo("g", "Calendar", "calendar.vim") end, { silent = true }) +vim.keymap.set("n", "f", function() toggle_solo("f", "terminal abook", "abook") end, { silent = true }) --- r = full-screen PIM tab (mail top, calendar bottom-left, abook bottom-right) -local _pim_tab = nil +-- r: full-screen tiled overlay (mail top, calendar bottom-left, abook bottom-right) +local _pim_wins = {} local function toggle_pim() - if _pim_tab and vim.api.nvim_tabpage_is_valid(_pim_tab) then - vim.cmd("tabclose " .. vim.api.nvim_tabpage_get_number(_pim_tab)) - _pim_tab = nil + if #_pim_wins > 0 and vim.api.nvim_win_is_valid(_pim_wins[1]) then + for _, w in ipairs(_pim_wins) do _pim_close_win(w) end + _pim_wins = {} return end - vim.cmd("tabnew") - _pim_tab = vim.api.nvim_get_current_tabpage() + local H = vim.o.lines - 2 + local W = vim.o.columns + local mail_h = math.floor(H * 0.6) + local bot_h = H - mail_h + local cal_w = math.floor(W * 0.5) - -- top pane: alot (mail), full width + local w1 = _pim_float(0, 0, mail_h, W) local ok, err = pcall(vim.cmd, "terminal alot") if not ok then _pim_scratch("alot", err) end - -- split bottom third for calendar + abook - vim.cmd("belowright split") - vim.cmd("resize 24") - - -- bottom-left: calendar - vim.cmd("leftabove vsplit") + local w2 = _pim_float(mail_h, 0, bot_h, cal_w) ok, err = pcall(vim.cmd, "Calendar") if not ok then _pim_scratch("calendar.vim", err) end - -- bottom-right: abook - vim.cmd("wincmd l") + local w3 = _pim_float(mail_h, cal_w, bot_h, W - cal_w) ok, err = pcall(vim.cmd, "terminal abook") if not ok then _pim_scratch("abook", err) end - -- focus mail - vim.cmd("wincmd k") + _pim_wins = { w1, w2, w3 } + vim.api.nvim_set_current_win(w1) end vim.keymap.set("n", "r", toggle_pim, { silent = true }) diff --git a/setup/modules/optional-Modules/apps/mail-notmuch.sh b/setup/modules/optional-Modules/apps/mail-notmuch.sh new file mode 100755 index 0000000..4d59c78 --- /dev/null +++ b/setup/modules/optional-Modules/apps/mail-notmuch.sh @@ -0,0 +1,139 @@ +#!/bin/bash +set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" + +log "Installing mail stack (isync, msmtp, notmuch, alot)..." +sudo pacman -S --noconfirm --needed isync msmtp notmuch alot + +# ── Credentials ─────────────────────────────────────────────────────────────── +read -rp "Full name : " FULL_NAME +read -rp "Email address : " EMAIL +read -rp "IMAP host (e.g. mail.example.com) : " IMAP_HOST +read -rp "IMAP port [993] : " IMAP_PORT; IMAP_PORT="${IMAP_PORT:-993}" +read -rp "IMAP username [$EMAIL] : " IMAP_USER; IMAP_USER="${IMAP_USER:-$EMAIL}" +read -rsp "IMAP password : " IMAP_PASS; echo +read -rp "SMTP host (e.g. mail.example.com) : " SMTP_HOST +read -rp "SMTP port [587] : " SMTP_PORT; SMTP_PORT="${SMTP_PORT:-587}" + +MAILDIR="$HOME/Mail" +mkdir -p "$MAILDIR" + +# ── mbsync ──────────────────────────────────────────────────────────────────── +log "Writing ~/.mbsyncrc..." +cat > ~/.mbsyncrc << EOF +IMAPAccount main +Host $IMAP_HOST +Port $IMAP_PORT +User $IMAP_USER +Pass $IMAP_PASS +SSLType IMAPS +CertificateFile /etc/ssl/certs/ca-certificates.crt + +IMAPStore main-remote +Account main + +MaildirStore main-local +SubFolders Verbatim +Path $MAILDIR/ +Inbox $MAILDIR/INBOX + +Channel main +Far :main-remote: +Near :main-local: +Patterns * +Create Both +SyncState * +Expunge Both +EOF +chmod 600 ~/.mbsyncrc + +# ── msmtp ───────────────────────────────────────────────────────────────────── +log "Writing ~/.msmtprc..." +cat > ~/.msmtprc << EOF +defaults +tls on +tls_trust_file /etc/ssl/certs/ca-certificates.crt +logfile ~/.msmtp.log + +account main +host $SMTP_HOST +port $SMTP_PORT +auth on +user $IMAP_USER +password $IMAP_PASS +from $EMAIL + +account default : main +EOF +chmod 600 ~/.msmtprc + +# ── notmuch ─────────────────────────────────────────────────────────────────── +log "Configuring notmuch..." +notmuch config set user.name "$FULL_NAME" +notmuch config set user.email "$EMAIL" +notmuch config set database.path "$MAILDIR" +notmuch config set maildir.synchronize_flags true +notmuch config set new.tags "unread;inbox" + +# post-new hook: tag sent mail, remove inbox from trash +mkdir -p "$MAILDIR/.notmuch/hooks" +cat > "$MAILDIR/.notmuch/hooks/post-new" << 'EOF' +#!/bin/bash +notmuch tag +sent -inbox -- folder:Sent +notmuch tag +trash -inbox -unread -- folder:Trash +notmuch tag +draft -inbox -- folder:Drafts +notmuch tag +spam -inbox -unread -- folder:Spam folder:Junk +EOF +chmod +x "$MAILDIR/.notmuch/hooks/post-new" + +# ── alot ────────────────────────────────────────────────────────────────────── +log "Writing ~/.config/alot/config..." +mkdir -p ~/.config/alot +cat > ~/.config/alot/config << EOF +[accounts] + [[main]] + realname = $FULL_NAME + address = $EMAIL + sendmail_command = msmtp -a main + sent_box = maildir://$MAILDIR/Sent + draft_box = maildir://$MAILDIR/Drafts +EOF + +# ── systemd timer for periodic sync ─────────────────────────────────────────── +log "Installing mbsync systemd user timer (every 5 min)..." +mkdir -p ~/.config/systemd/user + +cat > ~/.config/systemd/user/mbsync.service << EOF +[Unit] +Description=Sync mail with mbsync +After=network-online.target + +[Service] +Type=oneshot +ExecStart=/usr/bin/mbsync -a +ExecStartPost=/usr/bin/notmuch new +EOF + +cat > ~/.config/systemd/user/mbsync.timer << EOF +[Unit] +Description=Run mbsync every 5 minutes + +[Timer] +OnBootSec=2min +OnUnitActiveSec=5min +Unit=mbsync.service + +[Install] +WantedBy=timers.target +EOF + +systemctl --user daemon-reload +systemctl --user enable --now mbsync.timer + +# ── initial sync ────────────────────────────────────────────────────────────── +log "Running initial mail sync..." +mbsync -a +notmuch new + +log "Mail setup complete. Syncs automatically every 5 min via systemd timer." +log "Open alot with: alot | Check timer: systemctl --user status mbsync.timer" From 47b94056acf5f86f70b0a590d38468df535ac6eb Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 26 May 2026 12:02:32 +0200 Subject: [PATCH 100/116] fix(nvim): correct PIM layout to sideward-T left-column overlay MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit r now opens three stacked floating windows in a left column (the bar of the sideward T), leaving the document visible to the right (stem). Order top→bottom: alot 40%, calendar 30%, abook remainder. Column is min(90, 45% of screen) cols wide. All sizes are clamped to ≥1 to prevent nvim_open_win errors on small terminals. Co-Authored-By: Claude Sonnet 4.6 --- nvim/init.lua | 48 ++++++++++++++++++++++++++++-------------------- 1 file changed, 28 insertions(+), 20 deletions(-) diff --git a/nvim/init.lua b/nvim/init.lua index 4f6b595..919ec39 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -159,7 +159,7 @@ vim.keymap.set("i", "", function() return vim.fn["coc#pum#visible"]() == 1 and vim.fn["coc#pum#confirm"]() or "" end, { expr = true, silent = true }) --- ── PIM floating windows (calendar / alot / abook) ─────────────────────────── +-- ── PIM floating windows (sideward T: left column overlay) ─────────────────── local function _pim_scratch(label, err) vim.cmd("enew") vim.bo.buftype = "nofile" @@ -180,11 +180,13 @@ local function _pim_float(row, col, height, width, border) local buf = vim.api.nvim_create_buf(false, true) vim.api.nvim_open_win(buf, true, { relative = "editor", - row = row, col = col, - height = height, width = width, - style = "minimal", - border = border or "none", - zindex = 50, + row = row, + col = col, + height = math.max(1, height), + width = math.max(1, width), + style = "minimal", + border = border or "none", + zindex = 50, }) return vim.api.nvim_get_current_win() end @@ -199,21 +201,25 @@ local function toggle_solo(key, cmd, label) _solo[key] = nil return end - local h = math.floor(vim.o.lines * 0.85) - local w = math.floor(vim.o.columns * 0.85) - local r = math.floor((vim.o.lines - h - 2) / 2) - local c = math.floor((vim.o.columns - w - 2) / 2) + local H = vim.o.lines - 2 + local W = vim.o.columns + local h = math.max(1, math.floor(H * 0.85)) + local w = math.max(1, math.floor(W * 0.85)) + -- centre accounting for the 1-cell rounded border on each side + local r = math.max(0, math.floor((H - h - 2) / 2)) + local c = math.max(0, math.floor((W - w - 2) / 2)) local win_id = _pim_float(r, c, h, w, "rounded") local ok, err = pcall(vim.cmd, cmd) if not ok then _pim_scratch(label, err) end _solo[key] = win_id end -vim.keymap.set("n", "n", function() toggle_solo("n", "terminal alot", "alot") end, { silent = true }) +vim.keymap.set("n", "n", function() toggle_solo("n", "terminal alot", "alot") end, { silent = true }) vim.keymap.set("n", "g", function() toggle_solo("g", "Calendar", "calendar.vim") end, { silent = true }) vim.keymap.set("n", "f", function() toggle_solo("f", "terminal abook", "abook") end, { silent = true }) --- r: full-screen tiled overlay (mail top, calendar bottom-left, abook bottom-right) +-- r: sideward-T overlay — left column (bar of the T) with three stacked panes, +-- document remains visible to the right (the stem of the T) local _pim_wins = {} local function toggle_pim() @@ -223,21 +229,23 @@ local function toggle_pim() return end - local H = vim.o.lines - 2 - local W = vim.o.columns - local mail_h = math.floor(H * 0.6) - local bot_h = H - mail_h - local cal_w = math.floor(W * 0.5) + local H = vim.o.lines - 2 + local col_w = math.min(vim.o.columns, math.max(90, math.floor(vim.o.columns * 0.45))) - local w1 = _pim_float(0, 0, mail_h, W) + -- divide column height: mail 40%, calendar 30%, abook remainder (≥ 10) + local mail_h = math.max(1, math.floor(H * 0.40)) + local cal_h = math.max(1, math.floor(H * 0.30)) + local ab_h = math.max(1, H - mail_h - cal_h) + + local w1 = _pim_float(0, 0, mail_h, col_w) local ok, err = pcall(vim.cmd, "terminal alot") if not ok then _pim_scratch("alot", err) end - local w2 = _pim_float(mail_h, 0, bot_h, cal_w) + local w2 = _pim_float(mail_h, 0, cal_h, col_w) ok, err = pcall(vim.cmd, "Calendar") if not ok then _pim_scratch("calendar.vim", err) end - local w3 = _pim_float(mail_h, cal_w, bot_h, W - cal_w) + local w3 = _pim_float(mail_h + cal_h, 0, ab_h, col_w) ok, err = pcall(vim.cmd, "terminal abook") if not ok then _pim_scratch("abook", err) end From 890cb8819bd8bb213b5f61798773cdaaa6a3cda7 Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 26 May 2026 12:06:21 +0200 Subject: [PATCH 101/116] fix(nvim): pass -position=here to Calendar to open in current window calendar.vim defaults to tabnew, which escaped the floating window. -position=here makes it edit into the current buffer instead. Co-Authored-By: Claude Sonnet 4.6 --- nvim/init.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nvim/init.lua b/nvim/init.lua index 919ec39..c635292 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -215,7 +215,7 @@ local function toggle_solo(key, cmd, label) end vim.keymap.set("n", "n", function() toggle_solo("n", "terminal alot", "alot") end, { silent = true }) -vim.keymap.set("n", "g", function() toggle_solo("g", "Calendar", "calendar.vim") end, { silent = true }) +vim.keymap.set("n", "g", function() toggle_solo("g", "Calendar -position=here", "calendar.vim") end, { silent = true }) vim.keymap.set("n", "f", function() toggle_solo("f", "terminal abook", "abook") end, { silent = true }) -- r: sideward-T overlay — left column (bar of the T) with three stacked panes, @@ -242,7 +242,7 @@ local function toggle_pim() if not ok then _pim_scratch("alot", err) end local w2 = _pim_float(mail_h, 0, cal_h, col_w) - ok, err = pcall(vim.cmd, "Calendar") + ok, err = pcall(vim.cmd, "Calendar -position=here") if not ok then _pim_scratch("calendar.vim", err) end local w3 = _pim_float(mail_h + cal_h, 0, ab_h, col_w) From 766cfc0f8fbfc9af398faf15c17ba34b92fb3dad Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 26 May 2026 12:08:20 +0200 Subject: [PATCH 102/116] fix(nvim): fix black float backgrounds and guarantee abook 24-line height - Add winhighlight=Normal:Normal to all floats so they inherit the colorscheme background instead of showing NormalFloat (black) - Pin abook to min 24 lines; mail/calendar split the remaining height Co-Authored-By: Claude Sonnet 4.6 --- nvim/init.lua | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/nvim/init.lua b/nvim/init.lua index c635292..2bb87b7 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -179,14 +179,15 @@ end local function _pim_float(row, col, height, width, border) local buf = vim.api.nvim_create_buf(false, true) vim.api.nvim_open_win(buf, true, { - relative = "editor", - row = row, - col = col, - height = math.max(1, height), - width = math.max(1, width), - style = "minimal", - border = border or "none", - zindex = 50, + relative = "editor", + row = row, + col = col, + height = math.max(1, height), + width = math.max(1, width), + style = "minimal", + border = border or "none", + zindex = 50, + winhighlight = "Normal:Normal,NormalNC:Normal", }) return vim.api.nvim_get_current_win() end @@ -232,10 +233,11 @@ local function toggle_pim() local H = vim.o.lines - 2 local col_w = math.min(vim.o.columns, math.max(90, math.floor(vim.o.columns * 0.45))) - -- divide column height: mail 40%, calendar 30%, abook remainder (≥ 10) - local mail_h = math.max(1, math.floor(H * 0.40)) - local cal_h = math.max(1, math.floor(H * 0.30)) - local ab_h = math.max(1, H - mail_h - cal_h) + -- abook gets a fixed 24-line minimum; mail/calendar split the rest 57/43 + local ab_h = math.max(24, math.floor(H * 0.30)) + local rest = math.max(2, H - ab_h) + local mail_h = math.max(1, math.floor(rest * 0.57)) + local cal_h = math.max(1, rest - mail_h) local w1 = _pim_float(0, 0, mail_h, col_w) local ok, err = pcall(vim.cmd, "terminal alot") From b1bdb3c540ab947c2ab3e1eaa8efe35736861a0b Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 26 May 2026 12:09:15 +0200 Subject: [PATCH 103/116] fix(nvim): set winhighlight via nvim_set_option_value, not open_win winhighlight is a window option, not an nvim_open_win config key. Co-Authored-By: Claude Sonnet 4.6 --- nvim/init.lua | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/nvim/init.lua b/nvim/init.lua index 2bb87b7..5ab1ac2 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -178,18 +178,18 @@ end local function _pim_float(row, col, height, width, border) local buf = vim.api.nvim_create_buf(false, true) - vim.api.nvim_open_win(buf, true, { - relative = "editor", - row = row, - col = col, - height = math.max(1, height), - width = math.max(1, width), - style = "minimal", - border = border or "none", - zindex = 50, - winhighlight = "Normal:Normal,NormalNC:Normal", + local win = vim.api.nvim_open_win(buf, true, { + relative = "editor", + row = row, + col = col, + height = math.max(1, height), + width = math.max(1, width), + style = "minimal", + border = border or "none", + zindex = 50, }) - return vim.api.nvim_get_current_win() + vim.api.nvim_set_option_value("winhighlight", "Normal:Normal,NormalNC:Normal", { win = win }) + return win end -- n/g/f: individual centered floating windows From 9db080dc0f1a6aa7dc6b5b14090226471a5afc19 Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 26 May 2026 12:30:05 +0200 Subject: [PATCH 104/116] refactor(nvim): remap PIM toggle from r to x MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Removes the old x → DBUI_ExecuteQuery binding to free the key. Co-Authored-By: Claude Sonnet 4.6 --- nvim/init.lua | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/nvim/init.lua b/nvim/init.lua index 5ab1ac2..1131c03 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -109,7 +109,6 @@ vim.api.nvim_create_autocmd("FileType", { vim.keymap.set("n", "t", ":FloatermNew", { silent = true }) vim.keymap.set("n", "e", ":NERDTreeTogglel", { silent = true }) vim.keymap.set("n", "s", ":DBUIToggle", { silent = true }) -vim.keymap.set("n", "x", "(DBUI_ExecuteQuery)", { remap = true }) vim.keymap.set("n", "q", function() local ok = pcall(vim.cmd, "wq") if not ok then vim.cmd("q") end @@ -255,4 +254,4 @@ local function toggle_pim() vim.api.nvim_set_current_win(w1) end -vim.keymap.set("n", "r", toggle_pim, { silent = true }) +vim.keymap.set("n", "x", toggle_pim, { silent = true }) From 85e810d70b84e542e0426f8d2dd940cc53267fcb Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 26 May 2026 13:12:25 +0200 Subject: [PATCH 105/116] feat(nvim,alot): full-screen PIM layout + alot Esc bindings - x now opens a full-screen overlay: alot left (55%), abook top-right, calendar bottom-right - Add esc = exit bindings to alot config for search/thread/taglist/ bufferlist modes, applied to live ~/.config/alot/config and to the mail-notmuch.sh setup script Co-Authored-By: Claude Sonnet 4.6 --- nvim/init.lua | 27 +++++++++---------- .../optional-Modules/apps/mail-notmuch.sh | 10 +++++++ 2 files changed, 23 insertions(+), 14 deletions(-) diff --git a/nvim/init.lua b/nvim/init.lua index 1131c03..26f32c6 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -229,27 +229,26 @@ local function toggle_pim() return end - local H = vim.o.lines - 2 - local col_w = math.min(vim.o.columns, math.max(90, math.floor(vim.o.columns * 0.45))) + -- full-screen: alot left, abook top-right, calendar bottom-right + local H = vim.o.lines - 2 + local W = vim.o.columns + local left_w = math.max(1, math.floor(W * 0.55)) + local right_w = math.max(1, W - left_w) + local top_h = math.max(1, math.floor(H / 2)) + local bot_h = math.max(1, H - top_h) - -- abook gets a fixed 24-line minimum; mail/calendar split the rest 57/43 - local ab_h = math.max(24, math.floor(H * 0.30)) - local rest = math.max(2, H - ab_h) - local mail_h = math.max(1, math.floor(rest * 0.57)) - local cal_h = math.max(1, rest - mail_h) - - local w1 = _pim_float(0, 0, mail_h, col_w) + local w1 = _pim_float(0, 0, H, left_w) local ok, err = pcall(vim.cmd, "terminal alot") if not ok then _pim_scratch("alot", err) end - local w2 = _pim_float(mail_h, 0, cal_h, col_w) - ok, err = pcall(vim.cmd, "Calendar -position=here") - if not ok then _pim_scratch("calendar.vim", err) end - - local w3 = _pim_float(mail_h + cal_h, 0, ab_h, col_w) + local w2 = _pim_float(0, left_w, top_h, right_w) ok, err = pcall(vim.cmd, "terminal abook") if not ok then _pim_scratch("abook", err) end + local w3 = _pim_float(top_h, left_w, bot_h, right_w) + ok, err = pcall(vim.cmd, "Calendar -position=here") + if not ok then _pim_scratch("calendar.vim", err) end + _pim_wins = { w1, w2, w3 } vim.api.nvim_set_current_win(w1) end diff --git a/setup/modules/optional-Modules/apps/mail-notmuch.sh b/setup/modules/optional-Modules/apps/mail-notmuch.sh index 4d59c78..2668631 100755 --- a/setup/modules/optional-Modules/apps/mail-notmuch.sh +++ b/setup/modules/optional-Modules/apps/mail-notmuch.sh @@ -97,6 +97,16 @@ cat > ~/.config/alot/config << EOF sendmail_command = msmtp -a main sent_box = maildir://$MAILDIR/Sent draft_box = maildir://$MAILDIR/Drafts + +[bindings] + [[search]] + esc = exit + [[thread]] + esc = exit + [[taglist]] + esc = exit + [[bufferlist]] + esc = exit EOF # ── systemd timer for periodic sync ─────────────────────────────────────────── From e9ff562c1ede56577ab1148a5d3c085847c22ebc Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 26 May 2026 13:19:28 +0200 Subject: [PATCH 106/116] feat(alot): track alot config in dotfiles and symlink like other configs - Add alot/config with account details and esc keybindings - shell-setup.sh: rm -rf ~/.config/alot && ln -sf ~/Dotfiles/alot - mail-notmuch.sh: patch account block in Dotfiles/alot/config via python3 regex instead of overwriting the whole file Co-Authored-By: Claude Sonnet 4.6 --- alot/config | 17 ++++++++ .../optional-Modules/apps/mail-notmuch.sh | 39 ++++++++++--------- setup/modules/shell-setup.sh | 3 ++ 3 files changed, 40 insertions(+), 19 deletions(-) create mode 100644 alot/config diff --git a/alot/config b/alot/config new file mode 100644 index 0000000..f0f061e --- /dev/null +++ b/alot/config @@ -0,0 +1,17 @@ +[accounts] + [[main]] + realname = amir alexander abdelbaki + address = amir@abdelbaki.eu + sendmail_command = msmtp -a main + sent_box = maildir:///home/themiro/Mail/Sent + draft_box = maildir:///home/themiro/Mail/Drafts + +[bindings] + [[search]] + esc = exit + [[thread]] + esc = exit + [[taglist]] + esc = exit + [[bufferlist]] + esc = exit diff --git a/setup/modules/optional-Modules/apps/mail-notmuch.sh b/setup/modules/optional-Modules/apps/mail-notmuch.sh index 2668631..2827c58 100755 --- a/setup/modules/optional-Modules/apps/mail-notmuch.sh +++ b/setup/modules/optional-Modules/apps/mail-notmuch.sh @@ -87,27 +87,28 @@ EOF chmod +x "$MAILDIR/.notmuch/hooks/post-new" # ── alot ────────────────────────────────────────────────────────────────────── -log "Writing ~/.config/alot/config..." -mkdir -p ~/.config/alot -cat > ~/.config/alot/config << EOF -[accounts] +# The bindings section lives in ~/Dotfiles/alot/config (symlinked by shell-setup.sh). +# Write only the account block, which contains machine-specific paths/identity. +log "Writing account details into ~/Dotfiles/alot/config..." +ALOT_CFG="$HOME/Dotfiles/alot/config" +# Replace the [[main]] account block in-place (sed removes old block, cat appends new one) +python3 - "$ALOT_CFG" "$FULL_NAME" "$EMAIL" "$MAILDIR" << 'PYEOF' +import sys, re +path, name, email, maildir = sys.argv[1:] +block = f"""[accounts] [[main]] - realname = $FULL_NAME - address = $EMAIL + realname = {name} + address = {email} sendmail_command = msmtp -a main - sent_box = maildir://$MAILDIR/Sent - draft_box = maildir://$MAILDIR/Drafts - -[bindings] - [[search]] - esc = exit - [[thread]] - esc = exit - [[taglist]] - esc = exit - [[bufferlist]] - esc = exit -EOF + sent_box = maildir://{maildir}/Sent + draft_box = maildir://{maildir}/Drafts +""" +with open(path) as f: + text = f.read() +text = re.sub(r'\[accounts\].*?(?=\n\[|\Z)', block, text, flags=re.DOTALL) +with open(path, 'w') as f: + f.write(text) +PYEOF # ── systemd timer for periodic sync ─────────────────────────────────────────── log "Installing mbsync systemd user timer (every 5 min)..." diff --git a/setup/modules/shell-setup.sh b/setup/modules/shell-setup.sh index 7de96b5..8534820 100755 --- a/setup/modules/shell-setup.sh +++ b/setup/modules/shell-setup.sh @@ -75,6 +75,9 @@ ln -sf ~/Dotfiles/nvim ~/.config/nvim log "Syncing neovim plugins (lazy.nvim)..." nvim --headless "+Lazy! sync" +qa 2>/dev/null || true +rm -rf ~/.config/alot +ln -sf ~/Dotfiles/alot ~/.config/alot + rm -rf ~/.config/yazi ln -sf ~/Dotfiles/yazi ~/.config/yazi From 050d91d544e1f38d695484097e5382962fe80048 Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 26 May 2026 13:25:44 +0200 Subject: [PATCH 107/116] fix(alot): remove esc = exit from search mode In the inbox/search view, exit has nowhere to go back to so it quit alot entirely. Esc is now only bound in thread/taglist/bufferlist where it navigates back without closing the application. Co-Authored-By: Claude Sonnet 4.6 --- alot/config | 2 -- 1 file changed, 2 deletions(-) diff --git a/alot/config b/alot/config index f0f061e..4f22ef7 100644 --- a/alot/config +++ b/alot/config @@ -7,8 +7,6 @@ draft_box = maildir:///home/themiro/Mail/Drafts [bindings] - [[search]] - esc = exit [[thread]] esc = exit [[taglist]] From ddd632fb7ed4e1c980000627f13b315e52a3964d Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 26 May 2026 13:31:22 +0200 Subject: [PATCH 108/116] fix(alot): restore esc = exit in search mode, add / = refineprompt esc closes the search buffer (exits alot only if it is the last buffer). / opens a prompt pre-filled with the current query for regex refinement. Co-Authored-By: Claude Sonnet 4.6 --- alot/config | 3 +++ 1 file changed, 3 insertions(+) diff --git a/alot/config b/alot/config index 4f22ef7..9f2ef29 100644 --- a/alot/config +++ b/alot/config @@ -7,6 +7,9 @@ draft_box = maildir:///home/themiro/Mail/Drafts [bindings] + [[search]] + esc = exit + / = refineprompt [[thread]] esc = exit [[taglist]] From 50c5b72683a4611f0f44345b004c21e0d1e23cca Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 26 May 2026 13:35:31 +0200 Subject: [PATCH 109/116] fix(nvim): auto-insert in terminal buffers, add terminal window nav - BufEnter term://* auto-calls startinsert so alot/abook receive keys immediately without needing to press i/a first (skips floaterm) - in terminal-insert mode exits to normal then moves window, matching the existing normal-mode nav mappings Co-Authored-By: Claude Sonnet 4.6 --- nvim/init.lua | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/nvim/init.lua b/nvim/init.lua index 26f32c6..0dd8f9d 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -87,12 +87,28 @@ vim.opt.wildmenu = true vim.opt.wildmode = "list:longest" -- ── Keymaps ─────────────────────────────────────────────────────────────────── --- window navigation +-- window navigation (normal mode) vim.keymap.set("n", "", "w") vim.keymap.set("n", "", "h") vim.keymap.set("n", "", "j") vim.keymap.set("n", "", "k") +-- window navigation from terminal-insert mode (exit insert, then move) +vim.keymap.set("t", "", "h", { silent = true }) +vim.keymap.set("t", "", "j", { silent = true }) +vim.keymap.set("t", "", "k", { silent = true }) +vim.keymap.set("t", "", "w", { silent = true }) + +-- auto-enter insert mode when focusing a terminal buffer (skip floaterm) +vim.api.nvim_create_autocmd("BufEnter", { + pattern = "term://*", + callback = function() + if vim.bo.filetype ~= "floaterm" then + vim.cmd("startinsert") + end + end, +}) + -- calendar.vim steals for month nav; restore window movement vim.api.nvim_create_autocmd("FileType", { pattern = "calendar", From c2514b6fb5601cf573c16a2b4673560b6510ba97 Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 26 May 2026 13:39:04 +0200 Subject: [PATCH 110/116] fix(nvim): guarantee abook/calendar column is at least 80 cols wide Right column was derived as W - left_w, making it too narrow on smaller terminals. Now right_w = max(80, 45% of W) and left_w takes the rest. Co-Authored-By: Claude Sonnet 4.6 --- nvim/init.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nvim/init.lua b/nvim/init.lua index 0dd8f9d..1f3732e 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -248,8 +248,8 @@ local function toggle_pim() -- full-screen: alot left, abook top-right, calendar bottom-right local H = vim.o.lines - 2 local W = vim.o.columns - local left_w = math.max(1, math.floor(W * 0.55)) - local right_w = math.max(1, W - left_w) + local right_w = math.max(80, math.floor(W * 0.45)) + local left_w = math.max(1, W - right_w) local top_h = math.max(1, math.floor(H / 2)) local bot_h = math.max(1, H - top_h) From 211763d2c8b2bb49a3f17a6e4359a3b86a26d5a3 Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 26 May 2026 13:40:45 +0200 Subject: [PATCH 111/116] fix(nvim): guarantee abook pane is at least 20 lines tall Co-Authored-By: Claude Sonnet 4.6 --- nvim/init.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nvim/init.lua b/nvim/init.lua index 1f3732e..d199a50 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -250,8 +250,8 @@ local function toggle_pim() local W = vim.o.columns local right_w = math.max(80, math.floor(W * 0.45)) local left_w = math.max(1, W - right_w) - local top_h = math.max(1, math.floor(H / 2)) - local bot_h = math.max(1, H - top_h) + local top_h = math.max(20, math.floor(H / 2)) + local bot_h = math.max(1, H - top_h) local w1 = _pim_float(0, 0, H, left_w) local ok, err = pcall(vim.cmd, "terminal alot") From e45448297093e5868276c066a73be52a973dc8ac Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 26 May 2026 14:11:06 +0200 Subject: [PATCH 112/116] feat(caldav): add CalDAV sync script with calendar.vim cache converter Installs vdirsyncer + khal, writes vdirsyncer/khal configs, creates ics-to-calendarim converter to populate calendar.vim local JSON cache, and sets up a systemd user timer for 15-minute periodic sync. Co-Authored-By: Claude Sonnet 4.6 --- .../optional-Modules/apps/caldav-sync.sh | 192 ++++++++++++++++++ 1 file changed, 192 insertions(+) create mode 100755 setup/modules/optional-Modules/apps/caldav-sync.sh diff --git a/setup/modules/optional-Modules/apps/caldav-sync.sh b/setup/modules/optional-Modules/apps/caldav-sync.sh new file mode 100755 index 0000000..9039ef7 --- /dev/null +++ b/setup/modules/optional-Modules/apps/caldav-sync.sh @@ -0,0 +1,192 @@ +#!/bin/bash +set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" + +log "Installing CalDAV sync stack..." +sudo pacman -S --noconfirm --needed vdirsyncer khal python-icalendar + +# ── Credentials ─────────────────────────────────────────────────────────────── +read -rp "CalDAV server URL (e.g. https://dav.example.com/cal/): " CALDAV_URL +read -rp "Username : " CALDAV_USER +read -rsp "Password : " CALDAV_PASS; echo +read -rp "Calendar display name [Personal] : " CAL_NAME +CAL_NAME="${CAL_NAME:-Personal}" + +CALDAV_DIR="$HOME/.local/share/calendars" +mkdir -p "$CALDAV_DIR" + +# ── vdirsyncer ──────────────────────────────────────────────────────────────── +log "Writing ~/.config/vdirsyncer/config..." +mkdir -p ~/.config/vdirsyncer ~/.local/share/vdirsyncer/status +cat > ~/.config/vdirsyncer/config << EOF +[general] +status_path = "$HOME/.local/share/vdirsyncer/status/" + +[pair calendars] +a = "local_cals" +b = "remote_cals" +collections = ["from b"] +metadata = ["color", "displayname"] + +[storage local_cals] +type = "filesystem" +path = "$CALDAV_DIR" +fileext = ".ics" + +[storage remote_cals] +type = "caldav" +url = "$CALDAV_URL" +username = "$CALDAV_USER" +password = "$CALDAV_PASS" +EOF +chmod 600 ~/.config/vdirsyncer/config + +log "Discovering CalDAV collections (confirm any prompts with y)..." +yes | vdirsyncer discover calendars || true + +log "Running initial sync..." +vdirsyncer sync + +# ── khal (CLI calendar companion) ──────────────────────────────────────────── +log "Writing ~/.config/khal/config..." +mkdir -p ~/.config/khal +cat > ~/.config/khal/config << EOF +[calendars] + [[personal]] + path = $CALDAV_DIR/* + color = light blue + +[sqlite] +path = ~/.local/share/khal/khal.db + +[locale] +timeformat = %H:%M +dateformat = %Y-%m-%d +datetimeformat = %Y-%m-%d %H:%M +EOF + +# ── ICS → calendar.vim cache converter ─────────────────────────────────────── +log "Installing ics-to-calendarim converter..." +mkdir -p ~/.local/bin +cat > ~/.local/bin/ics-to-calendarim << 'PYEOF' +#!/usr/bin/env python3 +""" +Convert vdirsyncer ICS files to calendar.vim local event cache. +Cache lives at ~/.cache/calendar.vim/local/ in the format: + calendarList – list of calendars (JSON) + ///0 – events per month (JSON) +""" +import json, sys +from pathlib import Path +from datetime import datetime, date, timezone + +try: + from icalendar import Calendar as iCal +except ImportError: + sys.exit("python-icalendar is required: sudo pacman -S python-icalendar") + +CALDAV_DIR = Path.home() / ".local/share/calendars" +CACHE_DIR = Path.home() / ".cache/calendar.vim/local" + +COLORS = ["#4CAF50", "#2196F3", "#FF5722", "#9C27B0", "#FF9800"] + +def to_naive(dt): + if isinstance(dt, datetime): + if dt.tzinfo is not None: + dt = dt.astimezone(timezone.utc).replace(tzinfo=None) + return dt.strftime("%Y-%m-%dT%H:%M:%S"), True, dt.year, dt.month + if isinstance(dt, date): + return dt.strftime("%Y-%m-%d"), False, dt.year, dt.month + return None, False, None, None + +def main(): + CACHE_DIR.mkdir(parents=True, exist_ok=True) + cal_items = [] + + for idx, cal_dir in enumerate(sorted(d for d in CALDAV_DIR.iterdir() if d.is_dir())): + cal_id = cal_dir.name + cal_summary = cal_dir.name.replace("_", " ").title() + cal_items.append({ + "id": cal_id, + "summary": cal_summary, + "backgroundColor": COLORS[idx % len(COLORS)], + "foregroundColor": "#ffffff", + }) + + by_month: dict = {} + for ics in cal_dir.glob("*.ics"): + try: + cal = iCal.from_ical(ics.read_bytes()) + except Exception as e: + print(f"warning: skipping {ics.name}: {e}", file=sys.stderr) + continue + for comp in cal.walk("VEVENT"): + dtstart = comp.get("DTSTART") + dtend = comp.get("DTEND") or comp.get("DTSTART") + if not dtstart: + continue + s_str, is_timed, yr, mo = to_naive(dtstart.dt) + e_str, _, _, _ = to_naive(dtend.dt) + if not s_str: + continue + uid = str(comp.get("UID", ics.stem)) + summary = str(comp.get("SUMMARY", "")) + key = (yr, mo) + by_month.setdefault(key, []).append({ + "id": uid, + "summary": summary, + "start": {"dateTime": s_str} if is_timed else {"date": s_str}, + "end": {"dateTime": e_str} if is_timed else {"date": e_str}, + }) + + for (yr, mo), events in by_month.items(): + out = CACHE_DIR / cal_id / f"{yr:04d}" / f"{mo:02d}" + out.mkdir(parents=True, exist_ok=True) + (out / "0").write_text(json.dumps({"items": events})) + + (CACHE_DIR / "calendarList").write_text(json.dumps({"items": cal_items})) + print(f"calendar.vim cache updated: {len(cal_items)} calendar(s).") + +if __name__ == "__main__": + main() +PYEOF +chmod +x ~/.local/bin/ics-to-calendarim + +log "Running initial calendar.vim cache build..." +~/.local/bin/ics-to-calendarim + +# ── systemd user timer ──────────────────────────────────────────────────────── +log "Installing vdirsyncer systemd user timer (every 15 min)..." +mkdir -p ~/.config/systemd/user + +cat > ~/.config/systemd/user/vdirsyncer.service << EOF +[Unit] +Description=Sync CalDAV and rebuild calendar.vim cache +After=network-online.target + +[Service] +Type=oneshot +ExecStart=/usr/bin/vdirsyncer sync +ExecStartPost=$HOME/.local/bin/ics-to-calendarim +EOF + +cat > ~/.config/systemd/user/vdirsyncer.timer << EOF +[Unit] +Description=Run vdirsyncer every 15 minutes + +[Timer] +OnBootSec=2min +OnUnitActiveSec=15min +Unit=vdirsyncer.service + +[Install] +WantedBy=timers.target +EOF + +systemctl --user daemon-reload +systemctl --user enable --now vdirsyncer.timer + +log "CalDAV sync configured. Events will appear in calendar.vim automatically." +log "Manual sync: vdirsyncer sync && ics-to-calendarim" +log "CLI calendar: khal list / khal interactive" +log "Timer status: systemctl --user status vdirsyncer.timer" From 5948629c28ff5ce002c0784d331590a3c1b50ef6 Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 26 May 2026 14:12:24 +0200 Subject: [PATCH 113/116] feat(nvim): sync CalDAV on startup via background jobstart Runs vdirsyncer sync + ics-to-calendarim in a detached background job on VimEnter so the calendar.vim cache stays fresh without blocking startup. Co-Authored-By: Claude Sonnet 4.6 --- nvim/init.lua | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/nvim/init.lua b/nvim/init.lua index d199a50..adbbbcd 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -270,3 +270,14 @@ local function toggle_pim() end vim.keymap.set("n", "x", toggle_pim, { silent = true }) + +-- ── CalDAV background sync on startup ──────────────────────────────────────── +vim.api.nvim_create_autocmd("VimEnter", { + once = true, + callback = function() + vim.fn.jobstart( + { "sh", "-c", "vdirsyncer sync && ics-to-calendarim" }, + { detach = true } + ) + end, +}) From dc11cc007d46b5843b43a3a1939bd6a2b35cb84d Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 26 May 2026 14:23:32 +0200 Subject: [PATCH 114/116] feat(nvim): enable calendar.vim event loading from local ICS cache Sets g:calendar_google_calendar so calendar.vim attempts to load events, falling back to the cache populated by ics-to-calendarim. Co-Authored-By: Claude Sonnet 4.6 --- nvim/init.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nvim/init.lua b/nvim/init.lua index adbbbcd..c79074b 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -64,6 +64,9 @@ vim.g.airline_section_x = "IP:" .. ipaddr .. " DNS:" .. hostname vim.g.loaded_ruby_provider = 0 vim.g.loaded_perl_provider = 0 +-- calendar.vim: enable event loading (reads local cache populated by ics-to-calendarim) +vim.g.calendar_google_calendar = 1 + -- ── Editor options ──────────────────────────────────────────────────────────── vim.cmd("filetype plugin indent on") vim.cmd("syntax enable") From f25b761f3d317f5aaec37bfe93e69e9b9e0ef25f Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 26 May 2026 14:26:17 +0200 Subject: [PATCH 115/116] fix(nvim): replace calendar.vim with khal interactive for event display calendar.vim hangs on Google token errors; khal interactive reads the same vdirsyncer ICS files directly and provides a working calendar+event TUI. Co-Authored-By: Claude Sonnet 4.6 --- nvim/init.lua | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/nvim/init.lua b/nvim/init.lua index c79074b..49b2adf 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -64,8 +64,6 @@ vim.g.airline_section_x = "IP:" .. ipaddr .. " DNS:" .. hostname vim.g.loaded_ruby_provider = 0 vim.g.loaded_perl_provider = 0 --- calendar.vim: enable event loading (reads local cache populated by ics-to-calendarim) -vim.g.calendar_google_calendar = 1 -- ── Editor options ──────────────────────────────────────────────────────────── vim.cmd("filetype plugin indent on") @@ -234,7 +232,7 @@ local function toggle_solo(key, cmd, label) end vim.keymap.set("n", "n", function() toggle_solo("n", "terminal alot", "alot") end, { silent = true }) -vim.keymap.set("n", "g", function() toggle_solo("g", "Calendar -position=here", "calendar.vim") end, { silent = true }) +vim.keymap.set("n", "g", function() toggle_solo("g", "terminal khal interactive", "khal") end, { silent = true }) vim.keymap.set("n", "f", function() toggle_solo("f", "terminal abook", "abook") end, { silent = true }) -- r: sideward-T overlay — left column (bar of the T) with three stacked panes, @@ -265,8 +263,8 @@ local function toggle_pim() if not ok then _pim_scratch("abook", err) end local w3 = _pim_float(top_h, left_w, bot_h, right_w) - ok, err = pcall(vim.cmd, "Calendar -position=here") - if not ok then _pim_scratch("calendar.vim", err) end + ok, err = pcall(vim.cmd, "terminal khal interactive") + if not ok then _pim_scratch("khal", err) end _pim_wins = { w1, w2, w3 } vim.api.nvim_set_current_win(w1) From 325c6def66ef50dff6e413cbb96c767f69322d3b Mon Sep 17 00:00:00 2001 From: The_miro Date: Tue, 26 May 2026 14:40:37 +0200 Subject: [PATCH 116/116] fix(caldav): write per-calendar khal config instead of broken glob The glob path = .../calendars/* was not expanded by khal, so no events were visible. Now caldav-sync.sh and ics-to-calendarim both generate explicit [[name]]/path entries per calendar and regenerate the config on every sync so newly discovered calendars are picked up automatically. Co-Authored-By: Claude Sonnet 4.6 --- .../optional-Modules/apps/caldav-sync.sh | 48 +++++++++++++------ 1 file changed, 34 insertions(+), 14 deletions(-) diff --git a/setup/modules/optional-Modules/apps/caldav-sync.sh b/setup/modules/optional-Modules/apps/caldav-sync.sh index 9039ef7..0f86a7d 100755 --- a/setup/modules/optional-Modules/apps/caldav-sync.sh +++ b/setup/modules/optional-Modules/apps/caldav-sync.sh @@ -48,22 +48,28 @@ log "Running initial sync..." vdirsyncer sync # ── khal (CLI calendar companion) ──────────────────────────────────────────── -log "Writing ~/.config/khal/config..." +log "Writing ~/.config/khal/config (per-calendar entries)..." mkdir -p ~/.config/khal -cat > ~/.config/khal/config << EOF -[calendars] - [[personal]] - path = $CALDAV_DIR/* - color = light blue +python3 - "$CALDAV_DIR" << 'PYEOF' +import sys +from pathlib import Path -[sqlite] -path = ~/.local/share/khal/khal.db +cal_root = Path(sys.argv[1]) +colors = ["light blue", "light green", "light red", "light magenta", "light cyan"] +dirs = sorted(d for d in cal_root.iterdir() if d.is_dir()) -[locale] -timeformat = %H:%M -dateformat = %Y-%m-%d -datetimeformat = %Y-%m-%d %H:%M -EOF +lines = ["[calendars]"] +for i, d in enumerate(dirs): + lines += [f" [[{d.name}]]", f" path = {d}", f" color = {colors[i % len(colors)]}"] + +lines += [ + "", "[sqlite]", "path = ~/.local/share/khal/khal.db", + "", "[locale]", "timeformat = %H:%M", "dateformat = %Y-%m-%d", + "datetimeformat = %Y-%m-%d %H:%M", +] + +(Path.home() / ".config/khal/config").write_text("\n".join(lines) + "\n") +PYEOF # ── ICS → calendar.vim cache converter ─────────────────────────────────────── log "Installing ics-to-calendarim converter..." @@ -87,8 +93,10 @@ except ImportError: CALDAV_DIR = Path.home() / ".local/share/calendars" CACHE_DIR = Path.home() / ".cache/calendar.vim/local" +KHAL_CFG = Path.home() / ".config/khal/config" -COLORS = ["#4CAF50", "#2196F3", "#FF5722", "#9C27B0", "#FF9800"] +COLORS = ["#4CAF50", "#2196F3", "#FF5722", "#9C27B0", "#FF9800"] +KHAL_COLORS = ["light blue", "light green", "light red", "light magenta", "light cyan"] def to_naive(dt): if isinstance(dt, datetime): @@ -145,6 +153,18 @@ def main(): (out / "0").write_text(json.dumps({"items": events})) (CACHE_DIR / "calendarList").write_text(json.dumps({"items": cal_items})) + + # regenerate khal config so new calendars are picked up automatically + cal_dirs = sorted(d for d in CALDAV_DIR.iterdir() if d.is_dir()) + khal_lines = ["[calendars]"] + for i, d in enumerate(cal_dirs): + khal_lines += [f" [[{d.name}]]", f" path = {d}", + f" color = {KHAL_COLORS[i % len(KHAL_COLORS)]}"] + khal_lines += ["", "[sqlite]", "path = ~/.local/share/khal/khal.db", + "", "[locale]", "timeformat = %H:%M", "dateformat = %Y-%m-%d", + "datetimeformat = %Y-%m-%d %H:%M"] + KHAL_CFG.write_text("\n".join(khal_lines) + "\n") + print(f"calendar.vim cache updated: {len(cal_items)} calendar(s).") if __name__ == "__main__":

      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 literal 0 HcmV?d00001 diff --git a/desktopenvs/hyprlua/Vencord/themes/system24/assets/screenshot3.png b/desktopenvs/hyprlua/Vencord/themes/system24/assets/screenshot3.png new file mode 100644 index 0000000000000000000000000000000000000000..4d050f31cc47a7d2936932c6b4572917a9aa85dd GIT binary patch literal 655502 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

  • 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