From 6eebc6486359e80339c47a9b9724f703eb86a379 Mon Sep 17 00:00:00 2001 From: Daniel Hammer Date: Fri, 20 Feb 2026 00:48:51 +0100 Subject: [PATCH] feat: rudimentary userspace desktop environment --- kernel/src/Api/Syscall.cpp | 196 ++++- kernel/src/Api/Syscall.hpp | 16 +- kernel/src/Sched/Scheduler.cpp | 36 + kernel/src/Sched/Scheduler.hpp | 22 + kernel/src/Timekeeping/ApicTimer.cpp | 6 +- programs/GNUmakefile | 15 +- programs/include/Api/Syscall.hpp | 15 + programs/include/gui/desktop.hpp | 55 ++ programs/include/gui/draw.hpp | 239 +++++ programs/include/gui/font.hpp | 63 ++ programs/include/gui/framebuffer.hpp | 196 +++++ programs/include/gui/gui.hpp | 92 ++ programs/include/gui/svg.hpp | 972 +++++++++++++++++++++ programs/include/gui/terminal.hpp | 526 +++++++++++ programs/include/gui/widgets.hpp | 354 ++++++++ programs/include/gui/window.hpp | 78 ++ programs/include/zenith/syscall.h | 23 + programs/obj/hello/main.o | Bin 9168 -> 9568 bytes programs/obj/shell/main.o | Bin 121376 -> 135952 bytes programs/src/desktop/Makefile | 86 ++ programs/src/desktop/font_data.cpp | 783 +++++++++++++++++ programs/src/desktop/main.cpp | 1208 ++++++++++++++++++++++++++ programs/src/desktop/obj/font_data.o | Bin 0 -> 13744 bytes programs/src/desktop/obj/main.o | Bin 0 -> 788080 bytes programs/src/init/main.cpp | 7 +- ramdisk.tar | Bin 7577600 -> 8048640 bytes scripts/copy_icons.sh | 48 + 27 files changed, 5027 insertions(+), 9 deletions(-) create mode 100644 programs/include/gui/desktop.hpp create mode 100644 programs/include/gui/draw.hpp create mode 100644 programs/include/gui/font.hpp create mode 100644 programs/include/gui/framebuffer.hpp create mode 100644 programs/include/gui/gui.hpp create mode 100644 programs/include/gui/svg.hpp create mode 100644 programs/include/gui/terminal.hpp create mode 100644 programs/include/gui/widgets.hpp create mode 100644 programs/include/gui/window.hpp create mode 100644 programs/src/desktop/Makefile create mode 100644 programs/src/desktop/font_data.cpp create mode 100644 programs/src/desktop/main.cpp create mode 100644 programs/src/desktop/obj/font_data.o create mode 100644 programs/src/desktop/obj/main.o create mode 100755 scripts/copy_icons.sh diff --git a/kernel/src/Api/Syscall.cpp b/kernel/src/Api/Syscall.cpp index c406057..73df553 100644 --- a/kernel/src/Api/Syscall.cpp +++ b/kernel/src/Api/Syscall.cpp @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include @@ -53,11 +54,53 @@ namespace Zenith { return Sched::GetCurrentPid(); } + static void RingWrite(uint8_t* buf, uint32_t& head, uint32_t /*tail*/, uint32_t size, uint8_t byte) { + buf[head] = byte; + head = (head + 1) % size; + } + + static int RingRead(uint8_t* buf, uint32_t& head, uint32_t& tail, uint32_t size, uint8_t* out, int maxLen) { + int count = 0; + while (tail != head && count < maxLen) { + out[count++] = buf[tail]; + tail = (tail + 1) % size; + } + return count; + } + + // Find the process that owns the I/O ring buffers for a redirected process. + // If proc owns buffers itself (spawned via spawn_redir), returns proc. + // If proc inherited redirection (spawned via spawn from a redirected parent), + // follows parentPid to find the buffer owner. + static Sched::Process* GetRedirTarget(Sched::Process* proc) { + if (!proc || !proc->redirected) return nullptr; + if (proc->outBuf) return proc; // owns buffers + return Sched::GetProcessByPid(proc->parentPid); + } + static void Sys_Print(const char* text) { + auto* proc = Sched::GetCurrentProcessPtr(); + if (proc && proc->redirected) { + auto* target = GetRedirTarget(proc); + if (target && target->outBuf) { + for (int i = 0; text[i]; i++) { + RingWrite(target->outBuf, target->outHead, target->outTail, Sched::Process::IoBufSize, (uint8_t)text[i]); + } + return; + } + } Kt::Print(text); } static void Sys_Putchar(char c) { + auto* proc = Sched::GetCurrentProcessPtr(); + if (proc && proc->redirected) { + auto* target = GetRedirTarget(proc); + if (target && target->outBuf) { + RingWrite(target->outBuf, target->outHead, target->outTail, Sched::Process::IoBufSize, (uint8_t)c); + return; + } + } Kt::Putchar(c); } @@ -162,11 +205,29 @@ namespace Zenith { } static bool Sys_IsKeyAvailable() { + auto* proc = Sched::GetCurrentProcessPtr(); + if (proc && proc->redirected) { + auto* target = GetRedirTarget(proc); + if (target) return target->keyHead != target->keyTail; + } return Drivers::PS2::Keyboard::IsKeyAvailable(); } static void Sys_GetKey(KeyEvent* outEvent) { if (outEvent == nullptr) return; + auto* proc = Sched::GetCurrentProcessPtr(); + if (proc && proc->redirected) { + auto* target = GetRedirTarget(proc); + if (target) { + // Wait for key in target's keyBuf ring + while (target->keyHead == target->keyTail) { + Sched::Schedule(); + } + *outEvent = target->keyBuf[target->keyTail]; + target->keyTail = (target->keyTail + 1) % 64; + return; + } + } auto k = Drivers::PS2::Keyboard::GetKey(); outEvent->scancode = k.Scancode; outEvent->ascii = k.Ascii; @@ -177,6 +238,19 @@ namespace Zenith { } static char Sys_GetChar() { + auto* proc = Sched::GetCurrentProcessPtr(); + if (proc && proc->redirected) { + auto* target = GetRedirTarget(proc); + if (target && target->inBuf) { + // Wait for data in target's inBuf ring + while (target->inTail == target->inHead) { + Sched::Schedule(); // yield until parent writes + } + uint8_t c = target->inBuf[target->inTail]; + target->inTail = (target->inTail + 1) % Sched::Process::IoBufSize; + return (char)c; + } + } return Drivers::PS2::Keyboard::GetChar(); } @@ -249,7 +323,26 @@ namespace Zenith { } static int Sys_Spawn(const char* path, const char* args) { - return Sched::Spawn(path, args); + auto* parent = Sched::GetCurrentProcessPtr(); + int childPid = Sched::Spawn(path, args); + if (childPid < 0) return childPid; + + // Inherit I/O redirection: if the parent is redirected, the child + // is marked redirected too. It stores a parentPid pointing to the + // process that owns the actual ring buffers (the one spawned via + // spawn_redir). The child does NOT get its own buffers — Sys_Print + // et al. look up the buffer owner at write time. + if (parent && parent->redirected) { + auto* child = Sched::GetProcessByPid(childPid); + if (child) { + child->redirected = true; + // Point to the buffer owner: if parent owns buffers, target parent; + // if parent itself inherited, follow the chain. + child->parentPid = parent->outBuf ? parent->pid : parent->parentPid; + } + } + + return childPid; } static int Sys_GetArgs(char* buf, uint64_t maxLen) { @@ -264,6 +357,14 @@ namespace Zenith { } static uint64_t Sys_TermSize() { + // If the process is redirected to a GUI terminal, return those dimensions + auto* proc = Sched::GetCurrentProcessPtr(); + if (proc && proc->redirected) { + auto* target = GetRedirTarget(proc); + if (target && target->termCols > 0 && target->termRows > 0) { + return ((uint64_t)target->termRows << 32) | ((uint64_t)target->termCols & 0xFFFFFFFF); + } + } size_t cols = 0, rows = 0; flanterm_get_dimensions(Kt::ctx, &cols, &rows); return (rows << 32) | (cols & 0xFFFFFFFF); @@ -429,6 +530,81 @@ namespace Zenith { return (int64_t)len; } + // ---- Mouse syscalls ---- + + static void Sys_MouseState(MouseState* out) { + if (out == nullptr) return; + auto state = Drivers::PS2::Mouse::GetMouseState(); + out->x = state.X; + out->y = state.Y; + out->scrollDelta = state.ScrollDelta; + out->buttons = state.Buttons; + } + + static void Sys_SetMouseBounds(int32_t maxX, int32_t maxY) { + Drivers::PS2::Mouse::SetBounds(maxX, maxY); + } + + // ---- I/O redirection syscalls ---- + + static int Sys_SpawnRedir(const char* path, const char* args) { + int childPid = Sched::Spawn(path, args); + if (childPid < 0) return -1; + + auto* child = Sched::GetProcessByPid(childPid); + if (child == nullptr) return -1; + + // Allocate ring buffers + void* outPage = Memory::g_pfa->AllocateZeroed(); + void* inPage = Memory::g_pfa->AllocateZeroed(); + if (!outPage || !inPage) return -1; + + child->outBuf = (uint8_t*)outPage; + child->inBuf = (uint8_t*)inPage; + child->outHead = 0; + child->outTail = 0; + child->inHead = 0; + child->inTail = 0; + child->keyHead = 0; + child->keyTail = 0; + child->redirected = true; + child->parentPid = Sched::GetCurrentPid(); + + return childPid; + } + + static int Sys_ChildIoRead(int childPid, char* buf, int maxLen) { + auto* child = Sched::GetProcessByPid(childPid); + if (child == nullptr || !child->redirected || !child->outBuf) return -1; + return RingRead(child->outBuf, child->outHead, child->outTail, Sched::Process::IoBufSize, (uint8_t*)buf, maxLen); + } + + static int Sys_ChildIoWrite(int childPid, const char* data, int len) { + auto* child = Sched::GetProcessByPid(childPid); + if (child == nullptr || !child->redirected || !child->inBuf) return -1; + for (int i = 0; i < len; i++) { + RingWrite(child->inBuf, child->inHead, child->inTail, Sched::Process::IoBufSize, (uint8_t)data[i]); + } + return len; + } + + static int Sys_ChildIoWriteKey(int childPid, const KeyEvent* key) { + if (key == nullptr) return -1; + auto* child = Sched::GetProcessByPid(childPid); + if (child == nullptr || !child->redirected) return -1; + child->keyBuf[child->keyHead] = *key; + child->keyHead = (child->keyHead + 1) % 64; + return 0; + } + + static int Sys_ChildIoSetTermsz(int childPid, int cols, int rows) { + auto* child = Sched::GetProcessByPid(childPid); + if (child == nullptr || !child->redirected) return -1; + child->termCols = cols; + child->termRows = rows; + return 0; + } + // ---- Dispatch ---- extern "C" int64_t SyscallDispatch(SyscallFrame* frame) { @@ -551,6 +727,22 @@ namespace Zenith { return Sys_GetRandom((uint8_t*)frame->arg1, frame->arg2); case SYS_KLOG: return Kt::ReadKernelLog((char*)frame->arg1, frame->arg2); + case SYS_MOUSESTATE: + Sys_MouseState((MouseState*)frame->arg1); + return 0; + case SYS_SETMOUSEBOUNDS: + Sys_SetMouseBounds((int32_t)frame->arg1, (int32_t)frame->arg2); + return 0; + case SYS_SPAWN_REDIR: + return (int64_t)Sys_SpawnRedir((const char*)frame->arg1, (const char*)frame->arg2); + case SYS_CHILDIO_READ: + return (int64_t)Sys_ChildIoRead((int)frame->arg1, (char*)frame->arg2, (int)frame->arg3); + case SYS_CHILDIO_WRITE: + return (int64_t)Sys_ChildIoWrite((int)frame->arg1, (const char*)frame->arg2, (int)frame->arg3); + case SYS_CHILDIO_WRITEKEY: + return (int64_t)Sys_ChildIoWriteKey((int)frame->arg1, (const KeyEvent*)frame->arg2); + case SYS_CHILDIO_SETTERMSZ: + return (int64_t)Sys_ChildIoSetTermsz((int)frame->arg1, (int)frame->arg2, (int)frame->arg3); default: return -1; } @@ -577,7 +769,7 @@ namespace Zenith { Hal::WriteMSR(Hal::IA32_FMASK, 0x200); Kt::KernelLogStream(Kt::OK, "Syscall") << "SYSCALL/SYSRET initialized (LSTAR=" - << kcp::hex << (uint64_t)SyscallEntry << kcp::dec << ", 47 syscalls)"; + << kcp::hex << (uint64_t)SyscallEntry << kcp::dec << ", 53 syscalls)"; } } diff --git a/kernel/src/Api/Syscall.hpp b/kernel/src/Api/Syscall.hpp index 14aadbe..13e9026 100644 --- a/kernel/src/Api/Syscall.hpp +++ b/kernel/src/Api/Syscall.hpp @@ -57,7 +57,14 @@ namespace Zenith { static constexpr uint64_t SYS_TERMSCALE = 43; static constexpr uint64_t SYS_RESOLVE = 44; static constexpr uint64_t SYS_GETRANDOM = 45; - static constexpr uint64_t SYS_KLOG = 46; + static constexpr uint64_t SYS_KLOG = 46; + static constexpr uint64_t SYS_MOUSESTATE = 47; + static constexpr uint64_t SYS_SETMOUSEBOUNDS = 48; + static constexpr uint64_t SYS_SPAWN_REDIR = 49; + static constexpr uint64_t SYS_CHILDIO_READ = 50; + static constexpr uint64_t SYS_CHILDIO_WRITE = 51; + static constexpr uint64_t SYS_CHILDIO_WRITEKEY = 52; + static constexpr uint64_t SYS_CHILDIO_SETTERMSZ = 53; static constexpr int SOCK_TCP = 1; static constexpr int SOCK_UDP = 2; @@ -104,6 +111,13 @@ namespace Zenith { bool alt; }; + struct MouseState { + int32_t x; + int32_t y; + int32_t scrollDelta; + uint8_t buttons; + }; + // Stack frame pushed by SyscallEntry.asm struct SyscallFrame { uint64_t r15, r14, r13, r12, rbp, rbx; // callee-saved diff --git a/kernel/src/Sched/Scheduler.cpp b/kernel/src/Sched/Scheduler.cpp index 865b58a..7b2de94 100644 --- a/kernel/src/Sched/Scheduler.cpp +++ b/kernel/src/Sched/Scheduler.cpp @@ -76,6 +76,18 @@ namespace Sched { processTable[i].userStackTop = 0; processTable[i].heapNext = 0; processTable[i].args[0] = '\0'; + processTable[i].redirected = false; + processTable[i].parentPid = -1; + processTable[i].outBuf = nullptr; + processTable[i].outHead = 0; + processTable[i].outTail = 0; + processTable[i].inBuf = nullptr; + processTable[i].inHead = 0; + processTable[i].inTail = 0; + processTable[i].keyHead = 0; + processTable[i].keyTail = 0; + processTable[i].termCols = 0; + processTable[i].termRows = 0; } currentPid = -1; @@ -199,6 +211,19 @@ namespace Sched { proc.args[i] = '\0'; } + proc.redirected = false; + proc.parentPid = -1; + proc.outBuf = nullptr; + proc.outHead = 0; + proc.outTail = 0; + proc.inBuf = nullptr; + proc.inHead = 0; + proc.inTail = 0; + proc.keyHead = 0; + proc.keyTail = 0; + proc.termCols = 0; + proc.termRows = 0; + return proc.pid; } @@ -326,4 +351,15 @@ namespace Sched { return false; } + Process* GetProcessByPid(int pid) { + for (int i = 0; i < MaxProcesses; i++) { + if (processTable[i].pid == pid && + (processTable[i].state == ProcessState::Ready || + processTable[i].state == ProcessState::Running)) { + return &processTable[i]; + } + } + return nullptr; + } + } diff --git a/kernel/src/Sched/Scheduler.hpp b/kernel/src/Sched/Scheduler.hpp index d617953..04b35d9 100644 --- a/kernel/src/Sched/Scheduler.hpp +++ b/kernel/src/Sched/Scheduler.hpp @@ -6,6 +6,7 @@ #pragma once #include +#include namespace Sched { @@ -39,6 +40,24 @@ namespace Sched { uint64_t userStackTop; // User-space stack top uint64_t heapNext; // Simple bump allocator for user heap char args[256]; // Command-line arguments (set by parent via Spawn) + + // I/O redirection for GUI terminal + bool redirected = false; + int parentPid = -1; + uint8_t* outBuf = nullptr; // 4KB ring: child writes (print/putchar), parent reads + uint32_t outHead = 0; + uint32_t outTail = 0; + uint8_t* inBuf = nullptr; // 4KB ring: parent writes, child reads (getchar) + uint32_t inHead = 0; + uint32_t inTail = 0; + Zenith::KeyEvent keyBuf[64]; // parent injects, child reads (getkey/iskeyavailable) + uint32_t keyHead = 0; + uint32_t keyTail = 0; + static constexpr uint32_t IoBufSize = 4096; + + // GUI terminal dimensions (set by desktop, read by SYS_TERMSIZE) + int termCols = 0; + int termRows = 0; }; void Initialize(); @@ -60,4 +79,7 @@ namespace Sched { // Check if a process is still alive (Ready or Running) bool IsAlive(int pid); + // Find a process by PID (returns nullptr if not found or not alive) + Process* GetProcessByPid(int pid); + } diff --git a/kernel/src/Timekeeping/ApicTimer.cpp b/kernel/src/Timekeeping/ApicTimer.cpp index 3ccb57e..70e7350 100644 --- a/kernel/src/Timekeeping/ApicTimer.cpp +++ b/kernel/src/Timekeeping/ApicTimer.cpp @@ -149,7 +149,11 @@ namespace Timekeeping { void Sleep(uint64_t ms) { uint64_t target = g_tickCount + ms; while (g_tickCount < target) { - asm volatile("hlt"); + // Yield to other processes instead of hlt. Using hlt here causes + // a deadlock: if the timer ISR preempts us during hlt and context- + // switches away (via Tick → Schedule), EOI is never sent, so no + // more timer interrupts fire and any process doing hlt freezes. + Sched::Schedule(); } } }; diff --git a/programs/GNUmakefile b/programs/GNUmakefile index 7505807..0d8ecc1 100644 --- a/programs/GNUmakefile +++ b/programs/GNUmakefile @@ -57,7 +57,7 @@ BINDIR := bin PROGRAMS := $(notdir $(wildcard src/*)) # Programs with custom Makefiles (built separately). -CUSTOM_BUILDS := doom fetch wiki +CUSTOM_BUILDS := doom fetch wiki desktop SYSTEM_PROGRAMS := $(filter-out $(CUSTOM_BUILDS),$(PROGRAMS)) # Build targets: system programs go to bin/os/, games are handled separately. @@ -82,9 +82,9 @@ CA_CERTS := $(BINDIR)/etc/ca-certificates.crt # Home directory placeholder. HOMEKEEP := $(BINDIR)/home/.keep -.PHONY: all clean doom fetch wiki bearssl libc +.PHONY: all clean doom fetch wiki desktop icons bearssl libc -all: bearssl libc $(TARGETS) fetch wiki doom $(GAME_DATA) $(MANDST) $(WWWDST) $(CA_CERTS) $(HOMEKEEP) +all: bearssl libc $(TARGETS) fetch wiki doom desktop icons $(GAME_DATA) $(MANDST) $(WWWDST) $(CA_CERTS) $(HOMEKEEP) # Build BearSSL static library. bearssl: @@ -102,6 +102,14 @@ fetch: bearssl libc wiki: bearssl libc $(MAKE) -C src/wiki +# Build desktop via its own Makefile. +desktop: + $(MAKE) -C src/desktop + +# Copy SVG icons for the desktop into bin/icons/. +icons: + ../scripts/copy_icons.sh + # Build doom via its own Makefile. doom: $(MAKE) -C src/doom @@ -143,3 +151,4 @@ clean: $(MAKE) -C lib/libc clean $(MAKE) -C src/fetch clean $(MAKE) -C src/doom clean + $(MAKE) -C src/desktop clean diff --git a/programs/include/Api/Syscall.hpp b/programs/include/Api/Syscall.hpp index 9c00699..7ff7a20 100644 --- a/programs/include/Api/Syscall.hpp +++ b/programs/include/Api/Syscall.hpp @@ -57,6 +57,14 @@ namespace Zenith { static constexpr uint64_t SYS_TERMSCALE = 43; static constexpr uint64_t SYS_RESOLVE = 44; static constexpr uint64_t SYS_GETRANDOM = 45; + static constexpr uint64_t SYS_KLOG = 46; + static constexpr uint64_t SYS_MOUSESTATE = 47; + static constexpr uint64_t SYS_SETMOUSEBOUNDS = 48; + static constexpr uint64_t SYS_SPAWN_REDIR = 49; + static constexpr uint64_t SYS_CHILDIO_READ = 50; + static constexpr uint64_t SYS_CHILDIO_WRITE = 51; + static constexpr uint64_t SYS_CHILDIO_WRITEKEY = 52; + static constexpr uint64_t SYS_CHILDIO_SETTERMSZ = 53; static constexpr int SOCK_TCP = 1; static constexpr int SOCK_UDP = 2; @@ -103,4 +111,11 @@ namespace Zenith { bool alt; }; + struct MouseState { + int32_t x; + int32_t y; + int32_t scrollDelta; + uint8_t buttons; + }; + } diff --git a/programs/include/gui/desktop.hpp b/programs/include/gui/desktop.hpp new file mode 100644 index 0000000..809bf3c --- /dev/null +++ b/programs/include/gui/desktop.hpp @@ -0,0 +1,55 @@ +/* + * desktop.hpp + * ZenithOS desktop state and compositor declarations + * Copyright (c) 2026 Daniel Hammer +*/ + +#pragma once +#include "gui/gui.hpp" +#include "gui/framebuffer.hpp" +#include "gui/svg.hpp" +#include "gui/window.hpp" +#include "gui/widgets.hpp" +#include "gui/terminal.hpp" +#include + +namespace gui { + +static constexpr int MAX_WINDOWS = 8; +static constexpr int PANEL_HEIGHT = 32; + +struct DesktopState { + Framebuffer fb; + Window windows[MAX_WINDOWS]; + int window_count; + int focused_window; + + Zenith::MouseState mouse; + uint8_t prev_buttons; + + bool app_menu_open; + + SvgIcon icon_terminal; + SvgIcon icon_filemanager; + SvgIcon icon_sysinfo; + SvgIcon icon_appmenu; + SvgIcon icon_folder; + SvgIcon icon_file; + SvgIcon icon_computer; + + int screen_w, screen_h; +}; + +// Forward declarations - implemented in main.cpp +void desktop_init(DesktopState* ds); +void desktop_run(DesktopState* ds); +void desktop_compose(DesktopState* ds); +int desktop_create_window(DesktopState* ds, const char* title, int x, int y, int w, int h); +void desktop_close_window(DesktopState* ds, int idx); +void desktop_raise_window(DesktopState* ds, int idx); +void desktop_draw_panel(DesktopState* ds); +void desktop_draw_window(DesktopState* ds, int idx); +void desktop_handle_mouse(DesktopState* ds); +void desktop_handle_keyboard(DesktopState* ds, const Zenith::KeyEvent& key); + +} // namespace gui diff --git a/programs/include/gui/draw.hpp b/programs/include/gui/draw.hpp new file mode 100644 index 0000000..1362ed6 --- /dev/null +++ b/programs/include/gui/draw.hpp @@ -0,0 +1,239 @@ +/* + * draw.hpp + * ZenithOS drawing primitives (lines, circles, rounded rects, cursor) + * Copyright (c) 2025 Daniel Hammer +*/ + +#pragma once +#include "gui/gui.hpp" +#include "gui/framebuffer.hpp" + +namespace gui { + +// Fast horizontal line +inline void draw_hline(Framebuffer& fb, int x, int y, int w, Color c) { + for (int i = 0; i < w; i++) fb.put_pixel(x + i, y, c); +} + +// Fast vertical line +inline void draw_vline(Framebuffer& fb, int x, int y, int h, Color c) { + for (int i = 0; i < h; i++) fb.put_pixel(x, y + i, c); +} + +// Rectangle outline +inline void draw_rect(Framebuffer& fb, int x, int y, int w, int h, Color c) { + draw_hline(fb, x, y, w, c); + draw_hline(fb, x, y + h - 1, w, c); + draw_vline(fb, x, y, h, c); + draw_vline(fb, x + w - 1, y, h, c); +} + +// Filled rounded rectangle using corner circles +inline void fill_rounded_rect(Framebuffer& fb, int x, int y, int w, int h, int radius, Color c) { + if (radius <= 0) { + fb.fill_rect(x, y, w, h, c); + return; + } + + // Clamp radius to half the smaller dimension + int max_r = gui_min(w / 2, h / 2); + if (radius > max_r) radius = max_r; + + // Fill the center rectangle + fb.fill_rect(x + radius, y, w - 2 * radius, h, c); + // Fill the left and right strips (excluding corners) + fb.fill_rect(x, y + radius, radius, h - 2 * radius, c); + fb.fill_rect(x + w - radius, y + radius, radius, h - 2 * radius, c); + + // Draw the four rounded corners using midpoint circle + int cx_tl = x + radius; + int cy_tl = y + radius; + int cx_tr = x + w - radius - 1; + int cy_tr = y + radius; + int cx_bl = x + radius; + int cy_bl = y + h - radius - 1; + int cx_br = x + w - radius - 1; + int cy_br = y + h - radius - 1; + + int px = 0; + int py = radius; + int d = 1 - radius; + + while (px <= py) { + // Top-left corner + draw_hline(fb, cx_tl - py, cy_tl - px, py - radius + radius, c); + draw_hline(fb, cx_tl - px, cy_tl - py, px, c); + + // Top-right corner + draw_hline(fb, cx_tr + 1, cy_tr - px, py, c); + draw_hline(fb, cx_tr + 1, cy_tr - py, px, c); + + // Bottom-left corner + draw_hline(fb, cx_bl - py, cy_bl + px, py, c); + draw_hline(fb, cx_bl - px, cy_bl + py, px, c); + + // Bottom-right corner + draw_hline(fb, cx_br + 1, cy_br + px, py, c); + draw_hline(fb, cx_br + 1, cy_br + py, px, c); + + if (d < 0) { + d += 2 * px + 3; + } else { + d += 2 * (px - py) + 5; + py--; + } + px++; + } +} + +// Filled circle (midpoint algorithm) +inline void fill_circle(Framebuffer& fb, int cx, int cy, int r, Color c) { + if (r <= 0) return; + + int x = 0; + int y = r; + int d = 1 - r; + + // Draw initial horizontal lines + draw_hline(fb, cx - r, cy, 2 * r + 1, c); + + while (x < y) { + if (d < 0) { + d += 2 * x + 3; + } else { + d += 2 * (x - y) + 5; + y--; + draw_hline(fb, cx - x, cy + y + 1, 2 * x + 1, c); + draw_hline(fb, cx - x, cy - y - 1, 2 * x + 1, c); + } + x++; + draw_hline(fb, cx - y, cy + x, 2 * y + 1, c); + draw_hline(fb, cx - y, cy - x, 2 * y + 1, c); + } +} + +// Circle outline (midpoint algorithm) +inline void draw_circle(Framebuffer& fb, int cx, int cy, int r, Color c) { + if (r <= 0) { + fb.put_pixel(cx, cy, c); + return; + } + + int x = 0; + int y = r; + int d = 1 - r; + + while (x <= y) { + fb.put_pixel(cx + x, cy + y, c); + fb.put_pixel(cx - x, cy + y, c); + fb.put_pixel(cx + x, cy - y, c); + fb.put_pixel(cx - x, cy - y, c); + fb.put_pixel(cx + y, cy + x, c); + fb.put_pixel(cx - y, cy + x, c); + fb.put_pixel(cx + y, cy - x, c); + fb.put_pixel(cx - y, cy - x, c); + + if (d < 0) { + d += 2 * x + 3; + } else { + d += 2 * (x - y) + 5; + y--; + } + x++; + } +} + +// Bresenham line drawing +inline void draw_line(Framebuffer& fb, int x0, int y0, int x1, int y1, Color c) { + int dx = gui_abs(x1 - x0); + int dy = gui_abs(y1 - y0); + int sx = x0 < x1 ? 1 : -1; + int sy = y0 < y1 ? 1 : -1; + int err = dx - dy; + + for (;;) { + fb.put_pixel(x0, y0, c); + if (x0 == x1 && y0 == y1) break; + int e2 = 2 * err; + if (e2 > -dy) { + err -= dy; + x0 += sx; + } + if (e2 < dx) { + err += dx; + y0 += sy; + } + } +} + +// Drop shadow: offset darker rectangles below/right +inline void draw_shadow(Framebuffer& fb, int x, int y, int w, int h, int offset, Color shadow_color) { + // Bottom shadow strip + fb.fill_rect_alpha(x + offset, y + h, w, offset, shadow_color); + // Right shadow strip + fb.fill_rect_alpha(x + w, y + offset, offset, h, shadow_color); + // Corner + fb.fill_rect_alpha(x + w, y + h, offset, offset, shadow_color); +} + +// 16x16 mouse cursor bitmaps +// Outline (black, where design has '1') +static constexpr uint16_t cursor_outline[16] = { + 0x8000, // 1000000000000000 + 0xC000, // 1100000000000000 + 0xA000, // 1010000000000000 + 0x9000, // 1001000000000000 + 0x8800, // 1000100000000000 + 0x8400, // 1000010000000000 + 0x8200, // 1000001000000000 + 0x8100, // 1000000100000000 + 0x8080, // 1000000010000000 + 0x8040, // 1000000001000000 + 0x8780, // 1000011110000000 (changed: row 10 = 1 2 2 2 2 2 1 1 1 1) + 0x9200, // 1001001000000000 (row 11 = 1 2 2 1 2 2 1) + 0xA900, // 1010100100000000 (row 12 = 1 2 1 0 1 2 2 1) + 0xC900, // 1100100100000000 (row 13 = 1 1 0 0 1 2 2 1) + 0x8480, // 1000010010000000 (row 14 = 1 0 0 0 0 1 2 2 1) + 0x0700, // 0000011100000000 (row 15 = 0 0 0 0 0 1 1 1) +}; + +// Fill (white, where design has '2') +static constexpr uint16_t cursor_fill[16] = { + 0x0000, // row 0: no fill + 0x0000, // row 1: no fill + 0x4000, // row 2: 0100000000000000 + 0x6000, // row 3: 0110000000000000 + 0x7000, // row 4: 0111000000000000 + 0x7800, // row 5: 0111100000000000 + 0x7C00, // row 6: 0111110000000000 + 0x7E00, // row 7: 0111111000000000 + 0x7F00, // row 8: 0111111100000000 + 0x7F80, // row 9: 0111111110000000 + 0x7800, // row 10: 0111100000000000 (fill only in positions 1-5) + 0x6C00, // row 11: 0110110000000000 (fill at positions 1,2 and 4,5) + 0x4600, // row 12: 0100011000000000 (fill at position 1 and 5,6) + 0x0600, // row 13: 0000011000000000 (fill at positions 5,6) + 0x0300, // row 14: 0000001100000000 (fill at positions 6,7) + 0x0000, // row 15: no fill +}; + +// Draw the mouse cursor at (x, y) +inline void draw_cursor(Framebuffer& fb, int x, int y) { + Color black = colors::BLACK; + Color white = colors::WHITE; + + for (int row = 0; row < 16; row++) { + uint16_t outline = cursor_outline[row]; + uint16_t fill = cursor_fill[row]; + for (int col = 0; col < 16; col++) { + uint16_t mask = (uint16_t)(0x8000 >> col); + if (outline & mask) { + fb.put_pixel(x + col, y + row, black); + } else if (fill & mask) { + fb.put_pixel(x + col, y + row, white); + } + } + } +} + +} // namespace gui diff --git a/programs/include/gui/font.hpp b/programs/include/gui/font.hpp new file mode 100644 index 0000000..11c5f6a --- /dev/null +++ b/programs/include/gui/font.hpp @@ -0,0 +1,63 @@ +/* + * font.hpp + * ZenithOS 8x16 VGA bitmap font rendering + * Copyright (c) 2025 Daniel Hammer +*/ + +#pragma once +#include "gui/gui.hpp" +#include "gui/framebuffer.hpp" + +namespace gui { + +static constexpr int FONT_WIDTH = 8; +static constexpr int FONT_HEIGHT = 16; + +// Defined in font_data.cpp +extern const uint8_t font_data[256 * 16]; + +inline void draw_char(Framebuffer& fb, int x, int y, char c, Color fg) { + const uint8_t* glyph = &font_data[(unsigned char)c * FONT_HEIGHT]; + for (int row = 0; row < FONT_HEIGHT; row++) { + uint8_t bits = glyph[row]; + for (int col = 0; col < FONT_WIDTH; col++) { + if (bits & (0x80 >> col)) { + fb.put_pixel(x + col, y + row, fg); + } + } + } +} + +inline void draw_char_bg(Framebuffer& fb, int x, int y, char c, Color fg, Color bg) { + const uint8_t* glyph = &font_data[(unsigned char)c * FONT_HEIGHT]; + for (int row = 0; row < FONT_HEIGHT; row++) { + uint8_t bits = glyph[row]; + for (int col = 0; col < FONT_WIDTH; col++) { + if (bits & (0x80 >> col)) { + fb.put_pixel(x + col, y + row, fg); + } else { + fb.put_pixel(x + col, y + row, bg); + } + } + } +} + +inline void draw_text(Framebuffer& fb, int x, int y, const char* text, Color fg) { + for (int i = 0; text[i]; i++) { + draw_char(fb, x + i * FONT_WIDTH, y, text[i], fg); + } +} + +inline void draw_text_bg(Framebuffer& fb, int x, int y, const char* text, Color fg, Color bg) { + for (int i = 0; text[i]; i++) { + draw_char_bg(fb, x + i * FONT_WIDTH, y, text[i], fg, bg); + } +} + +inline int text_width(const char* text) { + int len = 0; + while (text[len]) len++; + return len * FONT_WIDTH; +} + +} // namespace gui diff --git a/programs/include/gui/framebuffer.hpp b/programs/include/gui/framebuffer.hpp new file mode 100644 index 0000000..6ae1619 --- /dev/null +++ b/programs/include/gui/framebuffer.hpp @@ -0,0 +1,196 @@ +/* + * framebuffer.hpp + * ZenithOS double-buffered framebuffer abstraction + * Copyright (c) 2025 Daniel Hammer +*/ + +#pragma once +#include +#include +#include "gui/gui.hpp" + +namespace gui { + +class Framebuffer { + uint32_t* hw_fb; + uint32_t* back_buf; + int fb_width; + int fb_height; + int fb_pitch; // in bytes + +public: + Framebuffer() : hw_fb(nullptr), back_buf(nullptr), fb_width(0), fb_height(0), fb_pitch(0) { + Zenith::FbInfo info; + zenith::fb_info(&info); + + fb_width = (int)info.width; + fb_height = (int)info.height; + fb_pitch = (int)info.pitch; + + hw_fb = (uint32_t*)zenith::fb_map(); + back_buf = (uint32_t*)zenith::alloc((uint64_t)fb_height * fb_pitch); + } + + int width() const { return fb_width; } + int height() const { return fb_height; } + int pitch() const { return fb_pitch; } + + uint32_t* buffer() { return back_buf; } + + inline void put_pixel(int x, int y, Color c) { + if (x < 0 || x >= fb_width || y < 0 || y >= fb_height) return; + uint32_t* row = (uint32_t*)((uint8_t*)back_buf + y * fb_pitch); + row[x] = c.to_pixel(); + } + + inline void put_pixel_alpha(int x, int y, Color c) { + if (x < 0 || x >= fb_width || y < 0 || y >= fb_height) return; + if (c.a == 0) return; + if (c.a == 255) { + put_pixel(x, y, c); + return; + } + + uint32_t* row = (uint32_t*)((uint8_t*)back_buf + y * fb_pitch); + uint32_t dst = row[x]; + + uint8_t dr = (dst >> 16) & 0xFF; + uint8_t dg = (dst >> 8) & 0xFF; + uint8_t db = dst & 0xFF; + + uint32_t a = c.a; + uint32_t inv_a = 255 - a; + + // Fast alpha blend: out = (src * alpha + dst * (255 - alpha) + 128) / 255 + // Approximation: (x + 1 + (x >> 8)) >> 8 for division by 255 + uint32_t rr = a * c.r + inv_a * dr; + uint32_t gg = a * c.g + inv_a * dg; + uint32_t bb = a * c.b + inv_a * db; + + rr = (rr + 1 + (rr >> 8)) >> 8; + gg = (gg + 1 + (gg >> 8)) >> 8; + bb = (bb + 1 + (bb >> 8)) >> 8; + + row[x] = (0xFF000000) | (rr << 16) | (gg << 8) | bb; + } + + inline void fill_rect(int x, int y, int w, int h, Color c) { + // Clip to screen bounds + int x0 = x < 0 ? 0 : x; + int y0 = y < 0 ? 0 : y; + int x1 = (x + w) > fb_width ? fb_width : (x + w); + int y1 = (y + h) > fb_height ? fb_height : (y + h); + + if (x0 >= x1 || y0 >= y1) return; + + uint32_t pixel = c.to_pixel(); + int clipped_w = x1 - x0; + + for (int row = y0; row < y1; row++) { + uint32_t* dst = (uint32_t*)((uint8_t*)back_buf + row * fb_pitch) + x0; + for (int col = 0; col < clipped_w; col++) { + dst[col] = pixel; + } + } + } + + inline void fill_rect_alpha(int x, int y, int w, int h, Color c) { + if (c.a == 0) return; + if (c.a == 255) { + fill_rect(x, y, w, h, c); + return; + } + + int x0 = x < 0 ? 0 : x; + int y0 = y < 0 ? 0 : y; + int x1 = (x + w) > fb_width ? fb_width : (x + w); + int y1 = (y + h) > fb_height ? fb_height : (y + h); + + if (x0 >= x1 || y0 >= y1) return; + + uint32_t a = c.a; + uint32_t inv_a = 255 - a; + uint32_t src_r = a * c.r; + uint32_t src_g = a * c.g; + uint32_t src_b = a * c.b; + + for (int row = y0; row < y1; row++) { + uint32_t* dst = (uint32_t*)((uint8_t*)back_buf + row * fb_pitch) + x0; + for (int col = 0; col < x1 - x0; col++) { + uint32_t d = dst[col]; + uint32_t dr = (d >> 16) & 0xFF; + uint32_t dg = (d >> 8) & 0xFF; + uint32_t db = d & 0xFF; + + uint32_t rr = src_r + inv_a * dr; + uint32_t gg = src_g + inv_a * dg; + uint32_t bb = src_b + inv_a * db; + + rr = (rr + 1 + (rr >> 8)) >> 8; + gg = (gg + 1 + (gg >> 8)) >> 8; + bb = (bb + 1 + (bb >> 8)) >> 8; + + dst[col] = (0xFF000000) | (rr << 16) | (gg << 8) | bb; + } + } + } + + inline void blit(int x, int y, int w, int h, const uint32_t* pixels) { + for (int row = 0; row < h; row++) { + int dy = y + row; + if (dy < 0 || dy >= fb_height) continue; + for (int col = 0; col < w; col++) { + int dx = x + col; + if (dx < 0 || dx >= fb_width) continue; + uint32_t* dst_row = (uint32_t*)((uint8_t*)back_buf + dy * fb_pitch); + dst_row[dx] = pixels[row * w + col]; + } + } + } + + inline void blit_alpha(int x, int y, int w, int h, const uint32_t* pixels) { + for (int row = 0; row < h; row++) { + int dy = y + row; + if (dy < 0 || dy >= fb_height) continue; + for (int col = 0; col < w; col++) { + int dx = x + col; + if (dx < 0 || dx >= fb_width) continue; + + uint32_t src = pixels[row * w + col]; + uint8_t sa = (src >> 24) & 0xFF; + if (sa == 0) continue; + + uint8_t sr = (src >> 16) & 0xFF; + uint8_t sg = (src >> 8) & 0xFF; + uint8_t sb = src & 0xFF; + + if (sa == 255) { + uint32_t* dst_row = (uint32_t*)((uint8_t*)back_buf + dy * fb_pitch); + dst_row[dx] = src; + continue; + } + + Color sc = {sr, sg, sb, sa}; + put_pixel_alpha(dx, dy, sc); + } + } + } + + inline void clear(Color c) { + fill_rect(0, 0, fb_width, fb_height, c); + } + + inline void flip() { + // Copy back buffer to hardware framebuffer, row by row (pitch may differ) + int row_pixels = fb_width; + for (int y = 0; y < fb_height; y++) { + uint32_t* src = (uint32_t*)((uint8_t*)back_buf + y * fb_pitch); + uint32_t* dst = (uint32_t*)((uint8_t*)hw_fb + y * fb_pitch); + for (int x = 0; x < row_pixels; x++) { + dst[x] = src[x]; + } + } + } +}; + +} // namespace gui diff --git a/programs/include/gui/gui.hpp b/programs/include/gui/gui.hpp new file mode 100644 index 0000000..492159d --- /dev/null +++ b/programs/include/gui/gui.hpp @@ -0,0 +1,92 @@ +/* + * gui.hpp + * ZenithOS core GUI types and utilities + * Copyright (c) 2025 Daniel Hammer +*/ + +#pragma once +#include + +namespace gui { + +// 16.16 fixed-point type +using fixed_t = int32_t; + +static constexpr int FIXED_SHIFT = 16; + +inline fixed_t int_to_fixed(int v) { return v << FIXED_SHIFT; } +inline int fixed_to_int(fixed_t v) { return v >> FIXED_SHIFT; } +inline fixed_t fixed_mul(fixed_t a, fixed_t b) { return (int32_t)(((int64_t)a * b) >> FIXED_SHIFT); } +inline fixed_t fixed_div(fixed_t a, fixed_t b) { return (int32_t)(((int64_t)a << FIXED_SHIFT) / b); } +inline fixed_t fixed_from_parts(int whole, int frac_num, int frac_den) { + return int_to_fixed(whole) + (int32_t)(((int64_t)frac_num << FIXED_SHIFT) / frac_den); +} + +struct Color { + uint8_t r, g, b, a; + + static Color from_rgb(uint8_t r, uint8_t g, uint8_t b) { return {r, g, b, 255}; } + static Color from_rgba(uint8_t r, uint8_t g, uint8_t b, uint8_t a) { return {r, g, b, a}; } + static Color from_hex(uint32_t hex) { + return {(uint8_t)((hex >> 16) & 0xFF), (uint8_t)((hex >> 8) & 0xFF), (uint8_t)(hex & 0xFF), 255}; + } + + uint32_t to_pixel() const { return ((uint32_t)a << 24) | ((uint32_t)r << 16) | ((uint32_t)g << 8) | b; } +}; + +// Named colors for the desktop theme +namespace colors { + static constexpr Color DESKTOP_BG = {0xE0, 0xE0, 0xE0, 0xFF}; + static constexpr Color PANEL_BG = {0x2B, 0x3E, 0x50, 0xFF}; + static constexpr Color TITLEBAR_BG = {0xF5, 0xF5, 0xF5, 0xFF}; + static constexpr Color WINDOW_BG = {0xFF, 0xFF, 0xFF, 0xFF}; + static constexpr Color BORDER = {0xCC, 0xCC, 0xCC, 0xFF}; + static constexpr Color TEXT_COLOR = {0x33, 0x33, 0x33, 0xFF}; + static constexpr Color PANEL_TEXT = {0xFF, 0xFF, 0xFF, 0xFF}; + static constexpr Color ACCENT = {0x36, 0x7B, 0xF0, 0xFF}; + static constexpr Color CLOSE_BTN = {0xFF, 0x5F, 0x57, 0xFF}; + static constexpr Color MAX_BTN = {0x28, 0xCA, 0x42, 0xFF}; + static constexpr Color MIN_BTN = {0xFF, 0xBD, 0x2E, 0xFF}; + static constexpr Color SHADOW = {0x00, 0x00, 0x00, 0x40}; + static constexpr Color TRANSPARENT = {0x00, 0x00, 0x00, 0x00}; + static constexpr Color BLACK = {0x00, 0x00, 0x00, 0xFF}; + static constexpr Color WHITE = {0xFF, 0xFF, 0xFF, 0xFF}; + static constexpr Color ICON_COLOR = {0x5C, 0x61, 0x6C, 0xFF}; + static constexpr Color SCROLLBAR_BG = {0xF0, 0xF0, 0xF0, 0xFF}; + static constexpr Color SCROLLBAR_FG = {0xC0, 0xC0, 0xC0, 0xFF}; + static constexpr Color MENU_BG = {0xFF, 0xFF, 0xFF, 0xFF}; + static constexpr Color MENU_HOVER = {0xE8, 0xF0, 0xFE, 0xFF}; + static constexpr Color TERM_BG = {0x2D, 0x2D, 0x2D, 0xFF}; + static constexpr Color TERM_FG = {0xCC, 0xCC, 0xCC, 0xFF}; +} + +struct Point { + int x, y; +}; + +struct Rect { + int x, y, w, h; + + bool contains(int px, int py) const { + return px >= x && px < x + w && py >= y && py < y + h; + } + + Rect intersect(const Rect& other) const { + int rx = x > other.x ? x : other.x; + int ry = y > other.y ? y : other.y; + int rx2 = (x + w) < (other.x + other.w) ? (x + w) : (other.x + other.w); + int ry2 = (y + h) < (other.y + other.h) ? (y + h) : (other.y + other.h); + if (rx2 <= rx || ry2 <= ry) return {0, 0, 0, 0}; + return {rx, ry, rx2 - rx, ry2 - ry}; + } + + bool empty() const { return w <= 0 || h <= 0; } +}; + +// Simple inline utility functions +inline int gui_min(int a, int b) { return a < b ? a : b; } +inline int gui_max(int a, int b) { return a > b ? a : b; } +inline int gui_abs(int a) { return a < 0 ? -a : a; } +inline int gui_clamp(int v, int lo, int hi) { return v < lo ? lo : (v > hi ? hi : v); } + +} // namespace gui diff --git a/programs/include/gui/svg.hpp b/programs/include/gui/svg.hpp new file mode 100644 index 0000000..0c10b0b --- /dev/null +++ b/programs/include/gui/svg.hpp @@ -0,0 +1,972 @@ +/* + * svg.hpp + * ZenithOS SVG icon parser and scanline rasterizer + * Handles the Flat-Remix symbolic icon subset (path, circle, rect) + * All math uses 16.16 fixed-point -- NO floating point. + * Copyright (c) 2025 Daniel Hammer +*/ + +#pragma once +#include "gui/gui.hpp" +#include + +namespace gui { + +// --------------------------------------------------------------------------- +// SVG icon result +// --------------------------------------------------------------------------- +struct SvgIcon { + uint32_t* pixels; // ARGB pixel data (heap-allocated) + int width; + int height; +}; + +// --------------------------------------------------------------------------- +// Edge used by the scanline rasterizer +// --------------------------------------------------------------------------- +struct SvgEdge { + fixed_t x0, y0, x1, y1; +}; + +// --------------------------------------------------------------------------- +// Constants +// --------------------------------------------------------------------------- +static constexpr int SVG_MAX_EDGES = 4096; +static constexpr int SVG_MAX_PATH_LEN = 4096; +static constexpr int SVG_MAX_FILE_SIZE = 32768; +static constexpr int SVG_BEZIER_STEPS = 8; + +// --------------------------------------------------------------------------- +// Fixed-point number parser (NO floating point) +// Parses strings like "3.25", "-0.5", ".1115", "16" +// Returns the number of characters consumed. +// --------------------------------------------------------------------------- +inline int svg_parse_fixed(const char* s, fixed_t* out) { + const char* p = s; + bool neg = false; + + if (*p == '-') { neg = true; ++p; } + else if (*p == '+') { ++p; } + + // Integer part + int32_t integer = 0; + while (*p >= '0' && *p <= '9') { + integer = integer * 10 + (*p - '0'); + ++p; + } + + // Fractional part + int32_t frac = 0; + int32_t frac_div = 1; + if (*p == '.') { + ++p; + while (*p >= '0' && *p <= '9') { + if (frac_div < 100000) { // prevent overflow + frac = frac * 10 + (*p - '0'); + frac_div *= 10; + } + ++p; + } + } + + fixed_t val = int_to_fixed(integer); + if (frac_div > 1) { + val += (int32_t)(((int64_t)frac << 16) / frac_div); + } + + if (neg) val = -val; + *out = val; + return (int)(p - s); +} + +// --------------------------------------------------------------------------- +// String helpers (no stdlib) +// --------------------------------------------------------------------------- +inline bool svg_char_is_ws(char c) { + return c == ' ' || c == '\t' || c == '\n' || c == '\r'; +} + +inline bool svg_char_is_sep(char c) { + return svg_char_is_ws(c) || c == ','; +} + +inline bool svg_char_is_num_start(char c) { + return (c >= '0' && c <= '9') || c == '-' || c == '+' || c == '.'; +} + +inline bool svg_char_is_cmd(char c) { + return (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z'); +} + +inline int svg_strlen(const char* s) { + int n = 0; + while (s[n]) ++n; + return n; +} + +inline bool svg_strncmp(const char* a, const char* b, int n) { + for (int i = 0; i < n; ++i) + if (a[i] != b[i]) return false; + return true; +} + +inline void svg_memset(void* dst, uint8_t val, int n) { + auto* d = (uint8_t*)dst; + for (int i = 0; i < n; ++i) d[i] = val; +} + +inline void svg_memcpy(void* dst, const void* src, int n) { + auto* d = (uint8_t*)dst; + auto* s = (const uint8_t*)src; + for (int i = 0; i < n; ++i) d[i] = s[i]; +} + +// --------------------------------------------------------------------------- +// Mini XML attribute extraction +// --------------------------------------------------------------------------- + +// Find the next occurrence of needle in haystack (haystack has length hLen). +// Returns pointer to start of match, or nullptr. +inline const char* svg_strstr(const char* haystack, int hLen, const char* needle) { + int nLen = svg_strlen(needle); + if (nLen == 0 || nLen > hLen) return nullptr; + for (int i = 0; i <= hLen - nLen; ++i) { + if (svg_strncmp(haystack + i, needle, nLen)) + return haystack + i; + } + return nullptr; +} + +// Check if a character can be part of an XML attribute name +inline bool svg_char_is_attrname(char c) { + return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || + (c >= '0' && c <= '9') || c == '-' || c == '_' || c == ':'; +} + +// Extract the value of an XML attribute: attr="value" +// The attr string should include a leading space (e.g., " cx") to distinguish +// from substrings of other attribute names. +// Writes into buf (up to maxLen-1 chars), returns length or -1 if not found. +inline int svg_get_attr(const char* tag, int tagLen, const char* attr, char* buf, int maxLen) { + int attrLen = svg_strlen(attr); + const char* search_start = tag; + int search_len = tagLen; + + while (search_len > 0) { + const char* p = svg_strstr(search_start, search_len, attr); + if (!p) return -1; + + // Ensure this is the exact attribute name, not a prefix of another + // (e.g., " r" should not match " rx" or " ry") + const char* after_name = p + attrLen; + if (after_name < tag + tagLen && svg_char_is_attrname(*after_name)) { + // This is a prefix of a longer attribute name, skip and search again + search_start = after_name; + search_len = tagLen - (int)(search_start - tag); + continue; + } + + p = after_name; + // skip whitespace around '=' + while (p < tag + tagLen && svg_char_is_ws(*p)) ++p; + if (p >= tag + tagLen || *p != '=') return -1; + ++p; + while (p < tag + tagLen && svg_char_is_ws(*p)) ++p; + if (p >= tag + tagLen) return -1; + char quote = *p; + if (quote != '"' && quote != '\'') return -1; + ++p; + int len = 0; + while (p < tag + tagLen && *p != quote && len < maxLen - 1) { + buf[len++] = *p++; + } + buf[len] = '\0'; + return len; + } + return -1; +} + +// Parse an integer from a string (no sign, simple decimal). +inline int svg_parse_int(const char* s) { + int v = 0; + while (*s >= '0' && *s <= '9') { + v = v * 10 + (*s - '0'); + ++s; + } + return v; +} + +// Parse a hex color like "#5c616c" into a Color. +inline Color svg_parse_hex_color(const char* s) { + if (*s == '#') ++s; + auto hexval = [](char c) -> uint8_t { + if (c >= '0' && c <= '9') return c - '0'; + if (c >= 'a' && c <= 'f') return 10 + (c - 'a'); + if (c >= 'A' && c <= 'F') return 10 + (c - 'A'); + return 0; + }; + uint8_t r = (hexval(s[0]) << 4) | hexval(s[1]); + uint8_t g = (hexval(s[2]) << 4) | hexval(s[3]); + uint8_t b = (hexval(s[4]) << 4) | hexval(s[5]); + return Color::from_rgb(r, g, b); +} + +// --------------------------------------------------------------------------- +// Edge list builder +// --------------------------------------------------------------------------- +struct SvgEdgeList { + SvgEdge* edges; + int count; + int capacity; + + void init(int cap) { + edges = (SvgEdge*)zenith::alloc(cap * sizeof(SvgEdge)); + count = 0; + capacity = cap; + } + + void add(fixed_t x0, fixed_t y0, fixed_t x1, fixed_t y1) { + if (count >= capacity) return; + // skip horizontal edges (they don't contribute to scanline crossings) + if (y0 == y1) return; + edges[count++] = {x0, y0, x1, y1}; + } +}; + +// --------------------------------------------------------------------------- +// Bezier flattening (fixed-point) +// --------------------------------------------------------------------------- + +// Cubic bezier: add line segments approximating B(t) for t in [0,1] +inline void svg_flatten_cubic(SvgEdgeList& el, + fixed_t x0, fixed_t y0, + fixed_t x1, fixed_t y1, + fixed_t x2, fixed_t y2, + fixed_t x3, fixed_t y3) { + constexpr int N = SVG_BEZIER_STEPS; + fixed_t px = x0, py = y0; + for (int i = 1; i <= N; ++i) { + // t = i/N in 16.16: (i << 16) / N + fixed_t t = (int32_t)(((int64_t)i << 16) / N); + fixed_t omt = int_to_fixed(1) - t; // 1 - t + + // (1-t)^2 and t^2 + fixed_t omt2 = fixed_mul(omt, omt); + fixed_t t2 = fixed_mul(t, t); + + // (1-t)^3 and t^3 + fixed_t omt3 = fixed_mul(omt2, omt); + fixed_t t3 = fixed_mul(t2, t); + + // 3*(1-t)^2*t and 3*(1-t)*t^2 + fixed_t c1 = fixed_mul(omt2, t) * 3; + fixed_t c2 = fixed_mul(omt, t2) * 3; + + fixed_t nx = fixed_mul(omt3, x0) + fixed_mul(c1, x1) + fixed_mul(c2, x2) + fixed_mul(t3, x3); + fixed_t ny = fixed_mul(omt3, y0) + fixed_mul(c1, y1) + fixed_mul(c2, y2) + fixed_mul(t3, y3); + + el.add(px, py, nx, ny); + px = nx; + py = ny; + } +} + +// Quadratic bezier: add line segments approximating B(t) for t in [0,1] +inline void svg_flatten_quad(SvgEdgeList& el, + fixed_t x0, fixed_t y0, + fixed_t x1, fixed_t y1, + fixed_t x2, fixed_t y2) { + constexpr int N = SVG_BEZIER_STEPS; + fixed_t px = x0, py = y0; + for (int i = 1; i <= N; ++i) { + fixed_t t = (int32_t)(((int64_t)i << 16) / N); + fixed_t omt = int_to_fixed(1) - t; + + // (1-t)^2*P0 + 2*(1-t)*t*P1 + t^2*P2 + fixed_t omt2 = fixed_mul(omt, omt); + fixed_t t2 = fixed_mul(t, t); + fixed_t c1 = fixed_mul(omt, t) * 2; + + fixed_t nx = fixed_mul(omt2, x0) + fixed_mul(c1, x1) + fixed_mul(t2, x2); + fixed_t ny = fixed_mul(omt2, y0) + fixed_mul(c1, y1) + fixed_mul(t2, y2); + + el.add(px, py, nx, ny); + px = nx; + py = ny; + } +} + +// --------------------------------------------------------------------------- +// Circle to edges: approximate a circle as N line segments +// --------------------------------------------------------------------------- +inline void svg_circle_edges(SvgEdgeList& el, fixed_t cx, fixed_t cy, fixed_t r) { + // Approximate circle with 16 segments using a precomputed sin/cos table + // for angles 0, 22.5, 45, ... 337.5 degrees. + // sin/cos in 16.16 fixed-point for 16 evenly-spaced angles: + static const fixed_t cos16[16] = { + 65536, 60547, 46341, 25080, 0, -25080, -46341, -60547, + -65536, -60547, -46341, -25080, 0, 25080, 46341, 60547 + }; + static const fixed_t sin16[16] = { + 0, 25080, 46341, 60547, 65536, 60547, 46341, 25080, + 0, -25080, -46341, -60547, -65536, -60547, -46341, -25080 + }; + + fixed_t px = cx + fixed_mul(r, cos16[0]); + fixed_t py = cy + fixed_mul(r, sin16[0]); + for (int i = 1; i <= 16; ++i) { + int idx = i & 15; + fixed_t nx = cx + fixed_mul(r, cos16[idx]); + fixed_t ny = cy + fixed_mul(r, sin16[idx]); + el.add(px, py, nx, ny); + px = nx; + py = ny; + } +} + +// --------------------------------------------------------------------------- +// Rounded rect to edges +// --------------------------------------------------------------------------- +inline void svg_rect_edges(SvgEdgeList& el, fixed_t x, fixed_t y, fixed_t w, fixed_t h, + fixed_t rx, fixed_t ry) { + if (rx <= 0 && ry <= 0) { + // Simple rectangle: 4 edges + fixed_t x2 = x + w; + fixed_t y2 = y + h; + el.add(x, y, x2, y); // top + el.add(x2, y, x2, y2); // right + el.add(x2, y2, x, y2); // bottom + el.add(x, y2, x, y); // left + return; + } + + // Clamp radii + fixed_t half_w = w >> 1; + fixed_t half_h = h >> 1; + if (rx > half_w) rx = half_w; + if (ry > half_h) ry = half_h; + + // Quarter-circle corner with 4 segments per corner. + // cos/sin for 0, 22.5, 45, 67.5, 90 degrees (5 points, 4 segments): + static const fixed_t qcos[5] = { 65536, 60547, 46341, 25080, 0 }; + static const fixed_t qsin[5] = { 0, 25080, 46341, 60547, 65536 }; + + // Corners: top-right, bottom-right, bottom-left, top-left + // Each corner has a center and a quadrant direction for cos/sin application + struct Corner { fixed_t cx, cy; int sx, sy; }; + Corner corners[4] = { + { x + w - rx, y + ry, 1, -1 }, // top-right + { x + w - rx, y + h - ry, 1, 1 }, // bottom-right + { x + rx, y + h - ry, -1, 1 }, // bottom-left + { x + rx, y + ry, -1, -1 }, // top-left + }; + + for (int c = 0; c < 4; ++c) { + Corner& cn = corners[c]; + fixed_t px = cn.cx + fixed_mul(rx, qcos[0]) * cn.sx; + fixed_t py = cn.cy + fixed_mul(ry, qsin[0]) * cn.sy; + for (int i = 1; i <= 4; ++i) { + fixed_t nx = cn.cx + fixed_mul(rx, qcos[i]) * cn.sx; + fixed_t ny = cn.cy + fixed_mul(ry, qsin[i]) * cn.sy; + el.add(px, py, nx, ny); + px = nx; + py = ny; + } + } + + // Straight edges between corners + // Top edge: top-left corner end -> top-right corner start + el.add(x + rx, y, x + w - rx, y); + // Right edge: top-right corner end -> bottom-right corner start + el.add(x + w, y + ry, x + w, y + h - ry); + // Bottom edge: bottom-right corner end -> bottom-left corner start + el.add(x + w - rx, y + h, x + rx, y + h); + // Left edge: bottom-left corner end -> top-left corner start + el.add(x, y + h - ry, x, y + ry); +} + +// --------------------------------------------------------------------------- +// Path command parser: tokenize the 'd' attribute +// --------------------------------------------------------------------------- +struct SvgPathParser { + const char* data; + int len; + int pos; + + void init(const char* d, int l) { data = d; len = l; pos = 0; } + + void skip_separators() { + while (pos < len && svg_char_is_sep(data[pos])) ++pos; + } + + bool has_more() const { return pos < len; } + + // Peek at what's next: command letter, number, or end + bool next_is_number() { + skip_separators(); + if (pos >= len) return false; + return svg_char_is_num_start(data[pos]); + } + + char read_command() { + skip_separators(); + if (pos >= len) return '\0'; + if (svg_char_is_cmd(data[pos]) && data[pos] != 'e' && data[pos] != 'E') { + return data[pos++]; + } + return '\0'; + } + + fixed_t read_number() { + skip_separators(); + if (pos >= len) return 0; + fixed_t val = 0; + int consumed = svg_parse_fixed(data + pos, &val); + pos += consumed; + return val; + } +}; + +// --------------------------------------------------------------------------- +// Process an SVG path 'd' attribute into edges +// --------------------------------------------------------------------------- +inline void svg_path_to_edges(SvgEdgeList& el, const char* d, int dLen, + fixed_t scale_x, fixed_t scale_y, + fixed_t off_x, fixed_t off_y) { + SvgPathParser pp; + pp.init(d, dLen); + + fixed_t cur_x = 0, cur_y = 0; // current point + fixed_t start_x = 0, start_y = 0; // subpath start + fixed_t last_cx = 0, last_cy = 0; // last control point (for S/T) + char last_cmd = '\0'; + + auto scale_pt = [&](fixed_t x, fixed_t y, fixed_t* ox, fixed_t* oy) { + *ox = fixed_mul(x - off_x, scale_x); + *oy = fixed_mul(y - off_y, scale_y); + }; + + while (pp.has_more()) { + char cmd = '\0'; + + // Try reading a command letter + pp.skip_separators(); + if (pp.pos < pp.len && svg_char_is_cmd(pp.data[pp.pos]) && + pp.data[pp.pos] != 'e' && pp.data[pp.pos] != 'E') { + cmd = pp.data[pp.pos++]; + } else if (pp.next_is_number()) { + // Implicit repeat of last command + // After M, implicit repeat is L; after m, implicit repeat is l + if (last_cmd == 'M') cmd = 'L'; + else if (last_cmd == 'm') cmd = 'l'; + else cmd = last_cmd; + } else { + // Skip unknown character + if (pp.pos < pp.len) pp.pos++; + continue; + } + + if (cmd == '\0') break; + + switch (cmd) { + case 'M': { + fixed_t x = pp.read_number(); + fixed_t y = pp.read_number(); + cur_x = x; cur_y = y; + start_x = x; start_y = y; + last_cmd = 'M'; + break; + } + case 'm': { + fixed_t dx = pp.read_number(); + fixed_t dy = pp.read_number(); + cur_x += dx; cur_y += dy; + start_x = cur_x; start_y = cur_y; + last_cmd = 'm'; + break; + } + case 'L': { + fixed_t x = pp.read_number(); + fixed_t y = pp.read_number(); + fixed_t sx0, sy0, sx1, sy1; + scale_pt(cur_x, cur_y, &sx0, &sy0); + scale_pt(x, y, &sx1, &sy1); + el.add(sx0, sy0, sx1, sy1); + cur_x = x; cur_y = y; + last_cmd = 'L'; + break; + } + case 'l': { + fixed_t dx = pp.read_number(); + fixed_t dy = pp.read_number(); + fixed_t nx = cur_x + dx, ny = cur_y + dy; + fixed_t sx0, sy0, sx1, sy1; + scale_pt(cur_x, cur_y, &sx0, &sy0); + scale_pt(nx, ny, &sx1, &sy1); + el.add(sx0, sy0, sx1, sy1); + cur_x = nx; cur_y = ny; + last_cmd = 'l'; + break; + } + case 'H': { + fixed_t x = pp.read_number(); + fixed_t sx0, sy0, sx1, sy1; + scale_pt(cur_x, cur_y, &sx0, &sy0); + scale_pt(x, cur_y, &sx1, &sy1); + el.add(sx0, sy0, sx1, sy1); + cur_x = x; + last_cmd = 'H'; + break; + } + case 'h': { + fixed_t dx = pp.read_number(); + fixed_t nx = cur_x + dx; + fixed_t sx0, sy0, sx1, sy1; + scale_pt(cur_x, cur_y, &sx0, &sy0); + scale_pt(nx, cur_y, &sx1, &sy1); + el.add(sx0, sy0, sx1, sy1); + cur_x = nx; + last_cmd = 'h'; + break; + } + case 'V': { + fixed_t y = pp.read_number(); + fixed_t sx0, sy0, sx1, sy1; + scale_pt(cur_x, cur_y, &sx0, &sy0); + scale_pt(cur_x, y, &sx1, &sy1); + el.add(sx0, sy0, sx1, sy1); + cur_y = y; + last_cmd = 'V'; + break; + } + case 'v': { + fixed_t dy = pp.read_number(); + fixed_t ny = cur_y + dy; + fixed_t sx0, sy0, sx1, sy1; + scale_pt(cur_x, cur_y, &sx0, &sy0); + scale_pt(cur_x, ny, &sx1, &sy1); + el.add(sx0, sy0, sx1, sy1); + cur_y = ny; + last_cmd = 'v'; + break; + } + case 'C': { + fixed_t x1 = pp.read_number(), y1 = pp.read_number(); + fixed_t x2 = pp.read_number(), y2 = pp.read_number(); + fixed_t x3 = pp.read_number(), y3 = pp.read_number(); + fixed_t sx0, sy0, sx1, sy1, sx2, sy2, sx3, sy3; + scale_pt(cur_x, cur_y, &sx0, &sy0); + scale_pt(x1, y1, &sx1, &sy1); + scale_pt(x2, y2, &sx2, &sy2); + scale_pt(x3, y3, &sx3, &sy3); + svg_flatten_cubic(el, sx0, sy0, sx1, sy1, sx2, sy2, sx3, sy3); + last_cx = x2; last_cy = y2; + cur_x = x3; cur_y = y3; + last_cmd = 'C'; + break; + } + case 'c': { + fixed_t dx1 = pp.read_number(), dy1 = pp.read_number(); + fixed_t dx2 = pp.read_number(), dy2 = pp.read_number(); + fixed_t dx3 = pp.read_number(), dy3 = pp.read_number(); + fixed_t x1 = cur_x + dx1, y1 = cur_y + dy1; + fixed_t x2 = cur_x + dx2, y2 = cur_y + dy2; + fixed_t x3 = cur_x + dx3, y3 = cur_y + dy3; + fixed_t sx0, sy0, sx1, sy1, sx2, sy2, sx3, sy3; + scale_pt(cur_x, cur_y, &sx0, &sy0); + scale_pt(x1, y1, &sx1, &sy1); + scale_pt(x2, y2, &sx2, &sy2); + scale_pt(x3, y3, &sx3, &sy3); + svg_flatten_cubic(el, sx0, sy0, sx1, sy1, sx2, sy2, sx3, sy3); + last_cx = x2; last_cy = y2; + cur_x = x3; cur_y = y3; + last_cmd = 'c'; + break; + } + case 'S': { + // Smooth cubic: reflect last control point + fixed_t rcx = cur_x * 2 - last_cx; + fixed_t rcy = cur_y * 2 - last_cy; + if (last_cmd != 'C' && last_cmd != 'c' && last_cmd != 'S' && last_cmd != 's') { + rcx = cur_x; rcy = cur_y; + } + fixed_t x2 = pp.read_number(), y2 = pp.read_number(); + fixed_t x3 = pp.read_number(), y3 = pp.read_number(); + fixed_t sx0, sy0, sx1, sy1, sx2, sy2, sx3, sy3; + scale_pt(cur_x, cur_y, &sx0, &sy0); + scale_pt(rcx, rcy, &sx1, &sy1); + scale_pt(x2, y2, &sx2, &sy2); + scale_pt(x3, y3, &sx3, &sy3); + svg_flatten_cubic(el, sx0, sy0, sx1, sy1, sx2, sy2, sx3, sy3); + last_cx = x2; last_cy = y2; + cur_x = x3; cur_y = y3; + last_cmd = 'S'; + break; + } + case 's': { + fixed_t rcx = cur_x * 2 - last_cx; + fixed_t rcy = cur_y * 2 - last_cy; + if (last_cmd != 'C' && last_cmd != 'c' && last_cmd != 'S' && last_cmd != 's') { + rcx = cur_x; rcy = cur_y; + } + fixed_t dx2 = pp.read_number(), dy2 = pp.read_number(); + fixed_t dx3 = pp.read_number(), dy3 = pp.read_number(); + fixed_t x2 = cur_x + dx2, y2 = cur_y + dy2; + fixed_t x3 = cur_x + dx3, y3 = cur_y + dy3; + fixed_t sx0, sy0, sx1, sy1, sx2, sy2, sx3, sy3; + scale_pt(cur_x, cur_y, &sx0, &sy0); + scale_pt(rcx, rcy, &sx1, &sy1); + scale_pt(x2, y2, &sx2, &sy2); + scale_pt(x3, y3, &sx3, &sy3); + svg_flatten_cubic(el, sx0, sy0, sx1, sy1, sx2, sy2, sx3, sy3); + last_cx = x2; last_cy = y2; + cur_x = x3; cur_y = y3; + last_cmd = 's'; + break; + } + case 'Q': { + fixed_t x1 = pp.read_number(), y1 = pp.read_number(); + fixed_t x2 = pp.read_number(), y2 = pp.read_number(); + fixed_t sx0, sy0, sx1, sy1, sx2, sy2; + scale_pt(cur_x, cur_y, &sx0, &sy0); + scale_pt(x1, y1, &sx1, &sy1); + scale_pt(x2, y2, &sx2, &sy2); + svg_flatten_quad(el, sx0, sy0, sx1, sy1, sx2, sy2); + last_cx = x1; last_cy = y1; + cur_x = x2; cur_y = y2; + last_cmd = 'Q'; + break; + } + case 'q': { + fixed_t dx1 = pp.read_number(), dy1 = pp.read_number(); + fixed_t dx2 = pp.read_number(), dy2 = pp.read_number(); + fixed_t x1 = cur_x + dx1, y1 = cur_y + dy1; + fixed_t x2 = cur_x + dx2, y2 = cur_y + dy2; + fixed_t sx0, sy0, sx1, sy1, sx2, sy2; + scale_pt(cur_x, cur_y, &sx0, &sy0); + scale_pt(x1, y1, &sx1, &sy1); + scale_pt(x2, y2, &sx2, &sy2); + svg_flatten_quad(el, sx0, sy0, sx1, sy1, sx2, sy2); + last_cx = x1; last_cy = y1; + cur_x = x2; cur_y = y2; + last_cmd = 'q'; + break; + } + case 'A': case 'a': { + // Arc command: consume parameters but approximate as a line + // (arcs are rare in these icons) + fixed_t rx = pp.read_number(); + fixed_t ry = pp.read_number(); + pp.read_number(); // x-rotation + pp.read_number(); // large-arc-flag + pp.read_number(); // sweep-flag + fixed_t x = pp.read_number(); + fixed_t y = pp.read_number(); + if (cmd == 'a') { x += cur_x; y += cur_y; } + fixed_t sx0, sy0, sx1, sy1; + scale_pt(cur_x, cur_y, &sx0, &sy0); + scale_pt(x, y, &sx1, &sy1); + el.add(sx0, sy0, sx1, sy1); + cur_x = x; cur_y = y; + last_cmd = cmd; + (void)rx; (void)ry; + break; + } + case 'Z': case 'z': { + if (cur_x != start_x || cur_y != start_y) { + fixed_t sx0, sy0, sx1, sy1; + scale_pt(cur_x, cur_y, &sx0, &sy0); + scale_pt(start_x, start_y, &sx1, &sy1); + el.add(sx0, sy0, sx1, sy1); + } + cur_x = start_x; cur_y = start_y; + last_cmd = 'Z'; + break; + } + default: + // Unknown command, skip + break; + } + } +} + +// --------------------------------------------------------------------------- +// Scanline rasterizer (even-odd fill rule) +// --------------------------------------------------------------------------- +inline void svg_rasterize(const SvgEdgeList& el, uint32_t* pixels, int w, int h, uint32_t fill) { + // Temporary array for x-intersections on each scanline + // Allocate enough for all edges (each edge can intersect at most once per scanline) + int maxIsect = el.count + 16; + fixed_t* isect = (fixed_t*)zenith::alloc(maxIsect * sizeof(fixed_t)); + + for (int y = 0; y < h; ++y) { + // Scanline center in fixed-point + fixed_t scanY = int_to_fixed(y) + (1 << 15); // y + 0.5 + + int isectCount = 0; + + // Find intersections with all edges + for (int i = 0; i < el.count; ++i) { + const SvgEdge& e = el.edges[i]; + fixed_t ey0 = e.y0, ey1 = e.y1; + + // Ensure ey0 <= ey1 for the range check + fixed_t emin = ey0 < ey1 ? ey0 : ey1; + fixed_t emax = ey0 > ey1 ? ey0 : ey1; + + // Does this edge cross scanY? + if (scanY < emin || scanY >= emax) continue; + + // Compute x at intersection: x = x0 + (scanY - y0) * (x1 - x0) / (y1 - y0) + fixed_t dy = ey1 - ey0; + if (dy == 0) continue; // horizontal, skip + fixed_t dx = e.x1 - e.x0; + fixed_t t_num = scanY - ey0; + // x_intersect = x0 + dx * t_num / dy + fixed_t x_int = e.x0 + (int32_t)(((int64_t)dx * t_num) / dy); + + if (isectCount < maxIsect) + isect[isectCount++] = x_int; + } + + // Sort intersections (simple insertion sort -- usually very few) + for (int i = 1; i < isectCount; ++i) { + fixed_t key = isect[i]; + int j = i - 1; + while (j >= 0 && isect[j] > key) { + isect[j + 1] = isect[j]; + --j; + } + isect[j + 1] = key; + } + + // Fill between pairs (even-odd rule) + for (int i = 0; i + 1 < isectCount; i += 2) { + int x0 = fixed_to_int(isect[i]); + int x1 = fixed_to_int(isect[i + 1]); + + // Clamp to pixel bounds + if (x0 < 0) x0 = 0; + if (x1 > w) x1 = w; + + for (int x = x0; x < x1; ++x) { + pixels[y * w + x] = fill; + } + } + } + + zenith::free(isect); +} + +// --------------------------------------------------------------------------- +// SVG document parser: extract paths, circles, rects and rasterize +// --------------------------------------------------------------------------- +inline SvgIcon svg_render(const char* svg_data, int svg_len, int target_w, int target_h, Color fill_color) { + SvgIcon icon; + icon.width = target_w; + icon.height = target_h; + icon.pixels = (uint32_t*)zenith::alloc(target_w * target_h * sizeof(uint32_t)); + // Clear to transparent + svg_memset(icon.pixels, 0, target_w * target_h * sizeof(uint32_t)); + + uint32_t fill_px = fill_color.to_pixel(); + + // Parse SVG dimensions: width and height + int svg_w = 16, svg_h = 16; + fixed_t vb_x = 0, vb_y = 0, vb_w = 0, vb_h = 0; + bool has_viewbox = false; + + // Find tag + int tag_offset = (int)(svg_tag - svg_data); + int tag_end = tag_offset; + while (tag_end < svg_len && svg_data[tag_end] != '>') ++tag_end; + int tag_len = tag_end - tag_offset + 1; + + char attr_buf[64]; + + // width + if (svg_get_attr(svg_tag, tag_len, " width", attr_buf, sizeof(attr_buf)) > 0) { + svg_w = svg_parse_int(attr_buf); + } + // height + if (svg_get_attr(svg_tag, tag_len, " height", attr_buf, sizeof(attr_buf)) > 0) { + svg_h = svg_parse_int(attr_buf); + } + // viewBox + if (svg_get_attr(svg_tag, tag_len, " viewBox", attr_buf, sizeof(attr_buf)) > 0) { + has_viewbox = true; + const char* vp = attr_buf; + int c; + c = svg_parse_fixed(vp, &vb_x); vp += c; while (*vp && svg_char_is_sep(*vp)) ++vp; + c = svg_parse_fixed(vp, &vb_y); vp += c; while (*vp && svg_char_is_sep(*vp)) ++vp; + c = svg_parse_fixed(vp, &vb_w); vp += c; while (*vp && svg_char_is_sep(*vp)) ++vp; + svg_parse_fixed(vp, &vb_h); + } + } + + if (!has_viewbox) { + vb_x = 0; + vb_y = 0; + vb_w = int_to_fixed(svg_w); + vb_h = int_to_fixed(svg_h); + } + + // Compute scale: pixel = (svg_coord - vb_origin) * target_size / vb_size + fixed_t scale_x = vb_w > 0 ? fixed_div(int_to_fixed(target_w), vb_w) : int_to_fixed(1); + fixed_t scale_y = vb_h > 0 ? fixed_div(int_to_fixed(target_h), vb_h) : int_to_fixed(1); + + // Edge list + SvgEdgeList el; + el.init(SVG_MAX_EDGES); + + // Scan for = end) break; + + int remaining = (int)(end - p); + + // Check for 5 && svg_strncmp(p, "' + int elem_len = (int)(elem_end - elem_start); + + // Extract d attribute + char d_buf[SVG_MAX_PATH_LEN]; + int d_len = svg_get_attr(elem_start, elem_len, " d", d_buf, SVG_MAX_PATH_LEN); + if (d_len > 0) { + svg_path_to_edges(el, d_buf, d_len, scale_x, scale_y, vb_x, vb_y); + } + + p = elem_end; + continue; + } + + // Check for 7 && svg_strncmp(p, " 0) + svg_parse_fixed(attr_buf, &cx); + if (svg_get_attr(elem_start, elem_len, " cy", attr_buf, sizeof(attr_buf)) > 0) + svg_parse_fixed(attr_buf, &cy); + if (svg_get_attr(elem_start, elem_len, " r", attr_buf, sizeof(attr_buf)) > 0) + svg_parse_fixed(attr_buf, &r); + + // Scale to target coordinates + fixed_t scx = fixed_mul(cx - vb_x, scale_x); + fixed_t scy = fixed_mul(cy - vb_y, scale_y); + fixed_t srx = fixed_mul(r, scale_x); + fixed_t sry = fixed_mul(r, scale_y); + // Use average of scaled radii + fixed_t sr = (srx + sry) >> 1; + + svg_circle_edges(el, scx, scy, sr); + + p = elem_end; + continue; + } + + // Check for 5 && svg_strncmp(p, " 0) + svg_parse_fixed(attr_buf, &rx_val); + if (svg_get_attr(elem_start, elem_len, " y", attr_buf, sizeof(attr_buf)) > 0) + svg_parse_fixed(attr_buf, &ry_val); + if (svg_get_attr(elem_start, elem_len, " width", attr_buf, sizeof(attr_buf)) > 0) + svg_parse_fixed(attr_buf, &rw); + if (svg_get_attr(elem_start, elem_len, " height", attr_buf, sizeof(attr_buf)) > 0) + svg_parse_fixed(attr_buf, &rh); + if (svg_get_attr(elem_start, elem_len, " rx", attr_buf, sizeof(attr_buf)) > 0) + svg_parse_fixed(attr_buf, &rrx); + if (svg_get_attr(elem_start, elem_len, " ry", attr_buf, sizeof(attr_buf)) > 0) + svg_parse_fixed(attr_buf, &rry); + + // Scale all to target pixel space + fixed_t sx = fixed_mul(rx_val - vb_x, scale_x); + fixed_t sy = fixed_mul(ry_val - vb_y, scale_y); + fixed_t sw = fixed_mul(rw, scale_x); + fixed_t sh = fixed_mul(rh, scale_y); + fixed_t srx = fixed_mul(rrx, scale_x); + fixed_t sry = fixed_mul(rry, scale_y); + + svg_rect_edges(el, sx, sy, sw, sh, srx, sry); + + p = elem_end; + continue; + } + + ++p; + } + + // Rasterize all accumulated edges + if (el.count > 0) { + svg_rasterize(el, icon.pixels, target_w, target_h, fill_px); + } + + zenith::free(el.edges); + return icon; +} + +// --------------------------------------------------------------------------- +// Load SVG from VFS and render +// --------------------------------------------------------------------------- +inline SvgIcon svg_load(const char* vfs_path, int target_w, int target_h, Color fill_color) { + int fd = zenith::open(vfs_path); + if (fd < 0) { + return {nullptr, 0, 0}; + } + + uint64_t size = zenith::getsize(fd); + if (size == 0 || size > SVG_MAX_FILE_SIZE) { + zenith::close(fd); + return {nullptr, 0, 0}; + } + + char* buf = (char*)zenith::alloc(size + 1); + zenith::read(fd, (uint8_t*)buf, 0, size); + zenith::close(fd); + buf[size] = '\0'; + + SvgIcon icon = svg_render(buf, (int)size, target_w, target_h, fill_color); + zenith::free(buf); + return icon; +} + +// --------------------------------------------------------------------------- +// Free icon pixel data +// --------------------------------------------------------------------------- +inline void svg_free(SvgIcon& icon) { + if (icon.pixels) zenith::free(icon.pixels); + icon.pixels = nullptr; + icon.width = 0; + icon.height = 0; +} + +} // namespace gui diff --git a/programs/include/gui/terminal.hpp b/programs/include/gui/terminal.hpp new file mode 100644 index 0000000..2f30b2a --- /dev/null +++ b/programs/include/gui/terminal.hpp @@ -0,0 +1,526 @@ +/* + * terminal.hpp + * ZenithOS terminal emulator with ANSI escape sequence support + * Copyright (c) 2026 Daniel Hammer +*/ + +#pragma once +#include "gui/gui.hpp" +#include "gui/font.hpp" +#include +#include +#include + +namespace gui { + +struct TermCell { + char ch; + Color fg; + Color bg; +}; + +static constexpr int TERM_MAX_SCROLLBACK = 500; + +struct TerminalState { + TermCell* cells; + TermCell* alt_cells; // alternate screen buffer + int cols, rows; + int cursor_x, cursor_y; + int saved_cursor_x, saved_cursor_y; // saved cursor for alternate screen + int scroll_top; + int total_rows; + int child_pid; + Color current_fg; + Color current_bg; + bool cursor_visible; + bool alt_screen_active; + bool reverse_video; + + enum { STATE_NORMAL, STATE_ESC, STATE_CSI } parse_state; + bool csi_private; // true if '?' was seen after CSI + int csi_params[8]; + int csi_param_count; + int csi_current_param; +}; + +// Standard ANSI color palette as ARGB pixels +static inline Color term_ansi_color(int idx) { + switch (idx) { + case 0: return Color::from_hex(0x000000); + case 1: return Color::from_hex(0xCC0000); + case 2: return Color::from_hex(0x4E9A06); + case 3: return Color::from_hex(0xC4A000); + case 4: return Color::from_hex(0x3465A4); + case 5: return Color::from_hex(0x75507B); + case 6: return Color::from_hex(0x06989A); + case 7: return Color::from_hex(0xD3D7CF); + case 8: return Color::from_hex(0x555753); + case 9: return Color::from_hex(0xEF2929); + case 10: return Color::from_hex(0x8AE234); + case 11: return Color::from_hex(0xFCE94F); + case 12: return Color::from_hex(0x729FCF); + case 13: return Color::from_hex(0xAD7FA8); + case 14: return Color::from_hex(0x34E2E2); + case 15: return Color::from_hex(0xEEEEEC); + default: return colors::TERM_FG; + } +} + +static inline void terminal_scroll_up(TerminalState* t) { + // Move all rows up by one + for (int r = 0; r < t->rows - 1; r++) { + for (int c = 0; c < t->cols; c++) { + t->cells[r * t->cols + c] = t->cells[(r + 1) * t->cols + c]; + } + } + // Clear last row + int last = t->rows - 1; + for (int c = 0; c < t->cols; c++) { + t->cells[last * t->cols + c] = {' ', t->current_fg, colors::TERM_BG}; + } +} + +static inline void terminal_init(TerminalState* t, int cols, int rows) { + t->cols = cols; + t->rows = rows; + t->cursor_x = 0; + t->cursor_y = 0; + t->saved_cursor_x = 0; + t->saved_cursor_y = 0; + t->scroll_top = 0; + t->total_rows = rows; + t->current_fg = colors::TERM_FG; + t->current_bg = colors::TERM_BG; + t->cursor_visible = true; + t->alt_screen_active = false; + t->reverse_video = false; + t->parse_state = TerminalState::STATE_NORMAL; + t->csi_private = false; + t->csi_param_count = 0; + t->csi_current_param = 0; + + int total_cells = cols * rows; + t->cells = (TermCell*)zenith::alloc(total_cells * sizeof(TermCell)); + t->alt_cells = (TermCell*)zenith::alloc(total_cells * sizeof(TermCell)); + for (int i = 0; i < total_cells; i++) { + t->cells[i] = {' ', colors::TERM_FG, colors::TERM_BG}; + t->alt_cells[i] = {' ', colors::TERM_FG, colors::TERM_BG}; + } + + t->child_pid = zenith::spawn_redir("0:/os/shell.elf"); + zenith::childio_settermsz(t->child_pid, cols, rows); +} + +static inline void terminal_put_char(TerminalState* t, char ch) { + if (t->cursor_x >= t->cols) { + t->cursor_x = 0; + t->cursor_y++; + } + if (t->cursor_y >= t->rows) { + terminal_scroll_up(t); + t->cursor_y = t->rows - 1; + } + int idx = t->cursor_y * t->cols + t->cursor_x; + t->cells[idx].ch = ch; + t->cells[idx].fg = t->current_fg; + t->cells[idx].bg = t->current_bg; + t->cursor_x++; +} + +static inline void terminal_enter_alt_screen(TerminalState* t) { + if (t->alt_screen_active) return; + t->alt_screen_active = true; + // Save cursor + t->saved_cursor_x = t->cursor_x; + t->saved_cursor_y = t->cursor_y; + // Swap buffers: save main screen to alt_cells, clear main + int total = t->cols * t->rows; + for (int i = 0; i < total; i++) { + t->alt_cells[i] = t->cells[i]; + t->cells[i] = {' ', colors::TERM_FG, colors::TERM_BG}; + } + t->cursor_x = 0; + t->cursor_y = 0; +} + +static inline void terminal_exit_alt_screen(TerminalState* t) { + if (!t->alt_screen_active) return; + t->alt_screen_active = false; + // Restore main screen from alt_cells + int total = t->cols * t->rows; + for (int i = 0; i < total; i++) { + t->cells[i] = t->alt_cells[i]; + } + // Restore cursor + t->cursor_x = t->saved_cursor_x; + t->cursor_y = t->saved_cursor_y; +} + +static inline void terminal_process_private_mode(TerminalState* t, char cmd) { + int p0 = t->csi_param_count > 0 ? t->csi_params[0] : 0; + + if (cmd == 'h') { + // Set private mode + if (p0 == 25) { + t->cursor_visible = true; + } else if (p0 == 1049) { + terminal_enter_alt_screen(t); + } + } else if (cmd == 'l') { + // Reset private mode + if (p0 == 25) { + t->cursor_visible = false; + } else if (p0 == 1049) { + terminal_exit_alt_screen(t); + } + } +} + +static inline void terminal_process_csi(TerminalState* t, char cmd) { + // Finalize current param + if (t->csi_param_count < 8) { + t->csi_params[t->csi_param_count] = t->csi_current_param; + t->csi_param_count++; + } + + // Handle private mode sequences (ESC[?...) + if (t->csi_private) { + terminal_process_private_mode(t, cmd); + return; + } + + int p0 = t->csi_param_count > 0 ? t->csi_params[0] : 0; + int p1 = t->csi_param_count > 1 ? t->csi_params[1] : 0; + + switch (cmd) { + case 'H': case 'f': { + // Cursor position: ESC[row;colH (1-based) + int row = (p0 > 0 ? p0 : 1) - 1; + int col = (p1 > 0 ? p1 : 1) - 1; + if (row < 0) row = 0; + if (row >= t->rows) row = t->rows - 1; + if (col < 0) col = 0; + if (col >= t->cols) col = t->cols - 1; + t->cursor_y = row; + t->cursor_x = col; + break; + } + case 'A': { + // Cursor up + int n = p0 > 0 ? p0 : 1; + t->cursor_y -= n; + if (t->cursor_y < 0) t->cursor_y = 0; + break; + } + case 'B': { + // Cursor down + int n = p0 > 0 ? p0 : 1; + t->cursor_y += n; + if (t->cursor_y >= t->rows) t->cursor_y = t->rows - 1; + break; + } + case 'C': { + // Cursor forward + int n = p0 > 0 ? p0 : 1; + t->cursor_x += n; + if (t->cursor_x >= t->cols) t->cursor_x = t->cols - 1; + break; + } + case 'D': { + // Cursor backward + int n = p0 > 0 ? p0 : 1; + t->cursor_x -= n; + if (t->cursor_x < 0) t->cursor_x = 0; + break; + } + case 'J': { + // Erase in display + if (p0 == 0) { + // Clear from cursor to end + for (int x = t->cursor_x; x < t->cols; x++) + t->cells[t->cursor_y * t->cols + x] = {' ', t->current_fg, colors::TERM_BG}; + for (int r = t->cursor_y + 1; r < t->rows; r++) + for (int c = 0; c < t->cols; c++) + t->cells[r * t->cols + c] = {' ', t->current_fg, colors::TERM_BG}; + } else if (p0 == 1) { + // Clear from start to cursor + for (int r = 0; r < t->cursor_y; r++) + for (int c = 0; c < t->cols; c++) + t->cells[r * t->cols + c] = {' ', t->current_fg, colors::TERM_BG}; + for (int x = 0; x <= t->cursor_x; x++) + t->cells[t->cursor_y * t->cols + x] = {' ', t->current_fg, colors::TERM_BG}; + } else if (p0 == 2) { + // Clear entire screen + for (int i = 0; i < t->rows * t->cols; i++) + t->cells[i] = {' ', t->current_fg, colors::TERM_BG}; + t->cursor_x = 0; + t->cursor_y = 0; + } + break; + } + case 'K': { + // Erase in line + int start = 0, end = t->cols; + if (p0 == 0) { start = t->cursor_x; end = t->cols; } + else if (p0 == 1) { start = 0; end = t->cursor_x + 1; } + else if (p0 == 2) { start = 0; end = t->cols; } + for (int x = start; x < end; x++) + t->cells[t->cursor_y * t->cols + x] = {' ', t->current_fg, colors::TERM_BG}; + break; + } + case 'm': { + // SGR - Set Graphics Rendition + for (int i = 0; i < t->csi_param_count; i++) { + int code = t->csi_params[i]; + if (code == 0) { + t->current_fg = colors::TERM_FG; + t->current_bg = colors::TERM_BG; + t->reverse_video = false; + } else if (code == 1) { + // Bold: map to bright version of current color + uint8_t r = t->current_fg.r; + uint8_t g = t->current_fg.g; + uint8_t b = t->current_fg.b; + int add = 50; + r = (r + add > 255) ? 255 : r + add; + g = (g + add > 255) ? 255 : g + add; + b = (b + add > 255) ? 255 : b + add; + t->current_fg = Color::from_rgb(r, g, b); + } else if (code == 2) { + // Dim: darken current fg color + t->current_fg.r = t->current_fg.r / 2; + t->current_fg.g = t->current_fg.g / 2; + t->current_fg.b = t->current_fg.b / 2; + } else if (code == 7) { + // Reverse video + if (!t->reverse_video) { + t->reverse_video = true; + Color tmp = t->current_fg; + t->current_fg = t->current_bg; + t->current_bg = tmp; + } + } else if (code == 27) { + // Reverse off + if (t->reverse_video) { + t->reverse_video = false; + Color tmp = t->current_fg; + t->current_fg = t->current_bg; + t->current_bg = tmp; + } + } else if (code >= 30 && code <= 37) { + t->current_fg = term_ansi_color(code - 30); + if (t->reverse_video) { + // In reverse mode, fg is displayed as bg + Color tmp = t->current_fg; + t->current_fg = t->current_bg; + t->current_bg = tmp; + } + } else if (code >= 40 && code <= 47) { + t->current_bg = term_ansi_color(code - 40); + } else if (code >= 90 && code <= 97) { + t->current_fg = term_ansi_color(code - 90 + 8); + } else if (code >= 100 && code <= 107) { + t->current_bg = term_ansi_color(code - 100 + 8); + } else if (code == 39) { + t->current_fg = colors::TERM_FG; + } else if (code == 49) { + t->current_bg = colors::TERM_BG; + } + } + if (t->csi_param_count == 0) { + // ESC[m with no params = reset + t->current_fg = colors::TERM_FG; + t->current_bg = colors::TERM_BG; + t->reverse_video = false; + } + break; + } + default: + break; + } +} + +static inline void terminal_feed(TerminalState* t, const char* data, int len) { + for (int i = 0; i < len; i++) { + char ch = data[i]; + + switch (t->parse_state) { + case TerminalState::STATE_NORMAL: + if (ch == '\033') { + t->parse_state = TerminalState::STATE_ESC; + } else if (ch == '\n') { + t->cursor_x = 0; // CR+LF: shell sends \n without \r + t->cursor_y++; + if (t->cursor_y >= t->rows) { + terminal_scroll_up(t); + t->cursor_y = t->rows - 1; + } + } else if (ch == '\r') { + t->cursor_x = 0; + } else if (ch == '\b') { + if (t->cursor_x > 0) t->cursor_x--; + } else if (ch == '\t') { + int next = (t->cursor_x + 8) & ~7; + if (next > t->cols) next = t->cols; + while (t->cursor_x < next) { + terminal_put_char(t, ' '); + } + } else if (ch >= 32 || ch < 0) { + // Printable character (also treat high-bit chars as printable) + terminal_put_char(t, ch); + } + break; + + case TerminalState::STATE_ESC: + if (ch == '[') { + t->parse_state = TerminalState::STATE_CSI; + t->csi_private = false; + t->csi_param_count = 0; + t->csi_current_param = 0; + for (int j = 0; j < 8; j++) t->csi_params[j] = 0; + } else if (ch == 'c') { + // Reset terminal + t->current_fg = colors::TERM_FG; + t->current_bg = colors::TERM_BG; + t->cursor_x = 0; + t->cursor_y = 0; + t->parse_state = TerminalState::STATE_NORMAL; + } else { + // Unknown ESC sequence, ignore + t->parse_state = TerminalState::STATE_NORMAL; + } + break; + + case TerminalState::STATE_CSI: + if (ch >= '0' && ch <= '9') { + t->csi_current_param = t->csi_current_param * 10 + (ch - '0'); + } else if (ch == ';') { + if (t->csi_param_count < 8) { + t->csi_params[t->csi_param_count] = t->csi_current_param; + t->csi_param_count++; + } + t->csi_current_param = 0; + } else if (ch == '?') { + t->csi_private = true; + } else if (ch >= 0x40 && ch <= 0x7E) { + // Final byte - execute command + terminal_process_csi(t, ch); + t->parse_state = TerminalState::STATE_NORMAL; + } else { + // Unknown, abort CSI + t->parse_state = TerminalState::STATE_NORMAL; + } + break; + } + } +} + +static inline void terminal_render(TerminalState* t, uint32_t* pixels, int pw, int ph) { + // Fill background + uint32_t bg_px = colors::TERM_BG.to_pixel(); + int total = pw * ph; + for (int i = 0; i < total; i++) { + pixels[i] = bg_px; + } + + // Render each visible cell + int visible_rows = ph / FONT_HEIGHT; + int visible_cols = pw / FONT_WIDTH; + if (visible_rows > t->rows) visible_rows = t->rows; + if (visible_cols > t->cols) visible_cols = t->cols; + + for (int r = 0; r < visible_rows; r++) { + for (int c = 0; c < visible_cols; c++) { + int idx = r * t->cols + c; + TermCell& cell = t->cells[idx]; + + int px = c * FONT_WIDTH; + int py = r * FONT_HEIGHT; + + uint32_t cell_bg = cell.bg.to_pixel(); + uint32_t cell_fg = cell.fg.to_pixel(); + + // Draw cell background + for (int fy = 0; fy < FONT_HEIGHT; fy++) { + int dy = py + fy; + if (dy >= ph) break; + for (int fx = 0; fx < FONT_WIDTH; fx++) { + int dx = px + fx; + if (dx >= pw) break; + pixels[dy * pw + dx] = cell_bg; + } + } + + // Draw character glyph + if (cell.ch > 32 || cell.ch < 0) { + const uint8_t* glyph = &font_data[(unsigned char)cell.ch * FONT_HEIGHT]; + for (int fy = 0; fy < FONT_HEIGHT; fy++) { + int dy = py + fy; + if (dy >= ph) break; + uint8_t bits = glyph[fy]; + for (int fx = 0; fx < FONT_WIDTH; fx++) { + if (bits & (0x80 >> fx)) { + int dx = px + fx; + if (dx >= pw) break; + pixels[dy * pw + dx] = cell_fg; + } + } + } + } + } + } + + // Draw cursor + if (t->cursor_visible && t->cursor_x < visible_cols && t->cursor_y < visible_rows) { + int cx = t->cursor_x * FONT_WIDTH; + int cy = t->cursor_y * FONT_HEIGHT; + uint32_t cursor_px = colors::WHITE.to_pixel(); + for (int fy = 0; fy < FONT_HEIGHT; fy++) { + int dy = cy + fy; + if (dy >= ph) break; + for (int fx = 0; fx < FONT_WIDTH; fx++) { + int dx = cx + fx; + if (dx >= pw) break; + pixels[dy * pw + dx] = cursor_px; + } + } + // Draw character on top of cursor in black + if (t->cursor_y < t->rows && t->cursor_x < t->cols) { + int idx = t->cursor_y * t->cols + t->cursor_x; + char ch = t->cells[idx].ch; + if (ch > 32 || ch < 0) { + const uint8_t* glyph = &font_data[(unsigned char)ch * FONT_HEIGHT]; + uint32_t black_px = colors::BLACK.to_pixel(); + for (int fy = 0; fy < FONT_HEIGHT; fy++) { + int dy = cy + fy; + if (dy >= ph) break; + uint8_t bits = glyph[fy]; + for (int fx = 0; fx < FONT_WIDTH; fx++) { + if (bits & (0x80 >> fx)) { + int dx = cx + fx; + if (dx >= pw) break; + pixels[dy * pw + dx] = black_px; + } + } + } + } + } + } +} + +static inline void terminal_handle_key(TerminalState* t, const Zenith::KeyEvent& key) { + if (t->child_pid > 0) { + zenith::childio_writekey(t->child_pid, &key); + } +} + +static inline void terminal_poll(TerminalState* t) { + if (t->child_pid <= 0) return; + char buf[512]; + int n = zenith::childio_read(t->child_pid, buf, sizeof(buf)); + if (n > 0) { + terminal_feed(t, buf, n); + } +} + +} // namespace gui diff --git a/programs/include/gui/widgets.hpp b/programs/include/gui/widgets.hpp new file mode 100644 index 0000000..121ebf8 --- /dev/null +++ b/programs/include/gui/widgets.hpp @@ -0,0 +1,354 @@ +/* + * widgets.hpp + * ZenithOS GUI widget toolkit (Label, Button, TextBox, Scrollbar) + * Copyright (c) 2025 Daniel Hammer +*/ + +#pragma once +#include "gui/gui.hpp" +#include "gui/framebuffer.hpp" +#include "gui/font.hpp" +#include "gui/draw.hpp" + +namespace gui { + +// ---- Mouse event ---- + +struct MouseEvent { + int x, y; + uint8_t buttons; + uint8_t prev_buttons; + int32_t scroll; + + bool left_held() const { return buttons & 0x01; } + bool right_held() const { return buttons & 0x02; } + bool middle_held() const { return buttons & 0x04; } + + bool left_pressed() const { return (buttons & 0x01) && !(prev_buttons & 0x01); } + bool left_released() const { return !(buttons & 0x01) && (prev_buttons & 0x01); } + bool right_pressed() const { return (buttons & 0x02) && !(prev_buttons & 0x02); } + bool right_released() const { return !(buttons & 0x02) && (prev_buttons & 0x02); } +}; + +// ---- Callback types ---- + +using ClickCallback = void (*)(void* userdata); + +// ---- Label ---- + +struct Label { + int x, y; + const char* text; + Color color; + + void draw(Framebuffer& fb) const { + if (text) { + draw_text(fb, x, y, text, color); + } + } +}; + +// ---- Button ---- + +struct Button { + Rect bounds; + const char* text; + Color bg; + Color fg; + Color hover_bg; + bool hovered; + bool pressed; + ClickCallback on_click; + void* userdata; + + void init(int x, int y, int w, int h, const char* label) { + bounds = {x, y, w, h}; + text = label; + bg = colors::ACCENT; + fg = colors::WHITE; + hover_bg = Color::from_rgb(0x2B, 0x6B, 0xE0); + hovered = false; + pressed = false; + on_click = nullptr; + userdata = nullptr; + } + + void draw(Framebuffer& fb) const { + Color bg_color = hovered ? hover_bg : bg; + fill_rounded_rect(fb, bounds.x, bounds.y, bounds.w, bounds.h, 4, bg_color); + // Center text + int tw = text_width(text); + int tx = bounds.x + (bounds.w - tw) / 2; + int ty = bounds.y + (bounds.h - FONT_HEIGHT) / 2; + draw_text(fb, tx, ty, text, fg); + } + + bool handle_mouse(const MouseEvent& ev) { + hovered = bounds.contains(ev.x, ev.y); + if (hovered && ev.left_pressed()) { + pressed = true; + } + if (pressed && ev.left_released()) { + pressed = false; + if (hovered && on_click) { + on_click(userdata); + return true; + } + } + if (!ev.left_held()) { + pressed = false; + } + return false; + } +}; + +// ---- IconButton (for panel/menu items with SVG icon + optional text) ---- + +struct IconButton { + Rect bounds; + const char* text; // optional label (can be nullptr) + uint32_t* icon_pixels; // icon pixel data (ARGB) + int icon_w, icon_h; + Color bg; + Color hover_bg; + Color text_color; + bool hovered; + bool pressed; + ClickCallback on_click; + void* userdata; + + void init(int x, int y, int w, int h) { + bounds = {x, y, w, h}; + text = nullptr; + icon_pixels = nullptr; + icon_w = 0; + icon_h = 0; + bg = {0, 0, 0, 0}; // transparent by default + hover_bg = colors::MENU_HOVER; + text_color = colors::TEXT_COLOR; + hovered = false; + pressed = false; + on_click = nullptr; + userdata = nullptr; + } + + void draw(Framebuffer& fb) const { + if (hovered) { + fill_rounded_rect(fb, bounds.x, bounds.y, bounds.w, bounds.h, 3, hover_bg); + } else if (bg.a > 0) { + fill_rounded_rect(fb, bounds.x, bounds.y, bounds.w, bounds.h, 3, bg); + } + + int content_x = bounds.x + 6; + + // Draw icon + if (icon_pixels && icon_w > 0 && icon_h > 0) { + int iy = bounds.y + (bounds.h - icon_h) / 2; + fb.blit_alpha(content_x, iy, icon_w, icon_h, icon_pixels); + content_x += icon_w + 6; + } + + // Draw text + if (text) { + int ty = bounds.y + (bounds.h - FONT_HEIGHT) / 2; + draw_text(fb, content_x, ty, text, text_color); + } + } + + bool handle_mouse(const MouseEvent& ev) { + hovered = bounds.contains(ev.x, ev.y); + if (hovered && ev.left_pressed()) { + pressed = true; + } + if (pressed && ev.left_released()) { + pressed = false; + if (hovered && on_click) { + on_click(userdata); + return true; + } + } + if (!ev.left_held()) { + pressed = false; + } + return false; + } +}; + +// ---- TextBox ---- + +struct TextBox { + Rect bounds; + char text[256]; + int cursor; + int text_len; + bool focused; + Color bg; + Color fg; + Color border_color; + Color cursor_color; + + void init(int x, int y, int w, int h) { + bounds = {x, y, w, h}; + text[0] = '\0'; + cursor = 0; + text_len = 0; + focused = false; + bg = colors::WHITE; + fg = colors::TEXT_COLOR; + border_color = colors::BORDER; + cursor_color = colors::ACCENT; + } + + void draw(Framebuffer& fb) const { + fb.fill_rect(bounds.x, bounds.y, bounds.w, bounds.h, bg); + draw_rect(fb, bounds.x, bounds.y, bounds.w, bounds.h, + focused ? cursor_color : border_color); + + // Draw text with 4px padding + int tx = bounds.x + 4; + int ty = bounds.y + (bounds.h - FONT_HEIGHT) / 2; + draw_text(fb, tx, ty, text, fg); + + // Draw cursor if focused + if (focused) { + int cx = tx + cursor * FONT_WIDTH; + draw_vline(fb, cx, ty, FONT_HEIGHT, cursor_color); + } + } + + void handle_mouse(const MouseEvent& ev) { + if (ev.left_pressed()) { + focused = bounds.contains(ev.x, ev.y); + } + } + + void handle_key(const Zenith::KeyEvent& key) { + if (!focused || !key.pressed) return; + + if (key.ascii == '\b' || key.scancode == 0x0E) { + // Backspace + if (cursor > 0) { + for (int i = cursor - 1; i < text_len - 1; i++) { + text[i] = text[i + 1]; + } + text_len--; + cursor--; + text[text_len] = '\0'; + } + } else if (key.ascii >= 32 && key.ascii < 127) { + // Printable character + if (text_len < 254) { + for (int i = text_len; i > cursor; i--) { + text[i] = text[i - 1]; + } + text[cursor] = key.ascii; + cursor++; + text_len++; + text[text_len] = '\0'; + } + } else if (key.scancode == 0x4B) { + // Left arrow + if (cursor > 0) cursor--; + } else if (key.scancode == 0x4D) { + // Right arrow + if (cursor < text_len) cursor++; + } + } +}; + +// ---- Scrollbar ---- + +struct Scrollbar { + Rect bounds; + int content_height; + int view_height; + int scroll_offset; + bool dragging; + int drag_start_y; + int drag_start_offset; + Color bg; + Color fg; + Color hover_fg; + bool hovered; + + void init(int x, int y, int w, int h) { + bounds = {x, y, w, h}; + content_height = 0; + view_height = h; + scroll_offset = 0; + dragging = false; + drag_start_y = 0; + drag_start_offset = 0; + bg = colors::SCROLLBAR_BG; + fg = colors::SCROLLBAR_FG; + hover_fg = Color::from_rgb(0xA0, 0xA0, 0xA0); + hovered = false; + } + + int thumb_height() const { + if (content_height <= view_height) return bounds.h; + int th = (view_height * bounds.h) / content_height; + return th < 20 ? 20 : th; + } + + int thumb_y() const { + if (content_height <= view_height) return bounds.y; + int range = bounds.h - thumb_height(); + int max_scroll = content_height - view_height; + if (max_scroll <= 0) return bounds.y; + return bounds.y + (scroll_offset * range) / max_scroll; + } + + int max_scroll() const { + int ms = content_height - view_height; + return ms > 0 ? ms : 0; + } + + void draw(Framebuffer& fb) const { + if (content_height <= view_height) return; // no scrollbar needed + + fb.fill_rect(bounds.x, bounds.y, bounds.w, bounds.h, bg); + int th = thumb_height(); + int ty = thumb_y(); + Color thumb_color = (hovered || dragging) ? hover_fg : fg; + fill_rounded_rect(fb, bounds.x + 1, ty, bounds.w - 2, th, 3, thumb_color); + } + + void handle_mouse(const MouseEvent& ev) { + if (content_height <= view_height) return; + + Rect thumb_rect = {bounds.x, thumb_y(), bounds.w, thumb_height()}; + hovered = thumb_rect.contains(ev.x, ev.y); + + if (hovered && ev.left_pressed()) { + dragging = true; + drag_start_y = ev.y; + drag_start_offset = scroll_offset; + } + + if (dragging && ev.left_held()) { + int dy = ev.y - drag_start_y; + int range = bounds.h - thumb_height(); + if (range > 0) { + int ms = max_scroll(); + scroll_offset = drag_start_offset + (dy * ms) / range; + if (scroll_offset < 0) scroll_offset = 0; + if (scroll_offset > ms) scroll_offset = ms; + } + } + + if (!ev.left_held()) { + dragging = false; + } + + // Handle scroll wheel + if (bounds.contains(ev.x, ev.y) && ev.scroll != 0) { + scroll_offset += ev.scroll * 20; + int ms = max_scroll(); + if (scroll_offset < 0) scroll_offset = 0; + if (scroll_offset > ms) scroll_offset = ms; + } + } +}; + +} // namespace gui diff --git a/programs/include/gui/window.hpp b/programs/include/gui/window.hpp new file mode 100644 index 0000000..67f42a4 --- /dev/null +++ b/programs/include/gui/window.hpp @@ -0,0 +1,78 @@ +/* + * window.hpp + * ZenithOS window management types + * Copyright (c) 2026 Daniel Hammer +*/ + +#pragma once +#include "gui/gui.hpp" +#include "gui/framebuffer.hpp" +#include "gui/widgets.hpp" +#include + +namespace gui { + +enum WindowState { WIN_NORMAL, WIN_MINIMIZED, WIN_MAXIMIZED, WIN_CLOSED }; + +static constexpr int TITLEBAR_HEIGHT = 30; +static constexpr int BORDER_WIDTH = 1; +static constexpr int SHADOW_SIZE = 3; +static constexpr int BTN_RADIUS = 6; +static constexpr int MAX_TITLE_LEN = 64; + +struct Window; +using WindowDrawCallback = void (*)(Window* win, Framebuffer& fb); +using WindowMouseCallback = void (*)(Window* win, MouseEvent& ev); +using WindowKeyCallback = void (*)(Window* win, const Zenith::KeyEvent& key); +using WindowCloseCallback = void (*)(Window* win); + +struct Window { + char title[MAX_TITLE_LEN]; + Rect frame; + WindowState state; + int z_order; + bool focused; + bool dirty; + + uint32_t* content; + int content_w, content_h; + + bool dragging; + int drag_offset_x, drag_offset_y; + + bool resizing; + + Rect saved_frame; + + WindowDrawCallback on_draw; + WindowMouseCallback on_mouse; + WindowKeyCallback on_key; + WindowCloseCallback on_close; + void* app_data; + + Rect titlebar_rect() const { + return {frame.x, frame.y, frame.w, TITLEBAR_HEIGHT}; + } + + Rect content_rect() const { + return {frame.x + BORDER_WIDTH, frame.y + TITLEBAR_HEIGHT, + frame.w - 2 * BORDER_WIDTH, frame.h - TITLEBAR_HEIGHT - BORDER_WIDTH}; + } + + Rect close_btn_rect() const { + int by = frame.y + (TITLEBAR_HEIGHT - BTN_RADIUS * 2) / 2; + return {frame.x + 12, by, BTN_RADIUS * 2, BTN_RADIUS * 2}; + } + + Rect min_btn_rect() const { + int by = frame.y + (TITLEBAR_HEIGHT - BTN_RADIUS * 2) / 2; + return {frame.x + 12 + 22, by, BTN_RADIUS * 2, BTN_RADIUS * 2}; + } + + Rect max_btn_rect() const { + int by = frame.y + (TITLEBAR_HEIGHT - BTN_RADIUS * 2) / 2; + return {frame.x + 12 + 44, by, BTN_RADIUS * 2, BTN_RADIUS * 2}; + } +}; + +} // namespace gui diff --git a/programs/include/zenith/syscall.h b/programs/include/zenith/syscall.h index a07486b..9aae5e4 100644 --- a/programs/include/zenith/syscall.h +++ b/programs/include/zenith/syscall.h @@ -256,4 +256,27 @@ namespace zenith { __builtin_unreachable(); } + // Mouse + inline void mouse_state(Zenith::MouseState* out) { syscall1(Zenith::SYS_MOUSESTATE, (uint64_t)out); } + inline void set_mouse_bounds(int32_t maxX, int32_t maxY) { + syscall2(Zenith::SYS_SETMOUSEBOUNDS, (uint64_t)maxX, (uint64_t)maxY); + } + + // I/O redirection + inline int spawn_redir(const char* path, const char* args = nullptr) { + return (int)syscall2(Zenith::SYS_SPAWN_REDIR, (uint64_t)path, (uint64_t)args); + } + inline int childio_read(int childPid, char* buf, int maxLen) { + return (int)syscall3(Zenith::SYS_CHILDIO_READ, (uint64_t)childPid, (uint64_t)buf, (uint64_t)maxLen); + } + inline int childio_write(int childPid, const char* data, int len) { + return (int)syscall3(Zenith::SYS_CHILDIO_WRITE, (uint64_t)childPid, (uint64_t)data, (uint64_t)len); + } + inline int childio_writekey(int childPid, const Zenith::KeyEvent* key) { + return (int)syscall2(Zenith::SYS_CHILDIO_WRITEKEY, (uint64_t)childPid, (uint64_t)key); + } + inline int childio_settermsz(int childPid, int cols, int rows) { + return (int)syscall3(Zenith::SYS_CHILDIO_SETTERMSZ, (uint64_t)childPid, (uint64_t)cols, (uint64_t)rows); + } + } diff --git a/programs/obj/hello/main.o b/programs/obj/hello/main.o index dcdbf6c95a526ed130725a66007d8576bc848915..bb43a93be400a134baeef3489426440ccf8f1e63 100644 GIT binary patch delta 2328 zcmZ9NUu@G=6vyxHw{~uw8|&8g`YUd2w<%D`+WiSbGP{+v(z>yhwF?ra+YAm@$=m`M z5?!i^Gy0-5C&7e3m_h?oWmTi>cbRmPa!C8s_)CFHbUP6y?5SWIPF zxvaqgaK_S-ZMHIIn-G&ZbZKah)>&UGfwnhGHWulj&vsbnN}%31$aXFX|YOYKXI_Qm1@k$7Ts zC>oBi(b37NBW>;5y+@}GPad3l`2dqHyA#8yXeu2}M3_4#m^a{^&lqW9zK` z9|U*Rb$==u-a9DLM&d&%OL92f7Yi5dR5Y!U?o131MpF6pswU0SKakj!cU0fh@(*f) zx-lzSD@SK>VK%YKn;(U+of|IIR>p>i`W?&&wHIT@h$vy$#0ZiFy&*>UjJDR`nH8JMqNJgwG>iCHzasiL>@&B@c)?0#}5(hG*4c zMP`3a!#$xcVdl+5eGz>1+^}G5FHr&Z)N}1DOx6dC0{To7pWCn~GNe#_kEq9BRj65{ z^F;jz?2dr;ErcE1=*A2M;`1)dIC#7Y>%T=*H}>Q{;Y>blIWVi)jZ?5J&bo+Ej}i4p z(40Je8EKHH-56z7YUZp#9wYt*7kJCL6u zoFO+~qFM8wMGl)>cI_8<+7&Rq#tz;f8Dj9Zi@WDA&t0NEVS&$Gty%_FT|6s4GIDsa zc=NCqF!ff#Gq~SQ_#o~hgzvySNy1+(7L{cqMA(GYzCw7hOva87ehDvd0$1|_57F-v z!Y45QdBy9+mtJI+AEi$*;4>KKT>C-I*C5Ba@mom>`9D#EwcLa&!t;*uybt#{&zetI z=9HdKqNfF)w#i$NR};Psxt(zH1L`W_j|ks(^lvHh9sgbC0=7L+5+E;m0I#x*@Sk9h z!L#Ng7$EA;7&T3}7f(4)_+Mr#317$Fe?fR-k-OO?B2;6*H()pTma9a4h{rDz-k)DI zx~%&1c35kCR=W;up03Ji_5aG)4VdwC>B(|f@PxEwxb5lDV;jNm4e1RPkP*w$MpzKb z?h05F%Uz-QLfUDV^!4b;$6>)2svMDx6vHMGbEs(Y>Jv5KZwl$(Z-9(gRyM$bSPBiW bCKhik_?ts|uN^YYp~_ng#n``LvBC2%U{3<% delta 2015 zcmZ9NYe*DP6vyYz?zp*ItJ|*LMlE;U#ooDExFI#VMUM?XsFm~})F?~}3$!T9Hlq*u zA<9k}h}4Iof(nWa5+zCqBB-dK7o|P0NJv6@sYG;V=ZtLU!p^ekWU4l5SYDAYBRAu39C@{>=(u z#a%lh*55;IL2CdMe_`H6x zcH9yVy^d;#{Ca@o&}DODf0PcZtE#H5zA?XGp?7zELtSnC)-7<~eiu3&dC=#0YAaj2 zX6edsMeNnY92T=U`&g_$r9ftGa82gXweeS$q-A<;G3?@}_w@^Tg$~6q`61b`*BjF~ zA4OhGc(ugT%3=gLrEoUwDTw_BQbr zLXDe8cB1zy@eX4rBZN;!y%lSkyL29UMXgHoW)W{C42xPe%(;Mg2hc7dya8=d8|pP;-xHY!FW4(PDg~x5Rr7 z`4_^kV?RF#KZaE#j5FWG?0X{Niwr%yOmnGMFjs(R_5e%gk!M(O5%FF?Zk`>p;wJ25 z4beA1jmTDrbO-T1Mtd*eAJINS_;lzM*&bjIoy6OY{4(KD?CmDur@_bb*jXs&Ty>*w zfM_zIg>$*b0v&u_)VP@>$%BQ=mp6`sBzXysVBu_>O??~cW)q%|#e;+|G4!$&g5fEg zRm7hg!KZSyHbJUiv`*}0JCv)OHO7_A(4z8aD^cd6(mX?Yb9#mV@^+#xMBYL80_5is zxJ|GE|MG?ojaImPl_;qq(t zPZNw(XRL78Unn1#1l@j3?svkNm`0pX6wu_7ENBwb!W8Hh)4Eg`3uwvfvW&o=5YEp2 E2iOtMFaQ7m diff --git a/programs/obj/shell/main.o b/programs/obj/shell/main.o index c92f767c6765edcf6be45da207b55b98902a868c..9cb6b0a77434462ea7915f143593d860af2566a4 100644 GIT binary patch literal 135952 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

