From 09b0b1a462804b6b8553b8ac3778115f19f13cf3 Mon Sep 17 00:00:00 2001 From: Stefan Mogeritsch Date: Fri, 6 Mar 2026 11:23:24 +0100 Subject: [PATCH] infra: clean up Keycloak configuration, enforce consistency in `.env`, and improve health checks Streamlined Keycloak configurations with defaults for development and production in `.env`. Added health checks and improved environment variable documentation with comments to differentiate local and server deployments. Ensured compatibility with pre-built registry images. --- .env | 12 ++++- .env.example | 43 +++++++++++++----- config/scripts/backup.sh | 20 ++++++-- dc-backend.yaml | 10 ++-- dc-infra.yaml | 21 +++++++-- .../02_Frontend_Architecture.md | 5 ++ .../03_Build_System_Platform_Module.md | 5 ++ docs/01_Architecture/ARCHITECTURE.md | 5 ++ .../Architecture_OpenSource_Checkliste.md | 5 ++ ...Gitea_Actions_Cache_to_Accelerate_CI_CD.md | 5 ++ .../Minisforum-MS-R1/Gitea-SSH-Setup.md | 5 ++ .../MS-R1_Konfiguration&Bedienung.md | 5 ++ ...B-Nutzerhandbuch-Deutsch-V2-0-2025-11-3.md | 4 +- .../SSoT_Konfigurations-Masterplan_Zora.md | 5 ++ .../Minisforum-MS-R1/Setup_Guide_Host_OS.md | 5 ++ .../Minisforum-MS-R1/Setup_Guide_Services.md | 5 ++ .../Minisforum-MS-R1/Spezifikation.md | 5 ++ .../Zentrales_Mail-Relay-SSoT_Zora.md | 5 ++ .../Minisforum-MS-R1/Zora_Roadmap.md | 5 ++ .../Implementierung_Offline-First_KMP.md | 5 ++ .../USV-Akku/USV-technische-Daten.md | 4 +- ...ENDING-backend-infrastructure-decisions.md | 5 ++ .../adr/0000-adr-template-de.md | 5 ++ .../adr/0001-modular-architecture-de.md | 5 ++ .../adr/0002-domain-driven-design-de.md | 5 ++ .../adr/0003-microservices-architecture-de.md | 5 ++ .../adr/0004-event-driven-communication-de.md | 5 ++ .../adr/0005-polyglot-persistence-de.md | 5 ++ ...uthentication-authorization-keycloak-de.md | 5 ++ .../adr/0007-api-gateway-pattern-de.md | 5 ++ ...08-multiplatform-client-applications-de.md | 5 ++ .../adr/0009-final-kmp-architecture.md | 5 ++ .../001-backend-infrastructure-decisions.md | 5 ++ ...ldelight-for-cross-platform-persistence.md | 5 ++ .../adr/0011-koin-for-dependency-injection.md | 5 ++ .../0012-domain-documentation-structure.md | 5 ++ docs/01_Architecture/adr/README.md | 5 ++ ...light_Integration_Compose_Multiplatform.md | 5 ++ docs/02_Guides/SQLDelight_Web_Asynchron.md | 5 ++ docs/03_Domain/00_Glossary.md | 5 ++ .../01_Core_Model/Entities/Overview.md | 5 ++ .../01_Core_Model/Entities/README.md | 5 ++ docs/03_Domain/01_Core_Model/README.md | 5 ++ .../Legacy_Spec_Analysis_2026-01.md | 5 ++ .../Non_Functional_Requirements_Draft.md | 5 ++ .../Scenarios/Anekdote_Meldestelle.md | 5 ++ docs/03_Domain/03_Analysis/Use_Cases_Draft.md | 5 ++ .../03_Analysis/User_Stories_Draft.md | 5 ++ docs/04_Agents/Playbooks/Architect.md | 5 ++ docs/04_Agents/Playbooks/BackendDeveloper.md | 5 ++ docs/04_Agents/Playbooks/DevOpsEngineer.md | 5 ++ docs/04_Agents/Playbooks/DomainExpert.md | 5 ++ docs/04_Agents/Playbooks/FrontendExpert.md | 5 ++ docs/04_Agents/Playbooks/Gemini.md | 5 ++ docs/04_Agents/Playbooks/Junie.md | 5 ++ docs/04_Agents/Playbooks/QASpecialist.md | 5 ++ docs/04_Agents/README.md | 5 ++ docs/05_Backend/README.md | 5 ++ ...2026-02-02_Docker_Build_Troubleshooting.md | 5 ++ ...2-02_Docker_Build_Troubleshooting_Part2.md | 5 ++ .../06_Frontend/offline-first-architecture.md | 5 ++ docs/06_Frontend/web-setup.md | 5 ++ .../Heim-Netzwerk-Plan_02-2026.md | 6 ++- .../Konfig-Matrix_Dev-ProZora.md | 12 +++-- .../Pangolin-vs-Cloudflare-Tunnel.md | 4 +- .../Reference/ports-and-urls.md | 5 +- docs/07_Infrastructure/Reference/zipkin.md | 5 ++ .../Zora_Infrastructure_Deployment_02-2026.md | 7 ++- .../Zora_System_Architektur.md | 6 ++- .../runbooks/local-development.md | 5 ++ .../2026-02-01_Frontend_Cleanup_Status.md | 4 +- docs/90_Reports/2026-02-01_Sync_Fix_Report.md | 3 +- .../2026-03-06_Session_Log_Keycloak_Fix.md | 37 +++++++++++++++ .../event-log_2026-01-28 12-20-22.png | Bin 155769 -> 0 bytes gradle.properties | 2 +- 75 files changed, 441 insertions(+), 44 deletions(-) create mode 100644 docs/99_Journal/2026-03-06_Session_Log_Keycloak_Fix.md delete mode 100644 docs/ScreenShots/event-log_2026-01-28 12-20-22.png diff --git a/.env b/.env index 0b9214f6..9aabff99 100644 --- a/.env +++ b/.env @@ -8,6 +8,10 @@ # --- PROJECT --- PROJECT_NAME=meldestelle +# --- BACKUP --- +BACKUP_DIR=/home/stefan/backups/meldestelle +BACKUP_RETENTION_DAYS=7 + # Docker build versions (optional overrides) DOCKER_VERSION=1.0.0-SNAPSHOT DOCKER_REGISTRY=git.mo-code.at/mocode-software @@ -48,15 +52,21 @@ SPRING_DATA_VALKEY_PASSWORD=valkey-password KEYCLOAK_IMAGE_TAG=26.4 KC_HEAP_MIN=512M KC_HEAP_MAX=1024M +# Lokale Entwicklung: start-dev (kein Pre-Build nötig, kein --optimized) +# Server/Produktion: start --optimized --import-realm (nutzt das pre-built Registry-Image) KC_COMMAND=start-dev --import-realm KC_ADMIN_USERNAME=kc-admin KC_ADMIN_PASSWORD=kc-password KC_DB=postgres KC_DB_SCHEMA=keycloak KC_DB_PASSWORD=meldestelle +# Lokal: localhost | Server: echte IP oder Domain (z.B. 192.168.1.100 oder auth.meldestelle.at) KC_HOSTNAME=localhost +# false = kein Hostname-Strict-Check (empfohlen für Entwicklung und HTTP-only Server) +KC_HOSTNAME_STRICT=false +KC_HOSTNAME_STRICT_HTTPS=false KC_PORT=8180:8080 -KC_DEBUG_PORT=9000:9000 +KC_MANAGEMENT_PORT=9000:9000 # --- KEYCLOAK TOKEN VALIDATION --- # Public Issuer URI (must match the token issuer from browser/postman) diff --git a/.env.example b/.env.example index 37a0e16b..b829c2c2 100644 --- a/.env.example +++ b/.env.example @@ -2,12 +2,21 @@ # Meldestelle – Docker Compose Environment # Single Source of Truth (SSoT) # ========================================== -# WARNING: This file contains secrets (passwords). -# Do NOT commit this file to version control if it contains production secrets. +# ANLEITUNG: +# 1. Diese Datei nach ".env" kopieren: cp .env.example .env +# 2. Alle Werte mit durch echte Werte ersetzen +# 3. Für lokale Entwicklung: KC_COMMAND=start-dev --import-realm +# Für Server/Produktion: KC_COMMAND=start --optimized --import-realm +# WARNING: Die .env-Datei enthält Secrets – NIEMALS in Git committen! # --- PROJECT --- PROJECT_NAME=meldestelle +# --- BACKUP --- +# SERVER: Pfad zum Backup-Verzeichnis (z.B. /home//backups/meldestelle) +BACKUP_DIR=/home//backups/meldestelle +BACKUP_RETENTION_DAYS=7 + # Docker build versions (optional overrides) DOCKER_VERSION=1.0.0-SNAPSHOT DOCKER_BUILD_DATE=2026-02-02T15:00:00Z @@ -37,22 +46,32 @@ VALKEY_MAXMEMORY=256mb # --- KEYCLOAK --- KEYCLOAK_IMAGE_TAG=26.4 -KC_HEAP_MAX=1024m -KC_COMMAND=start-dev --import-realm +KC_HEAP_MIN=512M +KC_HEAP_MAX=1024M +# LOKAL: start-dev --import-realm +# SERVER: start --optimized --import-realm ← pre-built Registry-Image, kein start-dev! +KC_COMMAND=start --optimized --import-realm KC_ADMIN_USERNAME=kc-admin -KC_ADMIN_PASSWORD=kc-password +KC_ADMIN_PASSWORD= KC_DB=postgres KC_DB_SCHEMA=keycloak -KC_DB_PASSWORD=meldestelle -KC_HOSTNAME=localhost +KC_DB_PASSWORD= +# SERVER: Echte IP oder Domain eintragen (z.B. 192.168.1.100 oder auth.meldestelle.at) +# LOKAL: localhost +KC_HOSTNAME= +# false = Zugriff über beliebige Hostnamen erlaubt (nötig ohne TLS / für HTTP-Betrieb) +KC_HOSTNAME_STRICT=false +KC_HOSTNAME_STRICT_HTTPS=false KC_PORT=8180:8080 -KC_DEBUG_PORT=9000:9000 +KC_MANAGEMENT_PORT=9000:9000 # --- KEYCLOAK TOKEN VALIDATION --- -# Public Issuer URI (must match the token issuer from browser/postman) -KC_ISSUER_URI=http://localhost:8180/realms/meldestelle -# Internal JWK Set URI (for service-to-service communication within Docker) -KC_JWK_SET_URI=http://keycloak:8080/realms/meldestelle/protocol/openid-connect/certs +# Public Issuer URI: muss mit dem Hostname übereinstimmen, den Browser/App sieht +# LOKAL: http://localhost:8180/realms/meldestelle +# SERVER: http://:8180/realms/meldestelle +SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_ISSUER_URI=http://:8180/realms/meldestelle +# Internal JWK Set URI: Service-zu-Service innerhalb Docker (immer keycloak:8080) +SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_JWK_SET_URI=http://keycloak:8080/realms/meldestelle/protocol/openid-connect/certs # --- CONSUL --- CONSUL_IMAGE=hashicorp/consul:1.22.1 diff --git a/config/scripts/backup.sh b/config/scripts/backup.sh index 6e5e552b..fec04751 100644 --- a/config/scripts/backup.sh +++ b/config/scripts/backup.sh @@ -4,15 +4,25 @@ # Sichert Datenbanken und Konfigurationen # ========================================== -# Konfiguration -BACKUP_DIR="/home/grandmo/backups/meldestelle" +# .env laden (SSoT für alle Variablen) +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" +if [ -f "$PROJECT_ROOT/.env" ]; then + set -a + # shellcheck disable=SC1091 + source "$PROJECT_ROOT/.env" + set +a +fi + +# Konfiguration (Defaults falls .env nicht vorhanden) +BACKUP_DIR="${BACKUP_DIR:-$HOME/backups/meldestelle}" DATE=$(date +%Y-%m-%d_%H-%M-%S) -RETENTION_DAYS=7 -PROJECT_NAME="meldestelle" +RETENTION_DAYS="${BACKUP_RETENTION_DAYS:-7}" +PROJECT_NAME="${PROJECT_NAME:-meldestelle}" # Container Namen (müssen mit docker-compose übereinstimmen) DB_CONTAINER="${PROJECT_NAME}-postgres" -DB_USER="meldestelle" # Oder aus .env lesen +DB_USER="${POSTGRES_USER:-pg-user}" # Verzeichnisse erstellen mkdir -p "$BACKUP_DIR" diff --git a/dc-backend.yaml b/dc-backend.yaml index eff7fbc0..2e3ad562 100644 --- a/dc-backend.yaml +++ b/dc-backend.yaml @@ -118,11 +118,11 @@ services: SPRING_DATASOURCE_USERNAME: "${POSTGRES_USER:-pg-user}" SPRING_DATASOURCE_PASSWORD: "${POSTGRES_PASSWORD:-pg-password}" - # --- REDIS --- - SPRING_DATA_REDIS_HOST: "${REDIS_SERVER_HOSTNAME:-redis}" - SPRING_DATA_REDIS_PORT: "${REDIS_SERVICE_PORT:-6379}" - SPRING_DATA_REDIS_PASSWORD: "${REDIS_PASSWORD:-redis-password}" - SPRING_DATA_REDIS_CONNECT_TIMEOUT: "${REDIS_SERVER_CONNECT_TIMEOUT:-5s}" + # --- VALKEY (formerly Redis) --- + SPRING_DATA_VALKEY_HOST: "${VALKEY_SERVER_HOSTNAME:-valkey}" + SPRING_DATA_VALKEY_PORT: "${VALKEY_SERVER_PORT:-6379}" + SPRING_DATA_VALKEY_PASSWORD: "${VALKEY_PASSWORD:-}" + SPRING_DATA_VALKEY_CONNECT_TIMEOUT: "${VALKEY_SERVER_CONNECT_TIMEOUT:-5s}" # --- ZIPKIN --- MANAGEMENT_ZIPKIN_TRACING_ENDPOINT: "${ZIPKIN_ENDPOINT:-http://zipkin:9411/api/v2/spans}" diff --git a/dc-infra.yaml b/dc-infra.yaml index e5b5f334..4f9f3c01 100644 --- a/dc-infra.yaml +++ b/dc-infra.yaml @@ -77,7 +77,7 @@ services: dockerfile: config/docker/keycloak/Dockerfile args: KEYCLOAK_IMAGE_TAG: "${KEYCLOAK_IMAGE_TAG:-26.4}" - image: "${DOCKER_REGISTRY:-git.mo-code.at/grandmo}/keycloak:${KEYCLOAK_IMAGE_TAG:-26.4}" + image: "${DOCKER_REGISTRY:-git.mo-code.at/mocode-software}/keycloak:${KEYCLOAK_IMAGE_TAG:-26.4}" container_name: "${PROJECT_NAME:-meldestelle}-keycloak" restart: unless-stopped profiles: [ "infra", "all" ] @@ -89,21 +89,36 @@ services: KC_DB_URL: "jdbc:postgresql://postgres:5432/${POSTGRES_DB:-pg-meldestelle-db}" KC_DB_USERNAME: "${POSTGRES_USER:-pg-user}" KC_DB_PASSWORD: "${POSTGRES_PASSWORD:-pg-password}" + # Hostname-Konfiguration: Für lokale Entwicklung "localhost", auf dem Server die echte IP/Domain setzen KC_HOSTNAME: "${KC_HOSTNAME:-localhost}" + # WICHTIG: false erlaubt Zugriff über beliebige Hostnamen (nötig für Server-Betrieb ohne TLS) + KC_HOSTNAME_STRICT: "${KC_HOSTNAME_STRICT:-false}" + # WICHTIG: false erlaubt HTTP (kein HTTPS-Zwang) – für Entwicklung und HTTP-only Server + KC_HOSTNAME_STRICT_HTTPS: "${KC_HOSTNAME_STRICT_HTTPS:-false}" KC_HTTP_ENABLED: "true" + # Admin-Interface explizit auf allen Interfaces binden (0.0.0.0) + KC_HTTP_MANAGEMENT_PORT: "9000" KC_HEALTH_ENABLED: "true" KC_METRICS_ENABLED: "true" # Integration der Power-Flags JAVA_OPTS_APPEND: "-Xms${KC_HEAP_MIN:-512M} -Xmx${KC_HEAP_MAX:-1024M} ${JVM_OPTS_ARM64}" ports: - "${KC_PORT:-8180:8080}" - - "${KC_DEBUG_PORT:-9000:9000}" + - "${KC_MANAGEMENT_PORT:-9000:9000}" depends_on: postgres: condition: "service_healthy" + healthcheck: + test: [ "CMD-SHELL", "curl -sf http://localhost:9000/health/ready || exit 1" ] + interval: "15s" + timeout: "5s" + retries: "10" + start_period: "60s" volumes: - "./config/docker/keycloak:/opt/keycloak/data/import:Z" - command: "${KC_COMMAND:-start-dev --import-realm}" + # start --optimized nutzt das pre-built Image (kc.sh build im Dockerfile) + # start-dev würde den Pre-Build ignorieren und im Dev-Modus starten (Konflikt mit Registry-Images!) + command: "${KC_COMMAND:-start --optimized --import-realm}" networks: meldestelle-network: aliases: diff --git a/docs/01_Architecture/02_Frontend_Architecture.md b/docs/01_Architecture/02_Frontend_Architecture.md index f29152c3..7bb1562f 100644 --- a/docs/01_Architecture/02_Frontend_Architecture.md +++ b/docs/01_Architecture/02_Frontend_Architecture.md @@ -1,3 +1,8 @@ +--- +type: Reference +status: ACTIVE +owner: Lead Architect +--- # Frontend Architecture & Modularization Strategy **Status:** DRAFT diff --git a/docs/01_Architecture/03_Build_System_Platform_Module.md b/docs/01_Architecture/03_Build_System_Platform_Module.md index 2448afa5..9f1b4421 100644 --- a/docs/01_Architecture/03_Build_System_Platform_Module.md +++ b/docs/01_Architecture/03_Build_System_Platform_Module.md @@ -1,3 +1,8 @@ +--- +type: Reference +status: ACTIVE +owner: Lead Architect +--- # Architektur: Das Platform-Modul ## Überblick diff --git a/docs/01_Architecture/ARCHITECTURE.md b/docs/01_Architecture/ARCHITECTURE.md index 817fe8fa..be51afaf 100644 --- a/docs/01_Architecture/ARCHITECTURE.md +++ b/docs/01_Architecture/ARCHITECTURE.md @@ -1,3 +1,8 @@ +--- +type: Reference +status: ACTIVE +owner: Lead Architect +--- # Repository-Architektur (MP-22) **WARNUNG (Januar 2026): Dieses Dokument ist veraltet.** Die hier beschriebene "Soll"-Struktur wurde teilweise umgesetzt, aber wichtige strategische Änderungen sind in den Statusberichten vom Januar 2026 dokumentiert. Dieses Dokument dient nur noch als historischer Referenzpunkt. diff --git a/docs/01_Architecture/Architecture_OpenSource_Checkliste.md b/docs/01_Architecture/Architecture_OpenSource_Checkliste.md index 4181477e..201e6136 100644 --- a/docs/01_Architecture/Architecture_OpenSource_Checkliste.md +++ b/docs/01_Architecture/Architecture_OpenSource_Checkliste.md @@ -1,3 +1,8 @@ +--- +type: Reference +status: ACTIVE +owner: Lead Architect +--- # Open-Source-Konformität & Lizenz-Checkliste Dieses Dokument dient der Überwachung und Sicherstellung der Open-Source-Konformität des Projekts **Meldestelle**. Es wird vom Lead Architect gepflegt. diff --git a/docs/01_Architecture/Gitea/Enable_Gitea_Actions_Cache_to_Accelerate_CI_CD.md b/docs/01_Architecture/Gitea/Enable_Gitea_Actions_Cache_to_Accelerate_CI_CD.md index d17caeab..b7d27dd3 100644 --- a/docs/01_Architecture/Gitea/Enable_Gitea_Actions_Cache_to_Accelerate_CI_CD.md +++ b/docs/01_Architecture/Gitea/Enable_Gitea_Actions_Cache_to_Accelerate_CI_CD.md @@ -1,3 +1,8 @@ +--- +type: Guide +status: ACTIVE +owner: DevOps Engineer +--- # Enable Gitea Actions Cache to Accelerate CI/CD [![](/gitea-text.svg)Gitea](/) diff --git a/docs/01_Architecture/Minisforum-MS-R1/Gitea-SSH-Setup.md b/docs/01_Architecture/Minisforum-MS-R1/Gitea-SSH-Setup.md index 3752ce9b..b9f243bc 100644 --- a/docs/01_Architecture/Minisforum-MS-R1/Gitea-SSH-Setup.md +++ b/docs/01_Architecture/Minisforum-MS-R1/Gitea-SSH-Setup.md @@ -1,3 +1,8 @@ +--- +type: Guide +status: ACTIVE +owner: DevOps Engineer +--- # 💻 Client-Setup: Arbeitsplatz an "Das Biest" anbinden Diese Anleitung beschreibt die Einrichtung eines lokalen Rechners, um via SSH und Cloudflare-Tunnel auf die diff --git a/docs/01_Architecture/Minisforum-MS-R1/MS-R1_Konfiguration&Bedienung.md b/docs/01_Architecture/Minisforum-MS-R1/MS-R1_Konfiguration&Bedienung.md index 7249e54c..11200e58 100644 --- a/docs/01_Architecture/Minisforum-MS-R1/MS-R1_Konfiguration&Bedienung.md +++ b/docs/01_Architecture/Minisforum-MS-R1/MS-R1_Konfiguration&Bedienung.md @@ -1,3 +1,8 @@ +--- +type: Guide +status: ACTIVE +owner: DevOps Engineer +--- # Technisches Referenzhandbuch: MS-R1 "Das Biest" ## 1. System-Übersicht & Architektur diff --git a/docs/01_Architecture/Minisforum-MS-R1/P1WSB-Nutzerhandbuch-Deutsch-V2-0-2025-11-3.md b/docs/01_Architecture/Minisforum-MS-R1/P1WSB-Nutzerhandbuch-Deutsch-V2-0-2025-11-3.md index ec8cdf40..5e686041 100644 --- a/docs/01_Architecture/Minisforum-MS-R1/P1WSB-Nutzerhandbuch-Deutsch-V2-0-2025-11-3.md +++ b/docs/01_Architecture/Minisforum-MS-R1/P1WSB-Nutzerhandbuch-Deutsch-V2-0-2025-11-3.md @@ -1,5 +1,7 @@ --- -Betriebsanleitung Minisforum MS-R1 +type: Reference +status: ARCHIVED +owner: DevOps Engineer --- # MINISFORUM MS-R1 diff --git a/docs/01_Architecture/Minisforum-MS-R1/SSoT_Konfigurations-Masterplan_Zora.md b/docs/01_Architecture/Minisforum-MS-R1/SSoT_Konfigurations-Masterplan_Zora.md index b7a0839b..bed6204e 100644 --- a/docs/01_Architecture/Minisforum-MS-R1/SSoT_Konfigurations-Masterplan_Zora.md +++ b/docs/01_Architecture/Minisforum-MS-R1/SSoT_Konfigurations-Masterplan_Zora.md @@ -1,3 +1,8 @@ +--- +type: Reference +status: ACTIVE +owner: DevOps Engineer +--- # SSoT Konfigurations-Masterplan für Zora (ARM64) ## 1. System-Umgebung (Infrastruktur) diff --git a/docs/01_Architecture/Minisforum-MS-R1/Setup_Guide_Host_OS.md b/docs/01_Architecture/Minisforum-MS-R1/Setup_Guide_Host_OS.md index eaf75f89..a6b94109 100644 --- a/docs/01_Architecture/Minisforum-MS-R1/Setup_Guide_Host_OS.md +++ b/docs/01_Architecture/Minisforum-MS-R1/Setup_Guide_Host_OS.md @@ -1,3 +1,8 @@ +--- +type: Guide +status: ACTIVE +owner: DevOps Engineer +--- # Setup Guide: Host OS (Minisforum MS-R1) **Status:** DEPRECATED / HISTORIC diff --git a/docs/01_Architecture/Minisforum-MS-R1/Setup_Guide_Services.md b/docs/01_Architecture/Minisforum-MS-R1/Setup_Guide_Services.md index 73f66637..c217cfb5 100644 --- a/docs/01_Architecture/Minisforum-MS-R1/Setup_Guide_Services.md +++ b/docs/01_Architecture/Minisforum-MS-R1/Setup_Guide_Services.md @@ -1,3 +1,8 @@ +--- +type: Guide +status: ACTIVE +owner: DevOps Engineer +--- # Setup Guide: Infrastructure Services (Minisforum MS-R1) **Status:** DEPRECATED / HISTORIC diff --git a/docs/01_Architecture/Minisforum-MS-R1/Spezifikation.md b/docs/01_Architecture/Minisforum-MS-R1/Spezifikation.md index 35797254..93428650 100644 --- a/docs/01_Architecture/Minisforum-MS-R1/Spezifikation.md +++ b/docs/01_Architecture/Minisforum-MS-R1/Spezifikation.md @@ -1,3 +1,8 @@ +--- +type: Reference +status: ACTIVE +owner: DevOps Engineer +--- # Spezifikation | CPU | CP8180, 12 Cores/12 Threads, 2.6Ghz | diff --git a/docs/01_Architecture/Minisforum-MS-R1/Zentrales_Mail-Relay-SSoT_Zora.md b/docs/01_Architecture/Minisforum-MS-R1/Zentrales_Mail-Relay-SSoT_Zora.md index 79bbc078..983100b1 100644 --- a/docs/01_Architecture/Minisforum-MS-R1/Zentrales_Mail-Relay-SSoT_Zora.md +++ b/docs/01_Architecture/Minisforum-MS-R1/Zentrales_Mail-Relay-SSoT_Zora.md @@ -1,3 +1,8 @@ +--- +type: Reference +status: ACTIVE +owner: DevOps Engineer +--- # Dokumentation: Zentrales Mail-Relay (SSoT) auf Zora ## 1. Identität & Rollenverteilung diff --git a/docs/01_Architecture/Minisforum-MS-R1/Zora_Roadmap.md b/docs/01_Architecture/Minisforum-MS-R1/Zora_Roadmap.md index 6c62d647..d2b42a0c 100644 --- a/docs/01_Architecture/Minisforum-MS-R1/Zora_Roadmap.md +++ b/docs/01_Architecture/Minisforum-MS-R1/Zora_Roadmap.md @@ -1,3 +1,8 @@ +--- +type: Reference +status: ACTIVE +owner: Lead Architect +--- # Roadmap: Finalisierung Gitea-Infrastruktur (MS-R1) ## Phase 1: Konnektivität & Erreichbarkeit 🌐 diff --git a/docs/01_Architecture/Reference/Tech_Stack/Implementierung_Offline-First_KMP.md b/docs/01_Architecture/Reference/Tech_Stack/Implementierung_Offline-First_KMP.md index 9dbe591a..0c6764d2 100644 --- a/docs/01_Architecture/Reference/Tech_Stack/Implementierung_Offline-First_KMP.md +++ b/docs/01_Architecture/Reference/Tech_Stack/Implementierung_Offline-First_KMP.md @@ -1,3 +1,8 @@ +--- +type: Reference +status: ACTIVE +owner: Lead Architect +--- Hier ist der Quellcode des Berichts im Markdown-Format: # Architektonische Resilienz in verteilten Systemen: Ein umfassender Leitfaden zur Implementierung von Offline-First Kotlin Multiplatform Architekturen mit SQLDelight diff --git a/docs/01_Architecture/USV-Akku/USV-technische-Daten.md b/docs/01_Architecture/USV-Akku/USV-technische-Daten.md index 749f2514..f20092ef 100644 --- a/docs/01_Architecture/USV-Akku/USV-technische-Daten.md +++ b/docs/01_Architecture/USV-Akku/USV-technische-Daten.md @@ -1,5 +1,7 @@ --- -Datenblatt USV +type: Reference +status: ACTIVE +owner: DevOps Engineer --- # Eaton 3S diff --git a/docs/01_Architecture/adr/000-PENDING-backend-infrastructure-decisions.md b/docs/01_Architecture/adr/000-PENDING-backend-infrastructure-decisions.md index 6641027e..9a32e499 100644 --- a/docs/01_Architecture/adr/000-PENDING-backend-infrastructure-decisions.md +++ b/docs/01_Architecture/adr/000-PENDING-backend-infrastructure-decisions.md @@ -1,3 +1,8 @@ +--- +type: ADR +status: DRAFT +owner: Lead Architect +--- # PENDING DECISIONS: Backend Infrastructure & Architecture **Status:** RESOLVED diff --git a/docs/01_Architecture/adr/0000-adr-template-de.md b/docs/01_Architecture/adr/0000-adr-template-de.md index 6b323a11..f9ae5093 100644 --- a/docs/01_Architecture/adr/0000-adr-template-de.md +++ b/docs/01_Architecture/adr/0000-adr-template-de.md @@ -1,3 +1,8 @@ +--- +type: ADR +status: ACTIVE +owner: Lead Architect +--- # ADR-0000: Vorlage für Architekturentscheidungsaufzeichnungen ## Status diff --git a/docs/01_Architecture/adr/0001-modular-architecture-de.md b/docs/01_Architecture/adr/0001-modular-architecture-de.md index fa6f6f99..789b31dd 100644 --- a/docs/01_Architecture/adr/0001-modular-architecture-de.md +++ b/docs/01_Architecture/adr/0001-modular-architecture-de.md @@ -1,3 +1,8 @@ +--- +type: ADR +status: ACTIVE +owner: Lead Architect +--- # ADR-0001: Modulare Architektur ## Status diff --git a/docs/01_Architecture/adr/0002-domain-driven-design-de.md b/docs/01_Architecture/adr/0002-domain-driven-design-de.md index fabd71da..5c3b5caa 100644 --- a/docs/01_Architecture/adr/0002-domain-driven-design-de.md +++ b/docs/01_Architecture/adr/0002-domain-driven-design-de.md @@ -1,3 +1,8 @@ +--- +type: ADR +status: ACTIVE +owner: Lead Architect +--- # ADR-0002: Domain-Driven Design ## Status diff --git a/docs/01_Architecture/adr/0003-microservices-architecture-de.md b/docs/01_Architecture/adr/0003-microservices-architecture-de.md index 2418fcc9..7a947d2a 100644 --- a/docs/01_Architecture/adr/0003-microservices-architecture-de.md +++ b/docs/01_Architecture/adr/0003-microservices-architecture-de.md @@ -1,3 +1,8 @@ +--- +type: ADR +status: ACTIVE +owner: Lead Architect +--- # ADR-0003: Microservices-Architektur ## Status diff --git a/docs/01_Architecture/adr/0004-event-driven-communication-de.md b/docs/01_Architecture/adr/0004-event-driven-communication-de.md index d4abd781..caa94766 100644 --- a/docs/01_Architecture/adr/0004-event-driven-communication-de.md +++ b/docs/01_Architecture/adr/0004-event-driven-communication-de.md @@ -1,3 +1,8 @@ +--- +type: ADR +status: ACTIVE +owner: Lead Architect +--- # ADR-0004: Ereignisgesteuerte Kommunikation ## Status diff --git a/docs/01_Architecture/adr/0005-polyglot-persistence-de.md b/docs/01_Architecture/adr/0005-polyglot-persistence-de.md index 622b7df6..58c66471 100644 --- a/docs/01_Architecture/adr/0005-polyglot-persistence-de.md +++ b/docs/01_Architecture/adr/0005-polyglot-persistence-de.md @@ -1,3 +1,8 @@ +--- +type: ADR +status: ACTIVE +owner: Lead Architect +--- # ADR-0005: Polyglotte Persistenz ## Status diff --git a/docs/01_Architecture/adr/0006-authentication-authorization-keycloak-de.md b/docs/01_Architecture/adr/0006-authentication-authorization-keycloak-de.md index 2975d2f7..98cfd6e1 100644 --- a/docs/01_Architecture/adr/0006-authentication-authorization-keycloak-de.md +++ b/docs/01_Architecture/adr/0006-authentication-authorization-keycloak-de.md @@ -1,3 +1,8 @@ +--- +type: ADR +status: ACTIVE +owner: Lead Architect +--- # ADR-0006: Authentifizierung und Autorisierung mit Keycloak ## Status diff --git a/docs/01_Architecture/adr/0007-api-gateway-pattern-de.md b/docs/01_Architecture/adr/0007-api-gateway-pattern-de.md index f052d361..3144f512 100644 --- a/docs/01_Architecture/adr/0007-api-gateway-pattern-de.md +++ b/docs/01_Architecture/adr/0007-api-gateway-pattern-de.md @@ -1,3 +1,8 @@ +--- +type: ADR +status: ACTIVE +owner: Lead Architect +--- # ADR-0007: API-Gateway-Muster ## Status diff --git a/docs/01_Architecture/adr/0008-multiplatform-client-applications-de.md b/docs/01_Architecture/adr/0008-multiplatform-client-applications-de.md index fc7cb19d..b1c60413 100644 --- a/docs/01_Architecture/adr/0008-multiplatform-client-applications-de.md +++ b/docs/01_Architecture/adr/0008-multiplatform-client-applications-de.md @@ -1,3 +1,8 @@ +--- +type: ADR +status: ACTIVE +owner: Lead Architect +--- # ADR-0008: Multiplatform-Client-Anwendungen ## Status diff --git a/docs/01_Architecture/adr/0009-final-kmp-architecture.md b/docs/01_Architecture/adr/0009-final-kmp-architecture.md index 85325a2f..55106c2c 100644 --- a/docs/01_Architecture/adr/0009-final-kmp-architecture.md +++ b/docs/01_Architecture/adr/0009-final-kmp-architecture.md @@ -1,3 +1,8 @@ +--- +type: ADR +status: ACTIVE +owner: Lead Architect +--- # ADR-0009: Final KMP Architecture Status: Accepted diff --git a/docs/01_Architecture/adr/001-backend-infrastructure-decisions.md b/docs/01_Architecture/adr/001-backend-infrastructure-decisions.md index 52793787..30bbe5aa 100644 --- a/docs/01_Architecture/adr/001-backend-infrastructure-decisions.md +++ b/docs/01_Architecture/adr/001-backend-infrastructure-decisions.md @@ -1,3 +1,8 @@ +--- +type: ADR +status: ACTIVE +owner: Lead Architect +--- # ADR 001: Backend Infrastructure & Architecture Decisions **Status:** ACCEPTED diff --git a/docs/01_Architecture/adr/0010-sqldelight-for-cross-platform-persistence.md b/docs/01_Architecture/adr/0010-sqldelight-for-cross-platform-persistence.md index 6c4b6962..fce9cb91 100644 --- a/docs/01_Architecture/adr/0010-sqldelight-for-cross-platform-persistence.md +++ b/docs/01_Architecture/adr/0010-sqldelight-for-cross-platform-persistence.md @@ -1,3 +1,8 @@ +--- +type: ADR +status: ACTIVE +owner: Lead Architect +--- # ADR-0010: SQLDelight für Cross-Platform-Persistenz ## Status diff --git a/docs/01_Architecture/adr/0011-koin-for-dependency-injection.md b/docs/01_Architecture/adr/0011-koin-for-dependency-injection.md index 4846c2e0..dce9e6fe 100644 --- a/docs/01_Architecture/adr/0011-koin-for-dependency-injection.md +++ b/docs/01_Architecture/adr/0011-koin-for-dependency-injection.md @@ -1,3 +1,8 @@ +--- +type: ADR +status: ACTIVE +owner: Lead Architect +--- # ADR-0011: Koin für Dependency Injection ## Status diff --git a/docs/01_Architecture/adr/0012-domain-documentation-structure.md b/docs/01_Architecture/adr/0012-domain-documentation-structure.md index f033ee3d..9e5ff47c 100644 --- a/docs/01_Architecture/adr/0012-domain-documentation-structure.md +++ b/docs/01_Architecture/adr/0012-domain-documentation-structure.md @@ -1,3 +1,8 @@ +--- +type: ADR +status: ACTIVE +owner: Lead Architect +--- # ADR-0012: Strukturierung der Domänen-Dokumentation * **Status:** Accepted diff --git a/docs/01_Architecture/adr/README.md b/docs/01_Architecture/adr/README.md index 9d51fc60..f6ad6ff6 100644 --- a/docs/01_Architecture/adr/README.md +++ b/docs/01_Architecture/adr/README.md @@ -1,3 +1,8 @@ +--- +type: Reference +status: ACTIVE +owner: Lead Architect +--- Architecture Decision Records (ADRs) Dieses Verzeichnis enthält Architekturentscheidungen in kurzer, überprüfbarer Form. diff --git a/docs/02_Guides/SQLDelight_Integration_Compose_Multiplatform.md b/docs/02_Guides/SQLDelight_Integration_Compose_Multiplatform.md index fc8f6eb3..c6b4660a 100644 --- a/docs/02_Guides/SQLDelight_Integration_Compose_Multiplatform.md +++ b/docs/02_Guides/SQLDelight_Integration_Compose_Multiplatform.md @@ -1,3 +1,8 @@ +--- +type: Guide +status: ACTIVE +owner: Frontend Expert +--- # SQLDelight Integration in Compose Multiplatform This guide shows how to integrate SQLDelight in a Compose Multiplatform project with Koin dependency injection. diff --git a/docs/02_Guides/SQLDelight_Web_Asynchron.md b/docs/02_Guides/SQLDelight_Web_Asynchron.md index 59ee74a0..654d99b8 100644 --- a/docs/02_Guides/SQLDelight_Web_Asynchron.md +++ b/docs/02_Guides/SQLDelight_Web_Asynchron.md @@ -1,3 +1,8 @@ +--- +type: Guide +status: ACTIVE +owner: Frontend Expert +--- # Architekturstrategien für Asynchrone Persistenz in Kotlin Multiplatform: Eine umfassende Analyse zur Integration von SQLDelight in Web-Umgebungen ## 1. Einleitung und Problemstellung diff --git a/docs/03_Domain/00_Glossary.md b/docs/03_Domain/00_Glossary.md index 4f853d28..54dd455c 100644 --- a/docs/03_Domain/00_Glossary.md +++ b/docs/03_Domain/00_Glossary.md @@ -1,3 +1,8 @@ +--- +type: Reference +status: ACTIVE +owner: Lead Architect +--- # Glossar der Domäne "Meldestelle" Dieses Dokument definiert die **Ubiquitous Language** (allgegenwärtige Sprache) des Projekts. Alle Begriffe sind so zu verwenden, wie sie hier definiert sind – sowohl im Code als auch in der Kommunikation. diff --git a/docs/03_Domain/01_Core_Model/Entities/Overview.md b/docs/03_Domain/01_Core_Model/Entities/Overview.md index 52232f1b..dad1930e 100644 --- a/docs/03_Domain/01_Core_Model/Entities/Overview.md +++ b/docs/03_Domain/01_Core_Model/Entities/Overview.md @@ -1,3 +1,8 @@ +--- +type: Reference +status: ACTIVE +owner: Lead Architect +--- # 01 - Core Domain Entities Dieses Dokument definiert die zentralen fachlichen Entitäten (Kern-Entitäten) des "Meldestelle"-Projekts. Diese Entitäten bilden das Fundament des Datenmodells und der gesamten Anwendungslogik. diff --git a/docs/03_Domain/01_Core_Model/Entities/README.md b/docs/03_Domain/01_Core_Model/Entities/README.md index df67967c..a2515d75 100644 --- a/docs/03_Domain/01_Core_Model/Entities/README.md +++ b/docs/03_Domain/01_Core_Model/Entities/README.md @@ -1,3 +1,8 @@ +--- +type: Reference +status: ACTIVE +owner: Lead Architect +--- # Entitäten des Kern-Modells Dieses Verzeichnis enthält detaillierte Beschreibungen der zentralen fachlichen Entitäten des "Meldestelle"-Projekts. diff --git a/docs/03_Domain/01_Core_Model/README.md b/docs/03_Domain/01_Core_Model/README.md index 81488fa7..f66d1a2a 100644 --- a/docs/03_Domain/01_Core_Model/README.md +++ b/docs/03_Domain/01_Core_Model/README.md @@ -1,3 +1,8 @@ +--- +type: Reference +status: ACTIVE +owner: Lead Architect +--- # Das Kern-Modell (Core Model) Dieses Verzeichnis ist die "Single Source of Truth" für das destillierte, fachliche Wissen des Projekts. Nur was hier beschrieben ist, gilt als vereinbarte Wahrheit für die Implementierung. diff --git a/docs/03_Domain/03_Analysis/Legacy_Spec_Analysis_2026-01.md b/docs/03_Domain/03_Analysis/Legacy_Spec_Analysis_2026-01.md index f5063887..3f5bf4e5 100644 --- a/docs/03_Domain/03_Analysis/Legacy_Spec_Analysis_2026-01.md +++ b/docs/03_Domain/03_Analysis/Legacy_Spec_Analysis_2026-01.md @@ -1,3 +1,8 @@ +--- +type: Reference +status: ACTIVE +owner: Lead Architect +--- # Analyse der Legacy-Spezifikation (OEPS Pflichtenheft 2021 V2.4) * **Datum:** 2026-01-14 diff --git a/docs/03_Domain/03_Analysis/Non_Functional_Requirements_Draft.md b/docs/03_Domain/03_Analysis/Non_Functional_Requirements_Draft.md index f7e23e23..a215db79 100644 --- a/docs/03_Domain/03_Analysis/Non_Functional_Requirements_Draft.md +++ b/docs/03_Domain/03_Analysis/Non_Functional_Requirements_Draft.md @@ -1,3 +1,8 @@ +--- +type: ADR +status: DRAFT +owner: Lead Architect +--- # Non-Functional Requirements (NFRs) - Phase 1 * **Status:** Draft diff --git a/docs/03_Domain/03_Analysis/Scenarios/Anekdote_Meldestelle.md b/docs/03_Domain/03_Analysis/Scenarios/Anekdote_Meldestelle.md index a9b05e7e..8f441c13 100644 --- a/docs/03_Domain/03_Analysis/Scenarios/Anekdote_Meldestelle.md +++ b/docs/03_Domain/03_Analysis/Scenarios/Anekdote_Meldestelle.md @@ -1,3 +1,8 @@ +--- +type: Reference +status: ACTIVE +owner: Lead Architect +--- # Anekdote Meldestelle Ich bin diesmal die Meldestelle für ein kleines Turnier, z.B. ein "CDN-C Neu" bzw. "CSN-C Neu" am "Musterhof". diff --git a/docs/03_Domain/03_Analysis/Use_Cases_Draft.md b/docs/03_Domain/03_Analysis/Use_Cases_Draft.md index 01cb003a..87709a14 100644 --- a/docs/03_Domain/03_Analysis/Use_Cases_Draft.md +++ b/docs/03_Domain/03_Analysis/Use_Cases_Draft.md @@ -1,3 +1,8 @@ +--- +type: ADR +status: DRAFT +owner: Lead Architect +--- # Use Cases Draft - Phase 1 (Core Domain) * **Status:** Draft diff --git a/docs/03_Domain/03_Analysis/User_Stories_Draft.md b/docs/03_Domain/03_Analysis/User_Stories_Draft.md index 1aa61e05..767aaac3 100644 --- a/docs/03_Domain/03_Analysis/User_Stories_Draft.md +++ b/docs/03_Domain/03_Analysis/User_Stories_Draft.md @@ -1,3 +1,8 @@ +--- +type: ADR +status: DRAFT +owner: Lead Architect +--- # User Stories Draft - Phase 1 (Core Domain) * **Status:** Draft diff --git a/docs/04_Agents/Playbooks/Architect.md b/docs/04_Agents/Playbooks/Architect.md index 517ab2d4..0c737c1e 100644 --- a/docs/04_Agents/Playbooks/Architect.md +++ b/docs/04_Agents/Playbooks/Architect.md @@ -1,3 +1,8 @@ +--- +type: Reference +status: ACTIVE +owner: Lead Architect +--- # Playbook: Lead Architect (System & Build) ## Beschreibung diff --git a/docs/04_Agents/Playbooks/BackendDeveloper.md b/docs/04_Agents/Playbooks/BackendDeveloper.md index 44b3f734..351cafe0 100644 --- a/docs/04_Agents/Playbooks/BackendDeveloper.md +++ b/docs/04_Agents/Playbooks/BackendDeveloper.md @@ -1,3 +1,8 @@ +--- +type: Reference +status: ACTIVE +owner: Lead Architect +--- # Playbook: Senior Backend Developer (Spring Boot & DDD) ## Beschreibung diff --git a/docs/04_Agents/Playbooks/DevOpsEngineer.md b/docs/04_Agents/Playbooks/DevOpsEngineer.md index 7391734a..78021947 100644 --- a/docs/04_Agents/Playbooks/DevOpsEngineer.md +++ b/docs/04_Agents/Playbooks/DevOpsEngineer.md @@ -1,3 +1,8 @@ +--- +type: Reference +status: ACTIVE +owner: Lead Architect +--- # Playbook: Infrastructure & DevOps Engineer ## Beschreibung diff --git a/docs/04_Agents/Playbooks/DomainExpert.md b/docs/04_Agents/Playbooks/DomainExpert.md index 7a700f6b..fa4329b2 100644 --- a/docs/04_Agents/Playbooks/DomainExpert.md +++ b/docs/04_Agents/Playbooks/DomainExpert.md @@ -1,3 +1,8 @@ +--- +type: Reference +status: ACTIVE +owner: Lead Architect +--- # Playbook: Domain/Product Expert (optional, Diskussion/Sparring) ## Beschreibung diff --git a/docs/04_Agents/Playbooks/FrontendExpert.md b/docs/04_Agents/Playbooks/FrontendExpert.md index 6fd4df38..f980ec7a 100644 --- a/docs/04_Agents/Playbooks/FrontendExpert.md +++ b/docs/04_Agents/Playbooks/FrontendExpert.md @@ -1,3 +1,8 @@ +--- +type: Reference +status: ACTIVE +owner: Lead Architect +--- # Playbook: KMP Frontend Expert ## Beschreibung diff --git a/docs/04_Agents/Playbooks/Gemini.md b/docs/04_Agents/Playbooks/Gemini.md index 8b587af3..9c1802ae 100644 --- a/docs/04_Agents/Playbooks/Gemini.md +++ b/docs/04_Agents/Playbooks/Gemini.md @@ -1,3 +1,8 @@ +--- +type: Reference +status: ACTIVE +owner: Lead Architect +--- # Playbook: Gemini (parallel/extern) ## Zweck diff --git a/docs/04_Agents/Playbooks/Junie.md b/docs/04_Agents/Playbooks/Junie.md index 7c5e6756..525302c3 100644 --- a/docs/04_Agents/Playbooks/Junie.md +++ b/docs/04_Agents/Playbooks/Junie.md @@ -1,3 +1,8 @@ +--- +type: Reference +status: ACTIVE +owner: Lead Architect +--- # Playbook: Junie (IDE) ## Zweck diff --git a/docs/04_Agents/Playbooks/QASpecialist.md b/docs/04_Agents/Playbooks/QASpecialist.md index a298d83c..302badc8 100644 --- a/docs/04_Agents/Playbooks/QASpecialist.md +++ b/docs/04_Agents/Playbooks/QASpecialist.md @@ -1,3 +1,8 @@ +--- +type: Reference +status: ACTIVE +owner: Lead Architect +--- # Playbook: QA & Testing Specialist ## Beschreibung diff --git a/docs/04_Agents/README.md b/docs/04_Agents/README.md index 126f03d0..1d23137a 100644 --- a/docs/04_Agents/README.md +++ b/docs/04_Agents/README.md @@ -1,3 +1,8 @@ +--- +type: Reference +status: ACTIVE +owner: Lead Architect +--- # Agent Operating Model (AOM) Dieses Verzeichnis definiert, **wie** KI-Unterstützung im Projekt eingesetzt wird: diff --git a/docs/05_Backend/README.md b/docs/05_Backend/README.md index 7942ff40..7dc40344 100644 --- a/docs/05_Backend/README.md +++ b/docs/05_Backend/README.md @@ -1,3 +1,8 @@ +--- +type: Reference +status: ACTIVE +owner: Backend Developer +--- # Backend Dokumentation Dieses Verzeichnis enthält die spezifische Dokumentation für alle Backend-Komponenten, einschließlich der Microservices und der Infrastruktur-Module wie dem API-Gateway. diff --git a/docs/06_Frontend/Logs/2026-02-02_Docker_Build_Troubleshooting.md b/docs/06_Frontend/Logs/2026-02-02_Docker_Build_Troubleshooting.md index 8426c84e..05ea56d4 100644 --- a/docs/06_Frontend/Logs/2026-02-02_Docker_Build_Troubleshooting.md +++ b/docs/06_Frontend/Logs/2026-02-02_Docker_Build_Troubleshooting.md @@ -1,3 +1,8 @@ +--- +type: Report +status: ARCHIVED +owner: Frontend Expert +--- # 🧹 Troubleshooting Log: Frontend Docker Build & Runtime Config **Datum:** 02.02.2026 diff --git a/docs/06_Frontend/Logs/2026-02-02_Docker_Build_Troubleshooting_Part2.md b/docs/06_Frontend/Logs/2026-02-02_Docker_Build_Troubleshooting_Part2.md index eaee0488..46d111ad 100644 --- a/docs/06_Frontend/Logs/2026-02-02_Docker_Build_Troubleshooting_Part2.md +++ b/docs/06_Frontend/Logs/2026-02-02_Docker_Build_Troubleshooting_Part2.md @@ -1,3 +1,8 @@ +--- +type: Report +status: ARCHIVED +owner: Frontend Expert +--- # 🧹 Troubleshooting Log: Gradle 9.x & KMP Docker Build (Part 2) **Datum:** 02.02.2026 diff --git a/docs/06_Frontend/offline-first-architecture.md b/docs/06_Frontend/offline-first-architecture.md index 0a1174a6..3c4571c7 100644 --- a/docs/06_Frontend/offline-first-architecture.md +++ b/docs/06_Frontend/offline-first-architecture.md @@ -1,3 +1,8 @@ +--- +type: Reference +status: ACTIVE +owner: Frontend Expert +--- # Offline-First-Architektur Dieses Dokument beschreibt die **Zielarchitektur** für die Offline-First-Strategie im KMP-Frontend. diff --git a/docs/06_Frontend/web-setup.md b/docs/06_Frontend/web-setup.md index bfb3ce0d..a3eeb6fc 100644 --- a/docs/06_Frontend/web-setup.md +++ b/docs/06_Frontend/web-setup.md @@ -1,3 +1,8 @@ +--- +type: Guide +status: ACTIVE +owner: Frontend Expert +--- # Web-Setup (Webpack & Worker) Dieses Dokument beschreibt die spezifische Konfiguration für das Web-Target (JS/Wasm) des KMP-Frontends. diff --git a/docs/07_Infrastructure/Heim-Netzwerk-Plan_02-2026.md b/docs/07_Infrastructure/Heim-Netzwerk-Plan_02-2026.md index 62b172b5..5e0df447 100644 --- a/docs/07_Infrastructure/Heim-Netzwerk-Plan_02-2026.md +++ b/docs/07_Infrastructure/Heim-Netzwerk-Plan_02-2026.md @@ -1,4 +1,8 @@ - +--- +type: Reference +status: ACTIVE +owner: DevOps Engineer +--- # Heimnetzwerk ```mermaid diff --git a/docs/07_Infrastructure/Konfig-Matrix_Dev-ProZora.md b/docs/07_Infrastructure/Konfig-Matrix_Dev-ProZora.md index 083af10d..dea20f0c 100644 --- a/docs/07_Infrastructure/Konfig-Matrix_Dev-ProZora.md +++ b/docs/07_Infrastructure/Konfig-Matrix_Dev-ProZora.md @@ -1,5 +1,7 @@ --- -Konfigurations-Matrix +type: Reference +status: ACTIVE +owner: DevOps Engineer --- # Konfigurations-Matrix @@ -15,15 +17,17 @@ Konfigurations-Matrix | **POSTGRES_DB** | `meldestelle` | `meldestelle` | Name der primären Datenbank-Instanz. | | **POSTGRES_PORT** | `5432:5432` | `5432:5432` | Mapping vom Host zum Container. | | **PROJECT_NAME** | `meldestelle` | `meldestelle` | Präfix für Container-Namen auf dem Host. | -| **KC_HOSTNAME** | `localhost` | `auth.mo-code.at` | Erreichbarkeit von Keycloak (wichtig für Tokens). | +| **KC_HOSTNAME** | `localhost` | `` | Erreichbarkeit von Keycloak (wichtig für Tokens). Auf dem Server nie `localhost`! | | **KC_DB_URL** | `jdbc:postgresql://postgres:5432/pg-meldestelle-db` | `jdbc:postgresql://postgres:5432/meldestelle` | JDBC-String (muss zur POSTGRES_DB passen). | | **VALKEY_MAXMEMORY** | `256mb` | `4gb` bis `8gb` | Zora hat 64 GB RAM; hier können wir großzügig cachen. | | **VALKEY_POLICY** | `allkeys-lru` | `allkeys-lru` | Wirft die am längsten nicht genutzten Schlüssel raus, wenn der Speicher voll ist. | | **VALKEY_PASSWORD** | `leer` oder `dev` | `[STARKES_SECRET]` | SSoT-Geheimnis aus Gitea-Secrets. | | **VALKEY_PORT** | `6379:6379` | `6379:6379` | Standard-Port-Mapping. | | **KC_HEAP_MAX** | `1024m` | `4096m` | Mehr Power für Zoras 64 GB RAM. | -| **KC_COMMAND** | `start-dev --import-realm` | `start --optimized` | Nutzt das im Dockerfile vor-gebaute Image. | -| **KC_HOSTNAME** | `localhost` | `auth.mo-code.at` | Wichtig für gültige Tokens im Web-Frontend. | +| **KC_COMMAND** | `start-dev --import-realm` | `start --optimized --import-realm` | `start-dev` + pre-built Image = Konflikt! Server immer mit `--optimized`. | +| **KC_HOSTNAME_STRICT** | `false` | `false` | `false` = beliebige Hostnamen erlaubt (Pflicht für HTTP-only Betrieb). | +| **KC_HOSTNAME_STRICT_HTTPS** | `false` | `false` | `false` = kein HTTPS-Zwang. Bei TLS-Einrichtung auf `true` setzen. | +| **KC_MANAGEMENT_PORT** | `9000:9000` | `9000:9000` | Health/Metrics-Port (immer auf 0.0.0.0 gebunden, unabhängig von KC_HOSTNAME). | | **KC_DB_PASSWORD** | `meldestelle` | `[GEHEIM]` | SSoT-Passwort aus den Gitea-Secrets. | | **KEYCLOAK_IMAGE_TAG** | `26.4` | `26.4` | Versionierung. | | **ZIPKIN_HEAP** | `256m` | `1024m` | Mehr Puffer für Tracing-Daten auf Zora. | diff --git a/docs/07_Infrastructure/Pangolin-vs-Cloudflare-Tunnel.md b/docs/07_Infrastructure/Pangolin-vs-Cloudflare-Tunnel.md index 89b5e40f..f77e6ffc 100644 --- a/docs/07_Infrastructure/Pangolin-vs-Cloudflare-Tunnel.md +++ b/docs/07_Infrastructure/Pangolin-vs-Cloudflare-Tunnel.md @@ -1,5 +1,7 @@ --- -Pangolin vs. Cloudflare Tunnel +type: Reference +status: ACTIVE +owner: DevOps Engineer --- ## 🛡️ Pangolin vs. Cloudflare Tunnel diff --git a/docs/07_Infrastructure/Reference/ports-and-urls.md b/docs/07_Infrastructure/Reference/ports-and-urls.md index 7232dcb9..661d2163 100644 --- a/docs/07_Infrastructure/Reference/ports-and-urls.md +++ b/docs/07_Infrastructure/Reference/ports-and-urls.md @@ -1,6 +1,7 @@ --- -owner: project-maintainers -status: active +type: Reference +owner: DevOps Engineer +status: ACTIVE review_cycle: 180d last_reviewed: 2025-10-31 summary: "Übersicht der wichtigsten lokalen URLs und Ports. Quelle: docker-compose.yaml + config/env" diff --git a/docs/07_Infrastructure/Reference/zipkin.md b/docs/07_Infrastructure/Reference/zipkin.md index e2623a94..da7abf61 100644 --- a/docs/07_Infrastructure/Reference/zipkin.md +++ b/docs/07_Infrastructure/Reference/zipkin.md @@ -1,3 +1,8 @@ +--- +type: Reference +status: ACTIVE +owner: DevOps Engineer +--- # Zipkin Tracing ## Übersicht diff --git a/docs/07_Infrastructure/Zora_Infrastructure_Deployment_02-2026.md b/docs/07_Infrastructure/Zora_Infrastructure_Deployment_02-2026.md index abb517b0..348aad7e 100644 --- a/docs/07_Infrastructure/Zora_Infrastructure_Deployment_02-2026.md +++ b/docs/07_Infrastructure/Zora_Infrastructure_Deployment_02-2026.md @@ -1,8 +1,7 @@ --- - -Hier ist eine strategische Roadmap für den Ausbau des „Empires“ auf **Zora**. Da du aktuell im „Mo’s Territory“ bist, dient dieser Plan als Vorbereitung für deine nächste Session am Gerät. - -:white_check_mark: +type: Reference +status: ACTIVE +owner: DevOps Engineer --- # Roadmap: Zora Infrastructure & Deployment (Februar 2026) diff --git a/docs/07_Infrastructure/Zora_System_Architektur.md b/docs/07_Infrastructure/Zora_System_Architektur.md index 1ef43261..4c7ec42b 100644 --- a/docs/07_Infrastructure/Zora_System_Architektur.md +++ b/docs/07_Infrastructure/Zora_System_Architektur.md @@ -1,4 +1,8 @@ - +--- +type: Reference +status: ACTIVE +owner: DevOps Engineer +--- ## 🏗️ System-Architektur "Zora" (ARM64) **Stand: 05. März 2026** diff --git a/docs/07_Infrastructure/runbooks/local-development.md b/docs/07_Infrastructure/runbooks/local-development.md index 952a950d..63b50cc1 100644 --- a/docs/07_Infrastructure/runbooks/local-development.md +++ b/docs/07_Infrastructure/runbooks/local-development.md @@ -1,3 +1,8 @@ +--- +type: Guide +status: ACTIVE +owner: DevOps Engineer +--- # Runbook: Lokale Entwicklungsumgebung Dieses Dokument beschreibt, wie die Docker-basierte lokale Entwicklungsumgebung für das Projekt "Meldestelle" verwendet wird. diff --git a/docs/90_Reports/2026-02-01_Frontend_Cleanup_Status.md b/docs/90_Reports/2026-02-01_Frontend_Cleanup_Status.md index 2a4f6a6e..3913f7ed 100644 --- a/docs/90_Reports/2026-02-01_Frontend_Cleanup_Status.md +++ b/docs/90_Reports/2026-02-01_Frontend_Cleanup_Status.md @@ -1,8 +1,10 @@ --- +type: Report +status: ACTIVE +owner: Frontend Expert title: Frontend Cleanup & Architecture Status Report date: 2026-02-01 author: Frontend Expert & Curator -status: Final tags: [frontend, architecture, cleanup, kmp, compose] --- diff --git a/docs/90_Reports/2026-02-01_Sync_Fix_Report.md b/docs/90_Reports/2026-02-01_Sync_Fix_Report.md index fa1d7a0f..ecb451b4 100644 --- a/docs/90_Reports/2026-02-01_Sync_Fix_Report.md +++ b/docs/90_Reports/2026-02-01_Sync_Fix_Report.md @@ -1,8 +1,9 @@ --- type: Report +status: ACTIVE +owner: Curator date: 2026-02-01 author: Curator -status: FINAL --- # Report: Fix Sync Type Mismatch (String vs Long) diff --git a/docs/99_Journal/2026-03-06_Session_Log_Keycloak_Fix.md b/docs/99_Journal/2026-03-06_Session_Log_Keycloak_Fix.md new file mode 100644 index 00000000..8b2dd3b8 --- /dev/null +++ b/docs/99_Journal/2026-03-06_Session_Log_Keycloak_Fix.md @@ -0,0 +1,37 @@ +# Journal - 2026-03-06 + +## 📝 Zusammenfassung +Keycloak funktionierte lokal einwandfrei, aber auf dem Meldestellen-Host war das Admin-Dashboard (`:8180`) nicht erreichbar und der Login schlug fehl — obwohl der Health-Port (`:9000`) grün war. Root Cause: Das pre-built Registry-Image wurde mit `start-dev` gestartet (Konflikt) und `KC_HOSTNAME=localhost` war auf dem Server falsch. + +## 🛠️ Änderungen + +### 1. `dc-infra.yaml` — Keycloak-Service bereinigt +* **Command:** `start-dev --import-realm` → `start --optimized --import-realm` (nutzt das pre-built Image korrekt). +* **Neu:** `KC_HOSTNAME_STRICT=false` und `KC_HOSTNAME_STRICT_HTTPS=false` — erlaubt HTTP-Betrieb ohne TLS-Zwang. +* **Neu:** `KC_HTTP_MANAGEMENT_PORT=9000` — Management-Interface explizit konfiguriert. +* **Fix:** `KC_DEBUG_PORT` → `KC_MANAGEMENT_PORT` umbenannt (war falsch benannt). +* **Fix:** Image-Pfad von `grandmo` → `mocode-software` korrigiert. +* **Neu:** Healthcheck auf `http://localhost:9000/health/ready` ergänzt. + +### 2. `.env` — Keycloak-Block erweitert +* `KC_HOSTNAME_STRICT=false`, `KC_HOSTNAME_STRICT_HTTPS=false`, `KC_MANAGEMENT_PORT=9000:9000` hinzugefügt. +* Erklärende Kommentare: LOKAL vs. SERVER für `KC_COMMAND` und `KC_HOSTNAME`. + +### 3. `.env.example` — Als Server-Vorlage optimiert +* Default `KC_COMMAND=start --optimized --import-realm` (Server-Default). +* ``-Werte für alle Secrets (`KC_ADMIN_PASSWORD`, `KC_DB_PASSWORD`) und `KC_HOSTNAME`. +* `SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_ISSUER_URI` mit ``-Platzhalter. +* Klare LOKAL/SERVER-Kommentare bei allen kritischen Variablen. + +## 📚 Gelerntes +* **`kc.sh build` + `start-dev` = Konflikt:** Ein mit `kc.sh build` optimiertes Image muss mit `start --optimized` gestartet werden. `start-dev` ignoriert den Pre-Build und startet im Dev-Modus — das bricht das Registry-Image auf dem Server. +* **`KC_HOSTNAME` steuert den HTTP-Port, nicht den Management-Port:** Port `9000` (Health) ist immer auf `0.0.0.0` gebunden. Port `8080/8180` (HTTP) wird durch `KC_HOSTNAME` gesteuert — daher war Health grün, aber Admin-Dashboard nicht erreichbar. +* **`KC_HOSTNAME_STRICT=false` ist Pflicht für HTTP-only Server:** Ohne dieses Flag lehnt Keycloak alle Requests ab, deren Host-Header nicht exakt mit `KC_HOSTNAME` übereinstimmt. + +## 🔜 Nächste Schritte +* Auf dem Meldestellen-Host die `.env` anpassen: + * `KC_HOSTNAME=` + * `KC_COMMAND=start --optimized --import-realm` + * `SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_ISSUER_URI=http://:8180/realms/meldestelle` +* Container neu starten und Admin-Dashboard + Login verifizieren. +* Langfristig: TLS/HTTPS einrichten, dann `KC_HOSTNAME_STRICT_HTTPS=true` setzen. diff --git a/docs/ScreenShots/event-log_2026-01-28 12-20-22.png b/docs/ScreenShots/event-log_2026-01-28 12-20-22.png deleted file mode 100644 index 477415611d03cdc2a5cc1efdc838bc1f88d0d2e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 155769 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%0DvOr7`9=P*H+<517=Lxht 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ÐZPj92K7y|{x20}C4mk*?CP(0QUJL(Fu%4uO;1y!`)z|K06XwNLg=W{)|< zxX12tU(XNdWBc~8`5xAsb!2e+%ls~=LCXoET8a_ zxwrGie`YZfGWstTBYO-4kOf)plOjpp7F-U6EJ9VEQfdS|1Z92Pb@rgIATK^E|HoiN zw8G$WGG?gC$8g3(O(w@9rjRvzAjcj2*#~{bnmeih%MvKH+7&##%?+|dJKFb4+jd-G z$8P=_zF)b3Eqg#&I~{cMRi*nqo`B|S9>VR+VEF8A03}!Z#lg>66Wg=6+S^VfXQXY^ zZ?mxYC!X}{sC~aIW4lh$|D*r7RO^>$TGXvAeEq& z_4D?}ASU97&!&9sjyCpMlZuc;j?g_Q@pmarN5&mzF}U_?A(HzIzuY*tJL#MC;mVeS zM=(4kYI}HZJuQ7?#UuSVS2;_2r;E|pbtxxj{dkv$xe8J|kt#%t@;5m*7pza}^PN@R z%e|f009&ca1q}1w*8V1M&+!*gTyK(|*j1-A(Jxbog2O*(A|K2ce%HG- zuij!u_guQhyL;s?C2T|F6=ZT9q!Nb?SMH=cN&xu6q!7D7Q2ah%D*31_WnKPAN8?TL zGx1Skg#$*?iD!_mjSdS$;!{B13vr2Nl+D(Ttkr)*6t zHOBt`23o04KK%E896YGN_}{=g`{V7d{2Oc}JLb))8sv95Y$xZgxBmmTnzj4CLUjM_ z+x|bz=lSofM@GlSPW}JhBmdERVbhl=l?NWCJ{I_2B= zLjfFX)9SO7z9k&pe})>mc$e-GyAsJZIndRpk>aWd=-BI67PrEn3$tM1i^+)z2kC*$ z%OA$z5xWPwG1@9hcZmIKkhpOX9I;fGJ=By*Bm&3!I#!~g4Kp5l38Q5A_{*Pg1@o}YwQoj5mvFpvy$zRQNIjcMW zQzN72BzOcjmyqb#$@y}z*2CuKR3fxLyTBz?Jc+ zv1}j$J5eyXy*fF6q@-WtXFnB$-SgBXU-!NT=FT{~j>N{d0BbeOi>g z0YAJ<0)Fph`RG1y^|jus5804sd^eW@jtFQg8&-K;0Bg{9fJEPeQA)DYOzR;Ccr5j$ zRRP5u<|wH>C5++Qmv3s6I+}rF^Be6kdSn5NupWPkJg0PYt~VKh&L?qS>BF+G>Li>1b%x~-YmO3oL19pM)Q{Yz9 z4C9+s4Img^Feu5@<_KV@wbbH{!a9uAGNeXwL7+$`_#^)@$R!+n=z6TM{o2GwxsU|| zA?s-$5r@NPBi;m8y@S~FIn?E8K7J_K!odH_s{LbgL4Mt<Z8n&wm zK~r=)=d^g}*_(lH4YKJh%#C`B0-D+55MY?Jze&h{X{h0iKx7-|J~0uyB`e4IcJ0(E z`NO=1^6BO_d#LFq9Q!v*wEzzX`-D`z<$~=Sssj*mrhCch73WZ~0Z8oc^_-UuZX}$y z3)%|y{nGlPEbXoBfYVE;DV1#vuM07s_d-?Nbsx9qIIu0LZ1CJ;!MnzSWc({J$F0u2 zbce7-%!|7k`Xqe!sTSZr_icCzp7~C=Xc6}FSjW9Z1J-NYoLgtwjECB$ldHcwow?fj zuP(SOukr|t?+>55FC;D;^9My?7``^vqWz|DzDy^* zrZk@_(r10=P-%rnQAdVjzBX&od^u_TWTb2U3yyrV`+V|m1n+L1Q#!&Qrp0$5>&?A& zb#?w*r}ByXO;wK~g($-LIkYFfE-9tWKe^ZyDq}+%r50nZUol^gg|%HVb0tnQw~lMk z|8sAG)pJq=c{+cQ=-4>T79q17Tx{KJC0-m!89%gb+qSiw^3q3$KtA<)wwc+=;Nipk zf<2U|-Gt%dPf0S)M7GtcJb$9}2qnh4tZ_=jquf&{r*GYbXU-Bc-0`)tuQ@E|1 zq5ECd)WYK;NBzxyzQdw7hVd+3Q#2deqL6kiSw<;mN|xBeKe>ThR%0j2n1&Hus)ifU zUoF>FCk*(w-V~oQ`yAA}mR=>cxU6GCNnu+gjr5A-HF|gvJc-m|lwrZe!HI|#E^A4# z>{kx4gRzI$@B@t^;*Nc+i@53H^>o8lA;vH_=r z-dL=86E$f1> zt@8C4k^N2;879_hF*GarZuYW=*sge64fY`N`3?5%^Y589uCKUD@~SS)zIP3M^?3e3 z0CLfZa9GccXIkb5E}t|mn<=f|w@y9Pz}X#<>0B*hA9Q_J^?QDG?{PGLkI1ksp?55g z`;5WKwE3PrgOwA5*D_ZaW?moS%{zNn#3yU^6|rmV?#&TLqpjCGvVKKG(Hj4+<|=Va zrI`y)-aHtYv0h(v>-_9`!uXs(ALfZ>zzc(bH${2_6_z&*?qv9`oG|)CZSl;GLkyIk zP-GI7X7XikJuwzVG>Ur^u%Vc}^~8ecTArk$uU};U#!=De*yn-!97`sO)~n+ebxwJW z&k{+???p_#m2$iu^ozOA=)f=UT;zcvqU^bJunxKxF;RdyJoSRKL1W8nRs1t?$`Q zU&$K7%$Ju<9~n_<*pInUEc~{lR+Y%)+1L0$CD=vV*r)i_I?1tS+0|+dl$4}l+Sz;2 zKmC6=8n3!ID!17;c$P`^&y8FsW^>AL!HS)^7TY= z9{rktDf*HIA@lfynZF)<07dln0=|m(FoG=`)!y>B zS!8?7ms)|mfPPvv6`?UR(^}DvMPVThEmaMFI(HhrtYcG}j)?tiN-yn)*A5856=iOhnrt z_NG4-&KApxohe3+_4ckRdDC_&t?xA3+NpPOBEurIBlWAq@tV{eSx%H*TGQ0WG~)6r zSz3eCGrVS6!u$czQSRP*M{=Gy>D%hWnqOFU09Dbarqis+gh6T8 za%Y+BDD!JNHaO~yKFU?bX@OiP# z;jLQZ&5H>k0fG1@my~5a)}B)CeQFSW-%@n|o3SF}XdlX4YWF?%C!)u*XBh7_5wY6v z>OtQPp4;7)>u-9jNQs^uMW}C=-OAA^1(SjnZ56W3z9Xy6zV@=uD<81*H9hh5AN=QR zeyZRRci8M%j4b@GRX>_X9#av{vn>70MhV_c z)V=8*Zaw}!r7RSQXMFE>O@kqK}$(|do>YGaX&9psMEg4Az%dl=fE zkJy;h+vS)BW2=esK8OQ&|1q-Zp8m{Bw7}x%_O>M7`>Kw>UCqPh_O)Hkt__b0o}7K8-K0@addsP+~8dgFpotYKmxjnaHGHRHH^TRp*Q5 zNAL$SGhmn;c-%*~(@^uPoFULDH9RT3q`s{X=+yeT#y8sEOv*vJS?>A!pGycjxtXMs zpy_mEYdN8a3YgY~2yZvXZ~bZShJaMe-N!01Bv%QO7Haq!GFy{3L^uDvWfCsiw`8L+ z!S}Pe!jN81QLx&t)Nl-;e^aODi^mm#UBPH~e~C*z^$i(^kQ)=nm?KqArm31K&_-*9c|&<# zJ5)%Up~XUuNbIJb(TPv@oiwLqx@%ixMI7?*OE`K&LN|{8Nss5XyPZd}%XGUX#+3y_ z!;C4XpENmV?Vqx_jw>a_+>9img;DN5l!@a9Qv8Lu^j-P~b(x=Dp$C zDOg7YS%g8xYV*+DINgw_H>Fr#{p$WV!`cF!Be&jYvBy=fJQVfqctiD`;d1l1k@m*c z&L}Ow#b$?*fyc_90#0tN`+WWBZKOiZU*CheB8>p9`-JX4(Bx8Xt|O=RcA zwkghV&CA%oE_yP>q4VX6_atS}wW$8%7zHVGNWc18chR@y*6T^+1{NM7LGRwIYYa_c zIqV>hb7A5Xv8Y&DaiGgPrM#-y@6G$Hu{WNHzk8i}F-pXvYUKPNc2HEU86Rh=JW#_HrkxESsDdGaO^f`5+CWP$|GXmX zj*zQxn7FNTj+3Kks=dqt7s@3$y&)^`v(f;PhYLYXwobVv@RY2w$qRZhH|aQ+IALU2 zKd1+h7CB81{eRLKiZs(B`>egB*!Z=61uTtcVfcTzINl;Y3i#|>((?*bV}Z_zbkRiZu)NJy$ZbJ)*WWKk~bGN=e`XcH&T$cjdM56q$s9{9l%HW z664}L_Gif28LOq*-@h?2t6Fwj-zS&9Bf9E9j`N2-LZ-b^*(^6FNZzP#O{K;5(~RV{ zjo5&)Qfe8~jTu#rX`(=8__U~3Vkq;(%7ax+s>u+qnE9q$hVzK2_R_F+HlZ=3#n+#T zn3uKufWK2dJG`FTaxK-T)h zv5awTk?!t8H{)UhB)D&xEBCJP$;C-6+}Ek}T+VV^H#{cl7K-?qy`Da=|Dm@g&8#7G zLN@ONi*x(#i4n{NwI69b zP-M_ISVkRJ__#_aR=V@4fVb3a_9%`^y3p|akm*Q=YJ>Hf&om#X@| zwZ^;!PSkMGCf?rPDhm~gy3$Lv+~{@xKDYa%pp{925};*Uyu-}rierEDal{O%3SG~> zO&l|(4@N=PS^!p}STv%KbT|KvPD$IMNBnb|068*AF)(p4)nkyfCRlNJc5DQHkB4=5 zbAhRa*y4)OP2pU}y8JLKrsh`>T_cK%!RcFSi1D+2I&-V&|aJYRectC47-BT z+-(awQkJr4ApVsWSQOjh2APfuTEKLp7))PFESbF7#9+VS3_a$~DS_6T*>B>sFLjet zcUbj7oQ$^(WDY_q+C6sTfWZ_Xx#@yoEFnVQHV^C_%U$Tj3p{pTRj-`~I^hq>1RrV0 zde|)qT||ATuM5?tFi50&vlHa5cJM|OLB5nOyxY@@J_SkOF@{QornR)OXEPT>(JBg*W80r&oZhWKE$hH19d6p`5x9XED$?vfyrE84D z)My8sJq(KX{`ph3(O7mh$q8zOWggIxeu3D_d5mw5^^=25(C;U%s*%!m3?^~^@as#; z){F;IvTn(tvv)>mTfk>6ioWhtrl#*5eNGtr_o+Ok?WV6R;D?kn!+t<2F|8h|(gPCv zBd{RP1zvs$-YPGF#IBycC*OnHv*$;o6+8*yTSsHGRBx=`7soyN`y0tAL&}*2%y1$k zT&z6!b|wG`vklp;k!bSmrK@PxgS=XposO&gOf{y5pV31=?~pHm`7kWs7TAxRb0i?9 zlr_Gfv&FN66{@_}_x*ig#;KY;JkFoq*FH*+KVGtLJ}dK$NgEhhSOX_CzvS3ei?=Rw zo%JvGb6Ej`>X>!u$mK{O{a*iixD%Z}{IIfH0@z&9!v>TX^hFK}oAe;Ez_?}y2i(Qd ztKFIrrxlpsoQTpV_4J?r`y&miwLWncy}D$0>sB4Z&g`8VXK$JC{r%F@jGH5|TAlc11u7{h3}6_X>Zq41ZZ=8JYAb*(0Lb zLV;sxtm~4Bhz7|Pn`fEKHHeY!eUf}Pu3mx^dxAg;HL|sl#AN252$sMGGbnA?zBVt% zWEbrTEq_TC3R^;#giv&~h(ekrDh zcvpZ^_9ye$JXm46U}kLtrwS{Iw(TuO z>1U`VJk#%kY~}_y^w=D)=LO${M@0Y3A|zZv9sct~W_RowoYrhvq<%2nz;TomCty&Q>sVFqx3V%>wso z+y25G_59e+^<4x##rS+yXLphTU)R&J{ zW!Arxw?P2j!{`xki$KAV?s{$#Mpq4TPe8Z7cxaW>PtRHwUO|E32$*s-ar zM=j(vatFH7Bo|A*F|qMaE@rf^!H;tuOG||_R#;7EEnBWT3bR8OsWY2R0r;}czxc!q z(AxCCgyIat5*)xzp`KvR0;rg85nUJcS;ltg8Xk+uLGA?y5VwSqT78BdR@u#5{YHAp z%qjq335&fmA9M^Ic+Ofx9l0tnt1ah6#<`Wh-HJ5w$%7MN7g8n7;TQbk-(uaz_hOW5 z|D0Z5r_cte!ED0FZ*1Yn68m8)S>Ai3jXB~BQAoRdU1?El1QA7YvBMU6RDDPv{GLDg zCRh3TZ~equcNe}VNQ=!U%@8J+WDWLf;K$g7^kZuyB)pI6W1J(r$-1nV=uS5=i2REh zoYUl8SovWpwlN_roXc`flN6O{o1r75KK`Z3n%$;mCC6qgGe^i^?#fhtfTXX@8H!u+ zuDyrXBWQ2U$S9qb^GGke{gC$0xJS#WEUP0%3BP`qjtpELId^`_8(;l!_?Ea#V+iL; z%asHU41Aw{)79e(zx)Kk2?i**D>z|t*y5kWw4*IX(j3AK$pKja9~bcWZgw<9irAUA zM(08JQOSH~lx^9MSdaM&^hCI9qwtD#l)Cyg>qgWuYIJh;HV5<@niDl>h;TDAZ-J-(Qc7+sShj& zvPkXt{E`Vc%DoiWFLBYCO6+5Y~*c&6l7iYf%K&Y@hRhk zKIXz72N`-|Q+B?7PYc|sPTLEMB|oZ7oZNfpto@DOZX@38Ggj7r&Q$1qGp!DuLznRD z7g^m2Kb66(wCYoSqa1^pPGcoR#x?4{{8^f*(AP%TY8Ayz{ARDjF|_f9aOIVSt`zDM zEsULbeI8%`%~lY-PVeIMx*q==Ta3G;WSg-ew})e`i8esR>1WmvT##y;Pja+R^%0>5 z>VL;`8++R5Ri=H(y3=!;|6;TdNX&o+yN(;bRCJ$f>HlW5P-<3$WF6;tdQF`YxP9mD z5+)7*Y={wd&N_BW^$?Q+;x+oIDq8}R7#k;g@Bx7^KW7-=JaFkhe3q~6I7n6eJUDe}d9{)VX-n3f+Oum^1 z5Z5!C42z~2zmN_Lm!7F^NQEi8HUHV}Q&u?)C z?7ff{90w1M4YKY^DrVGq^K3%jwzM8uarE#zNjF=vrVw`plLaEb;i#5j2&m)Anjr`Q zskBEG5O1rc4&bP!NSmVSD$Jloy~C8D*SHC*d= zB;Hz?8(^?LSzV#iSH%vYr~Ic=sV$NBP=X*woXoN5<&8z3&`vHYu4fLHMnBW(&!od) zs_v$TZ8&fF709f7kCiU3KEzFb?oUgYHe`C-DC1BDHAa^v2d<<(^y>fAm1+YR zu%KIwhO1lnj9}s;Hu@l?rJYPAMbmu#0KvqcbKxY9sQkq(ax$Mx!NpRJb@wi%*C zYl|#8PUE}N!}WD?6khNdYh(Af^fA}7a!E{j?DPajxY1|7<cWLw#qTly; zoVH?H{@^^~O)jl!L+>Mpuw`M26)MBn9%b~r!rb3T_ZdV#*7=y-ZiMJbs1w`Il;xr! zA7gyr&+}?7LQOa}8xv<6IEKR)eiV3Duus1Qo2vPR(Ts zVynDQvANGvjs0>v| z$Q?Xc=l@K#Nrg1S{;f1bdyWjBg02vM_d)hqrlXnPs6( zih9}u_L4_@tC=Ge2vUWHXe*tz#|RxyA(>~dQJgEMzP;Fc*ns0;PRrlU$)U)q<_Nap zv7a<`@R&7u-omqttVJtS-x-UsVv*F#V1N0bvNs2d;c;8VG%%jGOK|M<9zA3Y(G#vl zfsv?7AIdiAto>UK~{pi@|w4s@ubrWwGv= zg=$kLImgXq6CLAEn^~7sHK;$qU&mv8BFo+-kQf2ivR@rZHAu}ih9V?B50w8GF4N6_3o6TR6; zYdSoztaWDq{7U-lbd4I-{L#-$Vz#Ly6sk0(sHul`-CcGrx9z$L_rPA#d6no{4}lED zr7LYx6A?L2A9(wgyWpoIa<&aw%O*Ur@U9^3x2lO}>V=N7oOBqPkk0bp5rNo%z@f~Q|ocOogaO|Kg8jdE(W)j+)VabhJomL@aLkj35XcSI`V z{!4jpR1P|_Qb4;)C!FMMwDp66JJF7OV4A3CaI7VxuD&YXp}} zk8i0$Ptd=r*n&qxXb#^~d~l5sEyt~Ch5b9sRGRj@xGN;+Y&nphOsn%uc;U382>%*w z)>C`~b(nqtY}d&WZORq*xpsA*4SDdiZ~O+`pg(NEa;u zp3ViOu0BY`k+}=U#ciWkA=qiq6d;0WA0RgMeilPnfqkb#ACLD+M|?Bg?C_lO$9536 zqkzX$2;*QZbP_{X{i~Rw3e4MVMJiX`CEp3F_5bP+ChP0tIsTeA6ZDbA&T|?{;LgFE zdlS_KFP`a3qq;T=VIELO1f0ZIpJTO|qr3vOqZ1~OY%QxBEpoJW2 zqmw!C>0->34`cc+lZ(*xiMH!2L+k#ptC9;G#_>&~-pr=Yp=MGA>^Q&01+%4xTm=18n- z5OC#v{@)YB=hMaiS-uDM(_ts~rSZ~0y?a+}`rETppjUnX=;qMt^&^5hXssWRTXkek z23qqxuwfX05)kkO=rHe?IP-zYq%%qo{1nXpF8i;^@ly=;$Gi1)*}lcXL+%qp4L)+X zWYK;S-1Jyj4W*04y$Fbf%Zf3RmD9l5<`KX}lg<|+Ou+KKJu-^a17L}G>TL^V|< zCQ()VpPjg^R_^~Cz1dd#uTal{K!7atLAkZr2N72m5Q$Yp2Y&&zCeTA>!HI&hSWdKo zcWzMzK(}51Uj-n$2JnMsx+M<f4N?XY%u zb}ZojrqQv|b_bO{3w}TutU481vRR2?O2c`ooSApIZAOg77w&Uif3>9h}is< zHC0*~gs7~pJg4$`s5M5~nrGF*LPrTMP2HD2#q}C&o}d=u7mFV+In&C9AB<{KQhd$J zHDL3h{FVB06$+~NQZ9*}a4F_sj#$|`+6L9O_2DY77V-1uf+mS)wUZpo1)T9n62&h@ z%xydsO6htR5yLSV0mRgekuyI-cqDBOdxu^xv{U@vxQl6sJ@SlVRiZ1+)DGxGR@hP} z^Q8N%E>d-0yn+L~DPO*@(BhvXFGQB@|MQ-lEL_`tQXA}D^I$`j2G%}m1D7ZQ;Lb(# zrbz7?*pe=i;CLB?vm+CLQ!%i+!~>u%`(6f)vnhaK!DQ7GP|L!Mbh(auRk^==kEJ5Y zh?mMc-$dk?F`Ea!a`k-o=z`G9{dyEMak$kM>!bZ&b$IfDn3S7Az^ay&nh~g|U?l33 z(~;cMX2ksz>UBH*$E9cPVSy7yLY~kq<8XZ7_wWO*kcnKFdv&hh0d0}R2G^;pUA>Br zIE|1H&w3m_gZeHRIslWH{??X^OoP>wJeh{WE=C3+TjgTd(<9W73(673K=i22(zmJJ zl&Z=8qJ;d@3~f7bg01N*TQ0z#k`Ci9nBT*8o39-o`zE5z5(;I(VkOy701CVEDwA)! z>E1=)H1S=`cE|$kYlE)l00xEy9L@&7F%u#EQ;*Aa6!kkN(@{Ooeu$Z^Nk*J@@yO_y zJ#O^Tpb5tdrBkup%xw+ z3R~&ZAr4I8@d8TYYFA&>!20sc5b>_}4cl^^>Y}z0TeCf`v}s#O*U9*EcRsd*>l%^r zsb7fr%P+=Ok9)+iine%0(q%l2t-3NBwH$1{7}dN+S~@Z!BQe>#^~FxFj3XZ#i^BgQ zkR22;l*+(uo@;)W5zkSMtQtikIuFgeyO%8U+H&Pjzj>9{DV;KrFd?aFlWd2yttvvt zNIMNa4xO9fPrG8)W=<}0AMnQk81xG#)+a!}p6WMxONtG$4E!D(#c=N}-JjlNmOm)uvG$C#V!QD^XSn#BY>;agTGVThDKgtO zRfW4?qUsX0Y^2L|y#JthmSc=q_J#pvzSe(v(e5NZ*gw+{uajkj@mQ2$P#Q9s@*b=D zFIk+Q@<$%I=vU5%m=-V>8*k`TwNtGBK|0~&G}!(@z$lX+2llQ|Ml|i`mO5s+0g$sG z+@Fi&spd#53WJ;8VYbCBs-~^53?xKBgE{XSD;hh|%>?~yDp}SC&#WjuI2&4Cc2CBD2 zqtRndjM@AhKa5uM?YnI{>)FwZzZr_Ma1v6zrZ1RxAu2cI%H0e&0zOoYN~w>ZjW|13 z&qO@4#|`@>!EPYI8|&?7w8MJD`WdrdTeJ+Dqwc`+k-Vz5zTY_F7g561ulKaG?Uqya z!((T&F3Nw>^|Iux7|=;=z05Ymi31_`1+o^9!DswGbNg4L-%EQLV`#@09sd^6J6~^-Ex%URF+!NRVAQbj z(U>w0HMy91ZEBUvzesVMgm9pzY{3G&KZUM7Rxn149vD7YjOOdp8c%d%=9~iP~t7NzRwCb zDrCO4m-zoDjK$KK1YzMi!%60_)l+wuXLhfL^f^?qUQziwMd_1(j2@F?lCGKeqr_T} z-I4>E;HB$^4Of-1glVZWCVl*hRlhT7L6?SNioEjZyD@BH3{3MB^?RY-v4Ppf(QG5% z^^O+G?ATUzllF(Vk)~bqPpU>2E0{6G*+y1yPOqn4u+aa@{S#y7N3^g%4t*^qq&4NJ z+)aKm+#R@m4qy(O<+z`nA^&A9o{`S7dY&q%p7^CI zm;CZUByj2+*_HXv4sGBs>mWI;xE_rKjk!jNSZFa=)xLO*JjRvH)5z+)yv+Ajdn%*W zC|DKfk_Pol3haW&6i)5j$r#dBf9TLL{Au*t;qomVOip*zY2Oa4sdrFap@^142GgX3 zkdZ?|W^Jc49AK$HPI$K0MJiLDR7pv{xHUVrGeSsp?7<9Xfc>H8hhfG2iw>vUS~u&F zh)NworR~5%ZZB{EAGL;!Sc!UexJj`Uo(Uk8VG*J+^=@0A$mY7CZ9aK)>{HiKp~Mm> zp(_jvPFo1vM(&tKW;9tRE$e_jVzG$Zr$$I|`;+;VPrwDK_|sc`T?I4All$fqykNF- z2XmpW=k*$$MZwW0#<}zt5dt5B#QpUjKbxALKOz`oQ z#B#&<2MWxJU-Al=slP<~CB6?P7uYNh`nyu3g`i~*6Z@j7&#v640AxdC5wZKA_t0v& zmx+72Bu}BG5!r!ov3vK!re7GG2fy=Bfp=v_D;T*%N%*ErYw@lsNjL1`zg1dnW&=`jed=b|MXe!fdq<{-E-IM45l5>%MC=sIniH9vTpZ%uO*AJUSs+0`ATd&)wq zUZ6W~%BfMITv{vH>LQ2EmJP!jBb!r+PZt|@oI|n|_dXfPzMmbLttjoLfSpC)&}G+d zP7k?Wf0p$;P2t&~!OvqoeZ`sj3mdZ@D%`S%Cfq%nv{0NEoTdJu^5IhCG`Ig6kQIn! z)5}PHp<c; zN8`rl?iAImYg(2So_M{$KvcExvOnG*S)Vg0WFV92(oWT^FVd_28ME?fswDkm`4(n1 zFl!c7bb9N)JMYz@Vu#Wx5xtITV#UN_UEa6sL@btl-h_(-QAext4ZzbD?nayr{?oSE zSH{CYdPfzF>RFD@F3*J79;u$)sNa)VX%2N$F5s~G;8{e#xs4P7(C9BJ!q7qQnW0a{ zPU&5>eu3-zZDvhrxh+g5GHZZC{Xx0Vdck!nD53#{iT_{-#rtg*WwKu zSh-9iYNfBw{Pj#~h2M>sT2Y4JB-yzWsP!83EvF6nicSP~ArP)h#P$Va$we#zGlR9C z&e$}3Clmf}SylpD&1enU-M(=-0`nh|)x9ChD~i6x2`}^lj<)$uKhr6azUDC*FR30g zgK-J8p}d?Tty!BI{2^Ht`;w1}-{+muj0$2AnBJhUiBNsMSo^lm;pU*V|4X$xJk;{( z;&+YY%9>Rnl}{4S_05aS+s)>pFJ&7Q%Uo1@CH+{9{5EuNkw~|bKH|q0mH)QICK@lk}F8>@#Zz^ zVe4+HH@k`_Me#4w>gK_iI@R<0y}xZ~87&3r{(gXsO~Sq2&UPqttFRnvG#?pr#pn`d z7(@j2SlaD!tU=qNi;_83v-12P6{+vVb8BrPFTyg@z7@^M|ZB&v#$gaNcQ;@-ee+`heCl)6lWq^dAbB)y7*?8osbg|5G(*CQAacoq zHZaVV-UNajWK;G_m~&yl#eogQMIY(YeH#E@9;CxMrVT-PzVf*aS-=1QpF9}wV;}1% z!O)Tby?8P3ZU%v&U<31WnCOTHX27UM4+zOZkc>eZ_9PBKqrMQQ21E+_;I$=AR<@Hs zKP9QSZpp&|8 ztXP(F?~>%Mm{4gGrL(shxjlahBY>!t2~Y}YrArlCG2m5LNLH!?^!{e6#?I`N{Y9xt~^k!wD1~d7 zi8Bk?XBiqDQZ@TL#m6w0^NC&FV2hC>W<7hbFvpWVHpx=%xgBv%=Y?5Q*a#p_4;A+l z^3-{x?RZ0JV{hJoC??UYS+idwwe2B3qBWl=gCC2~+-QBNo$aA1={^4C_|RipDwTaQen5H^D}C;VWvOqdDWBi&J*x`50yThf6gUi z?_HsCUTwFqUoC<`Kk?qM=VEE2El^y5TlG0hx1hndn$C+uh~ZgQKV305NY2U5n8yHk znf(j}3_I$4AAtA_$P|7>HZ+}uh15Yz(5YFhGHdbY?!K!-w4&c>H>-;}0cGrF_D$GA znT}IU+4F?wtTOiGp5KV|;}&on3YS1?{0HXWXq_BeR_T?uF;Y)DrI+YKJLwcp@?v&k zDP+_vzNP`qk!%-Qy!?YV&Y4V(NLp_K2T?oV+_)_FZAfp-Cb^Op2I4350H@V?q6?t2 zHALa)iwju;;Ufa9KE-9|q!N7m7T}E+$t8V;o-JU&`WW1++@1GXu=@&@(f1O_s&hk`Ts&w@XyEj&DyQV}SIzyx-Hiw0C6hh=W4 zb}0wWbze%a{&Yq$WKFiao#atS^#~%F8TTi9Cs5{yxABz^>zO=hTVz}zAfftzG!Dsh z=cR7VGL(bXuLu}6C4`R42!(ZcNCBK@S`@KgChlRsR0sYD=iS3qUcw}r?V(Zz+;im9 zQUG_#^^Uv{VC)_V-6Z7DDBr~iA(bVE#IP_oX9|GyC}ZuKphc} z9ZZ2E4GZZe3oYU!&TYPM8m-OX4D!(m@6*Q7Ha+N5_g`i%ipC7Hi(8P3TR2w}wtg?W zH^03eSv0#*S~*gh;%Pul#FUS&*X5njCWpnk;<;FC7VFvs6{{XbT=8`fzn?Sr{~|Ht z-!-2oO~ndSRG(lFsl?2waWEuU;9+!Xaq6vl4-ycmhgRv`JIV*$ca}XxtS681fNYaCh%J!H2jK1Dg zwAda+R>Sh^Rm1UG7B4@RDbMKNtXIq~Z%w5;Fhdhu)_wyc0$i+EU+NQfEk5IB5Y{p4 ze-^c#Mpv#DK#41SMC~M+uvavj>4|fPD_^wwfeA~X5kpbihInVqb;S9?&rS(GIraV& zv7JoA6>=Js8(Bvxe)}X zHwbIEi$A>Ju6C>+(lMowQ7D?NXK2Qty80%2Ay2yAPlr5g^$?I zmAq4HoTSrCLZ0}Se^xY}0`*UWOiDZu5A9s>@e}v(S^P85>X)0!HOBc^Z5?^@x>xC2{VkSf4$0^UxiEKSyd)3w)<$f(sSReb3pj zz)%(WU|b%|oL)y=Ba}VfkZWE{YHHxaHkF=fT@D@?Vx%eQy|%Shq2=4%&#g|a{omwf zfz5%|vS3Z~@>{QVhRI1LoQ8P#0N zP(jY+z3$Fp9FTt+Xe&*?AmzxA)jtzxjI)!i;PdST{Tmexb zBdP5hBhyxI5c5V{QARb~X-j-VZX2HJnUrN$7e3uALoOdc|0+F&rzF2;y@4?GzZf`V zEg=O~cTA!W6tCPoswQLW5W0Qya4_ zF>%W#v{A?bqKd_Ej?Y(s9eP=FPtAu?dwuEdw;;4lZ)f7dxK_Kr)a+;C3AAufn3q+f z+)cY-VvRNufH^Jf?g$q))0j-ix)vyWqOP{mauNEEjWu z5?{D#he+T;$D*M6fU~O4nE#aDzPmYXSfXbu4b)B;qnF<`djmX^37ASw>4hGalM|&CH(|& zy0_3Gm3^Kzc(nFY2c>0vK13+9m?5RsXAgk`dcV|D)Io{Kl>${&2`wD!MEhc6Y8ufb z1Ujh9I2AA~0iq7eXP|_)GzwSfWJ{VwR?cm!qzU@dNkuv>>v7y%_NSE#zZu^a9J`bj zJbfp>vEyp~6xtafN#BgluRX&r*R**{XwX!mtE^>Rtd@1;%#aFz0E>Pe$q}(n5{1hP z!kSFonx15vc;02mRUs4R0H^x84o zn+@Svq9(Z{k2Sds;WO@WMuqRb{3S_vHDlD|1dUpH%hn3z5Rv219c+xSM(usoz=|dl zq*<&_jQ-_#k^Ad|C)AA7vI?gbuge6-M9qbGsk8N<(lbkb13Csmq(W6-$Do!&iqJ&o z)vQ7jbNB5$RFfFi0md`^jtO&*m^CUjPSPfo%_Fi*;Ws@;`&f%AR_p8lW^pYW;6#Tk zfQs*ujE~aLO!#gq+MImQ=ULhp!{OvbTUJNOr4xT-7eSrtSl~Ynqr5+x#uk*T$F7$x zs*s=O{dpW*5mO3s4?RCJ&WUE>wtjeq@BCx0p?fm!)t3R^@fR+q66OBfbNc2}_8o&1 zjfXpEqMWM>h5VDh)DGw-US`-bjnVFhgnXTzCDbA7SEp_?s(Y|}&qQn)vAK%e8hfB0tR);(0%Yn}!r<|KX^q>eovQmiEK6F5L z=!yc0J4L-n#;APqzsB-!>&f#uS?)am_4Y>tN;x(`(Y0T7`b09ij?N&?e-Us9JqVq+ zY3%m8s=|$(uG~#{nk3XRKHK8O&zQqqrfY#K>z!C0WCtvIU@m#u8DwV}AbeW$SFm5G_0lvQR-k*JFP zR$ld1-!$9fNmEeetxXkN5H>2mK8xO46D)Ygw&nJm_fh4?) z@G!$BYYyXcYoEE5=ti?qYg8Lx*8ZDLo#K9{_Ea$*Enjp?pO5mq!jX-n`_RqwfXS zUhU?p*TtRavqh2!8JS*)hq>&jp+pON|HLF(naZusC(1(nsl-&OLe>#|W~Nu$gHDVV zlT7YnuGoxxB1T=1QfZ_F&k09}k<+b0L^2xXAlt&xCS(}ZQ4&lzoW%&BM6FdWB+lWo z%Ti^q4IfkXu?TGgi5h$+WS7XfFxjo06S$_L)Q$s}Y(x|CC)KuYW*_M;J2aIM5w}_P zIL9zVJR|NzY-OW)Q#h^2Ke0W~U`?rf_*JHY^qggvLf%O?WXScRc7b-0J8I^$qj`}jm)ZR!ZOUzvO9c(<|1;ef9OgPPd31H9Si|3zyS=~GY98Z?SBu3j z3adO%=uZ!-8)NGY-P0nqup;IST{?4beuo$Gyo?ZUutx2Qd{SHUyk;ms@g}ru ztn`Q&eHzX?7}+^LTw~r>S}x4TYb&#v8l`S8%{ccz(z{b{)6z^b*3HLaeeT;Gs|zDO z!KP#rOPGDsF_DW(F4b(M8Bc>ok@5LLWyFp6fU262Vt^Al=laWF;3tpZ)O90)!Rz^9 zM?Z{ZwF7zuBAww!3k0VUZ6d>mN)Fd1-X{~l95O(mm-jC>r_30=vZ4qZ4YY%^=}l;e zK&m89>>i})wg^}qT!@vGhez-i>bmy(zkGc7mH&ZF`p=r*PaxC(bK^||p^FJZA0L>v z8f@+}{PyYilE53cc(^HKz$MXQ{ch|xA0MBbV3^{9Y1|H)%XM8p$?wm;4drcnc?qdH z((7rWF)t~Njr-`g^k#K}Qp1{gpLea04WPLx=gp`uy`6;G%I4WuJ5Mh?e9POXv`vlE zH>d;#?KSU(I@~{M#5=zOTUHgbOPli@5rWFgRbSB`V|N!gLEXyOAGW?$5GS2Mo{0DU zX)E1bx-muIa+{^w!be^Dj7N-!*e;#_20Q!y0<(X)@v#n2L7dAP{xLCSjzV{l68evg z6|QZ=Z2k_N@r9$-C9eI4UELXwp(r`BBo6aEJ(;2S5Kw=jpOQ#PASVKQ7pwt^N3PgrDRBV(rlf`*Jk$64K*(Y>{bdifz=C@2(TFgV zg=Vz+$v}nrLaMxF&82E#JM?*sOtPw9p*0a|@jWXxsM&!B ztr%=K6^^b@04)XYPUYQ&=Z;IJ$@2b&_>YaykJSSD(6Hdr259B4e(e(#`W^L?pIhWD zA*+G}BAT4uB>=L*Z-H=&_+K&2 z+lSHxG1i0Us9!7vCnLz}Bm2N%1+8DzIB-`!_TtWO?P8XYCRYhoHfzc__%FwxbJhc( z11*6^<6+3>VC`+~XAT%&pW@V()0lcFALl3lodb@ytPPd$*$+$YN!y#V@u&GRPSo zna3*uKr~(fh-q?eRGkj23pB>@^&3d`c>G4z7NPUl60ctDPyu5Q+?y3lsGMG)=dn8- zH8^9x9gIH$G~ESsIcnhy$TU0y>`djYU{LEUp??*tr}zm31hY!DzXW}0J;=H)|G0?9 zQi8jWhomY)U-5+DOpJT%RcGs|p)j$0R)^I=S}BCgEk?)U|1A&GHNa=3*OCiZVbm#rWHqjhW7 z@%8!eW0W*W9mCpv1y>>M;VTVheIs}*d%$`+#$)T~=PFx6Z251a4AJ8liF=^h^RURs zXrPRy1`N>@)MZL9k65ps>1Uq9yRM~p8!7p8?l%{@1)T>6AgqbNJF7uWrcYD9MkWS3 zItNvgiU7dAP;rrnM#U;mV%;RpMkPh_x&_jcW$3Sng&a&E%#)S zoI8+34|!Qm{r~9vOD# zbWwuUfksq5VosVAM7Fq!k1jy7r3X-eDc>NG*_@_X!z-SP?+u#T*(jNI@$IGVErg4Y zIpeCJnSbbAy@j^QxH9JV)PP3#^#>cZ=~>r4fEoCaJGInhVcYMK?^QG$evJHJrgPW> zjEOdTjCz1fJ}<@dC+AyHb=)^&t@okq5NTrSBh(!@2Yn=(WSO9gwH)}viBFND+#>AG zT+9ii8iU%8HX_E80p=k%LYZG~H)3}OjH-)j=wDs$-h$+A$t`%QJIqS=*-t}-jA?)< zeV8N0N)IqON^%fvHJAdp=avuIoIJ%@06XRG;rZ@@tr*gth6+oMC%%S|pmdaRmdR~m z^H~HVb7-PHD@ve`7g8aPP4OdLgt)D7Wp#rB9QF>$rz_CKR%Um1peso!gmnRgo&=v4 z&X(0KG!ddNZo|aw%R&3T+iRsVtoNXN(PxPSCG9KgN-usr4I=lPkK-UYd`6cn#BsNqSzSKlA6G_--#q%$>iiEkuedDnGA&gCF3}W;be@sLTaa# zogH&uY9`3>4R8w*A_wK5cU0# z(P)9E8skudH;H6f_A+vqCd|(fV<+P%MWeH(N5I8{7M3xJQ_*kAUhXU_&p6=jcp7OQ z61%>1Es?v1JDGpPuwajno^Ce%K&t?^KI0P>-9UVSrdYQ45T50cuglPm$oz7 z0zG;xh-i_>ql;6#4Udv|;6b5^IctxQ+;xmAS{cZ!x*UU1VLAR}n}%}|{2dJSUI^>K z2auZI)k>JPnC!=ZhtN;*vcN@B_kA;TZD5ra-de~zh`vcQ#mazQ7>a8#Rr0pm$jsvf z(d{T;x0{V>SgZyp%le8%yz?E@3~*k3dUdneai=<29o!P}DlZf8)i*PqZ%@RKr~?*t zH8iKua+3*%z5&&pX=3+XEbzu#$SfPU^t*awD0EKiLG8=>%rq?WMlJqwzSMu9Ppl_= z_opoaKHukkwA|6gn5{u8`_p|_5}#48P6=rceZuGF8JEv64D&IL)>_8?B%(c1aLqzZ z${9OhPr2VVkF|#gVbc)R)$HepRNlrzKxd6l2Hp$TrL-E26cZD{`onymr@TrffLD#> zhCLt}QTkD<(7O2p#agE9MkF`a(Gn|mm3jkLq(xN=UgsIHOJGeu6*VY z!o*Brl}apZq@L|ibc(jbNwA~4G+s|Li&6OM)MqGrbaTFXltKS}7Ori3`S$qfuu^@d zIKirf1*R7-v<&kbP_REX}sV6c=ok({38%rbYY0B<(x8W_~lcaHnN@RbQvg_ z^Nt5#Z6<;VVyTT+eKCMBxRbxoX2~|~@|RZY3M6hbxAz`Y$Z=oq`(w;` zxet-I_eyzooM2YnT7!DWi-RD`dKNHyin9bd9aV1Z{5EStKk=)7xf?!Qe!0omaQ;dU zkF6>EESzMBuo*kl13o+9%?p)xKi;6vTiAS$Z%C4Kj#TulHW6LV&c!8GTlnVgXoSke zQjP|n+=idl%xnL4kigDD_y1cz#?k>Kv2Sq$ed|@Ww!G>#-cu)Z42~6Q*@gcPV|`k0 diff --git a/gradle.properties b/gradle.properties index cbfc73f0..0246fe9e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -33,7 +33,7 @@ org.gradle.parallel=true org.gradle.caching=true # Security and Reproducibility -org.gradle.dependency.verification=lenient +org.gradle.dependency.verification=strict org.gradle.dependency.locking.enabled=true # Development