V^2zBYr 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 Utt9`({@ePO(f@_C0$mLKKU}+Lod5s; literal 121376 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 YJ?zz$tI>U;|8#pj0b~i?fUZXV2Z=vU7XSbN diff --git a/programs/src/desktop/Makefile b/programs/src/desktop/Makefile new file mode 100644 index 0000000..9921374 --- /dev/null +++ b/programs/src/desktop/Makefile @@ -0,0 +1,86 @@ +# Makefile for desktop (GUI desktop environment) on ZenithOS +# Copyright (c) 2025 Daniel Hammer + +MAKEFLAGS += -rR +.SUFFIXES: + +# ---- Toolchain ---- + +TOOLCHAIN_PREFIX := $(shell cd ../../.. && pwd)/toolchain/local/bin/x86_64-elf- +ifneq ($(wildcard $(TOOLCHAIN_PREFIX)gcc),) + CXX := $(TOOLCHAIN_PREFIX)g++ +else + CXX := g++ +endif + +# ---- Paths ---- + +PROG_INC := ../../include +LINK_LD := ../../link.ld +BINDIR := ../../bin +OBJDIR := obj + +# ---- Compiler flags ---- + +CXXFLAGS := \ + -std=gnu++20 \ + -g -O2 -pipe \ + -Wall \ + -Wextra \ + -Wno-unused-parameter \ + -Wno-unused-function \ + -nostdinc \ + -ffreestanding \ + -fno-stack-protector \ + -fno-stack-check \ + -fno-PIC \ + -fno-rtti \ + -fno-exceptions \ + -ffunction-sections \ + -fdata-sections \ + -m64 \ + -march=x86-64 \ + -mno-80387 \ + -mno-mmx \ + -mno-sse \ + -mno-sse2 \ + -mno-red-zone \ + -mcmodel=small \ + -I $(PROG_INC) \ + -isystem ../../../kernel/freestnd-c-hdrs/x86_64/include \ + -isystem ../../../kernel/freestnd-cxx-hdrs/x86_64/include + +# ---- Linker flags ---- + +LDFLAGS := \ + -nostdlib \ + -static \ + -Wl,--build-id=none \ + -Wl,--gc-sections \ + -Wl,-m,elf_x86_64 \ + -z max-page-size=0x1000 \ + -T $(LINK_LD) + +# ---- Source files ---- + +SRCS := main.cpp font_data.cpp +OBJS := $(addprefix $(OBJDIR)/,$(SRCS:.cpp=.o)) + +# ---- Target ---- + +TARGET := $(BINDIR)/os/desktop.elf + +.PHONY: all clean + +all: $(TARGET) + +$(TARGET): $(OBJS) $(LINK_LD) Makefile + mkdir -p $(BINDIR)/os + $(CXX) $(CXXFLAGS) $(LDFLAGS) $(OBJS) -o $@ + +$(OBJDIR)/%.o: %.cpp Makefile + mkdir -p $(OBJDIR) + $(CXX) $(CXXFLAGS) -c $< -o $@ + +clean: + rm -rf $(OBJDIR) $(TARGET) diff --git a/programs/src/desktop/font_data.cpp b/programs/src/desktop/font_data.cpp new file mode 100644 index 0000000..940f6e1 --- /dev/null +++ b/programs/src/desktop/font_data.cpp @@ -0,0 +1,783 @@ +/* + * font_data.cpp + * Standard VGA 8x16 bitmap font (Code Page 437) + * 256 characters, 16 bytes each (8 pixels wide, 1 bit per pixel, MSB left) + * Copyright (c) 2025 Daniel Hammer +*/ + +#include "gui/font.hpp" + +namespace gui { + +const uint8_t font_data[256 * 16] = { + // Character 0 (NUL) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 1 (smiley face) + 0x00, 0x00, 0x7E, 0x81, 0xA5, 0x81, 0x81, 0xBD, + 0x99, 0x81, 0x81, 0x7E, 0x00, 0x00, 0x00, 0x00, + // Character 2 (inverse smiley) + 0x00, 0x00, 0x7E, 0xFF, 0xDB, 0xFF, 0xFF, 0xC3, + 0xE7, 0xFF, 0xFF, 0x7E, 0x00, 0x00, 0x00, 0x00, + // Character 3 (heart) + 0x00, 0x00, 0x00, 0x00, 0x6C, 0xFE, 0xFE, 0xFE, + 0xFE, 0x7C, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, + // Character 4 (diamond) + 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x7C, 0xFE, + 0x7C, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 5 (club) + 0x00, 0x00, 0x00, 0x18, 0x3C, 0x3C, 0xE7, 0xE7, + 0xE7, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00, + // Character 6 (spade) + 0x00, 0x00, 0x00, 0x18, 0x3C, 0x7E, 0xFF, 0xFF, + 0x7E, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00, + // Character 7 (bullet) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x3C, + 0x3C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 8 (inverse bullet) + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xC3, + 0xC3, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + // Character 9 (circle) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x66, 0x42, + 0x42, 0x66, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 10 (inverse circle) + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x99, 0xBD, + 0xBD, 0x99, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + // Character 11 (male sign) + 0x00, 0x00, 0x1E, 0x0E, 0x1A, 0x32, 0x78, 0xCC, + 0xCC, 0xCC, 0xCC, 0x78, 0x00, 0x00, 0x00, 0x00, + // Character 12 (female sign) + 0x00, 0x00, 0x3C, 0x66, 0x66, 0x66, 0x66, 0x3C, + 0x18, 0x7E, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, + // Character 13 (note) + 0x00, 0x00, 0x3F, 0x33, 0x3F, 0x30, 0x30, 0x30, + 0x30, 0x70, 0xF0, 0xE0, 0x00, 0x00, 0x00, 0x00, + // Character 14 (double note) + 0x00, 0x00, 0x7F, 0x63, 0x7F, 0x63, 0x63, 0x63, + 0x63, 0x67, 0xE7, 0xE6, 0xC0, 0x00, 0x00, 0x00, + // Character 15 (sun) + 0x00, 0x00, 0x00, 0x18, 0x18, 0xDB, 0x3C, 0xE7, + 0x3C, 0xDB, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, + // Character 16 (right triangle) + 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF8, 0xFE, 0xF8, + 0xF0, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, + // Character 17 (left triangle) + 0x00, 0x02, 0x06, 0x0E, 0x1E, 0x3E, 0xFE, 0x3E, + 0x1E, 0x0E, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, + // Character 18 (up-down arrow) + 0x00, 0x00, 0x18, 0x3C, 0x7E, 0x18, 0x18, 0x18, + 0x7E, 0x3C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 19 (double exclamation) + 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, + 0x66, 0x00, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, + // Character 20 (paragraph) + 0x00, 0x00, 0x7F, 0xDB, 0xDB, 0xDB, 0x7B, 0x1B, + 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x00, 0x00, 0x00, + // Character 21 (section) + 0x00, 0x7C, 0xC6, 0x60, 0x38, 0x6C, 0xC6, 0xC6, + 0x6C, 0x38, 0x0C, 0xC6, 0x7C, 0x00, 0x00, 0x00, + // Character 22 (thick underscore) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFE, 0xFE, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00, + // Character 23 (up-down arrow underlined) + 0x00, 0x00, 0x18, 0x3C, 0x7E, 0x18, 0x18, 0x18, + 0x7E, 0x3C, 0x18, 0x7E, 0x00, 0x00, 0x00, 0x00, + // Character 24 (up arrow) + 0x00, 0x00, 0x18, 0x3C, 0x7E, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, + // Character 25 (down arrow) + 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x7E, 0x3C, 0x18, 0x00, 0x00, 0x00, 0x00, + // Character 26 (right arrow) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x0C, 0xFE, + 0x0C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 27 (left arrow) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x60, 0xFE, + 0x60, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 28 (right angle) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, + 0xC0, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 29 (left-right arrow) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x66, 0xFF, + 0x66, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 30 (up triangle) + 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x38, 0x7C, + 0x7C, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 31 (down triangle) + 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0x7C, 0x7C, + 0x38, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 32 (space) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 33 '!' + 0x00, 0x00, 0x18, 0x3C, 0x3C, 0x3C, 0x18, 0x18, + 0x18, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, + // Character 34 '"' + 0x00, 0x66, 0x66, 0x66, 0x24, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 35 '#' + 0x00, 0x00, 0x00, 0x6C, 0x6C, 0xFE, 0x6C, 0x6C, + 0x6C, 0xFE, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00, + // Character 36 '$' + 0x18, 0x18, 0x7C, 0xC6, 0xC2, 0xC0, 0x7C, 0x06, + 0x06, 0x86, 0xC6, 0x7C, 0x18, 0x18, 0x00, 0x00, + // Character 37 '%' + 0x00, 0x00, 0x00, 0x00, 0xC2, 0xC6, 0x0C, 0x18, + 0x30, 0x60, 0xC6, 0x86, 0x00, 0x00, 0x00, 0x00, + // Character 38 '&' + 0x00, 0x00, 0x38, 0x6C, 0x6C, 0x38, 0x76, 0xDC, + 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00, + // Character 39 ''' + 0x00, 0x30, 0x30, 0x30, 0x60, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 40 '(' + 0x00, 0x00, 0x0C, 0x18, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x18, 0x0C, 0x00, 0x00, 0x00, 0x00, + // Character 41 ')' + 0x00, 0x00, 0x30, 0x18, 0x0C, 0x0C, 0x0C, 0x0C, + 0x0C, 0x0C, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00, + // Character 42 '*' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x3C, 0xFF, + 0x3C, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 43 '+' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7E, + 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 44 ',' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x18, 0x18, 0x18, 0x30, 0x00, 0x00, 0x00, + // Character 45 '-' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 46 '.' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, + // Character 47 '/' + 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x0C, 0x18, + 0x30, 0x60, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, + // Character 48 '0' + 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xCE, 0xDE, 0xF6, + 0xE6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, + // Character 49 '1' + 0x00, 0x00, 0x18, 0x38, 0x78, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x7E, 0x00, 0x00, 0x00, 0x00, + // Character 50 '2' + 0x00, 0x00, 0x7C, 0xC6, 0x06, 0x0C, 0x18, 0x30, + 0x60, 0xC0, 0xC6, 0xFE, 0x00, 0x00, 0x00, 0x00, + // Character 51 '3' + 0x00, 0x00, 0x7C, 0xC6, 0x06, 0x06, 0x3C, 0x06, + 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, + // Character 52 '4' + 0x00, 0x00, 0x0C, 0x1C, 0x3C, 0x6C, 0xCC, 0xFE, + 0x0C, 0x0C, 0x0C, 0x1E, 0x00, 0x00, 0x00, 0x00, + // Character 53 '5' + 0x00, 0x00, 0xFE, 0xC0, 0xC0, 0xC0, 0xFC, 0x06, + 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, + // Character 54 '6' + 0x00, 0x00, 0x38, 0x60, 0xC0, 0xC0, 0xFC, 0xC6, + 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, + // Character 55 '7' + 0x00, 0x00, 0xFE, 0xC6, 0x06, 0x06, 0x0C, 0x18, + 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, + // Character 56 '8' + 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0x7C, 0xC6, + 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, + // Character 57 '9' + 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, + 0x06, 0x06, 0x0C, 0x78, 0x00, 0x00, 0x00, 0x00, + // Character 58 ':' + 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, + 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 59 ';' + 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, + 0x00, 0x18, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00, + // Character 60 '<' + 0x00, 0x00, 0x00, 0x06, 0x0C, 0x18, 0x30, 0x60, + 0x30, 0x18, 0x0C, 0x06, 0x00, 0x00, 0x00, 0x00, + // Character 61 '=' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, + 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 62 '>' + 0x00, 0x00, 0x00, 0x60, 0x30, 0x18, 0x0C, 0x06, + 0x0C, 0x18, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, + // Character 63 '?' + 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0x0C, 0x18, 0x18, + 0x18, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, + // Character 64 '@' + 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xDE, 0xDE, + 0xDE, 0xDC, 0xC0, 0x7C, 0x00, 0x00, 0x00, 0x00, + // Character 65 'A' + 0x00, 0x00, 0x10, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, + 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00, + // Character 66 'B' + 0x00, 0x00, 0xFC, 0x66, 0x66, 0x66, 0x7C, 0x66, + 0x66, 0x66, 0x66, 0xFC, 0x00, 0x00, 0x00, 0x00, + // Character 67 'C' + 0x00, 0x00, 0x3C, 0x66, 0xC2, 0xC0, 0xC0, 0xC0, + 0xC0, 0xC2, 0x66, 0x3C, 0x00, 0x00, 0x00, 0x00, + // Character 68 'D' + 0x00, 0x00, 0xF8, 0x6C, 0x66, 0x66, 0x66, 0x66, + 0x66, 0x66, 0x6C, 0xF8, 0x00, 0x00, 0x00, 0x00, + // Character 69 'E' + 0x00, 0x00, 0xFE, 0x66, 0x62, 0x68, 0x78, 0x68, + 0x60, 0x62, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00, + // Character 70 'F' + 0x00, 0x00, 0xFE, 0x66, 0x62, 0x68, 0x78, 0x68, + 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00, + // Character 71 'G' + 0x00, 0x00, 0x3C, 0x66, 0xC2, 0xC0, 0xC0, 0xDE, + 0xC6, 0xC6, 0x66, 0x3A, 0x00, 0x00, 0x00, 0x00, + // Character 72 'H' + 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xFE, 0xC6, + 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00, + // Character 73 'I' + 0x00, 0x00, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00, + // Character 74 'J' + 0x00, 0x00, 0x1E, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, + 0xCC, 0xCC, 0xCC, 0x78, 0x00, 0x00, 0x00, 0x00, + // Character 75 'K' + 0x00, 0x00, 0xE6, 0x66, 0x66, 0x6C, 0x78, 0x78, + 0x6C, 0x66, 0x66, 0xE6, 0x00, 0x00, 0x00, 0x00, + // Character 76 'L' + 0x00, 0x00, 0xF0, 0x60, 0x60, 0x60, 0x60, 0x60, + 0x60, 0x62, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00, + // Character 77 'M' + 0x00, 0x00, 0xC6, 0xEE, 0xFE, 0xFE, 0xD6, 0xC6, + 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00, + // Character 78 'N' + 0x00, 0x00, 0xC6, 0xE6, 0xF6, 0xFE, 0xDE, 0xCE, + 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00, + // Character 79 'O' + 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, + 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, + // Character 80 'P' + 0x00, 0x00, 0xFC, 0x66, 0x66, 0x66, 0x7C, 0x60, + 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00, + // Character 81 'Q' + 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, + 0xC6, 0xD6, 0xDE, 0x7C, 0x0C, 0x0E, 0x00, 0x00, + // Character 82 'R' + 0x00, 0x00, 0xFC, 0x66, 0x66, 0x66, 0x7C, 0x6C, + 0x66, 0x66, 0x66, 0xE6, 0x00, 0x00, 0x00, 0x00, + // Character 83 'S' + 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0x60, 0x38, 0x0C, + 0x06, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, + // Character 84 'T' + 0x00, 0x00, 0xFF, 0xDB, 0x99, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00, + // Character 85 'U' + 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, + 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, + // Character 86 'V' + 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, + 0xC6, 0x6C, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, + // Character 87 'W' + 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xD6, 0xD6, + 0xD6, 0xFE, 0xEE, 0x6C, 0x00, 0x00, 0x00, 0x00, + // Character 88 'X' + 0x00, 0x00, 0xC6, 0xC6, 0x6C, 0x7C, 0x38, 0x38, + 0x7C, 0x6C, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00, + // Character 89 'Y' + 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0x6C, 0x38, 0x18, + 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00, + // Character 90 'Z' + 0x00, 0x00, 0xFE, 0xC6, 0x86, 0x0C, 0x18, 0x30, + 0x60, 0xC2, 0xC6, 0xFE, 0x00, 0x00, 0x00, 0x00, + // Character 91 '[' + 0x00, 0x00, 0x3C, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x3C, 0x00, 0x00, 0x00, 0x00, + // Character 92 '\' + 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0x70, 0x38, + 0x1C, 0x0E, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, + // Character 93 ']' + 0x00, 0x00, 0x3C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, + 0x0C, 0x0C, 0x0C, 0x3C, 0x00, 0x00, 0x00, 0x00, + // Character 94 '^' + 0x10, 0x38, 0x6C, 0xC6, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 95 '_' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, + // Character 96 '`' + 0x30, 0x30, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 97 'a' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0C, 0x7C, + 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00, + // Character 98 'b' + 0x00, 0x00, 0xE0, 0x60, 0x60, 0x78, 0x6C, 0x66, + 0x66, 0x66, 0x66, 0x7C, 0x00, 0x00, 0x00, 0x00, + // Character 99 'c' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC0, + 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, + // Character 100 'd' + 0x00, 0x00, 0x1C, 0x0C, 0x0C, 0x3C, 0x6C, 0xCC, + 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00, + // Character 101 'e' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xFE, + 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, + // Character 102 'f' + 0x00, 0x00, 0x38, 0x6C, 0x64, 0x60, 0xF0, 0x60, + 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00, + // Character 103 'g' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0x7C, 0x0C, 0xCC, 0x78, 0x00, + // Character 104 'h' + 0x00, 0x00, 0xE0, 0x60, 0x60, 0x6C, 0x76, 0x66, + 0x66, 0x66, 0x66, 0xE6, 0x00, 0x00, 0x00, 0x00, + // Character 105 'i' + 0x00, 0x00, 0x18, 0x18, 0x00, 0x38, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00, + // Character 106 'j' + 0x00, 0x00, 0x06, 0x06, 0x00, 0x0E, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x66, 0x66, 0x3C, 0x00, + // Character 107 'k' + 0x00, 0x00, 0xE0, 0x60, 0x60, 0x66, 0x6C, 0x78, + 0x78, 0x6C, 0x66, 0xE6, 0x00, 0x00, 0x00, 0x00, + // Character 108 'l' + 0x00, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00, + // Character 109 'm' + 0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, 0xFE, 0xD6, + 0xD6, 0xD6, 0xD6, 0xC6, 0x00, 0x00, 0x00, 0x00, + // Character 110 'n' + 0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x66, 0x66, + 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, + // Character 111 'o' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, + 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, + // Character 112 'p' + 0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x66, 0x66, + 0x66, 0x66, 0x66, 0x7C, 0x60, 0x60, 0xF0, 0x00, + // Character 113 'q' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0x7C, 0x0C, 0x0C, 0x1E, 0x00, + // Character 114 'r' + 0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x76, 0x66, + 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00, + // Character 115 's' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0x60, + 0x38, 0x0C, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, + // Character 116 't' + 0x00, 0x00, 0x10, 0x30, 0x30, 0xFC, 0x30, 0x30, + 0x30, 0x30, 0x36, 0x1C, 0x00, 0x00, 0x00, 0x00, + // Character 117 'u' + 0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00, + // Character 118 'v' + 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, + 0xC6, 0x6C, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, + // Character 119 'w' + 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xD6, + 0xD6, 0xD6, 0xFE, 0x6C, 0x00, 0x00, 0x00, 0x00, + // Character 120 'x' + 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0x6C, 0x38, + 0x38, 0x38, 0x6C, 0xC6, 0x00, 0x00, 0x00, 0x00, + // Character 121 'y' + 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, + 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x0C, 0xF8, 0x00, + // Character 122 'z' + 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xCC, 0x18, + 0x30, 0x60, 0xC6, 0xFE, 0x00, 0x00, 0x00, 0x00, + // Character 123 '{' + 0x00, 0x00, 0x0E, 0x18, 0x18, 0x18, 0x70, 0x18, + 0x18, 0x18, 0x18, 0x0E, 0x00, 0x00, 0x00, 0x00, + // Character 124 '|' + 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x00, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, + // Character 125 '}' + 0x00, 0x00, 0x70, 0x18, 0x18, 0x18, 0x0E, 0x18, + 0x18, 0x18, 0x18, 0x70, 0x00, 0x00, 0x00, 0x00, + // Character 126 '~' + 0x00, 0x00, 0x76, 0xDC, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 127 (DEL - block) + 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x6C, 0xC6, + 0xC6, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 128 (C cedilla) + 0x00, 0x00, 0x3C, 0x66, 0xC2, 0xC0, 0xC0, 0xC0, + 0xC2, 0x66, 0x3C, 0x0C, 0x06, 0x7C, 0x00, 0x00, + // Character 129 (u umlaut) + 0x00, 0x00, 0xCC, 0x00, 0x00, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00, + // Character 130 (e acute) + 0x00, 0x0C, 0x18, 0x30, 0x00, 0x7C, 0xC6, 0xFE, + 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, + // Character 131 (a circumflex) + 0x00, 0x10, 0x38, 0x6C, 0x00, 0x78, 0x0C, 0x7C, + 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00, + // Character 132 (a umlaut) + 0x00, 0x00, 0xCC, 0x00, 0x00, 0x78, 0x0C, 0x7C, + 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00, + // Character 133 (a grave) + 0x00, 0x60, 0x30, 0x18, 0x00, 0x78, 0x0C, 0x7C, + 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00, + // Character 134 (a ring) + 0x00, 0x38, 0x6C, 0x38, 0x00, 0x78, 0x0C, 0x7C, + 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00, + // Character 135 (c cedilla) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC0, + 0xC0, 0xC6, 0x7C, 0x0C, 0x06, 0x7C, 0x00, 0x00, + // Character 136 (e circumflex) + 0x00, 0x10, 0x38, 0x6C, 0x00, 0x7C, 0xC6, 0xFE, + 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, + // Character 137 (e umlaut) + 0x00, 0x00, 0xC6, 0x00, 0x00, 0x7C, 0xC6, 0xFE, + 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, + // Character 138 (e grave) + 0x00, 0x60, 0x30, 0x18, 0x00, 0x7C, 0xC6, 0xFE, + 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, + // Character 139 (i umlaut) + 0x00, 0x00, 0x66, 0x00, 0x00, 0x38, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00, + // Character 140 (i circumflex) + 0x00, 0x18, 0x3C, 0x66, 0x00, 0x38, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00, + // Character 141 (i grave) + 0x00, 0x60, 0x30, 0x18, 0x00, 0x38, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00, + // Character 142 (A umlaut) + 0x00, 0xC6, 0x00, 0x10, 0x38, 0x6C, 0xC6, 0xC6, + 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00, + // Character 143 (A ring) + 0x38, 0x6C, 0x38, 0x10, 0x38, 0x6C, 0xC6, 0xC6, + 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00, + // Character 144 (E acute) + 0x0C, 0x18, 0x00, 0xFE, 0x66, 0x62, 0x68, 0x78, + 0x68, 0x62, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00, + // Character 145 (ae) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x3B, 0x1B, + 0x7E, 0xD8, 0xDC, 0x77, 0x00, 0x00, 0x00, 0x00, + // Character 146 (AE) + 0x00, 0x00, 0x3E, 0x6C, 0xCC, 0xCC, 0xFE, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCE, 0x00, 0x00, 0x00, 0x00, + // Character 147 (o circumflex) + 0x00, 0x10, 0x38, 0x6C, 0x00, 0x7C, 0xC6, 0xC6, + 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, + // Character 148 (o umlaut) + 0x00, 0x00, 0xC6, 0x00, 0x00, 0x7C, 0xC6, 0xC6, + 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, + // Character 149 (o grave) + 0x00, 0x60, 0x30, 0x18, 0x00, 0x7C, 0xC6, 0xC6, + 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, + // Character 150 (u circumflex) + 0x00, 0x30, 0x78, 0xCC, 0x00, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00, + // Character 151 (u grave) + 0x00, 0x60, 0x30, 0x18, 0x00, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00, + // Character 152 (y umlaut) + 0x00, 0x00, 0xC6, 0x00, 0x00, 0xC6, 0xC6, 0xC6, + 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x0C, 0x78, 0x00, + // Character 153 (O umlaut) + 0x00, 0xC6, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, + 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, + // Character 154 (U umlaut) + 0x00, 0xC6, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, + 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, + // Character 155 (cent) + 0x00, 0x18, 0x18, 0x7C, 0xC6, 0xC0, 0xC0, 0xC0, + 0xC6, 0x7C, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, + // Character 156 (pound) + 0x00, 0x38, 0x6C, 0x64, 0x60, 0xF0, 0x60, 0x60, + 0x60, 0x60, 0xE6, 0xFC, 0x00, 0x00, 0x00, 0x00, + // Character 157 (yen) + 0x00, 0x00, 0xC6, 0x6C, 0x38, 0x38, 0xFE, 0x38, + 0xFE, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, + // Character 158 (Pt) + 0x00, 0xF8, 0xCC, 0xCC, 0xF8, 0xC4, 0xCC, 0xDE, + 0xCC, 0xCC, 0xCC, 0xC6, 0x00, 0x00, 0x00, 0x00, + // Character 159 (f hook) + 0x00, 0x0E, 0x1B, 0x18, 0x18, 0x18, 0x7E, 0x18, + 0x18, 0x18, 0xD8, 0x70, 0x00, 0x00, 0x00, 0x00, + // Character 160 (a acute) + 0x00, 0x18, 0x30, 0x60, 0x00, 0x78, 0x0C, 0x7C, + 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00, + // Character 161 (i acute) + 0x00, 0x0C, 0x18, 0x30, 0x00, 0x38, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00, + // Character 162 (o acute) + 0x00, 0x18, 0x30, 0x60, 0x00, 0x7C, 0xC6, 0xC6, + 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, + // Character 163 (u acute) + 0x00, 0x18, 0x30, 0x60, 0x00, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00, + // Character 164 (n tilde) + 0x00, 0x00, 0x76, 0xDC, 0x00, 0xDC, 0x66, 0x66, + 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, + // Character 165 (N tilde) + 0x76, 0xDC, 0x00, 0xC6, 0xE6, 0xF6, 0xFE, 0xDE, + 0xCE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00, + // Character 166 (feminine ordinal) + 0x00, 0x3C, 0x6C, 0x6C, 0x3E, 0x00, 0x7E, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 167 (masculine ordinal) + 0x00, 0x38, 0x6C, 0x6C, 0x38, 0x00, 0x7C, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 168 (inverted question) + 0x00, 0x00, 0x30, 0x30, 0x00, 0x30, 0x30, 0x60, + 0xC0, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, + // Character 169 (not left) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xC0, + 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 170 (not right) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x06, + 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 171 (fraction 1/2) + 0x00, 0xC0, 0xC0, 0xC2, 0xC6, 0xCC, 0x18, 0x30, + 0x60, 0xDC, 0x86, 0x0C, 0x18, 0x3E, 0x00, 0x00, + // Character 172 (fraction 1/4) + 0x00, 0xC0, 0xC0, 0xC2, 0xC6, 0xCC, 0x18, 0x30, + 0x66, 0xCE, 0x9E, 0x3E, 0x06, 0x06, 0x00, 0x00, + // Character 173 (inverted exclamation) + 0x00, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, + 0x3C, 0x3C, 0x3C, 0x18, 0x00, 0x00, 0x00, 0x00, + // Character 174 (double left angle) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x6C, 0xD8, + 0x6C, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 175 (double right angle) + 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0x6C, 0x36, + 0x6C, 0xD8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 176 (light shade) + 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, + 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, + // Character 177 (medium shade) + 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, + 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, + // Character 178 (dark shade) + 0xDD, 0x77, 0xDD, 0x77, 0xDD, 0x77, 0xDD, 0x77, + 0xDD, 0x77, 0xDD, 0x77, 0xDD, 0x77, 0xDD, 0x77, + // Character 179 (box vertical) + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + // Character 180 (box vertical-left) + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xF8, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + // Character 181 (box double vertical-left single) + 0x18, 0x18, 0x18, 0x18, 0x18, 0xF8, 0x18, 0xF8, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + // Character 182 (box double vertical-left) + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0xF6, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + // Character 183 (box double horizontal-down) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + // Character 184 (box double vertical-left single) + 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x18, 0xF8, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + // Character 185 (box double vertical-left double) + 0x36, 0x36, 0x36, 0x36, 0x36, 0xF6, 0x06, 0xF6, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + // Character 186 (box double vertical) + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + // Character 187 (box double down-left) + 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x06, 0xF6, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + // Character 188 (box double up-left) + 0x36, 0x36, 0x36, 0x36, 0x36, 0xF6, 0x06, 0xFE, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 189 (box double up-right) + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0xFE, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 190 (box horizontal-down) + 0x18, 0x18, 0x18, 0x18, 0x18, 0xF8, 0x18, 0xF8, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 191 (box down-left) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + // Character 192 (box up-right) + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1F, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 193 (box horizontal-up) + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 194 (box horizontal-down) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + // Character 195 (box vertical-right) + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1F, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + // Character 196 (box horizontal) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 197 (box cross) + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xFF, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + // Character 198 (box single vert-right double) + 0x18, 0x18, 0x18, 0x18, 0x18, 0x1F, 0x18, 0x1F, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + // Character 199 (box double vert-right) + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x37, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + // Character 200 (box double up-right) + 0x36, 0x36, 0x36, 0x36, 0x36, 0x37, 0x30, 0x3F, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 201 (box double down-right) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x30, 0x37, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + // Character 202 (box double horizontal-up) + 0x36, 0x36, 0x36, 0x36, 0x36, 0xF7, 0x00, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 203 (box double horizontal-down) + 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xF7, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + // Character 204 (box double vertical-right) + 0x36, 0x36, 0x36, 0x36, 0x36, 0x37, 0x30, 0x37, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + // Character 205 (box double horizontal) + 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 206 (box double cross) + 0x36, 0x36, 0x36, 0x36, 0x36, 0xF7, 0x00, 0xF7, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + // Character 207 (box single horiz-up double) + 0x18, 0x18, 0x18, 0x18, 0x18, 0xFF, 0x00, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 208 (box double horizontal-up single) + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 209 (box single horiz-down double) + 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + // Character 210 (box double horizontal-down single) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + // Character 211 (box double up-right single) + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x3F, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 212 (box single up-right double) + 0x18, 0x18, 0x18, 0x18, 0x18, 0x1F, 0x18, 0x1F, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 213 (box single down-right double) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x18, 0x1F, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + // Character 214 (box double down-right single) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + // Character 215 (box double cross single) + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0xFF, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + // Character 216 (box single cross double) + 0x18, 0x18, 0x18, 0x18, 0x18, 0xFF, 0x18, 0xFF, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + // Character 217 (box up-left) + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xF8, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 218 (box down-right) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + // Character 219 (full block) + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + // Character 220 (bottom half block) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + // Character 221 (left half block) + 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, + 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, + // Character 222 (right half block) + 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, + 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, + // Character 223 (top half block) + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 224 (alpha) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDC, 0xD8, + 0xD8, 0xD8, 0xDC, 0x76, 0x00, 0x00, 0x00, 0x00, + // Character 225 (beta/sharp s) + 0x00, 0x00, 0x78, 0xCC, 0xCC, 0xCC, 0xD8, 0xCC, + 0xC6, 0xC6, 0xC6, 0xCC, 0x00, 0x00, 0x00, 0x00, + // Character 226 (gamma) + 0x00, 0x00, 0xFE, 0xC6, 0xC6, 0xC0, 0xC0, 0xC0, + 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, + // Character 227 (pi) + 0x00, 0x00, 0x00, 0x00, 0xFE, 0x6C, 0x6C, 0x6C, + 0x6C, 0x6C, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00, + // Character 228 (sigma uppercase) + 0x00, 0x00, 0x00, 0xFE, 0xC6, 0x60, 0x30, 0x18, + 0x30, 0x60, 0xC6, 0xFE, 0x00, 0x00, 0x00, 0x00, + // Character 229 (sigma lowercase) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0x70, 0x00, 0x00, 0x00, 0x00, + // Character 230 (mu) + 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, + 0x66, 0x7C, 0x60, 0x60, 0xC0, 0x00, 0x00, 0x00, + // Character 231 (tau) + 0x00, 0x00, 0x00, 0x00, 0x76, 0xDC, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, + // Character 232 (phi uppercase) + 0x00, 0x00, 0x00, 0x7E, 0x18, 0x3C, 0x66, 0x66, + 0x66, 0x3C, 0x18, 0x7E, 0x00, 0x00, 0x00, 0x00, + // Character 233 (theta) + 0x00, 0x00, 0x00, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, + 0xC6, 0xC6, 0x6C, 0x38, 0x00, 0x00, 0x00, 0x00, + // Character 234 (omega) + 0x00, 0x00, 0x38, 0x6C, 0xC6, 0xC6, 0xC6, 0xC6, + 0x6C, 0x6C, 0x6C, 0xEE, 0x00, 0x00, 0x00, 0x00, + // Character 235 (delta) + 0x00, 0x00, 0x1E, 0x30, 0x18, 0x0C, 0x3E, 0x66, + 0x66, 0x66, 0x66, 0x3C, 0x00, 0x00, 0x00, 0x00, + // Character 236 (infinity) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDB, 0xDB, + 0xDB, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 237 (phi lowercase) + 0x00, 0x00, 0x00, 0x02, 0x06, 0x7C, 0xCE, 0xDE, + 0xF6, 0xE6, 0x7C, 0xC0, 0x80, 0x00, 0x00, 0x00, + // Character 238 (epsilon) + 0x00, 0x00, 0x1C, 0x30, 0x60, 0x60, 0x7C, 0x60, + 0x60, 0x60, 0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, + // Character 239 (intersection) + 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, + 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00, + // Character 240 (triple bar) + 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, + 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 241 (plus-minus) + 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7E, 0x18, + 0x18, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, + // Character 242 (greater-equal) + 0x00, 0x00, 0x00, 0x30, 0x18, 0x0C, 0x06, 0x0C, + 0x18, 0x30, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, + // Character 243 (less-equal) + 0x00, 0x00, 0x00, 0x0C, 0x18, 0x30, 0x60, 0x30, + 0x18, 0x0C, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, + // Character 244 (top integral) + 0x00, 0x00, 0x0E, 0x1B, 0x1B, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + // Character 245 (bottom integral) + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0xD8, 0xD8, 0xD8, 0x70, 0x00, 0x00, 0x00, + // Character 246 (division) + 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x7E, + 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 247 (approximately equal) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDC, 0x00, + 0x76, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 248 (degree) + 0x00, 0x38, 0x6C, 0x6C, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 249 (bullet operator) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, + 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 250 (middle dot) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 251 (square root) + 0x00, 0x0F, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0xEC, + 0x6C, 0x6C, 0x3C, 0x1C, 0x00, 0x00, 0x00, 0x00, + // Character 252 (superscript n) + 0x00, 0xD8, 0x6C, 0x6C, 0x6C, 0x6C, 0x6C, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 253 (superscript 2) + 0x00, 0x70, 0xD8, 0x30, 0x60, 0xC8, 0xF8, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 254 (filled square) + 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7C, 0x7C, 0x7C, + 0x7C, 0x7C, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, + // Character 255 (non-breaking space) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +} // namespace gui diff --git a/programs/src/desktop/main.cpp b/programs/src/desktop/main.cpp new file mode 100644 index 0000000..6ec9f33 --- /dev/null +++ b/programs/src/desktop/main.cpp @@ -0,0 +1,1208 @@ +/* + * main.cpp + * ZenithOS Desktop Environment - window manager, compositor, and applications + * Copyright (c) 2026 Daniel Hammer +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// Placement new for freestanding environment +inline void* operator new(unsigned long, void* p) { return p; } + +using namespace gui; + +// ============================================================================ +// Minimal snprintf (copied from init/main.cpp pattern) +// ============================================================================ + +using va_list = __builtin_va_list; +#define va_start __builtin_va_start +#define va_end __builtin_va_end +#define va_arg __builtin_va_arg + +struct PfState { char* buf; int pos; int max; }; + +static void pf_putc(PfState* st, char c) { + if (st->pos < st->max) st->buf[st->pos] = c; + st->pos++; +} + +static void pf_putnum(PfState* st, unsigned long val, int base, int width, char pad, int neg) { + char tmp[24]; int i = 0; + const char* digits = "0123456789abcdef"; + if (val == 0) { tmp[i++] = '0'; } + else { while (val > 0) { tmp[i++] = digits[val % base]; val /= base; } } + int total = (neg ? 1 : 0) + i; + if (neg && pad == '0') pf_putc(st, '-'); + for (int w = total; w < width; w++) pf_putc(st, pad); + if (neg && pad != '0') pf_putc(st, '-'); + while (i > 0) pf_putc(st, tmp[--i]); +} + +static int snprintf(char* buf, int size, const char* fmt, ...) { + va_list ap; va_start(ap, fmt); + PfState st; st.buf = buf; st.pos = 0; st.max = size > 0 ? size - 1 : 0; + while (*fmt) { + if (*fmt != '%') { pf_putc(&st, *fmt++); continue; } + fmt++; + char pad = ' '; + if (*fmt == '0') { pad = '0'; fmt++; } + int width = 0; + while (*fmt >= '0' && *fmt <= '9') { width = width * 10 + (*fmt - '0'); fmt++; } + if (*fmt == 'l') fmt++; + switch (*fmt) { + case 'd': case 'i': { + long val = va_arg(ap, int); + int neg = 0; unsigned long uval; + if (val < 0) { neg = 1; uval = (unsigned long)(-val); } else uval = (unsigned long)val; + pf_putnum(&st, uval, 10, width, pad, neg); break; + } + case 'u': { unsigned val = va_arg(ap, unsigned); pf_putnum(&st, val, 10, width, pad, 0); break; } + case 'x': { unsigned val = va_arg(ap, unsigned); pf_putnum(&st, val, 16, width, pad, 0); break; } + case 's': { + const char* s = va_arg(ap, const char*); if (!s) s = "(null)"; + int slen = 0; while (s[slen]) slen++; + for (int w = slen; w < width; w++) pf_putc(&st, ' '); + for (int j = 0; j < slen; j++) pf_putc(&st, s[j]); + break; + } + case 'c': { char c = (char)va_arg(ap, int); pf_putc(&st, c); break; } + case '%': pf_putc(&st, '%'); break; + default: pf_putc(&st, '%'); pf_putc(&st, *fmt); break; + } + if (*fmt) fmt++; + } + if (size > 0) { if (st.pos < size) st.buf[st.pos] = '\0'; else st.buf[size - 1] = '\0'; } + va_end(ap); return st.pos; +} + +// ============================================================================ +// String helpers +// ============================================================================ + +static void str_append(char* dst, const char* src, int max) { + int len = zenith::slen(dst); + int i = 0; + while (src[i] && len < max - 1) { + dst[len++] = src[i++]; + } + dst[len] = '\0'; +} + +// ============================================================================ +// File Manager Application +// ============================================================================ + +struct FileManagerState { + char current_path[256]; + char entry_names[64][64]; + int entry_count; + int selected; + int scroll_offset; + bool is_dir[64]; +}; + +static void filemanager_read_dir(FileManagerState* fm) { + const char* names[64]; + fm->entry_count = zenith::readdir(fm->current_path, names, 64); + if (fm->entry_count < 0) fm->entry_count = 0; + for (int i = 0; i < fm->entry_count; i++) { + zenith::strncpy(fm->entry_names[i], names[i], 63); + // Heuristic: entries ending with '/' or without '.' are directories + int len = zenith::slen(fm->entry_names[i]); + if (len > 0 && fm->entry_names[i][len - 1] == '/') { + fm->is_dir[i] = true; + fm->entry_names[i][len - 1] = '\0'; // strip trailing slash + } else { + // Check if entry has an extension (has a dot) + bool has_dot = false; + for (int j = 0; j < len; j++) { + if (fm->entry_names[i][j] == '.') { has_dot = true; break; } + } + fm->is_dir[i] = !has_dot; + } + } + fm->selected = -1; + fm->scroll_offset = 0; +} + +static void filemanager_navigate(FileManagerState* fm, const char* name) { + // Build new path + int path_len = zenith::slen(fm->current_path); + if (path_len > 0 && fm->current_path[path_len - 1] != '/') { + str_append(fm->current_path, "/", 256); + } + str_append(fm->current_path, name, 256); + filemanager_read_dir(fm); +} + +static void filemanager_go_up(FileManagerState* fm) { + int len = zenith::slen(fm->current_path); + if (len <= 3) return; // "0:/" is root + + // Remove trailing slash if present + if (len > 0 && fm->current_path[len - 1] == '/') { + fm->current_path[len - 1] = '\0'; + len--; + } + + // Find last slash + int last_slash = -1; + for (int i = len - 1; i >= 0; i--) { + if (fm->current_path[i] == '/') { last_slash = i; break; } + } + if (last_slash >= 0) { + fm->current_path[last_slash + 1] = '\0'; + } + filemanager_read_dir(fm); +} + +static void filemanager_on_draw(Window* win, Framebuffer& fb) { + FileManagerState* fm = (FileManagerState*)win->app_data; + if (!fm) return; + + Rect cr = win->content_rect(); + int cw = cr.w; + int ch = cr.h; + + // Render to content buffer + uint32_t* pixels = win->content; + uint32_t bg_px = colors::WINDOW_BG.to_pixel(); + for (int i = 0; i < cw * ch; i++) pixels[i] = bg_px; + + // Draw path bar at top (24px tall, light gray background) + uint32_t pathbar_px = Color::from_rgb(0xF0, 0xF0, 0xF0).to_pixel(); + for (int y = 0; y < 24 && y < ch; y++) + for (int x = 0; x < cw; x++) + pixels[y * cw + x] = pathbar_px; + + // Draw path text + { + int tx = 8; + int ty = 4; + uint32_t fg_px = colors::TEXT_COLOR.to_pixel(); + for (int ci = 0; fm->current_path[ci] && tx + FONT_WIDTH <= cw; ci++) { + const uint8_t* glyph = &font_data[(unsigned char)fm->current_path[ci] * FONT_HEIGHT]; + for (int fy = 0; fy < FONT_HEIGHT && ty + fy < ch; fy++) { + uint8_t bits = glyph[fy]; + for (int fx = 0; fx < FONT_WIDTH; fx++) { + if (bits & (0x80 >> fx)) { + int dx = tx + fx; + int dy = ty + fy; + if (dx < cw && dy < ch) + pixels[dy * cw + dx] = fg_px; + } + } + } + tx += FONT_WIDTH; + } + } + + // Draw separator line + uint32_t sep_px = colors::BORDER.to_pixel(); + if (24 < ch) { + for (int x = 0; x < cw; x++) + pixels[24 * cw + x] = sep_px; + } + + // Draw file entries + int item_height = 24; + int start_y = 26; + int visible_items = (ch - start_y) / item_height; + + for (int i = fm->scroll_offset; i < fm->entry_count && (i - fm->scroll_offset) < visible_items; i++) { + int iy = start_y + (i - fm->scroll_offset) * item_height; + if (iy + item_height > ch) break; + + // Highlight selected + if (i == fm->selected) { + uint32_t sel_px = colors::MENU_HOVER.to_pixel(); + for (int y = iy; y < iy + item_height && y < ch; y++) + for (int x = 0; x < cw; x++) + pixels[y * cw + x] = sel_px; + } + + // Draw icon placeholder (small colored square) + uint32_t icon_px; + if (fm->is_dir[i]) { + icon_px = Color::from_rgb(0xFF, 0xBD, 0x2E).to_pixel(); // folder yellow + } else { + icon_px = Color::from_rgb(0x90, 0x90, 0x90).to_pixel(); // file gray + } + int icon_x = 8; + int icon_y = iy + 4; + for (int dy = 0; dy < 16 && icon_y + dy < ch; dy++) + for (int dx = 0; dx < 16 && icon_x + dx < cw; dx++) + pixels[(icon_y + dy) * cw + (icon_x + dx)] = icon_px; + + // Draw entry name + int tx = 30; + int ty = iy + 4; + uint32_t text_px = colors::TEXT_COLOR.to_pixel(); + for (int ci = 0; fm->entry_names[i][ci] && tx + FONT_WIDTH <= cw; ci++) { + const uint8_t* glyph = &font_data[(unsigned char)fm->entry_names[i][ci] * FONT_HEIGHT]; + for (int fy = 0; fy < FONT_HEIGHT && ty + fy < ch; fy++) { + uint8_t bits = glyph[fy]; + for (int fx = 0; fx < FONT_WIDTH; fx++) { + if (bits & (0x80 >> fx)) { + int dx = tx + fx; + int dy = ty + fy; + if (dx < cw && dy < ch) + pixels[dy * cw + dx] = text_px; + } + } + } + tx += FONT_WIDTH; + } + } +} + +static void filemanager_on_mouse(Window* win, MouseEvent& ev) { + FileManagerState* fm = (FileManagerState*)win->app_data; + if (!fm) return; + + Rect cr = win->content_rect(); + int local_y = ev.y - cr.y; + + if (ev.left_pressed()) { + int item_height = 24; + int start_y = 26; + int clicked_idx = fm->scroll_offset + (local_y - start_y) / item_height; + + if (local_y >= start_y && clicked_idx >= 0 && clicked_idx < fm->entry_count) { + if (fm->selected == clicked_idx) { + // Double-click: navigate into directory + if (fm->is_dir[clicked_idx]) { + filemanager_navigate(fm, fm->entry_names[clicked_idx]); + } + } else { + fm->selected = clicked_idx; + } + } + } + + // Scroll handling + if (ev.scroll != 0) { + fm->scroll_offset -= ev.scroll; + if (fm->scroll_offset < 0) fm->scroll_offset = 0; + int max_off = fm->entry_count - ((cr.h - 26) / 24); + if (max_off < 0) max_off = 0; + if (fm->scroll_offset > max_off) fm->scroll_offset = max_off; + } +} + +static void filemanager_on_key(Window* win, const Zenith::KeyEvent& key) { + FileManagerState* fm = (FileManagerState*)win->app_data; + if (!fm || !key.pressed) return; + + if (key.ascii == '\b' || key.scancode == 0x0E) { + filemanager_go_up(fm); + } else if (key.scancode == 0x48) { + // Up arrow + if (fm->selected > 0) fm->selected--; + } else if (key.scancode == 0x50) { + // Down arrow + if (fm->selected < fm->entry_count - 1) fm->selected++; + } else if (key.ascii == '\n' || key.ascii == '\r') { + if (fm->selected >= 0 && fm->selected < fm->entry_count) { + if (fm->is_dir[fm->selected]) { + filemanager_navigate(fm, fm->entry_names[fm->selected]); + } + } + } +} + +static void filemanager_on_close(Window* win) { + if (win->app_data) { + zenith::mfree(win->app_data); + win->app_data = nullptr; + } +} + +// ============================================================================ +// System Info Application +// ============================================================================ + +struct SysInfoState { + Zenith::SysInfo sys_info; + Zenith::NetCfg net_cfg; + uint64_t uptime_ms; +}; + +static void draw_text_to_pixels(uint32_t* pixels, int pw, int ph, + int tx, int ty, const char* text, uint32_t color_px) { + for (int i = 0; text[i] && tx + (i + 1) * FONT_WIDTH <= pw; i++) { + const uint8_t* glyph = &font_data[(unsigned char)text[i] * FONT_HEIGHT]; + int cx = tx + i * FONT_WIDTH; + for (int fy = 0; fy < FONT_HEIGHT && ty + fy < ph; fy++) { + uint8_t bits = glyph[fy]; + for (int fx = 0; fx < FONT_WIDTH; fx++) { + if (bits & (0x80 >> fx)) { + int dx = cx + fx; + int dy = ty + fy; + if (dx >= 0 && dx < pw && dy >= 0 && dy < ph) + pixels[dy * pw + dx] = color_px; + } + } + } + } +} + +static void sysinfo_on_draw(Window* win, Framebuffer& fb) { + SysInfoState* si = (SysInfoState*)win->app_data; + if (!si) return; + + // Refresh uptime + si->uptime_ms = zenith::get_milliseconds(); + + Rect cr = win->content_rect(); + int cw = cr.w; + int ch = cr.h; + uint32_t* pixels = win->content; + + // Fill background + uint32_t bg_px = colors::WINDOW_BG.to_pixel(); + for (int i = 0; i < cw * ch; i++) pixels[i] = bg_px; + + uint32_t text_px = colors::TEXT_COLOR.to_pixel(); + uint32_t accent_px = colors::ACCENT.to_pixel(); + int y = 16; + int x = 16; + char line[128]; + + // Title + draw_text_to_pixels(pixels, cw, ch, x, y, "System Information", accent_px); + y += FONT_HEIGHT + 12; + + // Separator + uint32_t sep_px = colors::BORDER.to_pixel(); + for (int sx = x; sx < cw - x && y < ch; sx++) + pixels[y * cw + sx] = sep_px; + y += 8; + + // OS Name + snprintf(line, sizeof(line), "OS: %s", si->sys_info.osName); + draw_text_to_pixels(pixels, cw, ch, x, y, line, text_px); + y += FONT_HEIGHT + 6; + + // OS Version + snprintf(line, sizeof(line), "Version: %s", si->sys_info.osVersion); + draw_text_to_pixels(pixels, cw, ch, x, y, line, text_px); + y += FONT_HEIGHT + 6; + + // API Version + snprintf(line, sizeof(line), "API: %d", (int)si->sys_info.apiVersion); + draw_text_to_pixels(pixels, cw, ch, x, y, line, text_px); + y += FONT_HEIGHT + 6; + + // Max Processes + snprintf(line, sizeof(line), "Max PIDs: %d", (int)si->sys_info.maxProcesses); + draw_text_to_pixels(pixels, cw, ch, x, y, line, text_px); + y += FONT_HEIGHT + 12; + + // Uptime + int up_sec = (int)(si->uptime_ms / 1000); + int up_min = up_sec / 60; + int up_hr = up_min / 60; + snprintf(line, sizeof(line), "Uptime: %d:%02d:%02d", up_hr, up_min % 60, up_sec % 60); + draw_text_to_pixels(pixels, cw, ch, x, y, line, text_px); + y += FONT_HEIGHT + 12; + + // Network section + draw_text_to_pixels(pixels, cw, ch, x, y, "Network", accent_px); + y += FONT_HEIGHT + 8; + + for (int sx = x; sx < cw - x && y < ch; sx++) + pixels[y * cw + sx] = sep_px; + y += 8; + + // IP Address + uint32_t ip = si->net_cfg.ipAddress; + snprintf(line, sizeof(line), "IP: %d.%d.%d.%d", + (int)(ip & 0xFF), (int)((ip >> 8) & 0xFF), + (int)((ip >> 16) & 0xFF), (int)((ip >> 24) & 0xFF)); + draw_text_to_pixels(pixels, cw, ch, x, y, line, text_px); + y += FONT_HEIGHT + 6; + + // Subnet + uint32_t mask = si->net_cfg.subnetMask; + snprintf(line, sizeof(line), "Subnet: %d.%d.%d.%d", + (int)(mask & 0xFF), (int)((mask >> 8) & 0xFF), + (int)((mask >> 16) & 0xFF), (int)((mask >> 24) & 0xFF)); + draw_text_to_pixels(pixels, cw, ch, x, y, line, text_px); + y += FONT_HEIGHT + 6; + + // Gateway + uint32_t gw = si->net_cfg.gateway; + snprintf(line, sizeof(line), "Gateway: %d.%d.%d.%d", + (int)(gw & 0xFF), (int)((gw >> 8) & 0xFF), + (int)((gw >> 16) & 0xFF), (int)((gw >> 24) & 0xFF)); + draw_text_to_pixels(pixels, cw, ch, x, y, line, text_px); + y += FONT_HEIGHT + 6; + + // DNS + uint32_t dns = si->net_cfg.dnsServer; + snprintf(line, sizeof(line), "DNS: %d.%d.%d.%d", + (int)(dns & 0xFF), (int)((dns >> 8) & 0xFF), + (int)((dns >> 16) & 0xFF), (int)((dns >> 24) & 0xFF)); + draw_text_to_pixels(pixels, cw, ch, x, y, line, text_px); + y += FONT_HEIGHT + 6; + + // MAC Address + snprintf(line, sizeof(line), "MAC: %02x:%02x:%02x:%02x:%02x:%02x", + (unsigned)si->net_cfg.macAddress[0], (unsigned)si->net_cfg.macAddress[1], + (unsigned)si->net_cfg.macAddress[2], (unsigned)si->net_cfg.macAddress[3], + (unsigned)si->net_cfg.macAddress[4], (unsigned)si->net_cfg.macAddress[5]); + draw_text_to_pixels(pixels, cw, ch, x, y, line, text_px); +} + +static void sysinfo_on_close(Window* win) { + if (win->app_data) { + zenith::mfree(win->app_data); + win->app_data = nullptr; + } +} + +// ============================================================================ +// Terminal Application +// ============================================================================ + +static void terminal_on_draw(Window* win, Framebuffer& fb) { + TerminalState* ts = (TerminalState*)win->app_data; + if (!ts) return; + + Rect cr = win->content_rect(); + terminal_render(ts, win->content, cr.w, cr.h); +} + +static void terminal_on_mouse(Window* win, MouseEvent& ev) { + // Terminal doesn't need mouse handling for now +} + +static void terminal_on_key(Window* win, const Zenith::KeyEvent& key) { + TerminalState* ts = (TerminalState*)win->app_data; + if (!ts) return; + terminal_handle_key(ts, key); +} + +static void terminal_on_close(Window* win) { + TerminalState* ts = (TerminalState*)win->app_data; + if (ts) { + if (ts->cells) zenith::mfree(ts->cells); + zenith::mfree(ts); + win->app_data = nullptr; + } +} + +// ============================================================================ +// Application Launchers +// ============================================================================ + +static DesktopState* g_desktop; + +static void open_terminal(DesktopState* ds) { + int idx = desktop_create_window(ds, "Terminal", 200, 80, 648, 480); + if (idx < 0) return; + + Window* win = &ds->windows[idx]; + Rect cr = win->content_rect(); + int cols = cr.w / FONT_WIDTH; + int rows = cr.h / FONT_HEIGHT; + + TerminalState* ts = (TerminalState*)zenith::malloc(sizeof(TerminalState)); + zenith::memset(ts, 0, sizeof(TerminalState)); + terminal_init(ts, cols, rows); + + win->app_data = ts; + win->on_draw = terminal_on_draw; + win->on_mouse = terminal_on_mouse; + win->on_key = terminal_on_key; + win->on_close = terminal_on_close; +} + +static void open_filemanager(DesktopState* ds) { + int idx = desktop_create_window(ds, "Files", 150, 120, 500, 400); + if (idx < 0) return; + + Window* win = &ds->windows[idx]; + FileManagerState* fm = (FileManagerState*)zenith::malloc(sizeof(FileManagerState)); + zenith::memset(fm, 0, sizeof(FileManagerState)); + zenith::strcpy(fm->current_path, "0:/"); + fm->selected = -1; + filemanager_read_dir(fm); + + win->app_data = fm; + win->on_draw = filemanager_on_draw; + win->on_mouse = filemanager_on_mouse; + win->on_key = filemanager_on_key; + win->on_close = filemanager_on_close; +} + +static void open_sysinfo(DesktopState* ds) { + int idx = desktop_create_window(ds, "System Info", 300, 100, 400, 380); + if (idx < 0) return; + + Window* win = &ds->windows[idx]; + SysInfoState* si = (SysInfoState*)zenith::malloc(sizeof(SysInfoState)); + zenith::memset(si, 0, sizeof(SysInfoState)); + zenith::get_info(&si->sys_info); + zenith::get_netcfg(&si->net_cfg); + si->uptime_ms = zenith::get_milliseconds(); + + win->app_data = si; + win->on_draw = sysinfo_on_draw; + win->on_mouse = nullptr; + win->on_key = nullptr; + win->on_close = sysinfo_on_close; +} + +// App menu click callbacks +static void on_click_terminal(void* ud) { + DesktopState* ds = (DesktopState*)ud; + open_terminal(ds); + ds->app_menu_open = false; +} + +static void on_click_filemanager(void* ud) { + DesktopState* ds = (DesktopState*)ud; + open_filemanager(ds); + ds->app_menu_open = false; +} + +static void on_click_sysinfo(void* ud) { + DesktopState* ds = (DesktopState*)ud; + open_sysinfo(ds); + ds->app_menu_open = false; +} + +// ============================================================================ +// Desktop Implementation +// ============================================================================ + +void gui::desktop_init(DesktopState* ds) { + ds->screen_w = ds->fb.width(); + ds->screen_h = ds->fb.height(); + + // Immediately clear the screen to hide flanterm boot text + ds->fb.clear(colors::DESKTOP_BG); + ds->fb.flip(); + + ds->window_count = 0; + ds->focused_window = -1; + ds->prev_buttons = 0; + ds->app_menu_open = false; + + zenith::memset(&ds->mouse, 0, sizeof(Zenith::MouseState)); + zenith::set_mouse_bounds(ds->screen_w - 1, ds->screen_h - 1); + + // Load SVG icons (filenames match those copied by scripts/copy_icons.sh) + ds->icon_terminal = svg_load("0:/icons/utilities-terminal-symbolic.svg", 20, 20, colors::ICON_COLOR); + ds->icon_filemanager = svg_load("0:/icons/system-file-manager-symbolic.svg", 20, 20, colors::ICON_COLOR); + ds->icon_sysinfo = svg_load("0:/icons/preferences-desktop-apps-symbolic.svg", 20, 20, colors::ICON_COLOR); + ds->icon_appmenu = svg_load("0:/icons/view-app-grid-symbolic.svg", 20, 20, colors::PANEL_TEXT); + ds->icon_folder = svg_load("0:/icons/folder-symbolic.svg", 16, 16, Color::from_rgb(0xFF, 0xBD, 0x2E)); + ds->icon_file = svg_load("0:/icons/text-x-generic-symbolic.svg", 16, 16, colors::ICON_COLOR); + ds->icon_computer = svg_load("0:/icons/computer-symbolic.svg", 20, 20, colors::ICON_COLOR); + + // Open initial terminal window + open_terminal(ds); +} + +int gui::desktop_create_window(DesktopState* ds, const char* title, int x, int y, int w, int h) { + if (ds->window_count >= MAX_WINDOWS) return -1; + + int idx = ds->window_count; + Window* win = &ds->windows[idx]; + zenith::memset(win, 0, sizeof(Window)); + + zenith::strncpy(win->title, title, MAX_TITLE_LEN); + win->frame = {x, y, w, h}; + win->state = WIN_NORMAL; + win->z_order = idx; + win->focused = true; + win->dirty = true; + win->dragging = false; + win->resizing = false; + win->saved_frame = win->frame; + + // Allocate content buffer + Rect cr = win->content_rect(); + win->content_w = cr.w; + win->content_h = cr.h; + int buf_size = cr.w * cr.h * 4; + win->content = (uint32_t*)zenith::alloc(buf_size); + zenith::memset(win->content, 0xFF, buf_size); + + win->on_draw = nullptr; + win->on_mouse = nullptr; + win->on_key = nullptr; + win->on_close = nullptr; + win->app_data = nullptr; + + // Unfocus previous window + if (ds->focused_window >= 0 && ds->focused_window < ds->window_count) { + ds->windows[ds->focused_window].focused = false; + } + ds->focused_window = idx; + ds->window_count++; + + return idx; +} + +void gui::desktop_close_window(DesktopState* ds, int idx) { + if (idx < 0 || idx >= ds->window_count) return; + + Window* win = &ds->windows[idx]; + if (win->on_close) win->on_close(win); + + // Free content buffer + if (win->content) { + zenith::free(win->content); + win->content = nullptr; + } + + // Shift remaining windows down + for (int i = idx; i < ds->window_count - 1; i++) { + ds->windows[i] = ds->windows[i + 1]; + } + ds->window_count--; + + // Fix focused window index + if (ds->focused_window == idx) { + ds->focused_window = ds->window_count > 0 ? ds->window_count - 1 : -1; + } else if (ds->focused_window > idx) { + ds->focused_window--; + } + + if (ds->focused_window >= 0 && ds->focused_window < ds->window_count) { + ds->windows[ds->focused_window].focused = true; + } +} + +void gui::desktop_raise_window(DesktopState* ds, int idx) { + if (idx < 0 || idx >= ds->window_count) return; + if (idx == ds->window_count - 1) { + // Already on top, just focus + if (ds->focused_window >= 0 && ds->focused_window < ds->window_count) + ds->windows[ds->focused_window].focused = false; + ds->focused_window = idx; + ds->windows[idx].focused = true; + return; + } + + // Unfocus current + if (ds->focused_window >= 0 && ds->focused_window < ds->window_count) { + ds->windows[ds->focused_window].focused = false; + } + + // Move window to end (top of stack) + Window tmp = ds->windows[idx]; + for (int i = idx; i < ds->window_count - 1; i++) { + ds->windows[i] = ds->windows[i + 1]; + } + ds->windows[ds->window_count - 1] = tmp; + + ds->focused_window = ds->window_count - 1; + ds->windows[ds->focused_window].focused = true; +} + +void gui::desktop_draw_window(DesktopState* ds, int idx) { + if (idx < 0 || idx >= ds->window_count) return; + Window* win = &ds->windows[idx]; + if (win->state == WIN_MINIMIZED || win->state == WIN_CLOSED) return; + + Framebuffer& fb = ds->fb; + int x = win->frame.x; + int y = win->frame.y; + int w = win->frame.w; + int h = win->frame.h; + + // Draw shadow + draw_shadow(fb, x, y, w, h, SHADOW_SIZE, colors::SHADOW); + + // Draw window body + fb.fill_rect(x, y, w, h, colors::WINDOW_BG); + + // Draw titlebar + Color tb_bg = win->focused ? colors::TITLEBAR_BG : Color::from_rgb(0xE8, 0xE8, 0xE8); + fb.fill_rect(x, y, w, TITLEBAR_HEIGHT, tb_bg); + + // Draw border + draw_rect(fb, x, y, w, h, colors::BORDER); + // Titlebar bottom separator + draw_hline(fb, x, y + TITLEBAR_HEIGHT - 1, w, colors::BORDER); + + // Draw window buttons (macOS style: close, minimize, maximize) + Rect close_r = win->close_btn_rect(); + Rect min_r = win->min_btn_rect(); + Rect max_r = win->max_btn_rect(); + + fill_circle(fb, close_r.x + BTN_RADIUS, close_r.y + BTN_RADIUS, BTN_RADIUS, colors::CLOSE_BTN); + fill_circle(fb, min_r.x + BTN_RADIUS, min_r.y + BTN_RADIUS, BTN_RADIUS, colors::MIN_BTN); + fill_circle(fb, max_r.x + BTN_RADIUS, max_r.y + BTN_RADIUS, BTN_RADIUS, colors::MAX_BTN); + + // Draw title text centered in titlebar (after buttons) + int title_x = x + 12 + 44 + BTN_RADIUS * 2 + 12; // after buttons + int title_y = y + (TITLEBAR_HEIGHT - FONT_HEIGHT) / 2; + int title_w = text_width(win->title); + // Center in remaining space + int remaining_w = w - (title_x - x) - 12; + if (remaining_w > title_w) { + title_x += (remaining_w - title_w) / 2; + } + draw_text(fb, title_x, title_y, win->title, colors::TEXT_COLOR); + + // Call app draw callback to render content + if (win->on_draw) { + win->on_draw(win, fb); + } + + // Blit content buffer to framebuffer + Rect cr = win->content_rect(); + if (win->content) { + fb.blit(cr.x, cr.y, cr.w, cr.h, win->content); + } +} + +void gui::desktop_draw_panel(DesktopState* ds) { + Framebuffer& fb = ds->fb; + int sw = ds->screen_w; + + // Panel background + fb.fill_rect(0, 0, sw, PANEL_HEIGHT, colors::PANEL_BG); + + // App menu button (left side) + int btn_x = 4; + int btn_y = 2; + int btn_w = 28; + int btn_h = 28; + + // Draw grid icon for app menu (3x3 dots) + if (ds->icon_appmenu.pixels) { + int ix = btn_x + (btn_w - ds->icon_appmenu.width) / 2; + int iy = btn_y + (btn_h - ds->icon_appmenu.height) / 2; + fb.blit_alpha(ix, iy, ds->icon_appmenu.width, ds->icon_appmenu.height, ds->icon_appmenu.pixels); + } else { + // Fallback: draw 3x3 grid of small squares + for (int gr = 0; gr < 3; gr++) { + for (int gc = 0; gc < 3; gc++) { + int dx = btn_x + 6 + gc * 6; + int dy = btn_y + 6 + gr * 6; + fb.fill_rect(dx, dy, 3, 3, colors::PANEL_TEXT); + } + } + } + + // Window indicator buttons (center area) + int indicator_x = 40; + for (int i = 0; i < ds->window_count; i++) { + Window* win = &ds->windows[i]; + if (win->state == WIN_CLOSED) continue; + + int tw = text_width(win->title); + int pad = 12; + int iw = tw + pad * 2; + if (iw > 150) iw = 150; + + Color btn_bg = (i == ds->focused_window) + ? Color::from_rgba(0xFF, 0xFF, 0xFF, 0x30) + : Color::from_rgba(0xFF, 0xFF, 0xFF, 0x10); + + fb.fill_rect_alpha(indicator_x, 4, iw, 24, btn_bg); + + // Truncate title if too long + char short_title[20]; + zenith::strncpy(short_title, win->title, 18); + + int tx = indicator_x + pad; + int ty = 4 + (24 - FONT_HEIGHT) / 2; + draw_text(fb, tx, ty, short_title, colors::PANEL_TEXT); + + indicator_x += iw + 4; + } + + // Clock (right side) + Zenith::DateTime dt; + zenith::gettime(&dt); + char clock_str[8]; + snprintf(clock_str, sizeof(clock_str), "%02d:%02d", (int)dt.Hour, (int)dt.Minute); + int clock_w = text_width(clock_str); + int clock_x = sw - clock_w - 12; + int clock_y = (PANEL_HEIGHT - FONT_HEIGHT) / 2; + draw_text(fb, clock_x, clock_y, clock_str, colors::PANEL_TEXT); +} + +static void desktop_draw_app_menu(DesktopState* ds) { + Framebuffer& fb = ds->fb; + + int menu_x = 4; + int menu_y = PANEL_HEIGHT + 2; + int menu_w = 200; + int item_h = 36; + int menu_h = item_h * 3 + 8; + + // Menu shadow + draw_shadow(fb, menu_x, menu_y, menu_w, menu_h, 4, colors::SHADOW); + + // Menu background + fb.fill_rect(menu_x, menu_y, menu_w, menu_h, colors::MENU_BG); + draw_rect(fb, menu_x, menu_y, menu_w, menu_h, colors::BORDER); + + // Menu items + struct MenuItem { + const char* label; + SvgIcon* icon; + }; + MenuItem items[3] = { + { "Terminal", &ds->icon_terminal }, + { "Files", &ds->icon_filemanager }, + { "System Info", &ds->icon_sysinfo } + }; + + int mx = ds->mouse.x; + int my = ds->mouse.y; + + for (int i = 0; i < 3; i++) { + int iy = menu_y + 4 + i * item_h; + Rect item_rect = {menu_x + 4, iy, menu_w - 8, item_h}; + + // Hover highlight + if (item_rect.contains(mx, my)) { + fill_rounded_rect(fb, item_rect.x, item_rect.y, item_rect.w, item_rect.h, 4, colors::MENU_HOVER); + } + + // Icon + int icon_x = item_rect.x + 8; + int icon_y = item_rect.y + (item_h - 20) / 2; + if (items[i].icon && items[i].icon->pixels) { + fb.blit_alpha(icon_x, icon_y, items[i].icon->width, items[i].icon->height, items[i].icon->pixels); + } + + // Label + int tx = icon_x + 28; + int ty = item_rect.y + (item_h - FONT_HEIGHT) / 2; + draw_text(fb, tx, ty, items[i].label, colors::TEXT_COLOR); + } +} + +void gui::desktop_compose(DesktopState* ds) { + Framebuffer& fb = ds->fb; + + // Desktop background + fb.clear(colors::DESKTOP_BG); + + // Draw windows from bottom to top (index 0 = bottom) + for (int i = 0; i < ds->window_count; i++) { + if (ds->windows[i].state != WIN_MINIMIZED && ds->windows[i].state != WIN_CLOSED) { + desktop_draw_window(ds, i); + } + } + + // Draw panel on top of everything + desktop_draw_panel(ds); + + // Draw app menu if open + if (ds->app_menu_open) { + desktop_draw_app_menu(ds); + } + + // Draw cursor last (on top of everything) + draw_cursor(fb, ds->mouse.x, ds->mouse.y); +} + +void gui::desktop_handle_mouse(DesktopState* ds) { + int mx = ds->mouse.x; + int my = ds->mouse.y; + uint8_t buttons = ds->mouse.buttons; + uint8_t prev = ds->prev_buttons; + bool left_pressed = (buttons & 0x01) && !(prev & 0x01); + bool left_held = (buttons & 0x01); + bool left_released = !(buttons & 0x01) && (prev & 0x01); + + // Build mouse event + MouseEvent ev; + ev.x = mx; + ev.y = my; + ev.buttons = buttons; + ev.prev_buttons = prev; + ev.scroll = ds->mouse.scrollDelta; + + // Check for ongoing window drags first + for (int i = 0; i < ds->window_count; i++) { + Window* win = &ds->windows[i]; + if (win->dragging) { + if (left_held) { + win->frame.x = mx - win->drag_offset_x; + win->frame.y = my - win->drag_offset_y; + // Clamp to screen + if (win->frame.x < -win->frame.w + 50) win->frame.x = -win->frame.w + 50; + if (win->frame.y < 0) win->frame.y = 0; + if (win->frame.x > ds->screen_w - 50) win->frame.x = ds->screen_w - 50; + if (win->frame.y > ds->screen_h - 50) win->frame.y = ds->screen_h - 50; + } + if (left_released) { + win->dragging = false; + } + return; + } + } + + // Handle app menu clicks + if (ds->app_menu_open && left_pressed) { + int menu_x = 4; + int menu_y = PANEL_HEIGHT + 2; + int menu_w = 200; + int item_h = 36; + int menu_h = item_h * 3 + 8; + Rect menu_rect = {menu_x, menu_y, menu_w, menu_h}; + + if (menu_rect.contains(mx, my)) { + // Which item was clicked? + int rel_y = my - menu_y - 4; + int item_idx = rel_y / item_h; + if (item_idx >= 0 && item_idx < 3) { + switch (item_idx) { + case 0: on_click_terminal(ds); break; + case 1: on_click_filemanager(ds); break; + case 2: on_click_sysinfo(ds); break; + } + } + return; + } else { + ds->app_menu_open = false; + // Fall through to handle click on other things + } + } + + // Panel click check + if (left_pressed && my < PANEL_HEIGHT) { + // App menu button + if (mx < 36) { + ds->app_menu_open = !ds->app_menu_open; + return; + } + + // Window indicator buttons + int indicator_x = 40; + for (int i = 0; i < ds->window_count; i++) { + Window* win = &ds->windows[i]; + if (win->state == WIN_CLOSED) continue; + + int tw = text_width(win->title); + int pad = 12; + int iw = tw + pad * 2; + if (iw > 150) iw = 150; + + Rect btn_rect = {indicator_x, 4, iw, 24}; + if (btn_rect.contains(mx, my)) { + if (win->state == WIN_MINIMIZED) { + win->state = WIN_NORMAL; + } + desktop_raise_window(ds, i); + return; + } + indicator_x += iw + 4; + } + return; + } + + // Window interaction: check from top (last) to bottom (first) + if (left_pressed) { + for (int i = ds->window_count - 1; i >= 0; i--) { + Window* win = &ds->windows[i]; + if (win->state == WIN_MINIMIZED || win->state == WIN_CLOSED) continue; + + // Check close button + Rect close_r = win->close_btn_rect(); + if (close_r.contains(mx, my)) { + desktop_close_window(ds, i); + return; + } + + // Check minimize button + Rect min_r = win->min_btn_rect(); + if (min_r.contains(mx, my)) { + win->state = WIN_MINIMIZED; + if (ds->focused_window == i) { + ds->focused_window = -1; + // Focus next visible window + for (int j = ds->window_count - 1; j >= 0; j--) { + if (ds->windows[j].state == WIN_NORMAL || ds->windows[j].state == WIN_MAXIMIZED) { + ds->focused_window = j; + ds->windows[j].focused = true; + break; + } + } + } + return; + } + + // Check maximize button + Rect max_r = win->max_btn_rect(); + if (max_r.contains(mx, my)) { + if (win->state == WIN_MAXIMIZED) { + // Restore + win->frame = win->saved_frame; + win->state = WIN_NORMAL; + } else { + // Maximize + win->saved_frame = win->frame; + win->frame = {0, PANEL_HEIGHT, ds->screen_w, ds->screen_h - PANEL_HEIGHT}; + win->state = WIN_MAXIMIZED; + } + // Reallocate content buffer for new size + Rect cr = win->content_rect(); + if (cr.w != win->content_w || cr.h != win->content_h) { + if (win->content) zenith::free(win->content); + win->content_w = cr.w; + win->content_h = cr.h; + win->content = (uint32_t*)zenith::alloc(cr.w * cr.h * 4); + zenith::memset(win->content, 0xFF, cr.w * cr.h * 4); + } + desktop_raise_window(ds, i); + return; + } + + // Check titlebar (start drag) + Rect tb = win->titlebar_rect(); + if (tb.contains(mx, my)) { + win->dragging = true; + win->drag_offset_x = mx - win->frame.x; + win->drag_offset_y = my - win->frame.y; + desktop_raise_window(ds, ds->window_count - 1 == i ? i : i); + // After raise, this window is at the end + // Need to update the reference since raise moved it + int new_idx = ds->window_count - 1; + ds->windows[new_idx].dragging = true; + ds->windows[new_idx].drag_offset_x = mx - ds->windows[new_idx].frame.x; + ds->windows[new_idx].drag_offset_y = my - ds->windows[new_idx].frame.y; + return; + } + + // Check content area + Rect cr = win->content_rect(); + if (cr.contains(mx, my)) { + desktop_raise_window(ds, i); + // Dispatch mouse event to app + int new_idx = ds->window_count - 1; + if (ds->windows[new_idx].on_mouse) { + ev.x = mx; + ev.y = my; + ds->windows[new_idx].on_mouse(&ds->windows[new_idx], ev); + } + return; + } + + // Check full frame (catches border clicks) + if (win->frame.contains(mx, my)) { + desktop_raise_window(ds, i); + return; + } + } + + // Clicked on desktop background - close app menu + ds->app_menu_open = false; + } + + // Handle scroll events on focused window + if (ev.scroll != 0 && ds->focused_window >= 0) { + Window* win = &ds->windows[ds->focused_window]; + Rect cr = win->content_rect(); + if (cr.contains(mx, my) && win->on_mouse) { + win->on_mouse(win, ev); + } + } +} + +void gui::desktop_handle_keyboard(DesktopState* ds, const Zenith::KeyEvent& key) { + if (!key.pressed) return; + + // Global shortcuts + if (key.ctrl && key.alt) { + if (key.ascii == 't' || key.ascii == 'T') { + open_terminal(ds); + return; + } + if (key.ascii == 'f' || key.ascii == 'F') { + open_filemanager(ds); + return; + } + if (key.ascii == 'i' || key.ascii == 'I') { + open_sysinfo(ds); + return; + } + } + + // Dispatch to focused window + if (ds->focused_window >= 0 && ds->focused_window < ds->window_count) { + Window* win = &ds->windows[ds->focused_window]; + if (win->on_key) { + win->on_key(win, key); + } + } +} + +void gui::desktop_run(DesktopState* ds) { + for (;;) { + // Poll mouse state + ds->prev_buttons = ds->mouse.buttons; + zenith::mouse_state(&ds->mouse); + + // Poll keyboard events + while (zenith::is_key_available()) { + Zenith::KeyEvent key; + zenith::getkey(&key); + desktop_handle_keyboard(ds, key); + } + + // Poll terminal I/O for all terminal windows + for (int i = 0; i < ds->window_count; i++) { + Window* win = &ds->windows[i]; + if (win->state == WIN_CLOSED) continue; + if (win->app_data && win->on_draw == terminal_on_draw) { + TerminalState* ts = (TerminalState*)win->app_data; + terminal_poll(ts); + } + } + + // Handle mouse events + desktop_handle_mouse(ds); + + // Compose and present + desktop_compose(ds); + ds->fb.flip(); + + // Target ~60fps + zenith::sleep_ms(16); + } +} + +// ============================================================================ +// Entry Point +// ============================================================================ + +extern "C" void _start() { + DesktopState* ds = (DesktopState*)zenith::malloc(sizeof(DesktopState)); + zenith::memset(ds, 0, sizeof(DesktopState)); + + // Placement-new the Framebuffer since it has a constructor + new (&ds->fb) Framebuffer(); + + g_desktop = ds; + + desktop_init(ds); + desktop_run(ds); + + zenith::exit(0); +} diff --git a/programs/src/desktop/obj/font_data.o b/programs/src/desktop/obj/font_data.o new file mode 100644 index 0000000000000000000000000000000000000000..ab24d2bf58eaeb3dfdea50d2b602781c681e713c GIT binary patch literal 13744 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 z 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%0A(~yXw$o!Ma!)J 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�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

{wgEF2SxaZ2+xV|{0N^B;jJPi?$1>@0hWarb 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 Y3z_Q+KK7ZPr95iukM_prF5LeA0q~SlQUCw| literal 0 HcmV?d00001 diff --git a/programs/src/init/main.cpp b/programs/src/init/main.cpp index 364f4e8..1329f01 100644 --- a/programs/src/init/main.cpp +++ b/programs/src/init/main.cpp @@ -153,8 +153,11 @@ extern "C" void _start() { // ---- Stage 1: Network configuration ---- run_service("0:/os/dhcp.elf", "dhcp"); - // ---- Stage 2: Interactive shell ---- - run_service("0:/os/shell.elf", "shell"); + // ---- Stage 2: Desktop environment (falls back to shell) ---- + if (!run_service("0:/os/desktop.elf", "desktop")) { + log_warn("Desktop failed, falling back to shell"); + run_service("0:/os/shell.elf", "shell"); + } log_warn("All services exited"); diff --git a/ramdisk.tar b/ramdisk.tar index 8ee5e4325d48e3e2e2a6e60ca00645f8de9ebbb4..6a5e8fe865ce4a2b689e3d08c387d201975ea4f0 100644 GIT binary patch delta 620110 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

J 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

<%w#T$o-h-u z9iEJi6wYpEbO_E1;*ua__+=N)9QS=VvS+TB80E^Qo{!0H?zfVmq@ve1Wi|-H?cXfD zsuxOvX#p>VY9@K8V` z;u8wQOQW+CcZgq#lpb%PGdw@4CM;Fc`WPBo1R}GPHq#}6jp1{#Jf3>ns62_u#4ZeL zbp#0NhsV=EY?t^>zzx*ETFNYy2gTpUtax#A=1!;R-j?afUR9ZU^;x#=*ahs4Qm0js zUi0bgs`;U%A+)(mLzik|MVLyihg?AJkx2D0;N>j7FL+i0T>Wt z7Ay>TI9Xv(p$G=EG|aMCCB^H5aTqxfOFIHs+Mr~KPDM*di*<7B?cQgE%ffabef?>H zz;b7mVU7Y90vzVNpuq(K)A+{OMMJkV40}UN;cUoUqE-L(b0*PTO|JY1`Lv zBz%3KSgZ+tN^hVI4L=u#vo8EMIaAy%E}RRgD=NX6n|UY`&fi(1aB4z~${t-AdxuX* z?T)IUON1UtpOkXClH*CmBP)1}#{^?H0l}YRfGmDZJw>~qr&3Q>@)><#C_}Cn;7y!R zieA^?dME21n69d;(@dn=mskP)ScNR^VvqMdHt5 z&Xz!DYE!dZ1!mO+Soe<5q-9T_4Z}J$dAGE7Z|kno|82t^dM!4DA3X zQN;wt$3GFkXEOL9&Un1^hLj_o3e62RMN7iJSf%wh(Gw_N2^BD?hSDB`DxkE-prPr` z8xF%GaEzKU&a)sFyKsLL=tAKUh0`6^w6{kHj z`3oMNj;}EF0pcx1blgFP>{=4>#-5c21@P`EzvqdEhc2&CZ9#*})u#%34yjr)@Nz#G zk2%F9BqS%Nq@<-~W>&6@e7P-a6df4ZFsGK_=m;!;K zPWu~TJ7A&-&qQzYo$MZ8MOP1KjeDGW$=Q+p5jbDOuT6lnGHXmWoGsbg$Qe`RjVf?v zRh?Uv=6!)ksHT*?fa_u;Re`yxH+7pS1U>@;1&758mENjUH2ba0^hr4lJhz((rN%eC zCH}PR7#z|9U;Bl(Q!n!Nx)t7A?6=zg zyJJ=T7jaf)l%N^m*TWE>o@6EPHTQXyQ-Zc+ey8#Vi1Ja8S2`c>`#70jWaD!m_rnh= zYd`upleKdi=ebEHZ^`B7&0Xl{EHto}Uxf7_?N;%n${0aoa^iAJ2wIh8a6DJUMKzlfy+4TNIw-W9NhyNbG{} zG9SAv{GPI!^H$M8C@IHy%7yix1KASl*QwoteAyW%M`itt4bCXDa ztkWBPoKzp^`uRAizK|D=4D^vwe;^#@gRD;isYt`I-8L^_)Ov z8jm1}+i!mHQAd@6TeKJ`jZ*J6gCgLbFeDYxIaJI+JN@B!Z$*$+ zj`AXJFhOP@P@xP89u-f@sph%;hicI~px^8;G6Bc>Mkee`l(UDOiQ|)i7@u?|Pa@9b zJzogK^M#uVC1O+IZ2FYp>}ChhGtq?OK#ONC1LB#>MnolIMD*7VK>XTaW?zYz*>_%F zAm;Vmfc1Tjv!U;H!ffyR>pc?j>pjoj3&gYc{y0b?ejN1oARzu8w0f{atR7taFc8HL zZ+KYoc=$Xa&Of~BQATiqpls|6_TUWOgbXrK4;+)%KZ~v&=C<`dO~h%*e&W-_or$4G zmh=-l6IVS-7)>9`xVz{;5oYTMh$$n?mJuxOEn%LYC!EC)1NG2H>2k&NWK+p>+-=jCsn7gRFjs9ru&C|K z#(AEV$XMD*LZ7o8CtCl+_E+32Iu*Lb95@zJTbN1y!MQk*M4t%La=0T-)TkphG*~H5Do5E5B>fSQ!W}bVK95% z8N7Nhg{&TYgb~~t23YzUMf>lKi@?~*$;3q1eyL1+*oe4&*oZO#g3_7T(}Dx`wD_YX zQOeAK($CEA?U>^CcAS}8{oItw%nuI{iyt^sV6kY>`9U1@JaR`N?+o6+?gq}>#C|e! zt{a5q(oCl46|Y)VyNoWm6z!7xUL0mhY!3kUBa;oqF0<=nb^|xZFxAG*>IQ{ z=2`zK3!~V&Miq=J0Aa~2kg<`hr`nXTs8VGB5i>wY21OCxfvVx+FkR8oCg~YPUE4H_ zw>A75Ygo(WEA&`>ihZp9xB|M0&s7fa45|Zw?K(g(i$!!)1u50C#6mbrRfxB7SuE^u z1&b!+w5aU4w+@R!d(`*2dV#{l)T6K16+Z=+%*BPAi3M=B7R+l3=Ww%8E#Zu5bD|xb zSNpu)2hQd`JIOh5*XX<992xlRLvYqTGcf`Z8v9-KI7iTul%*+F*xy;Rv(43j+1Xos zU`zInY!G5ggX8VUz97SLiObNY&onhGpJ_U(sm~H6cObiQT2ZxCBBAKzC-1K0xjl`* zyXjc}jNtANoZX>4bev;PXkH4Sc`2`9d?emVnUP8)sV}8syzo-$f-FEsvQK6MI+;DZ zGN2doKhKA=sNV8=aF*9wN$*CltoKs`K;s*qEr4^b;8FpQmkK8S!|7Kj&Rnse2e3wi1cd%K;s)D*}gK>zB1LmGS$8^RTwCx+E=CuBcfE<2w{8f z1JdH#!3y!kXfdhD%qDPF^jY6Wu7;C=8Y&P~KxhT}u)w4yQ|O$qqJ%vc-Tro~oT8zx zS4TbCH!aE$MWBY5w5}hv`p3|Dzgf-(TA2Jfc#f7Mi^OhxxdMOo3H~hbBFr@;^~Ufx zI$Lru{(L+L-bmP*0O!|)5%fLo=Q2)Zz}b_z4JV?+wyc9#`lb{PX3fW?F)=^;lWY&+ zpJeaMX0AK4Pt!8Xu*z>&hO?sbcjSCm`B-HTpSxyQCqVCa+DgvWPTzFmHU4ipT_X5W zr?J`Px^m1-$Xv?Q|z+`?bdiI(F>^4uwu)rqIYY^^N6dpi~~q%SWuBGHHB| zinWSA7XLAhJA21g;P77cIG6nO3D}c4KU)W^Kz6mCSSde_S+0Gcac0rP_6-Hzm{7}j zdK70Rp$ie~L!zJyGT)^qIwjS;o(y@c`XII{(qDuyfMZk@|5M_=ckV^EwLp$W2&6v&)$WPB)K#NRoXYL_q zT-HZ?JnF0LvEb&xf;%1U1ae5Di#aG~r#4&Ug4x1lws5CszD3J`?`9q$huH$lY~eCj zd59y3)y!^2L=5pU-ptBkXPuY%WhVJpCzQTB&ro6=P|S;8Ky`6d)=?_7jo0kK=Sa(> zb!Q)9W26Y$zbfl^miALr<>%Zfb3>h>n#4aVY1&Fi;T`wR^hp`fc>vm+c{qp&{MPs{ zaCQ$%oF62>1Xg8zLXv%gq<~}rdy0{r#&^PDC&BB}c-qI$6A!W@xnvc@F6g10R%Lz7 z$4InUkn6r{)R0DH*{~1>ab;)xnI6BIHtY~DM^1GxD^ zaVEwej>quoQs#7y`rAK;dlXl^dChX>Ax(e{lVq^DKw#zqcVhh9c$D~?#H^QO1}vCe zL)l_pRPa>n6^f!@L@KV$L*do&pT(0$$r%iJ?hr#lOR^~Se>zzdV#GZS5NUnha>ndiz((nyd|Jj(8P(fygFkS?LhfKY1nDEJ<1MaUpz+I5K ziQ{id{VEkr!1t-6E5VtNQIz44VADEGBX;7&4zDs>yCrZ-vL!=Z;Xl&mBv&;UZ2l+p7S=k!)T)&9QVnb9;M<^ zrL-vgCN=iQ(uSv-cEBcaXII!p#6+k4M6CSM5+H_BTQEp-t}M@HLAFpA^{hcF_*z|! zuIK8T;ae2OcN@@Wr*0&}+?aZT6nP@`oV?O@E_FOj2tu9bV~x zuva=P?*QcT4y!uweSlRRz9jU_jte__z%T5$xFh2icl@X$7W;JDk(|NVw-q5xt1ju7 zq@t2Lmi8iB&6@UWc*;EjX%hYwBtmpE!4xppBx)!sFju#(RIUf@@*-W8Hn8zo;kTLR z$+R)d^NsdzFwax%KVqKaIxbVZwDF~;kpZHx`kTUH^E)oi3X;>R9h z#~$Lw9%9BG;^mQ#^Gqsnmm10VGamzCD@E8phBGJr{dl!+?`||yIXLk?!NG$|bmBdt z3nSakIT|sp^Hx!@jmO2&$lDXRm5IZ@80yg&NVX2rxE;6Z@F(v?zDE@xRz)ZWE1PdgsbJc~>3z%+;Ln&hOqDedC zuH6mnzo9GqOOsb8GxS^XnPjJ{CpNd=K~<2`hGgFv-43OL9cLnwXy9|c<_x(t3)MK5 z{<(`vti-JsPEPY?a!~2}2g8Y5grv*SL7a@7q&?!3k@Jzzqc|LJ-iwUINCJsRjw$lS zcH!B0a1W^xay2pDM4-%8s*Rl0uEz&G>orCb$|XpDNHcd2kHSa&$Qi1m+v1MJ!P%Sp zb1ga{zpn8PyvHIgG#=Rm&dGnD`!_0Sx$zT1KbSg7jBJ=V+AwjpVM@Y=DJ{=Jl%J}s zdz7B^QA*NBX-FS&mpmSkmGqe?^RO!E=A3VGAB8C4D7l3#vW^IP?d99ry5*DEmdAKU#tQ_XctGd0oQB z1OOWob|esZAz@@9z?0E)QPh6Z#wZS+`=?=1y54r-%y;RI%)gzmMqcbYMw=g9#i8iY zs9$X%?Aqa4lnf-7fy4XVaccy3g1U=ma<}Hmx(TVRfrFbnpoE{UzMBod zic}C4Z$iC2;vS)s9!KzO1Xtfb-LY}9_U=;D9b)Y{V(@nD)kvHy z?jWl#Y4_ho|L3XVuFdf8=CL2qd64Ecm{R5c5~rYGB)`vZjV#1DDD&#V$vzmio%#^_4=Vv}$WneM;3G~VjhK+)IS$SaaJ_EiH9Ft!N6*b~>?7#S2O ztj$9g(DgPfL3{JmD1#zUMKZ0@5=>jRW~QyLhyS&Iy!8)RMP$5~NYzR5R;_*hh;j=@ zL4c$$TKHCG;-s7!o;$)UqSN8%_+;FM^XRjjzc?SzL#`hL7lbrwLFjez52oPPLuV># z{NEL~Gcn@}ntd>5d(9{Sb?_AU$07m3&5dVD(r20ouDhP;W&8 zO}4Mm<^t{iv|xWr?f>|Svo~q~&>pjTX#av9AK#|^-`}?GUhUs=?+XL8|NMYi_i6uE z_f30{{YYOcFyIcI5oG}FBi8H_*V75pgW?OiSh2m~v4%Jf;c&RS*bq(#x`SoTmW$bO z+CRJD`i9DnC|Hy^^Rng~K?OQl`wSWk9#wg$ur@cOyIg$Y!kOK0O+%+26P2LRsSu&| z6SYo}Mr$!qrsDm?bEbu+Xa@E$=b^X;fiXcD@ud|~OzER2()`LIP6(u6$Bu~E$He4g zCjq3Z)5UC%ffOvqeE3Y zotDN8RvNvQjt7Z&&cUQK4&p*}|D`6Lay-LN7cCAQ2|=Be?stK5=XftH<6Wjg(f{qNRURfjzv)!9-9=q+_Vuj9AN7mc>lk&AT9m%EF@ zpQ!x7-EIF#o1~3B_u#lFq@no)SIa(k^L_vPLT=*6uwyLC5-ncuzcv(7qT{tfGH)c%*cF6*lO+q)Kb z*Z!q9P3)=t`~G$0U)n#s*Z5xAf3nvlcd`0UXLb9LhKx$}=3wE|F4J0a7O6Q2q!@c>}n; z>*1~h9!B;6wpn`9rXFxN^_bX`(3CrXlraJ+QxpmLfkRm#EM)_e5wvYZPVWcnPs(xa zY^(|q&8pDbILGsA-!d|?zdi@-M~;Y+vcw3=6d@>AnhiG^qHw z2PQ_@BLWTL9}i#$3{Qg;)1q@X(dy=S&!9jb(OgrLP{er8Zel+oM$>~I_2|@U`uh5e zjvtV^;B2a~I|t6$cEj7ld9M8n7;$w(f~5*3zPXj)_{qYP_-b5+Jyc!>@@Arsq#TE`hJ&@{}U z<ef}YQcHA)*^C>TFq)@uhB}e9k;?PibOKYQAr~nU^R-O z-;Q3-{_DHIegW)qkqN zqZA&b{8Li~${wW1@7mm9sPyV*A2B*(bOzSKMrTaU2tA1b+~kb8fFVQVK}C)ALRbU!jAm35zFs|NWI#%>c>)+bIId%2lSHpQWIwcC{`I{%- z?0Eg8QgrKL$JdrfOthakX+N>ke&VV9#8~;uXPyv>P|nHzah?t-Clm%WZL)RXZ$0cPUO*al)r)uoMZ9>`Ygg$7q}5k_Z2Z5p`J;`- zAMbIdhgy0K9Yha9)A zAuPL5kh8&dhDtXIy~LvYck_{zck|!N=M^RIz5J~}ung{vCIVUpt{zCRSQO_k%(viD zv=EO-tTqFA@pbcawL6}lJrp;(ns8-kJz%We1>@XKc|>8z)b}4V-K-o4{>7; zF(VHQLiUC32~$>d$E0uxt!C_UekJGIIu~e0FMl?n)^Xu&Xgv-RG45Gomqx3$fvpD9 zeCSZsd{nj{Dritv>+zBq@|yMMkxeJlqh6B>XB2YlF{AKpG(6&MuW)UlZYI7c+;99N zu9{$)l0!Egy$Q+C&wa(Prsm_jf}u@iMx_N))0Md}%A_LTFGT;9h@+j|#F(TB%=;!UW|VQY5!PRu9#`kh zI;gN~n|@bF?FsdN5IWCLa)XktpH`Bsrd|r^WT^Zl>SyarsDlP&LY*mfxIvjxXC7eL zM*PdrV~N_YFsEt{t)pS2FAd(ch#?=*#5O2?c-c$T97FBJaskLc?s%h2wTW4)A^10( zERQ01;#|^;$+E&MOWT2$8|bX;;s#Bq_nS$ffLFu`$^#=dIpO?}O@lnMetG&Uo-^n|uV(Y@;GeUbz ze7>hYCT%6hTA8*f4VCcov~%QmpJxBWXI^(yJ6DZl8=AL-nduXXR0cQ?WHW>0%na_z zv@N9E&(og4F)_isfMs5AnHQh`iTtdDp;IM^{yhB=eEMifzv37artYbvHx#+6=ko%G z9B&oDT4*+F-2>k}kKnp}8c~HHoK1BTQFSG%-bB?kkPaf7f)pRb8#F*eT{sqeomooA z4L|B#jYl7H2ZSFDkY~UUiJ^pI2q8z)ArPSy9_yDwkSH!X->=vPGKp8x-}qH&Ry!0; zYRj?m=q=F4C#jX-5<~%?C=hv0F~X3URE24Z!C*~12BbIUtWbKx!veboDyEthl7Rfg zkQ{%oMDmaOf6NpwSK2=g0(27%@0Y-)M*GzXh~ElEHkG);&6l*0zIU(Kbp?obUGd`; zj6nMOXYsusZ(wm#0cKuf4G=%=Cyv_xE|@9*|Gs%Bor%_vt2H+dx5Brn(YKAbs(Rwv zMt?K{=8s0hkTI&%!y1okj7q(@@$$ypqAzc}pWxpLP8ERe6vPB{xcOl<^f=u79DG#k z&ov)UN6N>yD26(SQ*nzWEkOJ36&pw^8?N{gS|P$OktNkUaQ|cJhTDftjm9-5GbJ@p zog@|L=0PoO7`Rvr^tkk){7m z%1+uh-I=l<2#@S!f6A{Zpc|VyEtQ{anU?xtD&P-OKS>4QC#ky#`lZq@m2`g3!N(R? zX*@OJ2|0aoDtoNd%;=Nd*Ll`*55MmRyeQs8PONctiCJA z8QuS-+u@vVe8;PI!CiCLW^%r~>sNAqzI*6BaDKYy?|b3AHQ>MiI4|6H=DwoYA2zBy zDJR==uQyUJNz$99t7`43rTt?IW;E0O^_RWfPW!*?c(JqgpTBW*7wvzo%SPir*kxE( zjeoW4QsY0+b#*t1_i&e|+v$I4qDj4n-lF}}Z~4jihxOTeo5r8IZG2zt-{0?Kf9?PL zj&pZv|CGCm@6!H7cWp5KwRi8jTjM{t=j(gjJhcx$a=^*~I^eefpWdhZRDacG4xZKV zRkhb43*76xnZ#Qoq%T5{uE-@laR4caJ)|M_kb2ldx?v9~h9Vv4dR!uocm10Ye?v=5 zK^h88@~~?}`XO4<4Y{NjCLyJ;hcv>T&+mBcPWHTZ=eawHmUP01MR%=`o)ypxg^*S_ z0m2mS%{)63++$DSgy26_FP86 zd!QNwf7x+&CjxhOy4V>YsRzz$U6ywt>~bgxAgKtBtssEDdd7EiJS_Wmo7s&b&Fr?i z8-n+C+d$U^B0tZ#LIcf&4TIrC~tL+gVSL9o_@&inDMGLsj({o0+v%g){v zWDzI(5W)QZC;O9Y=ZRpQDV-b22Jm{@)i?1qJd-U?{#RQ4XSq+J=qNcY{{bWaw>J^K zZ29phIaxFjP|1*6p8Q);C=^~IA1IDl_W{rOX%SN%@-kMbnkvn5n90w@&cwE4Iglw5 zzGQyhfYA|tZ#S8*;-0qI-4a_H8l5W3 zy;I(3mA9KG?e6Q=h}JC@oo-Fh-$`PeN61^BEI$VAu;FL1Zd z)c5)(Xp`djZ3g(W$S+@?bnd{;fyVKkrwsHSl}G*dY+sWcYSadR$SF? zF2}cel%0<5eu#(m6C>>>ZrV>Q$fwP zMmp&zj`V?;T1|KGMYvvKTCI0+n3gGH>9oGnTVT;(E)m~Ko4LA`^so+R)avi%>R`3t znvNses43}Hv93_H4(2JmDy3Gbqxx|~fvzqK~0@-#qd57kW?-Z;m;LY4s z1z*tXvR@Q@U*LKV$=%#Pu#T#CaHn*c-bMQt-1*j>DqrpalfqSqex~tsFy|!QcIbMkm8IlHs{dfI;*{#Yj51tJW`W2@Mg}+ z9O&RwiwiWrRFeZJe5MgC6~U>)XfyYhywNxVELJyJSU~HnMC`aD3?X+;iC)ZC0H9a7 zoBOIE(;GK^#G$-HdDzW8ly@?ZcXLnXJzGoe=Dw+@v1j9#B^Evm-daa>HBxTodjI7v zOTAH1QWne^-{R~ier$QEC7iSE$Ndw|)*JTR0O##4Yr4SM@$awy?eE7(1>4cJB@z$q zKkI>$28f;Z6Ho0Y#>y`>uG%iw=AIDBHmw7tV8bM?4O2o2ruvW16CgF4fKs&J@>7+y zp3;*(N=f=C4e2B1(noCB=QG6WlM|BKy&MIAn(ORFDs*wFzre8l5mhu@8V<@Fz4 zukmZ{*l>s5&0TL;Q={;GyP;U&BHNSpx8?OHNdWVG09Enz$b0l%m`MpQ(Q6xT)_AuD zM&Hzy#kLCHn@F-zXvo=Xcr~(jb!YZ>z7hVZky-d^7@Ebu;z!U8ndvo(>6;(2Y>}q> zlo8Eu6ehM@*b-^aX}=A}@IfTcq26UEWvftjqcGf1=|%xpnOi>J63ZRb!12P#PvGt@d33XH(~|I>Xs| z!&lTce1H4l+eDMbq|KUG=TDLv_jWn}prxxy1e_7Fez5Ign|H}()O z@^JBRT`e?am51WU!!g0${QV9%d(n$|YFiWLYEfz>=g~P+`ob3~H8yFrYBAI@YV)rM z>CiIHc;JXf$tyzCDnK-9e_=-6aV-blP& zx&!CRQP7{HeVGP$U;dBzrk$Yty9151lw8_)8qm#b@jk7be{{HY+^yNx#W@-cSyMT2J? zSz!*Q?NnQ{KULpdL*mBf?N(REe{C?KA*d%boaJAjBd+*ajGw_4?Zh8|L&@&Mwk-Te zUl2nbKrFTY*9Nm1D!*I>H@Q^XvL&}E2R$zTv0p$EzdYc=bytN-?j-;u<_qUR+~4oq`;jH&$hHY~F0OzdD<)^z|0Y@-_lN ztTsY$(Ei%sJgMz`gXf_LO7nTB1m?l>n^S4J9Z(Iy?&S&-mAkCB()P1SzEFKR@7pe~?ro|Lv;4C9 zb2Z?6iwm&A3p>Bz=^U z^idiL2kz2GeA!n%L+-1HAHLXx<444gQN)ftBrAJ}8F{#PxB)6OWmT#}ThnYWKC;E6 zsP`73R=C}t;niLgyKH|j%r)2SF*{b1FyAV8A+*FWx2z7$h-Uh;Y0c(0hf&UNzPLH} zXN#L}YL5PFQ}bQTx!>~8=N)Z+Rs!%pbM3fmb%(aM-@$&SLo=+YL;JOGg373@ZDhlp z=4u=E`?J#-f6=+0zcNN-Qh)Yi=I@yRchJ_PI&@^(Ut)2)Veub3wC^&0%HR%dTjtmF z%-8Zp@6+}vs)GEv1C6kLe|E8OW;3)K?>GCtxz(SIG4t>L*rECSsCnQH?a#tXg=jJ^ z6%KF49oq0_Q=3tT1`*t`h93QyDOho!@F+$u24-5%CWd@OQ=&sN%*yW2IELS$DIEmd zO-7lj@y?^Yk)XNrms0%haml4wl5+_zZ^<VIxCU~Xw|KsgD0IMpp zzu!w9m(ao*kN`sHy+~IAk_3V%C=wJYQWV^^VFksuTzUtk8KmV&??t7fAiaqc=}I#Q zf^-lB#P9bzb7$^-FJWc>yZb#Q=S(|g?wpx9_fCz)~1qsuO ztu02DYl{sp4vSw{@=!?zCsp2EnIxRCjpL8Az{pDn1DDVN6gq%wi|ygbFNcfuV`cU$ z4yvscRU`^kHOiH6#PN=DV1hwza3WZ7wk?C)`YI=?_&eBv@kxuhQ)l`kiyr~F@aT<4 z0eW{B)FHzt=P9o{R1(oR32B_vG)|HlCtU|uql2uz370N=qB zno({@;}P3T++TIJ(!(Ix^D0*58r;+iMIng+U;v+Mma;8qufsk z{jhk1b)u~equd-_zwRh^GRv=7U=qLb3`>l13$iZfnGb6VZQ%`K=+jL9CT8%Qp};}T z4ivqE+qON+e%$$Brv*~8ewG!Z+^j+ixjfL31--_zMpzl;Z~zLINDbxMsC9|wliX3R zp~)zNoId>l>r*)YgoGlX^^(b^+&1pwOuzpe52-$P|E2q7l)H3)pDKEk`_Saa&J^=x z13T|Ogi+6gMPAF37veFCGssm^RqM$hqg+X@vaA&^Zd*KGd`XdJ-07RgwlbsQB|YMK$UtHt12_vu4?*Si+0PQ3CDGQ3C=$=c+Mo(Vs5(QQLnm~|v!aG1%JX#w zyor_9SH{qGtmbbI0NiLeke@J)H9FHMWS|QvrF&Es)%Yk7m)RPh3Wj!%rpmTRU16lFFj92lKufSY5s^`eGz1|D zK}bQlY?LN!#4<8u7_qKa8eiEnV!0W0)rF5(P7aJ%roPOGW#I_7MAiT%GIuj#Su0F- zGhTgH<0RjjpR9RKy){2qvwtmgv;AwO*3#qE>{?3=zA<@cvJ(%ssDJAlLz4s5j2fG9 z?Eyt{jKmr^J&{3(_$r$4t8a5$`aSw~Gy=Dy2jph(=-*Cbu^%6RXMD0InS#m%t0F^C zm1K0m$ti-T*iRvFH2QS31UK?BLf8GUo;8xWqtb>-XSsfNV9oWlJfo7ym~m9{3`!=K z8I133=*&_ zW+gDp3Q&WE>flj-h0U|LmpSg`V%b44TV#CbQEa0W`?l;KWmPdV#^9QEQ&3g~UA$+M zl$js1%@$-^%oq-(CyNdj8mVPB3XQN=hF&TVRHy)giU__f21hNo2%ID>0Mep5q@_ld z_Kpjm9CxZHtr35$b7qY~$i%6edP3*R9CkJZ z|5kRrYKVcpcu}NMx7NB^3lHgPExWhs&pp#658-ZB@E_7lNloLVr*Tr$_|{szA8>H* z^hk{gy6uLySv#W^&itrNAQ>l)2F{nchVLc#Y|^_ddWq>}7nGG=VnNx%4F6WPpVPeh zm79j<6_{4;OGL0me_3ulJ|9D8{i3mN^)b+%O>s>1dDW43UiDSgv0;XpS3wVC-dgJ* ztL0#=Q#colIZr_+bVjDpy3)$@h*iOd%xYkZWEJQ(Yg%oVV4^&;fG=!%bfoOOayE;d ztF~H-e_89-T5fR;0P@~D!4Qycb7Gn0{Nxi@US>0EW^b843D%aq!ZsV&Q>~xSx>56U zp(Q&HM%HFuKrGL?AEb|AiJ8 zLgsIa9AZ5jDsl$(z?^5G6Gkx8^xV3Y?((bLePxRQtAWp*Rp7QAzf^XWFE>-gx zsa(%aGJ)&aZ)K0fjd3{M)lTmwl%0>RoIT>7hr4t+c?xGkxlw^PxVopXoZw!*60Y@@ zNJLetnnMRl-~m*vnO#zf$|v@k@or8ZFAcNYYqnnD(RJVQ1k4T@lCU*HQl89^l09;- zIf##0JYmy)fKBe6iL4-)P%Nr2b}`q{&CB`?50yPv`9@`cQSI!B?a-Q{{83t_B3@$I zS={fDS60;I!;W!iS)hn|R+uHQzO7ipPOKq!GG-^!vQER9!T@u#%0BVAS#c-YQxGz$ zw90M!@R`kM<4N#gWe<&5=JS@58>)zpT(BY(s)*@4#HdmeVg#(H9eolhEry-MG+$Kq z(6BEeXS6ROYOv13+YBX#%s+e*{Bdj|i(?NcuR2ssC|V*EZt2nxA_`eX1$dcT&KQUi z6X!-We9^^Ud<}`O_4d0lyDFZl=!Q;Jw9iqMa}{s6v0x2ZeI9mkn42}kw+^{IZWr>J zHx^cO-$W5H;L8?;`w^8)*>Zzs?)yvxXInZWw8OoOSbw5!3xodHxyX&6CWWQJ1d&4RROgY&RiKguLNB!so?};2f0E|5m5p~miwl_j@h&uRVC3e@U zJ%st>Lwy1;l|F%f0i2V9t2X-u(h#9Dhvt4N@KBEc_SE)Jxu0@!x635A?UU)&?MSTH zyB#USQ=IH=C3}b%%>xhNCg9;;s#e4FkmOc@hi*l}Y;P$-tsFv6Dnc(AeIoF9B7TdE z7@q8tSN4)lV*O2)Xk>}TsoU+bz9`82!H5-+2(5@*6`6JT4BL7T-Oj2=+*Kw=fGQ4d zaW&JzkpzLN({Zc(N;{AmIV}Olne;rrOfelL&QRA;+)UBkh)D7gX zj+Oo~SmfU|=cs_2V&}ol?2qQ}8W@Br{05kn&YhDLlE z5&4!)@=;@)672QmvE%VhH&hB_eFNfhV@3g^<+QB_JtRVn?U&&5GQ<{}lH>yt6OY;^=E6UxrR4g2N6$+6^! zH+;B=hY_m6BHjqFW%(_S(PD^4@u;GuIsJ)<%QZY1SDEVwc5FIt9J@viU3XC$`jZ|q zM``P2zlrHor5;Ka+#`ugW!xZpO>Y><{8@<)sQdxnqcG@4&kTj#2OagisXRWmp^Qt& z60mV+AfI9gf!APNuQ7G9KP8jI=8_mWe2Aj%;rtq&Fbm?Us7%sYJ89#wPB2Rr%Ock( z)$IKK)ZF7L<+Ir31hS-lmOEGRPkKZLQhQ{H$&vbT-wIK~i`H}_{+Y9Ij_fKcd#TiI zmGc&0;|X9aRyBv<|K!P$*8QR8_1&)br!+^@82zl99as45mTfC zP$YFn<-BRHsiRf~YEv&v;556` zi*H8NPkm!p#z_Wu$GbCbngp+A^#9^W=dN|@ZvN#NmN1S2cEn#pu;=0asJ>qsG^7A_B+mSs2 z*^$MEDY;Fddf-1Ntw-P!jgARSBuWkw1Cs)V!=%7$29ye42A1he%K}5QAU`!2n&q=B zs7VOT&=*<$&(!sSp1mP zE6PK?SJc`lr#99_ZI233dVAD&QI5{6gYTjagr*;eI;zu=d^9ROG&wzLLN>R`CS+Ta z&BJ$1w(HqLm|f4lC|B;`tGnaU*-hO?22`~#%Jp3?kz8ezaS9e)O7XuXNGda)e^PwwHTDBgY}-sXD-#WO;<6_c6lha~?p5$Q6tk7hBLUc>7jj`9{^@^7_J#PrJ^t@AJa}VDU zT6t4rSH?QhZHPS>>nVRQ_GcYrllVFIbgV;8wW!mvmvw|{QJ3x5Td}S@w{Ul-LyqNp z<{zztY_P%nb8xe7&JQAJvvcwpL>DQ&NtvbSJM@2$-mpp|3m(x zP9{5WH2<*zPT6Ax(hHzt_yDu6;^dKzu#=Qt;7^VISzuT}hr_UfBMKT0BMOdVKq)q* z;0&EwV50@T_;VCTjQX1U`^b1;^eSBZdaV)uq*Bm z1Byd>+$o*uRNV0*4u|7KP8IR0bE?S9VouV`VvC9LDK0Lyych_n7O)(Pw+z*7#dg{{ z*Un<;#htS0#ZMO(vb?AZ1Wp(4QPN53QF0hjk{woZL`g$-M9Fasye+L^a>*Gw(~Odn zOCf&?YAH~CTR+^XrDh<>mb4kA*6M6)OKm4g4%#nJ*Yn99EY3M(6sbOnO<( zq3p@BUJfVAp4LgH%MK~$zvKDxq&3Z9N;LxlyELS$J`>FWI%dikqZH00o!A=xv<*Oy$>~ukvx1_)Ps>T`#h=r`Fu|Wz)q}j-~p~hC1)Ycl?8F*U?ZLhIg0#ayqjeSlb zl-XC~2e-@*HIBL|M{AsLQ%=gvt>P*2}3yHFh?1i-!NgmO6 zQLW`}f#tQndBD@;zIkBX1JP=>WFFZ%#CftX=r-AP4;=9(9(mxL4pPu_4_tZxE!gHH zQAvC0ft!qBgp&B?1AQKJ$@RfO*A6e1AMoI3wLPpqt39Q*kxq{;wS)1VEW!9`@g|F7 z-qY;(+1@;}5p-G3j$h+VT!TZuJQ8e=-xcr3s}$H3e@I6t1rEihd#I(ypYj$z6~CiS zHpl+?BzDx$_<0F;F^=-Xf5|D?ztKQyvy80w_Z@oh% zLUJ6ccf>?UjwAKbZ4)C|(s3xOA%CjgS(p6TddCuUqfAIo2x*iEJ4rVZwk0{}wxsWp zyt%$h8e88<8e4xteJ2Uq6rk#a`fD0EX=@s+Zy;&T;J3cP7M--E!N_Ff;?p0Q{3B7; z+mFddlf4CwCii;SN$U0R-iJL6VDG~R9u98+_JN0IH1gz`(dgGkD9r)$*GA_Wfv_1c z&o#QNlP)(p`l!R>=%YV9>Sg~E!cNjpScdDMHy-WR7^qli<3WvG3$+`MWXLhm#zCDc z*mx09D!8a|u!%>)V3TQ0!nK&zWTrREOa$FlJhRCVK{7gVmAYd!w*j!)tQbyF`=15Wt#0AO zuWqrng|}g>Mc7GN+v2cB?ZYk35hv$!EiSb%oG-Pw$$;YA=jj1YJDCPNeVHg5#;vFS zd|Eg-_5A14eOfw6eOeA^$jh3a#z1;8~z-bM}H~`*d`o z`*gh6(No}J$Ag`ml!KktJr9(<;=1RzzvRSje`(pvp8U&R4!+`~1Yfz**^_dmbC1`Y zlpe3`cnyzy_;rqOJ6@Y)zu_cIdL#8sPm$C&2X=8%26h?R#aP17E=zR$k}fOU_!V7F z>iCmgF1hiSx_r{rq4P=Cv0V+Fv0c+7p7X!7uA91gSa0h3U02=M<;j27b)PqVU)Sp_ z%F4Lj^(ILwx9eut9&bDGJ>H&1ltw!3?OAUduCw0Wr{nj%eVp;OGVtSX_kYJJ(Epvm z@0bFE-}zX_fBeppcRW%qd1u8tAyTe*XSFwd^*bk7lF#_$JEuueO;S$3b5X}%d}mBI z+e30pxAEOVNRIC|rJE;xO1Dkj93eM#+uh9wxx3pn9e=IcO*j5#w;As``DeU4=UtP3 z&bxbc{9gOrgKomXcL%)Z6d3T{koQc1A@42K@k`%Z>Bg^o@05-|_1>>;{IBngdEcQk z=Kaa<8#xAFm|HCct$NRlLa0vDKVEPB1x|sgK><>cf zYW4^Fz3KZuI1-wE>K{_k2%@Sb!0oxgp z6``Jkbyi@529r>A{gNEPuS_zq&pYIFF&S& z6ux@@i0TNRuD-kmz?vG%YXK~;m0DX^&8$6&i<#`eW_U74*aeqG!iVam1A(yV@IjDp zBjH#gK<}h24FEX%2RM;z_iqTepkc3v0eU?=?_nu?7*l#F%*i|wE;m}#7~tY#gPQ@Y ze=4mdzzj?`0JdQU0dNwdy%agpdVU*(Id)2zqb9-&FiHYk?0D@30FHD3!B^}rUlERj zJ74K6*{^h7&U+^(y|LmA38%h!tqa0wU3YbrjQhHN{0_n&qpz0qi| zMjT8Qwh2U8s3a~G+e94fa(`cZs-z@hqC#KUCX#!Iu>nzb1w`3YTPXo^+SZ?xl_g0W zYzW4JIAtScE8c7R{mKQtV^=d zz<*H4u`D-mbs%DTMeWWe$f8_Z(3%mm`JO3x1eqE;zK|d@3mq>i$oZm&O9*nR#HrGP z^el6`q9ACt)dU$|?VCE0wh*efJwc*wB<#dtv>?6yslK@W56IBg*Kjs0kfSethsOzI zf44Iq2$K5Yb=E7QP>1`mvV$nSYI~vfm49zt0XkW!pNtuVXe&ou!3m| z@`GT0dWZZ(A_5#@Ev(+ zfk1_feGMf+|L{eYEm!~yWKpiYxdhpK&o!)YlCEQ3c|oq;Ke~=es<)uAAd4D*`?w%! zEtjDgA@lC`G$J6&Ur&8gkRET1?jp$AF6X+~f?ew}|7}4&ekV=Ea5R*d+dcef&w`>k zFX*RG3=L?X5<6EqdO<%Q;QxJqiXA`DKVzUm(bwa7NCx!4Qk$b}Qwfih2t1y7CBPKF z$g&5O0Ax|FW2gimo9`Kp{u9X5*g3I+jLv@$wSkzc_s>NC$2{ov1UXc%m+re3p?;8b z@v%8g1zFg1C{9I2%qQ^3pee8!aBc)q-4f~ejKG0R_P{Q_CrB~ABFhf%$V`S_h)Xuv?yKVYu|gcA^00KlHp2YZeJ^`RN_ch~a@}yDq z0VdU7*#KZmgM-NcC-6cGU`C@~8Ub8xG~`i$wH&uVx=lYGdrpTAVBB-dp98qq@%K&u z>z@DVc^h!<-@p4i6aVqmKL7^4Fq_AoUwh#wk3C=Z^1hb=mcPFJb%4`vU408+U)T9> z1FVLp05GN7{%!z0-rfB^K>7#s{|O*N(vtx+fFO>fgs6D@f}kCo5=2cV$sg_EN*`ug zfai`8=t-w7072h~c^nXoALtZ;;L-0LKt#>EfT&p&5R4hW4`Pyf_(1UJH)G7eBN!rM z#*@CBz9>Cbzy^2vpJo!S$=ckh$IHqw4L9Ma8;KJT?j9{7kr;^t^J*3 zp3&dGslOjF+->6gWaW`{%uwxyN*Ko%NTe4LOkg3EG>*&Z(3HCFa9ti5}T zd)Ax31nir{&54NJoOp@%KU_-e&FhSpw_V#7p|x!f;+EmSL2A|-nr)wJxDAkFwP!&Hw@slzA0m0aAh zBUFAf)h|0Q$~VD7{W9^YkovsKZXvPzz1~7%aDUrBTRlZxo;0}kM`+bE?N1he|B*0F z$o%-sAJ0&NKb{%F8W_`dIl=O_U$@0_+3Rl&79NA&Tk#$<9qxX*JK@@X{-63ugK;;v zVHc{}$&IJ&DZDWHrY)xS_H-*vS6h@;{80}7B%JLMhj8Eap{)ngA zUsb%<{=~@g1nXsf{IoiR)9S3mqy_V}Wt}F;0p35qHC8HeTDJq;m|=NO|C*kxz`(HH z{x5qAwymH4x~f!8z$HC_1@Y(OA@2G3tMRbRtMMP# zL1aJ;SUBhLzfkQ7Qv7 z_O7fR5A$>VFl}FTW*r~DK!|QvS2-PvzsP%R_PurcEv63Y_LVfMOTGMKR8ztf_6OCJ zGV2P!V4Y^*D@F=G#Ge-WgFDUa#PG~cOIU|%I@v!F{?zGYC-es2zxAu|yZ+8>;WwnG zf0Sy(M|=697fVj;=iidCXV4u(7-v+6a0V34fHONS?*!G>bozzh7rWCH3Lu=3Dx3iw z&cGbbz#Ps_KY`sxm0KptBf@zzVvEtrt-Fkk)#5d&C7tRiLa>34>g=N2wc=|^i2pP* zVWf1F)0%xJmlf=6-?IZXJ^$Rb=Lm=Y{foZ?YLnFTeAaM7@O6w6=Zi1r9nPO64Cd%F zvDwCE0Gr$Y%nLJqZvT6Ggibzp{yBhwf1mw#Zr!H=K9?yuD_Bw%s*>2$sLM?5zCqY~pw$g=qHB^H#x)A=l6 zW&)yTCag|CXf-v1i8Y%+&1O)+=1}mc+z3Jiai$~{Oo4(U{*JT})H6k!lj_R6LP#YS zKQG5Go-e+j1g(dfF`ilxQVUi-Ek`$XYpSXESmwE}K01K(;^Xl+(*mQKeIW!EwLc*Q zu0Eft2-reHRks;4e=?M0%v@Uhut@V=y>s|DJ+>fvyafeAAb0A?i2Nr07{c;c#z z1=re57Y?JJn;`9E$@2#|6yUL{o|PhNyRd$G)GYPSNj-%Vpl|{_SFZ=_cwoXjf_Vwc z$WS;TQ8)n#CqUt(?7(N8cU3?&%t)At0^qC`ibfa zTiRe+vckS=dabF#&bJ-kPGOs#-SMo#etf+$I2fG1lv~Sb7O$n#A-PM-xc87k?5{`U+iBz79j6OpoNwG7ch8dyN+~j-{4Q_q4 zk=O|m___Y~4FLXld}>pG37mc4esjCS?GAv0dAL6|hK7!Q9y(UAU<7m$Vj3q!jgzd# zNn7K;fxgDc#K8@t)Iv{Y$tiZ|GAjvzO18&iTVL(lYQVp(md*nU)2m&mCVNRPRO`nw^Qde}fU*D#etslp2P3I+xE*?g zVEwPJw!WHz{j0NmQcH%ZAt5ya47J0*o7&IIJohy~zp%X86(Mx_@ex8`P}?O!;CiR= zia@4zIK@yBI~-DNkq{YGe{p?MUR-}Y4;0>6|02P~`d9124%a-s`*9|2edfAMaHn*b zBmMTWPCs^{sF~W~l*XNP0~I?IPS9640WPk;sXl6MXZ>pg*Xs9b0EWT|iNXm`H~|VL zZHEh76;KTq>;G0CeSGShlLL8et8TJpx|%M!g*nzdN%z=}(S$oXbN zQ^RT?Z~_!gfWpc3HY*z?qEHd=Hd{l~Eh#Xwte!Te zW-l<65L;HG6U|v+G-!pTdy@dhB@b>05Nx*zTjc{|UJSknu=3@TF9TfdJnB^rx*k)zvWpL79 zd1zFXBP}b8@zjKnTJT|^I`EHw(dZ_d8W)=_%xg^gCao1hquVVK0yAI!UI-lT+*1(< zwOQ3;T0a>|Vzc}3mW*6CH8?Btv$G9ual{*tJUtm;Ixb3q&8D}#Dr5Ni7ruRgnSXg{ zlyI8V`5W49n9bs30E+xmn9T|&=qsE6&o=l|W;4liS=Dosmy)4yLZWa26i$G`NsqMW zjS5*&4bzk7pf=F5&6tQ|hbG*H2;5!mM&g~SHz*#WH^K^*w(a*Mcqr}#d zgd>t~CKK*`X0Wu?VI5Z3GSKXM{sd&1{ThjCoRl?A@*3|4 z;up zoCTqJMK%cI$v^jSqBM|zPmUlOUE(W|W<-O9(yuLSu$tb_j=C+I1h0EH9a!Uk*EuWf5^k>Fy3n`9`QkSLr0 zg%hA~(*0UzLpUd@;Y@=I4e&D3I|&g5ITTy24C@_lesTG4%B$(apxPsy7s^ZP45+K( z2G+mgOh@LlJ=9jk{oZjhZU*D)^KUwBcCcNY4?2^ONw2MYO;SCTP5#yJY9@nk~NCPtS~y=f0rh!H$f--m!;N>Va2phE76UI*ym0nF>ZAr91zs_Gj%dwbd0Z z^kn=Jz9L?lG@1A09(raFoAiv1yE+0~=y;uA=c|`9nS^-ASiwWwXD_rgPJ$XIRp6y0 z6KU%NGSE1=5O=NBWr!*laNt$X4XNQS(>z(bCcCc`#B}q zPnB9grBlzK_$g|J2};MMRB0&{Oi>ELX?^v;t4KRQJ+-lBtSvbd?qvK)c^`Z-er6pS zD^=seqE>{|0x;BAe=;>Luia!4@V_@f|#5Etin78#yahpCBk9PbALWZ5hrw*(rCmeyCh0q`hmG#ESBt+*gt0y6y zwd9^jh$n7}FvF1UiCZXfm}Z!`s5i|t!xQVyGV}-@u+=mJi&BC%I#m8FljxIac_U5? z8a4jQi2-ENCDp{h9R`H#@@9#Im8l;f(WxHHPdv9ANL+5CgEI?o!_U_cd2uv8h*slsFK;Z=Vaox{Y z$205hAlOm&AQ=iLBnl@$;RGn0+!qxUj1pXFVtY72PvHb8oB%IA)SGoYq~7NQpV#|}422UCg%hA~0u)Yq;9cMnMm5Z-x3C@@ z=j=J7);RG#HLRijvw0$6CElP6yxs^acqAu>lhC+dB`)_p;lzEuXiuCF^F~;~-*ck= zLvvX{iwz#XsM}8@3i6J6mtV%|=N?DnL23mj_$ZxU$*2EV!<~XS;+;=od2BB^!R|_p z<24!HnEYEZ;qT37JZTfz*WySE!ZB@DtFcW}5@>yD$nkCV=dm|p0e-D<5NApTRwbXK zk9e_p@JWF0TI_29@Nt`^=%V{w+Q1so;Ht=_jo2! zO`%OtPoYf&?2Jv2Q)o|I9*N5)P1n-#cl#bs=Qr>1w8aKIQ)m+h0Wni`gYsI>1g&6M z5yhLu3f7dkES_Rf@97D47QDwZ#oZaU?j{00t^`hg)R|y=x({CT;0f}@T-3Qo5~U9C zEsDWQPOxdlzNV&=g!QJwWfn2A*x6!iT5}qXeVB0a)8EUMi#{Efh$A-n`Pt7ie$PLC z{|BJ3asOBk8G6|Kfv*O|P80)}(s0DX0OOwC_B6n)=jPL`9ryg?=K;R`$Hjk8%zwC4 zfQ1mUf?Z?S-;kQdNmApat8o(7I5}vXY>2zvjVo$th*6r~CkGcBM{&m$`?459UlvHjc|g#!U^z5^2KD-+>PWQt2)?lHW>;h zBnl@$;RGn0ba%7BRRPs7wqY8+wzIq0;KYY`>?TrmHzugN8xvs#?_~>QcjJjGE^$tG zqvP+^W7qkO$F7am+ufKr)!mq&6?{N=!}L9I$r6YD#l*P|yf>EJ%Y!nPwshA3snNgW z#Euhj;5}Uiud(+8o23q)R~UPN`WZh(n#y7vStuL3mgl{BuOMslUn?L;?}97t6C}0h z#o~h8DBc_UuCUc?Vu|Sr*;smX8HqVsW-7MGAZf#cL$LN1$S-v_CkWCr>3EVL%NmbK zZlW?Z+3}blgHk4?2y!E3P;)^JH2+f}KR?;$DT$f!)TkDM3~2cgUR3n3sYw~z>e)OI zPZr&aFN*DVd7d7;N_kVhTd}mG{HqH9jF0=RD8QdZ2NVN1QEC>~)@`jdyf(nO_sWAE6CR3!%GSB zYuT|F!jQRNg_CLz=GK~fYDvsTb*7_Ik#x9jpN9lF^Uy$SKtjxpdY2V4G-*^8)bl8* zo&vV@&-Njr{Bxb!fD^PXs{KwM=braB*^;xg$mn8%Tqrpal3-`fnlfkbRDtxw0Z@XB zd|>hef}F2CRBinHKK`0QhCeh0B8{O(l?DHtUuxRC!dYx9sY9YfI2SV=%!2n?Za zTX)UTXN@))_=Y}b2W)!U(LK;%179?4@L$1`z-B%Eta&EqTtB+Px&HG=Jk^~yN`)pz zu|hue=jo#6f+5xMseiIR+75l9IEk3`v5idJ^|t>5sq%P zq7`7+D<#zSK128Km;p`BbukyfrAmh?6C}^%bZXxtzdeE}({GRTe-xpuj~#dnU}&o^ zTDc!xpV!spA!h{>@^MZ`ni?lzgM+%p_kp&?$w1@e;^1oUQ3=~4vAkE6L)ZEGu5L>R zIXTxHDljM4mRtyJ!7-`whV>BjY5~1&R6_KPN*`B7=;O-JvN^QuMJ;_sYj zk;=AE%C>;A6Ivm10;Iv-E6g$6jR{_HSkaSnO_nD@tvNqr9WtI85>g{R2+mbJGsH9I zF^EHYZyY97xcUWqcXItG^v)%Z7CQFYM=n1?Lch06a|kI?ik$Oizo;28qnY<=&KW{v zW~Ggl7~WWEPbFw~v{FyjL(j^6E2D4Rgj2ehIP8(Hg+Z^!K9;7luI1^Lh{q&@#L=&k zpIK1tT{VR_kL*ax(;RGn00ELtDqLup!j1m~fFwfw= zf*!UVI9ut@O2i-r#v#v8gy!s-^r&yDoc1VedEQ0$DvXmFg>hD+uw4(Gtf#PLjZffS zdw!3-kr=W@x2GoRJR^OQ6ly!K_41Nol5wkKT@_k&4vXUy`)mFJr%OU#Ha`U-Z zWq!FE4BaT#n|k#w5A|9>y&+U@2-U;4SE`4_<_XxPi^Zvs#)h*RVxk^#_!#=e^p(d$ zRcWF(peEy~A|W;6<56~HoVXuMjpt#ml5E!xG{T=h?pY=D&X*f5bnKsMek6o;C0ylu ze&YwS+TCvEC=Ea0dy|#+raHl3LhdWM8Jt$~qf&&s zO7|;6IH}s6YJ{t5Z>&u?yY5cbH4L5ZWM-ON%cEqljRGOoM&8y=Bg0E*t)p}Q%A3a~ zmh4{&U`y%S9MQ&BTUiZHU?sOA;FD(URkZ;o*WFy#9d1R9P-<4NVSbt>NIslf2S`}s zq^|L?psjH-&^Wm`xUpqdV#-*GUnuKx^?&`gz((huK?P>yUY{GG^||+|JJ zJzAa~Ym&B1Eg4S@38@jET9_@LFpoiO`M#29`IR5SpHaE@3%zxvPYWHpU$tdI=%c!e z972i|AAzyuBE|y~TRsy#QHbm)ajpb~I9K9U2@HGvap*I^jFNLo!j{LBULYK{RsFLn zGyU@5#Rm!Z)Vax(9I&6vhFdQus4JWRg%jYp5`UI}7X3@kqek;eE+a$Xghb&4D4YO= zlRMm2GD_f}7WkXFa7e}|47a236p2CM@ZpwrV0wU@s`b+oR@i{R?*WCK&H0;?x-w>n zV^;Oe}g%^inFYGgPoKp7~DO%zr4QQ3V|wvAF2*9AX#_(4P-hBO&0+9M91%ADvqVno!M7ELV~PYnsF z5uaL^MNc)4AnQNZFvxNu8QHa5D zpT@zmro^o$SRc1JjuYt8N5!JgR!I{E-_+VH(|{fiP7_9%TeO!G)D=#E!U=G2+<5u| zQ{uJ~Y>nGXhQf)N$O%w50SYJAqR$#7V9_uPTJ#uL^g=vEd6ARp80~qTq-+r{loS%Q zCT3OGsi=!l3Ok6GOA4D^bhI;U^YxO7>sf7{v$t{N1LJUYEyiU#z!yq_X58X5;kiV1 ztQcgwvzohi$D5($*@k78Ixl#&AmNU<+wu&KRTx&0;mcKSRw4Wnhkpa=0Xm}^D?|);!e+@D5t<=h^yY2k2e!Y(aocalc8cuW+>jn)}rX{VF2zOqI)30Or*A4j=f! z=vf|WREpTjOM)adL5RW6drPnQK1+(H`N3#HQ?yKF_u; z8>Cy8?NBy^4rM!^P3GF?saJF8HKZV-hZLMt5TQxb5?jCGzNePoQ`uI50~O9w+4EGk zxl*<{lwHKHx{Dx9hPk#!96prKvwfaT!G77V3n#)u{+mGjx zrv=$A3BA>E$Ayl)zQUynBs8YR3Wrc8*6iz;$X11>Ay#}NYPJxWQD9>MmfcujPXTCm zv_MbRL(hVJ3&NWF$Bh#Xx698K1|L@$Bh74Q^()mWapuvaO{c$%37z!sO3MW9}1Sp)`xps8NMCt$~_+}Mz?e>8`3k3QU^tb0L={zB?V3qap zC9J~u9#&y|6{|45ja3+5$SREQWEIBOvI^syS;3r#Btqbi^-9M?!PR`)4ou4WYgSh0 zme{ZI6MkRh4;g<~mp>zZ(cJqN-Ou=*)zUbna>iW{^1M4%EDvT$vlKQit5(4kLztRB zR+o;64B(b7AJ^E8&6>_DL)XME$`7!u$W;zeOUwUM9$@PIbMFWEy=p2Zoh;<}X*wih z1z)<4#!6ZmCqa#qs>Vs0xH!gSpcBZ&!HuyxvVw=Kxa6T4@rf{{L|*+qHtSSMJ~ivg ztO%{lx-F}G+uWA*$E?V*CU#3KqPN7J;6jTNRIdfp+e7vCP|Ft3@>^>8EtPGhlx+oN zdsahQ&uXdFY|J+z(MPG5M5uU=ID9Z;vyPPqNVRFKRFm;kk&qhk!6^&lUxiuyIwnd@ z27L1Nsvzf}mH1t7MAn@`aXwdxq~Lo)k>f&fYWW>P@#m_29Eyq(shC;y*BuiXMrFy% zt6!}VLhD+-v9iQsZ0t1;Jv;2o&S=7@~ zGI%QC?mx5qhhJIj(&3+3GO3V%^_k^A{K^9UVO#Et`=az0!t;?452mqh&^=nuJex=q zmYRf5ib=P4v+XVaQk>lDD*^k7^tPb`5$JagM9hrzcL>acSzrlINw~^= zo<7$THaYh3bYdCylJ-zG2l z7e-_yEd)GcvnPK<*2KCc)%~n|w`Z4w#~FC=l0O@wNdp(Rl1L5)g-#*Ebhu#}3%z2$ z_2V`8@h9u0FiiE$vA{)v2H5QnER5$(lPWZnl-uxxe*iqZlr&97+s{(B;22 zk~|LS9}oIVW|Sl}Mu-RfNBm_&MYD?vtI)`zrJ3Ck*K(P?ghBJAp#N_aPzz}Y=T&mL z(h3bMhaHQbShpwBA+rVSsLJJw9@=5 zW!C!jA_C1PfQxQZ0=Sp8RUl6#*TlFeT0JX{KbgfdS~syYpB3dk+RWK{GB`3vW;gwq zPtPbKJaJr{ls(GUeVvc*=RL_*aGFdWLgQ9Q9PX+&#XJ)VZ?w!OaEHCg=PsJ`#$uHQ zW)r#cy7{!IIX!XmsxdSIOHRBIR&a+%78-X#;$Rm>ikzNh4{5X*SAUT>#=|v-yFek$ z=S`3qP;8t_Rm+^u6NiN>A;Bj@f>!W`$d=Fc6tRN2`E}fvzo1Jxn_lja77{JO7V?yh za@HZF`Mj|rDY~4AkE!;YEfS^-4pDQQ2uqFxMhxs`r4z?C+bj^Mjaeyjexq|bpI4*K zIuS+KeMw1_)sX>T{cO@(@CuYb{R#e@s_)>Ad_+v}uVMEto7NFrZhGh}1CV&|v zUMpk1sUzg{db%iHCgUP7YK)6GiZwu@4-%suPZVJSzDqn?_L6@+68BSCBvv(v`?wxx zpMN|Oj(^Pwp6yZ41RLylMEked$KLz?>JjB zH8?-ty>_f=uP>r|9i9KD`~ZFHoa5n}eVcvWjNr*MZX`&1^7AJVI?(nQ4-B~6X%w~u zIklmI<)LN;mz09ELQ>~fGrD%`X&I{!opJu$z$ zm{^p5O@4W^z9#>k{1`U+))~r;(?jb_;nw3R)T}u)8$r!RP(g&A97_eqQo$6ZU>{niGE1HdPwN%uZYGyyxk;$DDzlXAnS7;RGn001w9h8jlLR8b6j* zJ(e}zT5)0~asm`ifWk?;^PPdM~Tkhz)mfso8pI&GKu2Iqr3BD z&&kHeF3=NKOycm8K*wRRsB+kK*B0yg<&T*D>?Hm2lacJtZ0(r4siD1HQHtj#{wKX1 zN%7|)hXa!D)O-C;db^?`fJX$pXh3)O|E;%!7pd#AZ-8DTCwlUh&5CN8D8g}f$Wwvj zKj}#R>0iMsU{*w|kC@^QcSh*?gvTKY1DFMniQ9qItV}7cl2lO}E}^rImGtm`^*H65 z;Wimh?mI9unJ=i!Y1--4T4LO#(|ajm6`kHyXmeht_mRhq{jG-Ai*--_RmRJO)4M8i zg9*av-GJg5o!&yG;_lArb@RjNwY^^Nzv1*I8K(c4(`)0MwjuR@a(Z7g#W?^p`!}6l zTf6hFL!L>SGET3{?EmES!tfRtaYu5_Wsmev@c)n6_T4mXw*R|s+nDzrcElGi-3>ZU zx=t;JX+C^*Hz-cJ8x$v9g0%l~FbVh^x^5jWy{p6NUwG*rC*9;$PPz&Hm6MLuPjJii zLvg%xHz;1Z8x$|y1dCuI9kOgWd~OFP-IFADB?dg&%E#DAiLZc=annwltt#5GV818k+1@jQ9IryBHZyd3EJ^C5n3{M+9pmp-fmDF zZ!`Wtg7-xNZxJhqWoVENj<+eNJ!}&Z;$fRu5lOw*wA$23q>k`tD(C3xt6EatHQ;?} z;J)I9 zuCqC)cx}mPhf5o%9rWMv;}L7<&M$3sM{3?GxMIC^r&+fBR*wumeGd%DcgjBj68z;m z1-(VbQ!mx;>7L;UR!@w68!x)019oa9F?ff)I7;)sdf{wdX1JOU$$WM{#Q%xtt;Qec zS$`smhYe~@no>M0EquU(gQv{_uLacST6k{I42kC}ZI}#BXQndu!{IuHnCBobbJMoBq*!!Nmnh)($hy;Ao~m-D~u`ulc|5 ze8Sb`0=|v(W;aHp(wj|%y?DJ@Hx~|Zf-@WRryB1S&TMMrL=%KFI}xR`y=RAi!u`Pr zb9dgXn?LLm?%g@FV*i%^p+r0nwuJx8oAr4p-JLUQJKuDLJ&d)ok>o%9g!|WDaLG&b z=W?+B%O~7d9bxq++=))uaSnCRaSq*}IEN|-{^k7Q9lFWl9lAkr4t2da&S4FQ(_J`+ z_{^&1eND92`bNDx02p%NJY|t^G(7 z5#mSM_=0Ovv?FOEw8ZcVO`LKh-Jm#qUtm9ySAGXQ)3hz=R{<~$f|zUB2%;zKEHH&1AX-yo8V;1Mx!X5${6^q zoI86;;8=+EI2MA5@JYiG@k!X`H({o3BX{+)&KQQ-z$@EE_~|$_Vxxa2eb}A;+a4d* zpOh$t0=^Y=VORKhxQFY)y2%muboIR*=ECC02s`}Di2E`*Gr~PGf}NG&_`)4L)4&UF z8*kH@JiXl)9-a1iy|Ze(|NEPxHi3tFmV4gIAaIu0y!e>yJ)BigFCsa9}LXk-466G^?0{o{{K=)@Rwtec5lO~t9!=k zs+;-25_KOn)nYrUKf2-$j<2c{@jE^B9=8L6ROAB{=;fiWI#EA@MowAPOR2sgq4kF9a2WgAApw%1stwdr0vd-wUy87Pm zVO;UXX;)WUX+FoJjneIbCKz&-xdDF#@U7MyEyVI6NK;k6-uiQxwd!t@-|~Scjx=M`TtM8 zFHOp}E*hr)sqgDjx;x*Ot}ov|Q4aj9xcZ5Nn9Kd|eP7KB>mUAazHhtwiIml+ecxgA z6B+b5zON2qK?=HJdeHwW+K%_D!{snigya_QS4&Ip7Y?lE?fA1MSmdu(4a1!+ zSwE3tVzrU1X0}bZsQQ}uF9unBC^f9qa%MLu{;Uc9tckFK$7SLGAJ-FiP2%9Xx^XfC7kAdg!T%hBZxEi6;r^`2D$@*n z05uVMq65d `U0H>jOilWqlb*5=GdXOib{1&c`}yjeG+%)Z5yHF4UNH4!1MEIe70 zpgma=p=E_%YU1e0Vxh4c7FX5;@g-TL@)p6JRuTuV)y*dpUs;H3;(vcd1>KwsluoB*;U23BISvG-+3?Z%pLQ*d?)t@9R8v!3i1CuH4~qA_yxQg z4A(n8DO~R)=$%dknsY976H8b4*LZYf-E^A*$8ylEcH)-p_(nszcWITg|g6_S~= zo5p8dBqWI&UBaCicq+PSRo8Zdk9In)spjn^)YZp1i^0d|rvyd}Jh*C8+Oh`^`29T9BA7-^Zu^B7;oj7_(1Rh%?D z8SMXc1OJQmjrNy8t^aBR*Yv~m*6rI4GwlC*1HWVYR%)Y5@;r_IK?BdEedqT@X`4D} zM|k!!mP|-wHK8dsL!a4frQhE!u+smBA5*0QYA>TM7x10t>#o!OX%TP+rlIx08NhoH zwU^P&^)kPMy*w=<+q-5Xc)0)1)T3&QT)1bVJUPA5PEJg5wNZGdxXbI=i4X!mnfG7wsST=b$5E4t^z43a6YcfVTBff04GqI30_1GZ1Un?4i#qJFfr3wSS z7<5T7Phb(+PsO&D02oqcbQyq^mB-uPq1RIk+tq<^Z zz@KR&~|t`fR&vlJ`eEgKR$Z_pvQ~zUIZBNvOV@?!dF(lLh#zy z*8nEHHjCiWYa?F=nE2MJw*XdjS=R;NT9@%%<=Y1u-r1+LFa|g2|Y!?e(4uAeO2>B6m`?%GRzB|8CYB?Gi7pOO1*TayrBQDEMHzA zn{Nmn=Fg~kp;-y%%*~$ZXjnTj9bd{kCm8>=4d-<_5U<*`L#K(3hP9g-#!gIA=qxMB z+$p7#B07g9W$1d;nU$J9o1mvDI=6KHRP01?bvzB*qQcl5ox^L;z!b(drZBcIg|RUy zj4enooNGru`e*r{ayrm}ua}>@o(|+(BqyL;t9qQLr38M9pC{Yq1~&X!&IF$S*b+IZ zcSW-wxE~7>)DWqigENh+oWX|ttZb&qzK`7oJ9Eypd5H4)st0)j<+=E2+-29Z;UJ!m zJgDJf9_Kp!vH3g&`io}YV}C*zK`%KgIQ3CzN18YUTH&OtaT3>fPmp%-dxe2cAQ$4! z_PS`>!$G#!aR=PaoJVs)qN6!)ZbVYNN0NwYtbtUAI{F4J98>H zK@NbXh740XLMj7@0iAo})RVUgn+G7f>`F93_pmMJKy~g-{0Jd%HhGc|NNZ-Vb||>* z#vGdSoS`JU?8fF?FVdt|T`XtPEv~x0D*TI`RWA`-s`^`1^fpW4x62m1naPKfDdKlc z_BA0q^u#UhzC&|S4TkJ^W{y~g<>iF=pl|{dPJoN6ZmNn3+*$QH!S$-Ws)3vYh$ba&+oryV0b{OZrIs(kZa`_8$3*JGsQZw+mmNX}s0m36g0 zdRA`2PmA=C8(D5vnJ*PSyyhx7s`raJE95Emt~*7}5p|A{%|wC2jsiyPF!SQ;?a_vL zXSCHF(UW)z>+mACcIals-0!6GcCc|}FjO+MjlMkPN*ufeNe?(y)H~Z8%=y_YSiwg79EtRw$Z)e`Wf5>MQ2pu+TWBI^Nb2cASt8&po6el zKo0)UKd|ZMSi@ndf4(dE0Q%nl1<#>7RP!gc;6t_gJ^-*f;Y32lQ|UZptl(EoXq%*^ zaT3%xsVcmmIVa|nljtVq{30is zNdJ5vG!xlCT0dYhLRLsmE(j+v+UjjLixbGr|yM~T)B62K7i5rKFtT){J!#u%49pV z=4feGLu)M&PM7MX3a8LPl&d7rNG7*)Tt(dOMB5ZjfWiszz`bYgMa^BgcO0vFT)t^! zD4dWeoCwJYP&jGZoNrX%z1XAkjm?L78s0`~@1%+22-_~yMGPMIClc#C;3(jwO9& zp}QjJ4h5YTp{^@LS4n$H`5+d5p0ao2DPgIWe2o7;yGpXhFcao?=_%n%u>Z(a%7pX3 z}K4Sv-F~WuE6Qf%JsXAql+)h_nEqCL|z)8kAlY z5NQ@{4?yW0#Z~^L8Ny zcDB7KXR__k+uLnrf8$nll;-m{x@4sMrdp`N-_+&oa9oaB_IEh?(4OSx{p51#VZ`2p z<=T5Ph`k5zf%ZXv<8~>^Kl&Tts^$jGf2I%p|LSlQAa>k8ud z8+}3S_|(0ZoU(EJc`}Hlvb^g_d6$gft(46Em(N0UMEDsca-jQBf=dLr2OhRmWY2c~ zM{~&IL6jxo^B_u4pa)Tcr3cZHok($AbMOzkO&_pILb(RQ>IfM8gA&hm1WG`_A~IZp zGQ#x;Isnwan=agY63blts7NCa)?2{f+LL&;%a64@d;BEW_4r9ZfX7clA&U+H9Gh`R z-4xLnNilgKjle7C-RMNMt<~}McbjpU_}blWa(jGjcyjdse7*DZ(Wmh>?#0zF;_IVV z_V9J#x2y%DnDBItdLaitz|yyqHH}0k+zUADk{7LN{{LI~^l+!6JT*^3SBKmXR zFZ<)I;e4?)!5L$Zh3fS;cG`8fc7es0F|j@fB_?7T;Cc(i(QH0KhZ*GJ=CbL*im zp1j)DEzwEBku*u2#6)k0Uk>LIK9aOim?-O0e&Gji==0Rusr>zV>xHfPdqd`lOnhUs zM|t`3*AOi1?D%G;wi*H2T$yAxKlDC7{CqgRK1*85Pxic*@?#3VcBP(9g;{ty^=c|Y z(^|jY8ei{cewoR&6X2T)V22ll+p+!2Jl)^Sn13g61haP|c7eJ3n^SOqb283vc`LI| zW-&YEOP1Po#@N-FE%*81OF0Ki!#9N^v?=^>xVX0IFlVd-GIoSb_#;Udk`TJU*~F_w zn8Sc%E9bT?a(jYvdxCS@!Om?5sNla6ZgpCqR&ej|)tliQ4-ZZYTPWqI;K84c*x zzs+xLSmJ-ULftPVWLKnwZ;=wdM<>0?Q;WGt+xcsI(&wC@NC}Z5C47sN@GVlZO=9H3 z43(_CXv3lWH038r<`z6diM9~;9#33-N=Qen?p#C8TFCB$tcdJitc&bltd8totdZ|U$?m10$(|;UTcM~-H-l?HwYvL`$qsDb8%#Q?z7Cy{XMSsBX{vy zi57rte+5EFSFuj ziTdNLatG#|F`RS7-<%7sH|}+^`;M1oE~cDydO)E}h~Fa^U8_G+FxcMWqF}K0(c?A) zOSUE1Z_i3TVk)~O?w2@DGq={KVj}%%t-G}_rMz3~el2v^x9fi-9;iE)HbpRgt>w~| zjD57#U);hT?qBjt!Q$+RB=9Yg!1t%MzTnya(ORRqgh$t&QX2`1ln^OW!na5X-y$V< z4tqt)&KKa{tu=}t%)$Khs58`-cP$s}$PqB^KD^h|4Rg@l#^XmcyDb;BKa#olEdg^} zKQ8Wnd6?eoClB@=Vg?HdrE%dWp@gxv@k2qL{DZhh&=pTon2UEg;`umxpLZXohXf9$ zrQpmHBw(Fwx>gD)aaf0p!-LA0Ks(yp7grW_QZ|EapN!W3YWqM=my&HC{xhvkDdGny zNvhSBlDcR^SOIx+9C#MG2mB6gonU3RL{Lf+X1g6^&~-aVfVsF|C$2Jo8gub*0dq8+ zz~%ZUCEWj(1PbT(;^Qj&!=N2~X}eV>^Wh4J%u1L(a{`y0Kj5Ue^Fd;mizjqaIemXD zbMb5;BWg$@=9_uaJ)Mh_m3|SvnsbYel!{neu9zij&h*8w2Rt#0%Nhx~V2cYIW&d-n z6ntSR)82zpueKfJTiP_!o8`nR_VD8m;lAUCAh@B97gu)};0Q9 zpT~Pjg(f+rF5=547U{sX8w#WQ;fA8!g^J6!y&96*fx4hf)dCPR6Jt zFp#)C=$N@RQ$#_KQqUZ#4B_j13-h!2Nv_+O>IriJ;V z0SI@Au9&Y#?iC98XzU$mHA~G@;=QBbJFPHDE8flx{D(8d=*%U$qt|yIfnOtL z2u`aW;AGzviE~%QhjY`Ifh5Zz$$vrw9%m|n_@-z@({+1`p)Xm5EeWN&XT(d@#X||* zd)q(Z>g&B;^^ABPV9oAb<|!$xH5Az$I{H85R^(4H&q(5Ax&1G4fWC#cf zKc6o)GcXpKTl3~RCGo{rLZPd`owIw?Bowvy?3kWEhKFiW!uguc- zf4I?J zipx5-F9rw5r6#5@ccnH)N*)GTm{JbRvZZ;+mc|uEaBJd3JWt`TYe& zSU21u{iWdIs+-~&3X3iic1KE+Ap0j9F-`X9GGdRuU-ts1TJ3J$_DwK@N z>=GYu2n=IxiN$%A)#Vk zkaaB_9HrGR7L~T&sx`TFtGr_z?2y3o@;`PyMB+-{c|lQ+As5n7OQF|1$e)u8{YJq@l;?@|kT?>~$RO3^*p z=tpSb(AowIXC~iJjTc2Tc|%>IBJm~aE;SNSuTkyN;wwHubfVF@5GLX0S-j z{}LErULX)@5g6nj4hRfjn^cqn7jb8&$&eCnp@GF$a9U`E6ogXRwtJZP55QFK{ldln zA*(QLUK8>0FZd^Jwh2uULSWVkGo;`>-23C&cz$sWps*WUQBj&#pbUh{c0~6>stN5> z6G&ZLq)fZ}_@UH+*;EJG1Otem_ls%(t=xclag z%z+Xyfpu^~FX*)_Tf6q!qUPg(U1e~ss{2%-h_j#`_o-j2!6F7I_8@7ka(Kb9BD{)j zn0>x>RiBWl1!>PH6ogIA_F(QG0WlEK78Ksw4t`XmPmmgTQ!YLs+|4TTpj1rZyyTAR z6;>+K{*AHH6Rd}qY{U`DA}SOI{X0sXsQLl+}F+A##J;D8cfYwD`Ev=cP6dXQ6<(O}EiHCzUa?F-`JUyg0% zNKu#ExlF5yktrhax>^d7gVg5Z6?5104vV!M+)x|Wqe|*fPTD_gV}SZ`hsF_Rpc5== zr!Ip|>Rzve2n3|P-l2fy#aq{-W3?gdc|^<^8IunMn6J1#WC+)jcb@|VAG|d3U%H>K#Cjxmv9_80fH~{^%!$u%YRz;3*pH6l4ayLepCAUn? zuLKKLXG|d%T(gP$>*-+*0^*0gVWOKjg$E`&?L$}B2IroWPdnb2;w?L z`91AmThU^&gcDVHCnaWe$&kBw|HE8>qLBO}+KLEFBSe4mqft;uQ}94ha=uL^DTTk01h%kK37nD6 z!Wn66H)kClq21~nEF56Yf>{gySIm}@U;yWS0H5a@xkuyQdo�?|?n4U+8w1eUN_| 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 ivxB0!&Ci7*4m3BU)!h+|k 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 Ck^!m! delta 177717 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

JVks5QFjGlT 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%0D1)KxI}wb~-ja;fl=BfgG;mRs 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 + fi +done + +echo "copy_icons: copied $copied icons to $ICON_DST"