From 6df79501610b9baee50048fc89c78b4745157895 Mon Sep 17 00:00:00 2001 From: Aran Roig Date: Sat, 3 Oct 2026 14:13:08 +0200 Subject: [PATCH] Ai slop --- AGENTS.md | 90 +- README.md | 26 +- dev.sh | 120 ++- docker-compose.yml | 14 + frontend/app/assets/css/_book.scss | 8 +- frontend/app/assets/css/_calculator.scss | 283 +++++- frontend/app/assets/css/_lean.scss | 271 ++++++ frontend/app/assets/css/main.scss | 1 + frontend/app/components/AppHeader.vue | 15 + frontend/app/components/Calculator3DStage.vue | 354 ++++++++ frontend/app/components/CalculatorStage.vue | 153 +++- frontend/app/components/LeanWorkbench.vue | 424 +++++++++ frontend/app/components/Scene3D.vue | 832 ++++++++++++++++++ frontend/app/components/SearchModal.vue | 18 +- frontend/app/components/ToolPane.vue | 16 +- frontend/app/components/VarSliders.vue | 60 ++ frontend/app/composables/useArticleTabs.ts | 14 +- frontend/app/composables/useLeanSession.ts | 287 ++++++ frontend/app/composables/useVarSliders.ts | 119 +++ frontend/app/pages/calculator3d.vue | 24 + frontend/app/pages/lean.vue | 25 + frontend/app/utils/lean/abbreviations.ts | 4 + frontend/app/utils/lean/lean-language.ts | 252 ++++++ frontend/app/utils/lean/lsp.ts | 116 +++ frontend/app/utils/lean/monaco-worker.ts | 8 + frontend/app/utils/plot-expression.ts | 402 ++++++++- frontend/app/utils/routes.ts | 14 +- frontend/i18n/locales/ca.json | 45 +- frontend/i18n/locales/de.json | 45 +- frontend/i18n/locales/en.json | 45 +- frontend/i18n/locales/es.json | 45 +- frontend/i18n/locales/fr.json | 45 +- frontend/nuxt.config.ts | 4 + frontend/package-lock.json | 32 + frontend/package.json | 1 + frontend/types/vite-worker.d.ts | 5 + lean/Dockerfile | 70 ++ lean/README.md | 138 +++ lean/theme/fonts/SIL Open Font License.txt | 55 ++ lean/theme/fonts/cmunbi.ttf | Bin 0 -> 285096 bytes lean/theme/fonts/cmunbx.ttf | Bin 0 -> 221904 bytes lean/theme/fonts/cmunrm.ttf | Bin 0 -> 235656 bytes lean/theme/fonts/cmunti.ttf | Bin 0 -> 289276 bytes lean/theme/mathew.css | 215 +++++ lean/theme/theme-init.js | 24 + 45 files changed, 4594 insertions(+), 125 deletions(-) create mode 100644 frontend/app/assets/css/_lean.scss create mode 100644 frontend/app/components/Calculator3DStage.vue create mode 100644 frontend/app/components/LeanWorkbench.vue create mode 100644 frontend/app/components/Scene3D.vue create mode 100644 frontend/app/components/VarSliders.vue create mode 100644 frontend/app/composables/useLeanSession.ts create mode 100644 frontend/app/composables/useVarSliders.ts create mode 100644 frontend/app/pages/calculator3d.vue create mode 100644 frontend/app/pages/lean.vue create mode 100644 frontend/app/utils/lean/abbreviations.ts create mode 100644 frontend/app/utils/lean/lean-language.ts create mode 100644 frontend/app/utils/lean/lsp.ts create mode 100644 frontend/app/utils/lean/monaco-worker.ts create mode 100644 frontend/types/vite-worker.d.ts create mode 100644 lean/Dockerfile create mode 100644 lean/README.md create mode 100644 lean/theme/fonts/SIL Open Font License.txt create mode 100644 lean/theme/fonts/cmunbi.ttf create mode 100644 lean/theme/fonts/cmunbx.ttf create mode 100644 lean/theme/fonts/cmunrm.ttf create mode 100644 lean/theme/fonts/cmunti.ttf create mode 100644 lean/theme/mathew.css create mode 100644 lean/theme/theme-init.js diff --git a/AGENTS.md b/AGENTS.md index 83942b6..e5d63b9 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -6,9 +6,10 @@ The interface itself speaks five languages (en, es, ca, fr, de), chosen per acco ``` mathew/ -├── dev.sh # starts/stops both dev servers together +├── dev.sh # starts/stops all three services together (lean via docker compose) ├── backend/ Express 5 + Mongoose API (port 5000) -└── frontend/ Nuxt 4 / Vue 3 wiki UI (port 3000) +├── frontend/ Nuxt 4 / Vue 3 wiki UI (port 3000) +└── lean/ lean4web editor server — its own Docker image (port 8080) ``` ## Running the project @@ -16,13 +17,16 @@ mathew/ Requires MongoDB on `localhost:27017` (database `mathew`). ```bash -./dev.sh # both dev servers in foreground (Ctrl+C stops both) +./dev.sh # all three services in foreground (Ctrl+C stops all) ./dev.sh start|stop|restart|status -./dev.sh logs [all|backend|frontend] +./dev.sh logs [all|backend|frontend|lean] ``` Or per-service: `npm run dev` inside `backend/` or `frontend/` -(backend uses `node --watch`; backend has no build step). +(backend uses `node --watch`; backend has no build step). The Lean editor +(`/lean`) is the third service: `dev.sh` brings it up through docker compose +alongside the npm pair — the first build fetches Mathlib and takes a while, +and when docker is unavailable dev.sh says so and still starts the other two. Seed sample articles: `npm run seed` in `backend/`. @@ -36,7 +40,10 @@ Production (`docker-compose.yml`) points the backend at the LAN MongoDB server with the dev key). The stack's nginx resolves `backend`/`frontend` through Docker's DNS per request, so container recreates cannot leave it on a stale IP. Frontend API URL comes from `NUXT_PUBLIC_API_BASE` -(default `http://localhost:5000`, read via `runtimeConfig.public.apiBase`). The frontend image +(default `http://localhost:5000`, read via `runtimeConfig.public.apiBase`). The Lean +editor's address comes from `NUXT_PUBLIC_LEAN_URL` (default `http://localhost:8080`, +read via `runtimeConfig.public.leanUrl`) — on an HTTPS site it must be an https:// +address too, or the browser blocks it (and the `wss://` derived from it) as mixed content (see `lean/README.md`). The frontend image builds it empty: the browser then calls `/api` on its own origin, which nginx routes to `backend:5000`, while the Nuxt server's own (SSR) `/api` calls go through a `routeRules` proxy aimed at `NUXT_API_PROXY_TARGET` (`https://mathew.aranroig.com` baked in at image build — the @@ -45,6 +52,40 @@ by service name). There is **no test suite, linter, or typecheck script** configured — don't invent commands. +## Lean editor (`lean/`) + +`/lean` is now a **native editor**, not an iframe. The frontend speaks to the lean4web +server (`lean/`) directly over its websocket (`ws(s):///websocket/`), +carrying the Lean 4 **language server protocol** (LSP): the client sends `initialize`, +`didOpen`/`didChange`, `$/lean/plainGoal`; the server streams back `publishDiagnostics` +and goal answers. That replaces the old frame entirely — the wiki owns the editor (Monaco), +its theme (live, same page), and the Goals/Messages pane. + +`lean/Dockerfile` still builds lean4web (upstream's real Lean + Mathlib per session; +`--build-arg LEAN4WEB_REF=` pins it) and runs its websocket server on port 8080; +the compose `lean` service runs it. Upstream asks for a dedicated machine, and the image is +heavy (Mathlib). It runs `NO_BWRAP=true` — bubblewrap cannot nest in a container, so Docker +itself is the sandbox; whoever reaches the port can run Lean. Build/run, TLS, security and +projects: `lean/README.md`. + +- `frontend/app/utils/lean/lsp.ts` — a minimal LSP JSON-RPC client over a websocket + (request/response pairing, notification dispatch, and auto-ack of the server→client + requests a single-document client has no use for). It negotiates `utf-16` positions, + matching Monaco's column model. +- `frontend/app/utils/lean/lean-language.ts` — registers the `lean4` language with a + Monarch tokenizer and Monaco themes rebuilt from the wiki's live tokens: light/dark surfaces + plus the chosen `--accent`, so the caret, selection, active line number and keywords follow + the accent (`applyLeanTheme()` re-reads the tokens and switches on a live change; themes are + named by their palette, so a redefinition never races one Monaco has already cached). +- `frontend/app/composables/useLeanSession.ts` — the session: connect to a project, open + `Main.lean`, send debounced whole-document `didChange`s, track the cursor for `$/lean/plainGoal`, + split diagnostics into editor marks vs. Messages (severity 3 = Lean's `#check`-style info), + read elaboration progress. Lives at module scope so the running elaboration outlives the + book moving the page between hosts. +- `frontend/app/components/LeanWorkbench.vue` — Monaco + the Goals/Messages sidebar; loads + Monaco (and the worker) client-side only. Provides completions, hover, `\`→unicode input, + and the "open the classic lean4web client" escape link. + ## Backend (`backend/`) Plain JavaScript, ESM (`"type": "module"`, `.js` files with relative `.js` import specifiers). @@ -156,7 +197,7 @@ properties so themes swap at runtime via `data-theme`/`data-accent` attributes (set pre-paint by an inline script in `nuxt.config.ts`). UI wording is localized with `@nuxtjs/i18n` (`frontend/i18n/`): `i18n.config.ts` plus -one JSON catalog per language in `i18n/locales/` (all 350 keys, kept in parity with +one JSON catalog per language in `i18n/locales/` (all 405 keys, kept in parity with `en.json`). `strategy: 'no_prefix'` — the interface language never appears in a URL (`/wiki//` is the *article's* language) — with cookie detection (`mathew-locale`, `fallbackLocale: 'en'`) so the server renders in the right language @@ -200,6 +241,26 @@ copy + an `APP_LANGUAGES` entry + the code in the backend's `SUPPORTED_LOCALES`. *calc*, *plot*, *map*) and opening one lays the live surface on a page of the book beside the articles — `ToolPane.vue` is that page (spine, ×, `inert` when not in view), holding the surface extracted as `GraphStage.vue` / `CalculatorStage.vue`. + The 3D plotter is a third page of its own, `/calculator3d` — sidebar link + and all — drawn by `Calculator3DStage.vue` over `Scene3D.vue`: surfaces + z = f(x, y), a sampled mesh projected and shaded by hand onto one canvas, + quads laid farthest-first, no 3D library (`compileSurfaceExpression` in + `utils/plot-expression.ts` is its algebra). The two calculators share the + dock's shapes but never rows — each keeps its own, in localStorage. + A name in a field that is none of x, y, a constant or a called function + is a slider: a lone `k` or a `k = 2` claims one (plots nothing), and every + expression speaking the name answers to its value — the compile pass hands + each result its `vars`, and `useVarSliders` (values, each slider anchored + under the row that claims it, persistence) and `VarSliders.vue` are shared + by both calculators. + The Lean editor is a fourth page, `/lean`: `LeanWorkbench.vue` *is* the editor — Monaco + (loaded client-side; the `lean4` language and two wiki-matched themes live in + `utils/lean/lean-language.ts`) beside a native infoview of Goals, Messages and a status + line. `useLeanSession` speaks the Lean language protocol to the lean4web server (`lean/`, + address `runtimeConfig.public.leanUrl`) over one websocket, and lives at module scope so a + running elaboration survives the book remounting the page. A dead server answers with the + unreachable banner and a retry; a status-bar link opens the classic lean4web client in its + own tab. `useArticleTabs` files such a page under the identity `page:` and finds it at its own address (`tabAt`/`tabHref` know `toolFromPath`); while its page is open, the plain route hosts defer to the book and draw nothing, and asked plain @@ -349,5 +410,20 @@ copy + an `APP_LANGUAGES` entry + the code in the backend's `SUPPORTED_LOCALES`. the folder tallies come from `/articles/facets` rather than from the cards on screen — counting the loaded batch would let "40 topics" and the tallies grow as the reader scrolls. +- **`/lean` speaks to a server outside the stack.** The wiki does not use an iframe: the + frontend speaks Lean itself (see the **Lean editor** section) — the browser opens + `/websocket/` (`NUXT_PUBLIC_LEAN_URL`, default `http://localhost:8080` + — an address for the browser, not a server-side proxy target to fix up). The Lean server + is strict about the handshake: `rootUri` must be a *string* (the server's URI rewriter + throws on a null and the message vanishes), and capabilities like `showDocument.support` + and `insertTextFormat.valueSet` must be shaped objects — the Lean watchdog quits the + session otherwise. The Messages pane reads severity-3 diagnostics (that is where Lean + puts `#check` output; there is no `$/lean/plainMessages` anymore). Dev runs the server + with `./dev.sh` (via docker compose; or lean4web natively: `NO_BWRAP=true PORT=8080 npm run prod`). + On an HTTPS site the address must be https (its `wss://` is derived from it — an `http://` + Lean server refuses an https wiki outright). + A tool page like this is wired in step: `ToolPage`/`TOOL_PAGE_PATHS` + (`utils/routes.ts`), the page file, `TOOL_LABEL_KEYS`, the `ToolPane` branch and spine + glyph, the sidebar link, and the `PAGE_TOOLS` entry. - Frontend dev server may fall back to port 3001 if 3000 is taken. - `frontend/types/markdown-it-texmath.d.ts` provides types for the untyped texmath package. diff --git a/README.md b/README.md index ae3ccba..c487406 100644 --- a/README.md +++ b/README.md @@ -11,11 +11,12 @@ languages, each with its own address. ``` mathew/ -├── dev.sh # start/stop both dev servers together +├── dev.sh # start/stop all three services together (lean via docker compose) ├── docker-compose.yml # nginx + frontend + backend (prebuilt images) ├── nginx.conf # reverse proxy: / → frontend, /api/ → backend ├── backend/ # Express 5 + Mongoose API (port 5000) -└── frontend/ # Nuxt 4 / Vue 3 wiki UI (port 3000) +├── frontend/ # Nuxt 4 / Vue 3 wiki UI (port 3000) +└── lean/ # Lean editor server (lean4web) — its own Docker image (port 8080) ``` ## Quick start @@ -36,19 +37,23 @@ npm install npm run dev # → http://localhost:3000 ``` -Or run both together from the repo root: +Or run everything together from the repo root: ```bash -./dev.sh # both dev servers in the foreground (Ctrl+C stops both) +./dev.sh # all three services in the foreground (Ctrl+C stops all) ./dev.sh start|stop|restart|status -./dev.sh logs [all|backend|frontend] +./dev.sh logs [all|backend|frontend|lean] ``` +The third service is the **Lean editor server** (`lean/`), run through docker compose +alongside the two npm dev servers — the image's first build fetches Mathlib, so give it +time; without docker, `dev.sh` warns and starts backend + frontend anyway. + ### Scripts | Where | Command | What it does | | --- | --- | --- | -| root | `./dev.sh [dev]` | Both dev servers, foreground, tagged output, one Ctrl+C stops both | +| root | `./dev.sh [dev]` | All three services, foreground, tagged output, one Ctrl+C stops them all | | `backend/` | `npm run dev` | API with `node --watch` (no build step) | | `backend/` | `npm start` | API without watch | | `backend/` | `npm run seed` | A handful of sample articles | @@ -66,6 +71,7 @@ There is **no test suite, linter, or typecheck script** configured. | `backend/.env` | `JWT_SECRET` | *(insecure dev key)* | Signs session tokens — set this in production | | `backend/.env` | `AUTH_TOKEN_TTL` | `7d` | How long a session lasts | | `frontend` env | `NUXT_PUBLIC_API_BASE` | `http://localhost:5000` | Where the UI calls the API | +| `frontend` env | `NUXT_PUBLIC_LEAN_URL` | `http://localhost:8080` | The Lean server (`lean/`) the editor talks to | ## How it works @@ -117,6 +123,7 @@ first paint so there is no flash. Colours are CSS custom properties swapped by | `/` | Search, recently viewed, a way into the shelf | | `/articles` | The shelf, filed by topic — one folder per topic, opening onto a batch-at-a-time grid of cards; language and topic filters are applied by the API | | `/graph` | The wiki's link map: one node per article, one edge per linked pair | +| `/lean` | The Lean 4 editor — Monaco with a live Goals/Messages infoview, talking to its own Lean server (`lean/`) | | `/wiki//` | One language version of an article, drawn as a page of the book with its table of contents | | `/wiki/` | The short form, naming no language — turned onto the version the slug speaks | | `/wiki//edit` | Markdown editor with live preview (Write / Split / Preview) | @@ -197,6 +204,13 @@ passing the standard forwarded headers. Point `NUXT_PUBLIC_API_BASE` and `MONGO_ deployment's real addresses and set a real `JWT_SECRET` — the fallback key is a development convenience only, and anyone holding it can mint a session. +The stack also runs `lean` — the Lean server built from [`lean/`](lean/README.md), +listening on `8080` with its websocket on that one port; the wiki's editor speaks the +Lean language protocol to it directly. It keeps no +state of the wiki's, but it runs real Lean for every session, so plan the machine +accordingly; point `NUXT_PUBLIC_LEAN_URL` at the address the browser reaches (https if +the site is https — the `wss://` is derived from it, and mixed content is blocked). + ## Notes for contributors [`AGENTS.md`](AGENTS.md) is the working map of the codebase: file-by-file layout, the diff --git a/dev.sh b/dev.sh index 060c050..841781b 100755 --- a/dev.sh +++ b/dev.sh @@ -1,20 +1,40 @@ #!/usr/bin/env bash -# dev.sh — start/stop the frontend (Nuxt) and backend (Express) together. +# dev.sh — start/stop the frontend (Nuxt), backend (Express) and the Lean +# editor server (lean4web via docker compose) together. # # Usage: -# ./dev.sh Start both in the foreground (Ctrl+C stops both) -# ./dev.sh start Start both dev servers in the background -# ./dev.sh stop Stop both dev servers +# ./dev.sh Start everything in the foreground (Ctrl+C stops all) +# ./dev.sh start Start everything in the background +# ./dev.sh stop Stop everything # ./dev.sh restart Stop then start -# ./dev.sh status Show which services are running -# ./dev.sh logs [service] Follow logs (all, backend, or frontend) +# ./dev.sh status Show what is running +# ./dev.sh logs [service] Follow logs (all, backend, frontend, or lean) +# +# backend and frontend are npm dev servers; lean is the Lean editor server +# from docker-compose.yml (see lean/). It is the heavy one — the image's +# first build fetches Mathlib — so dev.sh only rides along with docker: when +# docker is not available it says so and starts the other two regardless. set -euo pipefail ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PID_DIR="$ROOT/.pids" LOG_DIR="$ROOT/.logs" +COMPOSE="$ROOT/docker-compose.yml" SERVICES=("backend" "frontend") +LEAN_LOG="$LOG_DIR/lean.log" + +compose() { docker compose -f "$COMPOSE" "$@"; } + +# The Lean server needs docker up, not just installed — probing the daemon +# keeps a dead docker socket from failing backend + frontend. +docker_ready() { + command -v docker >/dev/null 2>&1 && docker info >/dev/null 2>&1 +} + +lean_running() { + docker_ready && [[ -n "$(compose ps --status running --services 2>/dev/null | grep -x lean)" ]] +} pid_of() { local pid_file="$PID_DIR/$1.pid" @@ -43,6 +63,25 @@ start_service() { echo "started $name (PID $pid) — log: $LOG_DIR/$name.log" } +# `up -d` also builds the image the first time it is asked for (heavy: +# Mathlib), so this rides in the background with its output to lean.log +# rather than holding `start` hostage to a cold build. +start_lean() { + if lean_running; then + echo "lean is already running (docker compose)" + return + fi + if ! docker_ready; then + echo "lean: docker is not available — skipping the Lean server (see lean/README.md)" >&2 + return + fi + mkdir -p "$LOG_DIR" + setsid bash -c 'cd "$1" && exec docker compose -f "$2" up -d lean' _ "$ROOT" "$COMPOSE" \ + > "$LEAN_LOG" 2>&1 & + echo "starting lean (docker compose) — log: $LEAN_LOG" + echo " (the first build fetches Mathlib and takes a while)" +} + stop_service() { local name="$1" local pid @@ -68,6 +107,17 @@ stop_service() { echo "stopped $name (PID $pid)" } +# `stop`, not `down` — the container is kept (like a stopped dev server), +# and `docker compose down` stays the maintainer's call. +stop_lean() { + if ! lean_running; then + echo "lean is not running" + return + fi + compose stop lean >/dev/null 2>&1 || true + echo "stopped lean (docker compose)" +} + status() { for name in "${SERVICES[@]}"; do if is_running "$name"; then @@ -76,9 +126,17 @@ status() { echo "$name: stopped" fi done + if lean_running; then + echo "lean: running (docker compose)" + elif docker_ready; then + echo "lean: stopped" + else + echo "lean: stopped (docker is not available)" + fi } FG_PIDS=() +LEAN_PID="" SHUTTING=0 # Stop all foreground services (and their process groups). A second call @@ -88,11 +146,17 @@ fg_stop_all() { if [[ $SHUTTING -eq 1 ]]; then sig=KILL; else SHUTTING=1 echo - echo "stopping frontend + backend..." + echo "stopping backend + frontend + lean..." fi for pid in "${FG_PIDS[@]:-}"; do kill -"$sig" -- "-$pid" 2>/dev/null || kill -"$sig" "$pid" 2>/dev/null || true done + if [[ -n "$LEAN_PID" ]]; then + kill -"$sig" -- "-$LEAN_PID" 2>/dev/null || kill -"$sig" "$LEAN_PID" 2>/dev/null || true + # belt and braces: if the compose client died before telling dockerd, + # the container is still up — `stop` is quick and idempotent. + docker_ready && compose stop lean >/dev/null 2>&1 || true + fi wait 2>/dev/null || true for name in "${SERVICES[@]}"; do rm -f "$PID_DIR/$name.pid"; done exit 0 @@ -116,11 +180,22 @@ foreground() { FG_PIDS+=("$pid") echo "$pid" > "$PID_DIR/$name.pid" done + # The Lean server rides along the same way — compose `up` streams its + # build/run output, tagged. But the pair stays in charge: lean's absence + # (no docker) or its failure (no image, daemon flake) never takes them + # down, so `wait -n` watches only the npm services. + if docker_ready; then + setsid bash -c 'cd "$1" && exec docker compose -f "$2" up lean' _ "$ROOT" "$COMPOSE" \ + > >(sed -u "s/^/[lean] /") 2>&1 & + LEAN_PID=$! + else + echo "[lean] docker is not available — running without the Lean server (see lean/README.md)" >&2 + fi trap 'fg_stop_all' INT TERM - echo "frontend + backend running — press Ctrl+C to stop both" - # Exit as soon as either service dies, so they always run/stop together. - wait -n - echo "a dev server exited — stopping the other one..." + echo "backend + frontend running (lean if docker allows) — press Ctrl+C to stop all" + # Exit as soon as either dev server dies, so they always run/stop together. + wait -n "${FG_PIDS[@]}" + echo "a dev server exited — stopping the others..." fg_stop_all } @@ -130,29 +205,46 @@ case "${1:-dev}" in ;; start) for name in "${SERVICES[@]}"; do start_service "$name"; done + start_lean echo echo "backend: http://localhost:5000" echo "frontend: http://localhost:3000" + echo "lean: http://localhost:8080 (docker compose) — the wiki frames it at /lean" ;; stop) for name in "${SERVICES[@]}"; do stop_service "$name"; done + stop_lean ;; restart) for name in "${SERVICES[@]}"; do stop_service "$name"; done + stop_lean for name in "${SERVICES[@]}"; do start_service "$name"; done + start_lean ;; status) status ;; logs) case "${2:-all}" in - all) tail -f "$LOG_DIR"/*.log ;; + # `all` mixes the file logs with the container's — lean lives in + # docker, not in a dev.log, once it is up. + all) + if docker_ready; then + compose logs -f lean & + LEAN_LOG_PID=$! + trap 'kill "$LEAN_LOG_PID" 2>/dev/null || true' INT TERM + fi + tail -f "$LOG_DIR"/*.log + ;; backend|frontend) tail -f "$LOG_DIR/$2.log" ;; - *) echo "usage: $0 logs [all|backend|frontend]"; exit 1 ;; + lean) + if docker_ready; then compose logs -f lean; else echo "docker is not available" >&2; exit 1; fi + ;; + *) echo "usage: $0 logs [all|backend|frontend|lean]"; exit 1 ;; esac ;; *) - echo "usage: $0 [dev|start|stop|restart|status|logs [all|backend|frontend]] (default: dev)" + echo "usage: $0 [dev|start|stop|restart|status|logs [all|backend|frontend|lean]] (default: dev)" exit 1 ;; esac diff --git a/docker-compose.yml b/docker-compose.yml index 2776ab6..ab9427c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -14,6 +14,20 @@ services: frontend: image: git.aranroig.com/syndria98/mathew-frontend:latest + environment: + # Where the browser finds the Lean editor server below (the wiki's + # /lean frames it). An https:// site needs an https:// address here, + # or the browser refuses the frame — see lean/README.md. + NUXT_PUBLIC_LEAN_URL: ${NUXT_PUBLIC_LEAN_URL:-http://mathew.aranroig.com:8080} + restart: always + + # The Lean editor (lean4web) — its own server, since it runs a real Lean + # process per session and asks for a dedicated machine (see lean/). + lean: + build: ./lean + image: mathew-lean:latest + ports: + - "8080:8080" restart: always backend: diff --git a/frontend/app/assets/css/_book.scss b/frontend/app/assets/css/_book.scss index cfac660..c1e54b8 100644 --- a/frontend/app/assets/css/_book.scss +++ b/frontend/app/assets/css/_book.scss @@ -273,12 +273,12 @@ // The link map and the graphing calculator are pages too: the search popup // lays one of them on the book beside the articles (ToolPane.vue). It fills // the page edge to edge — no column of prose scrolls here, the surface keeps -// its own docks and toolbars — and it takes the whole share of the desk, a -// plane being no narrower read than a page of text. Each stage's own sheet -// answers for the rest (_graph.scss, _calculator.scss). +// its own docks and toolbars — and it is held to the very width an article +// page is (the .book-pane rules: --pane-max-w, and the whole desk when it is +// the only page open). Each stage's own sheet answers for the rest +// (_graph.scss, _calculator.scss). .book-pane.pane-tools { - max-width: none; overflow: hidden; } diff --git a/frontend/app/assets/css/_calculator.scss b/frontend/app/assets/css/_calculator.scss index d654093..f36451d 100644 --- a/frontend/app/assets/css/_calculator.scss +++ b/frontend/app/assets/css/_calculator.scss @@ -115,8 +115,9 @@ font: italic 0.95rem/1 'Computer Modern', Georgia, serif; } -// a relation or point carries no lone "y =", so it sheds the gutter and the -// input takes back the room it stood in +// only a field that reads as a function wears the "y =" gutter; everything +// else — a relation, point, slider, or unfinished text — is bare, and the +// input takes back the room the gutter stood in .calc-input-box.bare .calc-input { padding-left: 10px; } @@ -134,6 +135,77 @@ &.input-error { color: var(--danger); } } +// The typeset echo of the field's text (Desmos' way): while the reader +// types, the formula sets on its own line under the text; once the field +// rests, it takes the text's place beside the "y =" gutter, so the dock +// reads as mathematics. A click wakes the text again (the box is a label); +// the input only steps out of sight, never out of the tab order — and +// Tab waking it draws the text back. An expression that does not read +// carries no echo, so it stays plain text and red, as ever. +.calc-typeset { + display: none; + color: var(--text); + + .katex { font-size: 1rem; } +} + +.calc-input-box.typeset { + flex-wrap: wrap; + + .calc-typeset { display: block; } + + // typing: the echo takes a line of its own, under the field + &:focus-within .calc-typeset { + flex: 0 0 100%; + padding: 0 10px 8px; + } + + // at rest: the field folds away and the formula stands in its place + &:not(:focus-within) { + .calc-input { + flex: none; + width: 0; + min-width: 0; + padding: 0; + opacity: 0; + } + + .calc-typeset { + flex: 1; + min-width: 0; + padding: 8px 10px; + overflow-x: auto; + } + } +} + +// A row that declared a variable ("k", "k = 3"). Once the reader stops +// editing it, the field folds away to nothing — the name and value now live +// in the slider laid in its place (see .calc-vars.is-inline). The input stays +// mounted and focusable (never display:none), so the slider's name can be a +// label that wakes it back to edit the declaration; a focused field stands +// open as any other. This is how a made variable reads as just a slider, not +// a "k = 3" box above a slider. +.calc-input-box.var-decl:not(:focus-within) { + flex: 0 0 0; + min-width: 0; + overflow: hidden; + border-color: transparent; + background: transparent; + + .calc-input { + width: 0; + min-width: 0; + padding: 0; + } +} + +// while the declaration's text is awake, its inline slider steps aside — the +// field is the whole row again +.calc-input-box.var-decl:focus-within ~ .calc-vars.is-inline { + display: none; +} + .calc-remove:hover { color: var(--danger); background: color-mix(in srgb, var(--danger) 10%, transparent); @@ -148,6 +220,86 @@ .calc-add { margin-top: 12px; } +// free variables ("k", "a", "radius") — each slider hangs just under the +// row that claims it. The name sets like the maths it names; the drag does +// the rough work, the field the fine +.calc-vars { + display: flex; + flex-direction: column; + gap: 4px; + margin: 5px 0 2px; + padding: 0; + list-style: none; +} + +.calc-var { + display: flex; + align-items: center; + gap: 8px; +} + +.calc-var-name { + flex: none; + min-width: 1.5ch; + color: var(--text); + font: italic 0.98rem/1 'Computer Modern', Georgia, serif; +} + +// the name of a made variable is the door back to its declaration: it is a +// label for the folded field, so clicking it wakes "k = 3" to be edited +.calc-var-name.editable { + padding: 1px 2px; + border-radius: 4px; + cursor: text; + + &:hover { background: var(--surface-2); } +} + +// a made variable's slider laid in the row in place of its field: no hanging +// margin, the drag takes the room the field used to hold +.calc-vars.is-inline { + flex: 1; + min-width: 0; + margin: 0; + gap: 0; +} + +.calc-var-range { + flex: 1; + min-width: 0; + accent-color: var(--accent); +} + +.calc-var-number { + flex: none; + width: 58px; + min-width: 0; + padding: 3px 6px; + border: 1px solid var(--border); + border-radius: 7px; + background: var(--bg-elev); + color: var(--text); + font: 0.8rem/1.3 'Computer Modern', Georgia, serif; + font-variant-numeric: tabular-nums; + + // no spinners on the slider's little twin — the drag is the spinner + -moz-appearance: textfield; + appearance: textfield; + + &::-webkit-outer-spin-button, + &::-webkit-inner-spin-button { + -webkit-appearance: none; + appearance: none; + margin: 0; + } + + &:focus { + outline: none; + border-color: var(--accent); + box-shadow: var(--ring); + } +} + // the fold: the dock slides out to the left, under the app sidebar, and a // quiet card takes its place at the plane's top-left corner .calc-dock-enter-active, @@ -195,6 +347,131 @@ box-shadow: var(--shadow-sm); } +// the 3D scene hangs its toolbar from a wrapper so the configuration +// card can fold out under it: the wrapper takes the corner, the row +// keeps its look on the hinge +.plot-tools { + position: absolute; + top: 10px; + right: 12px; + z-index: 2; + + .plot-toolbar { position: static; } + + // the configuration button while its card is open, the graph menu's way + .panel-icon-btn.open { color: var(--text); background: var(--surface-2); } +} + +// the configuration card: the space the surfaces stand in — each edge +// editable, the height by default the surfaces' own, the mesh's fineness +.plot-config { + @include dropdown-panel($z: 20, $overflow: visible); + right: 0; + min-width: 250px; + padding: 10px 12px; +} + +.plot-config-row { + display: flex; + align-items: baseline; + justify-content: space-between; + gap: 18px; + padding: 3px 0; +} + +.plot-config-axis { + color: var(--muted); + font: italic 13px 'Computer Modern', Georgia, serif; +} + +.plot-config-label { + color: var(--muted); + font-size: 0.8rem; + font-weight: 600; +} + +.plot-config-value { + color: var(--text); + font: 0.82rem/1.3 'Computer Modern', Georgia, serif; + font-variant-numeric: tabular-nums; + white-space: nowrap; +} + +.plot-config-bounds { + display: flex; + align-items: center; + gap: 6px; +} + +.plot-config-dots { + color: var(--faint); +} + +.plot-config-input { + width: 68px; + min-width: 0; + padding: 4px 7px; + border: 1px solid var(--border); + border-radius: 7px; + background: var(--surface); + color: var(--text); + font: 0.82rem/1.2 'Computer Modern', Georgia, serif; + font-variant-numeric: tabular-nums; + + &:focus { + outline: none; + border-color: var(--accent); + box-shadow: var(--ring); + } +} + +// the switch that decides whose height z answers to: the surfaces' or +// the reader's own two bounds +.plot-config-toggle { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; + width: 100%; + margin-top: 7px; + padding: 7px 0 5px; + border-top: 1px solid var(--border); + color: var(--muted); + font-size: 0.74rem; + line-height: 1.35; + text-align: left; + + &:hover { color: var(--text); } +} + +.plot-config-switch { + position: relative; + flex: none; + width: 32px; + height: 18px; + border-radius: 999px; + background: var(--border-strong); + transition: background-color 0.15s; + + .knob { + position: absolute; + top: 2px; + left: 2px; + width: 14px; + height: 14px; + border-radius: 50%; + background: var(--bg-elev); + box-shadow: var(--shadow-sm); + transition: transform 0.15s ease; + } + + &.on { + background: var(--accent); + + .knob { transform: translateX(14px); } + } +} + // where the cursor stands, bottom-right so the dock never covers it .plot-readout { position: absolute; @@ -246,6 +523,8 @@ .plot-toolbar { top: 8px; right: 8px; } + .plot-tools { top: 8px; right: 8px; } + // during the fold the dock lifts out of the flow, so the plane takes the // width back at once rather than after the slide .calc-dock-leave-active { position: absolute; left: 0; right: 0; } diff --git a/frontend/app/assets/css/_lean.scss b/frontend/app/assets/css/_lean.scss new file mode 100644 index 0000000..22f74fd --- /dev/null +++ b/frontend/app/assets/css/_lean.scss @@ -0,0 +1,271 @@ +@use 'mixins' as *; + +// ---------- Lean editor (/lean) ---------- + +// The wiki's own Lean workbench. On the /lean address it owns the space +// beside the sidebar the way the map and the plane do — fixed, edge to +// edge. In a book pane it becomes the pane's own box instead. +// (The page transition only fades, so no transform steals the +// fixed positioning.) +.lean-stage { + position: fixed; + inset: 0 0 0 var(--sidebar-w); + transition: left 0.22s ease; + z-index: 1; + background: var(--bg); +} + +.pane-stage .lean-stage { + position: absolute; + inset: 0; +} + +// editor left, infoview right — the workbench of every Lean editor, in +// the wiki's own materials. The fold closes the panel's track and the +// editor takes the whole width. +.lean-work { + position: absolute; + inset: 0; + display: grid; + grid-template-columns: minmax(0, 1fr) 340px; + transition: grid-template-columns 0.22s ease; +} + +.lean-work[data-panel='collapsed'] { + grid-template-columns: minmax(0, 1fr) 0; +} + +.lean-work-editor { + position: relative; + min-width: 0; + background: var(--surface); +} + +.lean-work-panel { + display: flex; + flex-direction: column; + min-width: 0; + min-height: 0; + border-left: 1px solid var(--border); + background: var(--bg-elev); + overflow: hidden; + visibility: visible; + transition: opacity 0.18s ease, visibility 0s; +} + +.lean-work[data-panel='collapsed'] .lean-work-panel { + opacity: 0; + visibility: hidden; + // out of sight and out of the reader's way — only after the track closes + transition: opacity 0.18s ease, visibility 0s 0.22s; +} + +// status row: whose Lean, doing what, and the door to the classic client +.lean-work-status { + display: flex; + align-items: center; + gap: 8px; + padding: 9px 12px; + border-bottom: 1px solid var(--border); + font-size: 0.74rem; + color: var(--muted); + + .lean-work-dot { + width: 7px; + height: 7px; + border-radius: 50%; + background: var(--faint); + flex-shrink: 0; + } + + &[data-phase='ready'] .lean-work-dot { background: var(--success); } + &[data-phase='lost'] .lean-work-dot { background: var(--danger); } + &[data-phase='connecting'] .lean-work-dot, + &[data-phase='initializing'] .lean-work-dot { background: var(--accent); } + + // elaborating: the amber pulse every Lean editor wears while working + &[data-busy='true'] .lean-work-dot { + background: #d97706; + animation: lean-pulse 1s ease-in-out infinite; + } + + [data-theme='dark'] &[data-busy='true'] .lean-work-dot { background: #f5a83c; } +} + +@keyframes lean-pulse { + 50% { opacity: 0.35; } +} + +.lean-work-phase { + min-width: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +// the status row's two quiet doors: the classic client outside, and the fold +.lean-work-classic, +.lean-work-collapse { + display: grid; + place-items: center; + width: 24px; + height: 24px; + border-radius: 7px; + color: var(--faint); + transition: color 0.15s ease, background 0.15s ease; + + &:hover { + color: var(--text); + background: var(--surface-2); + } +} + +.lean-work-classic { + margin-left: auto; +} + +// the panes below: Goals and Messages, the wiki's own infoview +.lean-work-goals, +.lean-work-messages { + padding: 10px 12px 14px; + overflow-y: auto; + min-height: 0; + + h3 { + margin: 0 0 8px; + font-size: 0.66rem; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.06em; + color: var(--faint); + } + + pre { + margin: 0 0 8px; + padding: 9px 11px; + border: 1px solid var(--border); + border-radius: 10px; + background: var(--surface); + color: var(--text); + font-family: ui-monospace, 'JetBrains Mono', 'Cascadia Code', 'Fira Code', Menlo, Consolas, monospace; + font-size: 0.78rem; + line-height: 1.55; + white-space: pre-wrap; + word-break: break-word; + } +} + +.lean-work-goals { flex: 1 1 55%; } +.lean-work-messages { + flex: 1 1 45%; + border-top: 1px solid var(--border); +} + +.lean-work-messages ul { + list-style: none; + margin: 0; + padding: 0; + + li { position: relative; } +} + +.lean-work-msg-line { + font-family: ui-monospace, 'JetBrains Mono', Menlo, Consolas, monospace; + font-size: 0.66rem; + color: var(--faint); +} + +.lean-work-none { + margin: 0; + font-size: 0.8rem; + color: var(--faint); +} + +// the fold's other half: while the panel lies collapsed, this quiet card +// waits at the editor's top-right corner to pull the infoview back +.lean-panel-open { + position: absolute; + top: 10px; + right: 12px; + z-index: 2; + display: flex; + align-items: center; + gap: 6px; + padding: 7px 12px; + border: 1px solid var(--border); + border-radius: 11px; + background: color-mix(in srgb, var(--bg-elev) 84%, transparent); + backdrop-filter: blur(10px); + box-shadow: var(--shadow-sm); + color: var(--muted); + font-size: 0.84rem; + font-weight: 650; + white-space: nowrap; + transition: color 0.15s, background-color 0.15s; + + &:hover { color: var(--text); background: var(--surface-2); } +} + +// until Lean answers — and when the server is not there at all — the +// wiki speaks for the editor +.lean-state { + position: absolute; + inset: 0; + z-index: 1; + display: grid; + place-items: center; + align-content: center; + gap: 14px; + padding: 24px; + background: var(--bg); + + .banner { width: min(520px, 100%); } +} + +.lean-spinner { + width: 22px; + height: 22px; + border-radius: 50%; + border: 2px solid color-mix(in srgb, var(--accent) 25%, transparent); + border-top-color: var(--accent); + animation: lean-spin 0.7s linear infinite; +} + +@keyframes lean-spin { + to { transform: rotate(1turn); } +} + +.lean-loading-text { + margin: 0; + font-size: 0.86rem; + color: var(--muted); +} + +// small screens: the panel lies under the editor instead of beside it — +// and collapses into the bottom edge the same way +@media (max-width: 900px) { + .lean-work { + grid-template-columns: none; + grid-template-rows: minmax(0, 1fr) minmax(0, 40%); + transition: grid-template-rows 0.22s ease; + } + + .lean-work[data-panel='collapsed'] { + grid-template-columns: none; + grid-template-rows: minmax(0, 1fr) minmax(0, 0%); + } + + .lean-work-panel { + border-left: 0; + border-top: 1px solid var(--border); + } +} + +@media (prefers-reduced-motion: reduce) { + .lean-stage { transition: none; } + .lean-work { transition: none; } + .lean-work-panel { transition: opacity 0.01s ease, visibility 0s; } + .lean-work[data-panel='collapsed'] .lean-work-panel { transition: opacity 0.01s ease, visibility 0s; } + .lean-spinner { animation-duration: 1.4s; } + .lean-work-status[data-busy='true'] .lean-work-dot { animation: none; } +} diff --git a/frontend/app/assets/css/main.scss b/frontend/app/assets/css/main.scss index 6dedbb8..0403177 100644 --- a/frontend/app/assets/css/main.scss +++ b/frontend/app/assets/css/main.scss @@ -27,4 +27,5 @@ @use 'book'; // the reader: an open book of article pages @use 'graph'; // the link map @use 'calculator'; // the graphing calculator: function rows + the plane +@use 'lean'; // the Lean editor: a frame over the lean4web server (lean/) @use 'transitions'; // route fades, scrollbars diff --git a/frontend/app/components/AppHeader.vue b/frontend/app/components/AppHeader.vue index e2247a3..98067ba 100644 --- a/frontend/app/components/AppHeader.vue +++ b/frontend/app/components/AppHeader.vue @@ -127,6 +127,21 @@ const initials = computed(() => (user.value?.username.charAt(0) ?? '?').toUpperC {{ t('sidebar.calculator') }} + + + {{ t('sidebar.calculator3d') }} + + + + {{ t('sidebar.lean') }} + +import { expressionToLatex } from '~/utils/plot-expression' +import type { SurfaceFunction } from '~/utils/plot-expression' +import type { SurfaceSeries } from './Scene3D.vue' + +/* The 3D calculator: the space owns the surface, the inputs dock to its + left edge — foldable, so the space can have every pixel. Each field + reads as z = f(x, y), and the surface standing over that ground is + drawn (Scene3D turns it under the hand). A name that is none of x, y, + the constants or the known functions — "k" — is a slider, as on the + plane: a lone "k" or a "k = 2" claims one, and every surface speaking + the name answers to its value. Everything is compiled as it is typed; + one that reads wrong goes red and simply stops being drawn. The + rows, the sliders' values and the dock's fold are the reader's own — + kept between visits and between instances, the way the plane calculator + keeps its own; the two calculators never share rows, only the shapes of + their docks. + The /calculator3d address draws this as the page; the book lays it on + one of its pages (ToolPane), an instance beside the open articles. */ + +interface PlotRow { + id: number + expr: string + color: string + visible: boolean +} + +/* a surface wears one of eight hues, each readable on paper and on slate */ +const PALETTE = [ + '#e5484d', '#0091ff', '#46a758', '#f76808', '#8e4ec6', '#12a594', '#e93d82', '#3e63dd', +] +const STORAGE_KEY = 'mathew-calculator3d-plots' +const VARS_KEY = 'mathew-calculator3d-vars' +const DOCK_KEY = 'mathew-calc3d-dock' +const MAX_ROWS = 12 + +let nextId = 1 +const rows = ref([ + { id: nextId++, expr: 'sin(sqrt(x^2 + y^2))', color: PALETTE[0]!, visible: true }, + { id: nextId++, expr: '(x^2 - y^2) / 4', color: PALETTE[1]!, visible: true }, +]) + +/* one compile pass per render: the rows read alongside what they became — + a surface to draw, a slider to wear, and a reason for the ones that read + wrong (an empty field is nothing asked for, not a mistake). The "z =" + gutter stands only while the field reads as a surface — a slider or + unfinished text wears nothing, and the input takes back the room. One + that reads right carries its LaTeX too: the field echoes it typeset. */ +interface PlotEntry { + row: PlotRow + kind: 'surface' | 'variable' | null + fn: SurfaceFunction | null + // the free variables this row speaks, and the slider its own text claims + vars: string[] + declared: { name: string; value: number | null } | null + error: 'unknown' | 'syntax' | null + tex: string | null +} + +/* the sliders' values, keyed by variable. The compile pass reads them — + which is what ties every drawn surface to every slider: move one, every + expression speaking it recompiles and the space follows. */ +const varValues = reactive>({}) + +const entries = computed(() => { + const scope = { ...varValues } + return rows.value.map((row) => { + const src = row.expr.trim() + if (!src) return { row, kind: null, fn: null, vars: [], declared: null, error: null, tex: null } + const result = compileSurfaceExpression(src, scope) + if (result.ok) + return { + row, + kind: result.kind, + fn: result.kind === 'surface' ? result.fn : null, + vars: result.vars, + declared: result.kind === 'variable' ? { name: result.name, value: result.value } : null, + error: null, + tex: expressionToLatex(src), + } + return { row, kind: null, fn: null, vars: [], declared: null, error: result.reason === 'empty' ? null : result.reason, tex: null } + }) +}) + +/* the sliders: one per variable, hung under the row that claims it — the + declaration row when one asks, else the first row speaking it — values + kept between visits, as the rows are */ +const { slidersByRow, setVar } = useVarSliders( + varValues, + () => entries.value.map((e) => ({ rowId: e.row.id, vars: e.vars, declared: e.declared })), + VARS_KEY, +) + +/* the id of a row's field, so a declaration's inline slider can point back at + it (a label waking its input) to edit "k = 3" again — namespaced per + calculator so an instance of each open in the book never shares an id */ +const INPUT_SCOPE = 'space' +const fieldId = (rowId: number) => `calc-input-${INPUT_SCOPE}-${rowId}` + +/* a row whose own text declared a variable ("k", "k = 3") and whose slider + was anchored here wears that slider in place of its field once the field + rests — the field folds away (see .calc-input-box.var-decl) and the slider + takes the row, so a made variable reads as just a slider, not a "k = 3" + box above a slider */ +function wearsInlineSlider(e: PlotEntry): boolean { + return e.kind === 'variable' && (slidersByRow.value.get(e.row.id)?.length ?? 0) > 0 +} + +const series = computed(() => { + const out: SurfaceSeries[] = [] + for (const e of entries.value) { + if (!e.fn || !e.row.visible) continue + out.push({ id: e.row.id, color: e.row.color, visible: true, fn: e.fn }) + } + return out +}) + +/* a new surface takes the first hue no other row is wearing */ +function nextColor(): string { + const used = new Set(rows.value.map((r) => r.color)) + return PALETTE.find((c) => !used.has(c)) ?? PALETTE[rows.value.length % PALETTE.length]! +} + +function addRow() { + if (rows.value.length >= MAX_ROWS) return + rows.value.push({ id: nextId++, expr: '', color: nextColor(), visible: true }) +} + +function removeRow(id: number) { + rows.value = rows.value.filter((r) => r.id !== id) +} + +function toggleVisible(id: number) { + const row = rows.value.find((r) => r.id === id) + if (row) row.visible = !row.visible +} + +function cycleColor(id: number) { + const row = rows.value.find((r) => r.id === id) + if (!row) return + const at = PALETTE.indexOf(row.color) + row.color = PALETTE[(at + 1) % PALETTE.length]! +} + +/* Enter finishes a line the way clicking away does — it lets go of the field, + so the text settles (a surface folds to its typeset face, a variable to its + slider). On the last line the list invites one more, so the fresh field + takes the caret and the line you confirmed folds away; on any other line, + or once the list is full, Enter simply releases the field. */ +async function onEnter(id: number, ev: KeyboardEvent) { + const el = ev.target as HTMLElement | null + if (id === rows.value[rows.value.length - 1]?.id) { + const before = rows.value.length + addRow() + if (rows.value.length !== before) { + const newId = rows.value[rows.value.length - 1]!.id + await nextTick() + document.getElementById(fieldId(newId))?.focus() + return + } + } + el?.blur() +} + +/* whether the dock stands open is the reader's own — the fold slides the + rows away and leaves the space alone; the choice is kept between visits */ +const dockOpen = ref(true) + +function toggleDock() { + dockOpen.value = !dockOpen.value + try { + localStorage.setItem(DOCK_KEY, dockOpen.value ? '1' : '0') + } catch { + /* private mode etc. — the fold just won't persist */ + } +} + +/* the rows keep themselves between visits */ +function saveRows() { + try { + localStorage.setItem( + STORAGE_KEY, + JSON.stringify(rows.value.map(({ expr, color, visible }) => ({ expr, color, visible }))) + ) + } catch { + /* private mode etc. — the rows just won't persist */ + } +} +watch(rows, saveRows, { deep: true }) + +onMounted(() => { + try { + dockOpen.value = localStorage.getItem(DOCK_KEY) !== '0' + } catch { + /* storage unreadable — the dock stays open */ + } + try { + const raw = localStorage.getItem(STORAGE_KEY) + if (!raw) return + const stored: unknown = JSON.parse(raw) + if (!Array.isArray(stored)) return + const restored: PlotRow[] = [] + for (const item of stored) { + if (typeof item !== 'object' || item === null) continue + const { expr, color, visible } = item as Partial> + restored.push({ + id: nextId++, + expr: typeof expr === 'string' ? expr : '', + color: typeof color === 'string' ? color : PALETTE[restored.length % PALETTE.length]!, + visible: visible !== false, + }) + } + if (restored.length) rows.value = restored.slice(0, MAX_ROWS) + } catch { + /* storage unreadable — the default surfaces stay */ + } +}) + +const { t } = useI18n() + + + diff --git a/frontend/app/components/CalculatorStage.vue b/frontend/app/components/CalculatorStage.vue index 048320f..2af0e86 100644 --- a/frontend/app/components/CalculatorStage.vue +++ b/frontend/app/components/CalculatorStage.vue @@ -1,4 +1,5 @@ + + diff --git a/frontend/app/components/Scene3D.vue b/frontend/app/components/Scene3D.vue new file mode 100644 index 0000000..6c87c6e --- /dev/null +++ b/frontend/app/components/Scene3D.vue @@ -0,0 +1,832 @@ + + + diff --git a/frontend/app/components/SearchModal.vue b/frontend/app/components/SearchModal.vue index 317e217..cdac7c0 100644 --- a/frontend/app/components/SearchModal.vue +++ b/frontend/app/components/SearchModal.vue @@ -5,9 +5,9 @@ import type { ToolPage } from '~/utils/routes' /* Centered search popup: the sidebar and home search bars (or Ctrl/⌘+K, or "/" anywhere but a text field) open it, then it live-searches articles against the API as you type. ↑/↓ select, ↵ opens, esc closes. - The wiki's own pages — the link map and the graphing calculator — answer - the search too, and ↵ on one lays that surface on the book beside the - open articles rather than turning the page away to it. */ + The wiki's own pages — the link map, the graphing calculator, the Lean + editor — answer the search too, and ↵ on one lays that surface on the + book beside the open articles rather than turning the page away to it. */ const api = `${useRuntimeConfig().public.apiBase}/api` const route = useRoute() const router = useRouter() @@ -29,6 +29,14 @@ const PAGE_TOOLS: { tool: ToolPage; terms: string[] }[] = [ tool: 'calculator', terms: ['calculator', 'calc', 'plot', 'plotter', 'graphing', 'plane'], }, + { + tool: 'calculator3d', + terms: ['3d', '3d calculator', 'surface', 'space', 'solid', 'scene'], + }, + { + tool: 'lean', + terms: ['lean', 'lean4', 'lean 4', 'proof', 'prover', 'theorem prover', 'mathlib'], + }, ] const q = ref('') @@ -270,6 +278,10 @@ function highlight(text: string): Part[] { + + + + diff --git a/frontend/app/components/ToolPane.vue b/frontend/app/components/ToolPane.vue index f274baf..05d0fd1 100644 --- a/frontend/app/components/ToolPane.vue +++ b/frontend/app/components/ToolPane.vue @@ -1,7 +1,8 @@ + +
+ +
diff --git a/frontend/app/components/VarSliders.vue b/frontend/app/components/VarSliders.vue new file mode 100644 index 0000000..07c77f6 --- /dev/null +++ b/frontend/app/components/VarSliders.vue @@ -0,0 +1,60 @@ + + + diff --git a/frontend/app/composables/useArticleTabs.ts b/frontend/app/composables/useArticleTabs.ts index 78e3bfd..f905a28 100644 --- a/frontend/app/composables/useArticleTabs.ts +++ b/frontend/app/composables/useArticleTabs.ts @@ -4,8 +4,9 @@ export interface ArticleTab { /** the article this page is of — its canonical slug, and the page's key */ identity: string /** set when the page is one of the wiki's own pages — the link map, the - * graphing calculator — laid on the book instead of an article: the page - * draws that live surface, at its own address, for as long as it is open */ + * graphing calculator, the Lean editor — laid on the book instead of an + * article: the page draws that live surface, at its own address, for as + * long as it is open */ tool?: ToolPage /** the language this page is turned to */ lang: string @@ -24,6 +25,8 @@ const MAX_TABS = 10 export const TOOL_LABEL_KEYS: Record = { graph: 'sidebar.graph', calculator: 'sidebar.calculator', + calculator3d: 'sidebar.calculator3d', + lean: 'sidebar.lean', } /** The key of the book page holding one of the wiki's own pages. No article @@ -123,9 +126,10 @@ export function useArticleTabs() { } /** - * Lay one of the wiki's own pages — the link map, the graphing calculator — - * on the book beside the articles. One surface is one page however many - * times it is asked for: asking again just finds the page already there. + * Lay one of the wiki's own pages — the link map, the graphing calculator, + * the Lean editor — on the book beside the articles. One surface is one + * page however many times it is asked for: asking again just finds the + * page already there. */ function openTool(page: ToolPage) { const identity = toolPageIdentity(page) diff --git a/frontend/app/composables/useLeanSession.ts b/frontend/app/composables/useLeanSession.ts new file mode 100644 index 0000000..318d370 --- /dev/null +++ b/frontend/app/composables/useLeanSession.ts @@ -0,0 +1,287 @@ +/* The wiki's Lean session (client-side). + * + * One websocket to the lean4web server (`/websocket/`), through + * which the wiki plays the part of a Lean editor's language client: open a + * document, send edits, ask for the goal at the cursor (the server's + * `$/lean/plainGoal`), and read the diagnostics — whose severity-3 entries + * are Lean's `#check`/`#eval` style messages, shown in the Messages pane. + * + * The session lives at module scope on purpose: the book may move the Lean + * page between its full-page and pane hosts (unmounting the editor), but a + * running Lean elaboration and its open document are expensive to restart — + * so they outlive the component, and the editor simply re-attaches. */ +import { RpcSocket } from '~/utils/lean/lsp' + +export type LeanPhase = 'idle' | 'connecting' | 'initializing' | 'ready' | 'lost' + +export interface LeanInfoMessage { line: number, text: string } + +/* the shape the Lean server publishes per diagnostic (a slice of LSP) */ +export interface LeanDiagnostic { + range: { start: { line: number, character: number }, end: { line: number, character: number } } + severity?: number + message: string + source?: string +} + +const DOCUMENT_NAME = 'Main.lean' +const FALLBACK_PROJECT = 'MathlibDemo' + +interface LeanSession { + phase: Ref + goals: Ref + messages: Ref + busy: Ref + version: Ref + error: Ref + text: Ref + /* the uri the lean server knows this buffer by — LSP requests must + * name the document the server opened, not the editor's local one */ + serverDocUri: Ref + start: () => Promise + retry: () => void + change: (text: string) => void + cursorAt: (line: number, character: number) => void + request: (method: string, params?: unknown) => Promise + onDiagnostics: (cb: (diags: LeanDiagnostic[]) => void) => () => void +} + +let singleton: LeanSession | null = null + +export function useLeanSession(): LeanSession { + const config = useRuntimeConfig() + const leanUrl = String(config.public.leanUrl || '') + + if (!singleton && import.meta.client && leanUrl) singleton = createSession(leanUrl) + + /* a dormant stand-in keeps the component honest on the server, where + * there is nothing to speak to */ + return singleton ?? { + phase: ref('idle') as Ref, + goals: ref([]) as Ref, + messages: ref([]) as Ref, + busy: ref(false) as Ref, + version: ref(null) as Ref, + error: ref(null) as Ref, + text: ref('') as Ref, + serverDocUri: ref('') as Ref, + start: async () => {}, + retry: () => {}, + change: () => {}, + cursorAt: () => {}, + request: async () => { throw new Error('no lean session') }, + onDiagnostics: () => () => {}, + } +} + +function createSession(leanUrl: string): LeanSession { + const phase = ref('idle') + const goals = ref([]) + const messages = ref([]) + const busy = ref(false) + const version = ref(null) + const error = ref(null) + const text = ref('') + const serverDocUri = ref('') + + let rpc: RpcSocket | null = null + let docUri = `${FALLBACK_PROJECT}/${DOCUMENT_NAME}` + let sentVersion = 0 + let lastSentText = '' + const cursor = { line: 0, character: 0 } + const diagListeners = new Set<(diags: LeanDiagnostic[]) => void>() + let lastDiags: LeanDiagnostic[] = [] + + let changeTimer: ReturnType | undefined + let goalTimer: ReturnType | undefined + + const wsBase = leanUrl.replace(/\/+$/, '').replace(/^http/, 'ws') + + async function pickProject(): Promise { + try { + // the server's REST endpoints carry no CORS headers — probing them from + // another origin only earns a blocked request, so stay quiet cross-origin + // and name the canonical project (the websocket is CORS-free) + if (new URL(leanUrl, window.location.href).origin !== window.location.origin) { + return FALLBACK_PROJECT + } + const res = await fetch(`${leanUrl.replace(/\/+$/, '')}/api/projects`) + const projects = (await res.json()) as Array<{ folder: string, config?: { default?: boolean, hidden?: boolean } }> + const visible = projects.filter(p => !p.config?.hidden) + return (visible.find(p => p.config?.default) ?? visible[0])?.folder || FALLBACK_PROJECT + } + catch { return FALLBACK_PROJECT } + } + + function handleNotification(method: string, params: unknown) { + const p = params as Record | undefined + if (method === '$/lean/fileProgress') { + busy.value = Array.isArray(p?.processing) && p.processing.length > 0 + return + } + if (method === 'textDocument/publishDiagnostics') { + const raw = Array.isArray(p?.diagnostics) ? p.diagnostics as LeanDiagnostic[] : [] + // the server marks some diagnostics silent (elaboration noise); the + // wiki shows errors/warnings in the editor, info in the Messages pane + const diags = raw.filter(d => !('isSilent' in d && (d as any).isSilent)) + lastDiags = diags + messages.value = diags + .filter(d => d.severity === 3) + .map(d => ({ line: d.range.start.line + 1, text: d.message })) + for (const cb of diagListeners) cb(diags) + } + } + + async function connect() { + phase.value = 'connecting' + error.value = null + const project = await pickProject() + docUri = `${project}/${DOCUMENT_NAME}` + // a fresh document identity means the buffer below re-sends as new + sentVersion = 0 + lastSentText = '' + + try { + rpc = new RpcSocket(`${wsBase}/websocket/${project}`, { + onNotification: handleNotification, + onClose: () => { + if (phase.value !== 'idle' && phase.value !== 'lost') { + phase.value = 'lost' + busy.value = false + } + }, + }) + await rpc.whenOpen + + phase.value = 'initializing' + const init = await rpc.request<{ + serverInfo?: { name?: string, version?: string } + }>('initialize', { + processId: null, + clientInfo: { name: 'mathew', version: '0.1.0' }, + rootUri: '', + capabilities: { + general: { positionEncodings: ['utf-16'] }, + workspace: { configuration: false, workspaceFolders: false, applyEdit: true }, + window: { + showMessage: {}, + showDocument: { support: true }, + workDoneProgress: true, + configuration: true, + }, + textDocument: { + synchronization: { didChange: true, willSave: false, didSave: false }, + publishDiagnostics: { relatedInformation: true, versionSupport: true }, + hover: { contentFormat: ['markdown', 'plaintext'] }, + definition: { linkSupport: true }, + documentHighlight: {}, + completion: { + completionItem: { + snippetSupport: true, + documentationFormat: ['markdown', 'plaintext'], + insertTextFormat: { valueSet: [1, 2] }, + additionalTextEditsSupport: true, + }, + contextSupport: true, + }, + }, + }, + initializationOptions: { hasWidgets: true }, + }) + version.value = init.serverInfo?.version ?? null + rpc.notify('initialized', {}) + rpc.notify('textDocument/didOpen', { + textDocument: { uri: docUri, languageId: 'lean4', version: 1, text: text.value }, + }) + sentVersion = 1 + lastSentText = text.value + phase.value = 'ready' + void refreshGoal() + } + catch (err) { + error.value = err instanceof Error ? err.message : String(err) + phase.value = 'lost' + } + } + + async function refreshGoal() { + if (!rpc || phase.value !== 'ready') return + try { + const res = await rpc.request<{ goals?: string[], rendered?: string } | null>( + '$/lean/plainGoal', + { textDocument: { uri: docUri }, position: cursor }, + ) + // the server answers `null` away from tactic goals; `rendered` is the + // goals as a markdown fence — the array is the honest plain text + goals.value = res?.goals ?? [] + } + catch { /* raced by a newer edit (ContentModified) — the next ask wins */ } + } + + function sendChange() { + if (!rpc || phase.value !== 'ready' || text.value === lastSentText) return + sentVersion += 1 + // LSP allows one change spanning the whole document — simple and exact + const endLine = Math.max(lastSentText.split('\n').length - 1, 0) + const endChar = lastSentText.slice(lastSentText.lastIndexOf('\n') + 1).length + rpc.notify('textDocument/didChange', { + textDocument: { uri: docUri, version: sentVersion }, + contentChanges: [{ + range: { start: { line: 0, character: 0 }, end: { line: endLine, character: endChar } }, + text: text.value, + }], + }) + lastSentText = text.value + void refreshGoal() + } + + return { + phase, + goals, + messages, + busy, + version, + error, + text, + + async start() { + if (phase.value !== 'idle') return + await connect() + }, + + retry() { + try { rpc?.close() } + catch { /* gone */ } + rpc = null + goals.value = [] + messages.value = [] + busy.value = false + void connect() + }, + + change(newText) { + text.value = newText + clearTimeout(changeTimer) + changeTimer = setTimeout(sendChange, 400) + }, + + cursorAt(line, character) { + cursor.line = line + cursor.character = character + clearTimeout(goalTimer) + goalTimer = setTimeout(() => void refreshGoal(), 200) + }, + + request(method: string, params?: unknown) { + if (!rpc || phase.value !== 'ready') return Promise.reject(new Error('lean is not ready')) + return rpc.request(method, params) + }, + + onDiagnostics(cb) { + diagListeners.add(cb) + // a freshly (re)attached editor wants the current marks at once + cb(lastDiags) + return () => diagListeners.delete(cb) + }, + } +} diff --git a/frontend/app/composables/useVarSliders.ts b/frontend/app/composables/useVarSliders.ts new file mode 100644 index 0000000..db1dc54 --- /dev/null +++ b/frontend/app/composables/useVarSliders.ts @@ -0,0 +1,119 @@ +/* The free-variable sliders both calculators wear: one value per variable + in a scope the compile pass reads, one slider per variable anchored under + the row that claims it — the row declaring it ("k", "k = 2") when one + asks, else the first row speaking it — and the values kept between visits + per calculator. A name the scope does not carry yet reads as 1, where + every slider starts. */ + +export interface VarSlider { + name: string + value: number + min: number + max: number +} + +/* one row's reading, as far as sliders care: the variables it speaks and + the declaration its text claims (a null start says "k", not "k = 2") */ +export interface RowVarDecls { + rowId: number + vars: string[] + declared: { name: string; value: number | null } | null +} + +/* how far a slider reaches either side of zero; a value set past an end — + by "k = 40" or by typing — pulls that end out so the thumb can reach it */ +const SLIDER_MIN = -10 +const SLIDER_MAX = 10 + +export function useVarSliders( + varValues: Record, + decls: () => RowVarDecls[], + storageKey: string, +) { + /* every variable spoken, with the value its "k = 2" row asks to start at + — or 1, where sliders start. One variable wears one slider however many + rows speak it. */ + const varStarts = computed(() => { + const starts = new Map() + for (const d of decls()) { + if (d.declared && !starts.has(d.declared.name)) starts.set(d.declared.name, d.declared.value ?? 1) + for (const name of d.vars) if (!starts.has(name)) starts.set(name, 1) + } + return starts + }) + + // a variable the rows only now started speaking takes its start value; + // one the reader already moved keeps the value they left it at. Filling + // from the first pass keeps what the server draws and what the reader + // finds after mounting the same + function fillDefaults() { + for (const [name, value] of varStarts.value) { + if (!(name in varValues)) varValues[name] = value + } + } + watch(varStarts, fillDefaults, { immediate: true }) + + /* one slider per variable, filed under the row it sits beneath: the row + claiming it ("k", "k = 2") wins, else the first row that speaks it */ + const slidersByRow = computed(() => { + const anchor = new Map() + for (const d of decls()) { + if (d.declared && !anchor.has(d.declared.name)) anchor.set(d.declared.name, d.rowId) + } + for (const d of decls()) { + for (const name of d.vars) { + if (!anchor.has(name)) anchor.set(name, d.rowId) + } + } + const byRow = new Map() + for (const d of decls()) { + for (const name of d.vars) { + if (anchor.get(name) !== d.rowId) continue + const value = varValues[name] ?? 1 + const list = byRow.get(d.rowId) ?? [] + list.push({ name, value, min: Math.min(SLIDER_MIN, value), max: Math.max(SLIDER_MAX, value) }) + byRow.set(d.rowId, list) + } + } + return byRow + }) + + function setVar(name: string, raw: number) { + if (Number.isFinite(raw)) varValues[name] = raw + } + + /* the values keep themselves — only the ones a row still speaks, so a + variable nobody asks for anymore is forgotten on the next save rather + than haunting the store */ + function save() { + try { + const kept: Record = {} + for (const [name, value] of Object.entries(varValues)) { + if (varStarts.value.has(name) && Number.isFinite(value)) kept[name] = value + } + localStorage.setItem(storageKey, JSON.stringify(kept)) + } catch { + /* private mode etc. — the slider values just won't persist */ + } + } + watch([varValues, varStarts], save) + + onMounted(() => { + try { + const raw = localStorage.getItem(storageKey) + if (raw) { + const stored: unknown = JSON.parse(raw) + if (typeof stored === 'object' && stored !== null) { + for (const [name, value] of Object.entries(stored)) { + if (typeof value === 'number' && Number.isFinite(value)) varValues[name] = value + } + } + } + } catch { + /* storage unreadable — the sliders start where their rows ask */ + } + fillDefaults() + }) + + return { slidersByRow, setVar } +} diff --git a/frontend/app/pages/calculator3d.vue b/frontend/app/pages/calculator3d.vue new file mode 100644 index 0000000..7b9843c --- /dev/null +++ b/frontend/app/pages/calculator3d.vue @@ -0,0 +1,24 @@ + + + diff --git a/frontend/app/pages/lean.vue b/frontend/app/pages/lean.vue new file mode 100644 index 0000000..5006f48 --- /dev/null +++ b/frontend/app/pages/lean.vue @@ -0,0 +1,25 @@ + + + diff --git a/frontend/app/utils/lean/abbreviations.ts b/frontend/app/utils/lean/abbreviations.ts new file mode 100644 index 0000000..5d4a3a9 --- /dev/null +++ b/frontend/app/utils/lean/abbreviations.ts @@ -0,0 +1,4 @@ +/* Lean's unicode input table (the `\le` → `≤` abbreviations), from + * vscode-lean4 (MIT, leanprover-community/vscode-lean4, `lean4-unicode-input`). + * Each value may carry `$CURSOR` where the caret lands after the replacement. */ +export const leanAbbreviations: Record = {"!": "¬", "!!": "‼", "!?": "⁉", "\"A": "Ä", "\"E": "Ë", "\"I": "Ï", "\"O": "Ö", "\"U": "Ü", "\"a": "ä", "\"e": "ë", "\"i": "ï", "\"o": "ö", "\"u": "ü", "\"y": "ÿ", "#": "♯", "&": "⅋", "'A": "Á", "'E": "É", "'I": "Í", "'O": "Ó", "'U": "Ú", "'Y": "Ý", "'a": "á", "'e": "é", "'i": "í", "'o": "ó", "'u": "ú", "'y": "ý", "((": "⸨", "(())": "⸨$CURSOR⸩", "()": "($CURSOR)", "()_": "($CURSOR)_", "(=": "≘", "([": "⟮", "([])'": "⟮$CURSOR⟯", "(b": "⟅", "))": "⸩", ")b": "⟆", "*": "⋆", "*=": "≛", "+ ": "⊹", "-": "⁻¹", "---": "─", "--.": "╌", "--=": "═", "-->": "⟶", "--_": "━", "-1": "⁻¹", "-2": "⁻²", "-3": "⁻³", "-:": "∹", "->": "→", "->n": "↛", "-]": "⁆", "-int": "⨍", "-o": "⊸", "-{A}": "Ā", "-{E}": "Ē", "-{I}": "Ī", "-{O}": "Ō", "-{U}": "Ū", "-{a}": "ā", "-{e}": "ē", "-{i}": "ī", "-{o}": "ō", "-{u}": "ū", "-|": "⊣", "-~": "≂", ".": "·", ".+": "∔", ".-": "∸", "...": "⋯", ".=": "≐", ".=.": "≑", "/": "⧸", "/L": "Ł", "/O": "Ø", "/o": "ø", "0": "₀", "1": "₁", "2": "₂", "3": "₃", "4": "₄", "5": "₅", "6": "₆", "7": "₇", "8": "₈", "9": "₉", ":": "∶", "::": "∷", "::-": "∺", ":=": "≔", ":>": "⋗", ":~": "∻", "<": "⟨", "<-": "←", "<--": "⟵", "<-->": "⟷", "<->": "↔", "<->n": "↮", "<-n": "↚", "<:": "⋖", "<<": "⟪", "<=": "≤", "<=>": "⇔", "<=>n": "⇎", "<=n": "≰", "<>": "⟨$CURSOR⟩", "<|": "⧏", "<~": "≲", "<~n": "⋦", "<~nn": "≴", "=:": "≕", "==": "≡", "===": "≣", "==>": "⟹", "==n": "≢", "=>": "⇒", "=>n": "⇏", "=n": "≠", "=o": "≗", ">": "⟩", ">=": "≥", ">=n": "≱", ">>": "⟫", ">n": "≯", ">~": "≳", ">~n": "⋧", ">~nn": "≵", "?": "¿", "?!": "‽", "?=": "≟", "??": "⁇", "A": "𝔸", "AA": "Å", "AE": "Æ", "Alpha": "Α", "And": "⋀", "Beta": "Β", "Box": "□", "Bumpeq": "≎", "C": "ℂ", "Cap": "⋒", "Chi": "Χ", "Com": "ℂ", "Complement": "∁", "Cup": "⋓", "D": "Δ", "DH": "Ð", "Dei": "Ϯ", "Delta": "Δ", "Diamond": "◇", "Digamma": "Ϝ", "Downarrow": "⇓", "Epsilon": "Ε", "Eta": "Η", "F": "𝔽", "Fei": "Ϥ", "Frowny": "☹", "G": "Γ", "GA": "Α", "GB": "Β", "GC": "Χ", "GD": "Δ", "GE": "Ε", "GF": "Φ", "GG": "Γ", "GI": "Ι", "GK": "Κ", "GL": "Λ", "GM": "Μ", "GN": "Ν", "GO": "Ω", "GP": "Ψ", "GR": "Ρ", "GS": "Σ", "GT": "Τ", "GTH": "Θ", "GU": "Υ", "GX": "Ξ", "GZ": "Ζ", "Ga": "α", "Gamma": "Γ", "Gangia": "Ϫ", "Gb": "β", "Gc": "χ", "Gd": "δ", "Ge": "ε", "Gf": "φ", "Gg": "γ", "Gi": "ι", "Gk": "κ", "Gl": "λ", "Gl-": "ƛ", "Glb": "⨅", "Gm": "μ", "Gn": "ν", "Go": "ω", "Gp": "ψ", "Gr": "ρ", "Gs": "σ", "Gt": "τ", "Gth": "θ", "Gu": "υ", "Gx": "ξ", "Gz": "ζ", "H": "ℍ", "Heta": "Ͱ", "Hori": "Ϩ", "I": "⋂", "I0": "⋂₀", "Im": "ℑ", "Inf": "⨅", "Int": "ℤ", "Inter": "⋂", "Iota": "Ι", "Join": "⨆", "K": "𝕂", "Kappa": "Κ", "Khei": "Ϧ", "Koppa": "Ϟ", "L": "Λ", "Lambda": "Λ", "Lamda": "Λ", "Leftarrow": "⇐", "Leftrightarrow": "⇔", "Letter": "✉", "Ll": "⋘", "Lleftarrow": "⇚", "Longleftarrow": "⇐", "Longleftrightarrow": "⇔", "Longrightarrow": "⇒", "Lsh": "↰", "Lub": "⨆", "MCA": "𝓐", "MCB": "𝓑", "MCC": "𝓒", "MCD": "𝓓", "MCE": "𝓔", "MCF": "𝓕", "MCG": "𝓖", "MCH": "𝓗", "MCI": "𝓘", "MCJ": "𝓙", "MCK": "𝓚", "MCL": "𝓛", "MCM": "𝓜", "MCN": "𝓝", "MCO": "𝓞", "MCP": "𝓟", "MCQ": "𝓠", "MCR": "𝓡", "MCS": "𝓢", "MCT": "𝓣", "MCU": "𝓤", "MCV": "𝓥", "MCW": "𝓦", "MCX": "𝓧", "MCY": "𝓨", "MCZ": "𝓩", "MCa": "𝓪", "MCb": "𝓫", "MCc": "𝓬", "MCd": "𝓭", "MCe": "𝓮", "MCf": "𝓯", "MCg": "𝓰", "MCh": "𝓱", "MCi": "𝓲", "MCj": "𝓳", "MCk": "𝓴", "MCl": "𝓵", "MCm": "𝓶", "MCn": "𝓷", "MCo": "𝓸", "MCp": "𝓹", "MCq": "𝓺", "MCr": "𝓻", "MCs": "𝓼", "MCt": "𝓽", "MCu": "𝓾", "MCv": "𝓿", "MCw": "𝔀", "MCx": "𝔁", "MCy": "𝔂", "MCz": "𝔃", "MIA": "𝑨", "MIB": "𝑩", "MIC": "𝑪", "MID": "𝑫", "MIE": "𝑬", "MIF": "𝑭", "MIG": "𝑮", "MIH": "𝑯", "MII": "𝑰", "MIJ": "𝑱", "MIK": "𝑲", "MIL": "𝑳", "MIM": "𝑴", "MIN": "𝑵", "MIO": "𝑶", "MIP": "𝑷", "MIQ": "𝑸", "MIR": "𝑹", "MIS": "𝑺", "MIT": "𝑻", "MIU": "𝑼", "MIV": "𝑽", "MIW": "𝑾", "MIX": "𝑿", "MIY": "𝒀", "MIZ": "𝒁", "MIa": "𝒂", "MIb": "𝒃", "MIc": "𝒄", "MId": "𝒅", "MIe": "𝒆", "MIf": "𝒇", "MIg": "𝒈", "MIh": "𝒉", "MIi": "𝒊", "MIj": "𝒋", "MIk": "𝒌", "MIl": "𝒍", "MIm": "𝒎", "MIn": "𝒏", "MIo": "𝒐", "MIp": "𝒑", "MIq": "𝒒", "MIr": "𝒓", "MIs": "𝒔", "MIt": "𝒕", "MIu": "𝒖", "MIv": "𝒗", "MIw": "𝒘", "MIx": "𝒙", "MIy": "𝒚", "MIz": "𝒛", "McA": "𝒜", "McB": "ℬ", "McC": "𝒞", "McD": "𝒟", "McE": "ℰ", "McF": "ℱ", "McG": "𝒢", "McH": "ℋ", "McI": "ℐ", "McJ": "𝒥", "McK": "𝒦", "McL": "ℒ", "McM": "ℳ", "McN": "𝒩", "McO": "𝒪", "McP": "𝒫", "McQ": "𝒬", "McR": "ℛ", "McS": "𝒮", "McT": "𝒯", "McU": "𝒰", "McV": "𝒱", "McW": "𝒲", "McX": "𝒳", "McY": "𝒴", "McZ": "𝒵", "Mca": "𝒶", "Mcb": "𝒷", "Mcc": "𝒸", "Mcd": "𝒹", "Mce": "ℯ", "Mcf": "𝒻", "Mcg": "ℊ", "Mch": "𝒽", "Mci": "𝒾", "Mcj": "𝒿", "Mck": "𝓀", "Mcl": "𝓁", "Mcm": "𝓂", "Mcn": "𝓃", "Mco": "ℴ", "Mcp": "𝓅", "Mcq": "𝓆", "Mcr": "𝓇", "Mcs": "𝓈", "Mct": "𝓉", "Mcu": "𝓊", "Mcv": "𝓋", "Mcw": "𝓌", "Mcx": "𝓍", "Mcy": "𝓎", "Mcz": "𝓏", "Meet": "⨅", "MfA": "𝔄", "MfB": "𝔅", "MfC": "ℭ", "MfD": "𝔇", "MfE": "𝔈", "MfF": "𝔉", "MfG": "𝔊", "MfH": "ℌ", "MfI": "ℑ", "MfJ": "𝔍", "MfK": "𝔎", "MfL": "𝔏", "MfM": "𝔐", "MfN": "𝔑", "MfO": "𝔒", "MfP": "𝔓", "MfQ": "𝔔", "MfR": "ℜ", "MfS": "𝔖", "MfT": "𝔗", "MfU": "𝔘", "MfV": "𝔙", "MfW": "𝔚", "MfX": "𝔛", "MfY": "𝔜", "MfZ": "ℨ", "Mfa": "𝔞", "Mfb": "𝔟", "Mfc": "𝔠", "Mfd": "𝔡", "Mfe": "𝔢", "Mff": "𝔣", "Mfg": "𝔤", "Mfh": "𝔥", "Mfi": "𝔦", "Mfj": "𝔧", "Mfk": "𝔨", "Mfl": "𝔩", "Mfm": "𝔪", "Mfn": "𝔫", "Mfo": "𝔬", "Mfp": "𝔭", "Mfq": "𝔮", "Mfr": "𝔯", "Mfs": "𝔰", "Mft": "𝔱", "Mfu": "𝔲", "Mfv": "𝔳", "Mfw": "𝔴", "Mfx": "𝔵", "Mfy": "𝔶", "Mfz": "𝔷", "MiA": "𝐴", "MiB": "𝐵", "MiC": "𝐶", "MiD": "𝐷", "MiE": "𝐸", "MiF": "𝐹", "MiG": "𝐺", "MiH": "𝐻", "MiI": "𝐼", "MiJ": "𝐽", "MiK": "𝐾", "MiL": "𝐿", "MiM": "𝑀", "MiN": "𝑁", "MiO": "𝑂", "MiP": "𝑃", "MiQ": "𝑄", "MiR": "𝑅", "MiS": "𝑆", "MiT": "𝑇", "MiU": "𝑈", "MiV": "𝑉", "MiW": "𝑊", "MiX": "𝑋", "MiY": "𝑌", "MiZ": "𝑍", "Mia": "𝑎", "Mib": "𝑏", "Mic": "𝑐", "Mid": "𝑑", "Mie": "𝑒", "Mif": "𝑓", "Mig": "𝑔", "Mii": "𝑖", "Mij": "𝑗", "Mik": "𝑘", "Mil": "𝑙", "Mim": "𝑚", "Min": "𝑛", "Mio": "𝑜", "Mip": "𝑝", "Miq": "𝑞", "Mir": "𝑟", "Mis": "𝑠", "Mit": "𝑡", "Miu": "𝑢", "Miv": "𝑣", "Miw": "𝑤", "Mix": "𝑥", "Miy": "𝑦", "Miz": "𝑧", "N": "ℕ", "Nat": "ℕ", "Nu": "Ν", "O": "Ø", "O*": "⍟", "O+": "⨁", "O.": "⨀", "OE": "Œ", "Omega": "Ω", "Omicron": "Ο", "Or": "⋁", "Ox": "⨂", "P": "Π", "P0": "Π₀", "P_0": "Π₀", "Phi": "Φ", "Pi": "Π", "Pi0": "Π₀", "Pi_0": "Π₀", "Psi": "Ψ", "Q": "ℚ", "R": "ℝ", "R>=0": "ℝ≥0", "Rat": "ℚ", "Re": "ℜ", "Real": "ℝ", "Rge0": "ℝ≥0", "Rho": "Ρ", "Rightarrow": "⇒", "Rrightarrow": "⇛", "Rsh": "↱", "S": "Σ", "Sampi": "Ϡ", "San": "Ϻ", "Shei": "Ϣ", "Shima": "Ϭ", "Sho": "Ϸ", "Sigma": "Σ", "Smiley": "☺", "Sqcap": "⨅", "Sqcup": "⨆", "Stigma": "Ϛ", "Subset": "⋐", "Sup": "⨆", "Supset": "⋑", "TH": "Þ", "Tau": "Τ", "Tb": "◀", "Theta": "Θ", "Tr": "◀", "Tw": "◁", "U": "⋃", "U+": "⨄", "U.": "⨃", "U0": "⋃₀", "Un": "⋃", "Union": "⋃", "Uparrow": "⇑", "Updownarrow": "⇕", "Upsilon": "Υ", "Vdash": "⊩", "Vert": "‖", "Vvdash": "⊪", "X": "⨯", "Xi": "Ξ", "Yot": "Ϳ", "Z": "ℤ", "Zeta": "Ζ", "Zsqrt": "ℤ√", "[-": "⁅", "[--]": "⁅$CURSOR⁆", "[[": "⟦", "[[]]": "⟦$CURSOR⟧", "[]": "[$CURSOR]", "[]_": "[$CURSOR]_", "\\": "\\", "])": "⟯", "]]": "⟧", "^(": "⁽", "^)": "⁾", "^+": "⁺", "^-": "⁻", "^-1": "⁻¹", "^0": "⁰", "^1": "¹", "^2": "²", "^3": "³", "^4": "⁴", "^5": "⁵", "^6": "⁶", "^7": "⁷", "^8": "⁸", "^9": "⁹", "^=": "⁼", "^A": "ᴬ", "^Ae": "ᴭ", "^B": "ᴮ", "^Bbarred": "ᴯ", "^D": "ᴰ", "^E": "ᴱ", "^Ereversed": "ᴲ", "^G": "ᴳ", "^H": "ᴴ", "^Hstroke": "ꟸ", "^I": "ᴵ", "^Ismall": "ᶦ", "^Istroke": "ᶧ", "^J": "ᴶ", "^K": "ᴷ", "^L": "ᴸ", "^Lsmall": "ᶫ", "^M": "ᴹ", "^N": "ᴺ", "^Nreversed": "ᴻ", "^Nsmall": "ᶰ", "^O": "ᴼ", "^Ou": "ᴽ", "^P": "ᴾ", "^R": "ᴿ", "^Rinverted": "ʶ", "^SM": "℠", "^T": "ᵀ", "^TEL": "℡", "^TM": "™", "^U": "ᵁ", "^Usmall": "ᶸ", "^V": "ⱽ", "^W": "ᵂ", "^a": "ᵃ", "^a_": "ª", "^ain": "ᵜ", "^alpha": "ᵅ", "^b": "ᵇ", "^beta": "ᵝ", "^bot": "ᗮ", "^c": "ᶜ", "^ccurl": "ᶝ", "^chi": "ᵡ", "^d": "ᵈ", "^e": "ᵉ", "^eng": "ᵑ", "^eopen": "ᵋ", "^ereversedopen": "ᶟ", "^esh": "ᶴ", "^eth": "ᶞ", "^ezh": "ᶾ", "^f": "ᶠ", "^g": "ᵍ", "^gamma": "ˠ", "^gscript": "ᶢ", "^h": "ʰ", "^heng": "ꭜ", "^hhook": "ʱ", "^hwithhook": "ʱ", "^i": "ⁱ", "^iota": "ᶥ", "^istroke": "ᶤ", "^j": "ʲ", "^jtail": "ᶨ", "^k": "ᵏ", "^l": "ˡ", "^lhook": "ᶪ", "^lretroflexhook": "ᶩ", "^ls": "ꭝ", "^ltilde": "ꭞ", "^m": "ᵐ", "^mhook": "ᶬ", "^n": "ⁿ", "^nlefthook": "ᶮ", "^nretroflexhook": "ᶯ", "^o": "ᵒ", "^o_": "º", "^obarred": "ᶱ", "^obottom": "ᵕ", "^oe": "ꟹ", "^oopen": "ᵓ", "^otop": "ᵔ", "^p": "ᵖ", "^perp": "ᗮ", "^phi": "ᶲ", "^r": "ʳ", "^s": "ˢ", "^schwa": "ᵊ", "^shook": "ᶳ", "^stop": "ˤ", "^t": "ᵗ", "^theta": "ᶿ", "^turneda": "ᵄ", "^turnedae": "ᵆ", "^turnedalpha": "ᶛ", "^turnede": "ᵌ", "^turnedh": "ᶣ", "^turnedi": "ᵎ", "^turnedm": "ᵚ", "^turnedmleg": "ᶭ", "^turnedr": "ʴ", "^turnedrhook": "ʵ", "^turnedrwithhook": "ʵ", "^turnedv": "ᶺ", "^twithpalatalhook": "ᶵ", "^u": "ᵘ", "^ubar": "ᶶ", "^uhook": "ꭟ", "^upsilon": "ᶷ", "^usideways": "ᵙ", "^v": "ᵛ", "^vargamma": "ᵞ", "^varphi": "ᵠ", "^vhook": "ᶹ", "^w": "ʷ", "^x": "ˣ", "^y": "ʸ", "^z": "ᶻ", "^zcurl": "ᶽ", "^zretroflexhook": "ᶼ", "^{A}": "Â", "^{E}": "Ê", "^{I}": "Î", "^{O}": "Ô", "^{U}": "Û", "^{a}": "â", "^{e}": "ê", "^{i}": "î", "^{o}": "ô", "^{u}": "û", "_(": "₍", "_)": "₎", "_+": "₊", "_-": "₋", "_--": "̲", "_0": "₀", "_1": "₁", "_2": "₂", "_3": "₃", "_4": "₄", "_5": "₅", "_6": "₆", "_7": "₇", "_8": "₈", "_9": "₉", "_=": "₌", "_a": "ₐ", "_e": "ₑ", "_h": "ₕ", "_i": "ᵢ", "_j": "ⱼ", "_k": "ₖ", "_l": "ₗ", "_m": "ₘ", "_n": "ₙ", "_o": "ₒ", "_p": "ₚ", "_r": "ᵣ", "_s": "ₛ", "_t": "ₜ", "_u": "ᵤ", "_v": "ᵥ", "_x": "ₓ", "`A": "À", "`E": "È", "`I": "Ì", "`O": "Ò", "`U": "Ù", "`a": "à", "`e": "è", "`i": "ì", "`o": "ò", "`u": "ù", "a": "α", "aa": "å", "addopposite": "ᵃᵒᵖ", "ae": "æ", "aeeqfun": "→ₘ", "afghani": "؋", "aleph": "ℵ", "aleph0": "ℵ₀", "alghom": "→ₐ", "all": "∀", "all^f": "∀ᶠ", "all^m": "∀ᵐ", "allf": "∀ᶠ", "allm": "∀ᵐ", "alpha": "α", "amalg": "∐", "an": "∧", "and": "∧", "and=": "≙", "angle": "∠", "angstrom": "Å", "aop": "ᵃᵒᵖ", "apl": "⌶", "approx": "≈", "approxeq": "≊", "ast": "∗", "asterisk": "⁎", "asymp": "≍", "austral": "₳", "average": "⨍", "b": "β", "b+": "⊞", "b-": "⊟", "b.": "⊡", "b0": "𝟘", "b1": "𝟙", "b2": "𝟚", "b3": "𝟛", "b4": "𝟜", "b5": "𝟝", "b6": "𝟞", "b7": "𝟟", "b8": "𝟠", "b9": "𝟡", "bInter": "⋂", "bUnion": "⋃", "backcong": "≌", "backepsilon": "∍", "backprime": "‵", "backsim": "∽", "backsimeq": "⋍", "barwedge": "⊼", "bb": "𝔹", "bbA": "𝔸", "bbB": "𝔹", "bbC": "ℂ", "bbD": "𝔻", "bbE": "𝔼", "bbF": "𝔽", "bbG": "𝔾", "bbH": "ℍ", "bbI": "𝕀", "bbJ": "𝕁", "bbK": "𝕂", "bbL": "𝕃", "bbM": "𝕄", "bbN": "ℕ", "bbO": "𝕆", "bbP": "ℙ", "bbQ": "ℚ", "bbR": "ℝ", "bbS": "𝕊", "bbT": "𝕋", "bbU": "𝕌", "bbV": "𝕍", "bbW": "𝕎", "bbX": "𝕏", "bbY": "𝕐", "bbZ": "ℤ", "bba": "𝕒", "bbb": "𝕓", "bbc": "𝕔", "bbd": "𝕕", "bbe": "𝕖", "bbf": "𝕗", "bbg": "𝕘", "bbh": "𝕙", "bbi": "𝕚", "bbj": "𝕛", "bbk": "𝕜", "bbl": "𝕝", "bbm": "𝕞", "bbn": "𝕟", "bbo": "𝕠", "bbp": "𝕡", "bbq": "𝕢", "bbr": "𝕣", "bbs": "𝕤", "bbt": "𝕥", "bbu": "𝕦", "bbv": "𝕧", "bbw": "𝕨", "bbx": "𝕩", "bby": "𝕪", "bbz": "𝕫", "bc": "ℂ", "be": "β", "because": "∵", "beta": "β", "beth": "ℶ", "between": "≬", "bfA": "𝐀", "bfB": "𝐁", "bfC": "𝐂", "bfD": "𝐃", "bfE": "𝐄", "bfF": "𝐅", "bfG": "𝐆", "bfH": "𝐇", "bfI": "𝐈", "bfJ": "𝐉", "bfK": "𝐊", "bfL": "𝐋", "bfM": "𝐌", "bfN": "𝐍", "bfO": "𝐎", "bfP": "𝐏", "bfQ": "𝐐", "bfR": "𝐑", "bfS": "𝐒", "bfT": "𝐓", "bfU": "𝐔", "bfV": "𝐕", "bfW": "𝐖", "bfX": "𝐗", "bfY": "𝐘", "bfZ": "𝐙", "bfa": "𝐚", "bfb": "𝐛", "bfc": "𝐜", "bfd": "𝐝", "bfe": "𝐞", "bff": "𝐟", "bfg": "𝐠", "bfh": "𝐡", "bfi": "𝐢", "bfj": "𝐣", "bfk": "𝐤", "bfl": "𝐥", "bfm": "𝐦", "bfn": "𝐧", "bfo": "𝐨", "bfp": "𝐩", "bfq": "𝐪", "bfr": "𝐫", "bfs": "𝐬", "bft": "𝐭", "bfu": "𝐮", "bfv": "𝐯", "bfw": "𝐰", "bfx": "𝐱", "bfy": "𝐲", "bfz": "𝐳", "bigcap": "⋂", "bigcirc": "◯", "bigcoprod": "∐", "bigcup": "⋃", "bigglb": "⨅", "biginf": "⨅", "bigjoin": "⨆", "biglub": "⨆", "bigmeet": "⨅", "bigsolidus": "⧸", "bigsqcap": "⨅", "bigsqcup": "⨆", "bigstar": "★", "bigsup": "⨆", "bigtriangledown": "▽", "bigtriangleup": "△", "bigvee": "⋁", "bigwedge": "⋀", "bihimp": "⇔", "biohazard": "☣", "blacklozenge": "✦", "blacksmiley": "☻", "blacksquare": "▪", "blacktriangle": "▴", "blacktriangledown": "▾", "blacktriangleleft": "◂", "blacktriangleright": "▸", "bn": "ℕ", "bot": "⊥", "boundedcontinuousfunction": "→ᵇ", "bowtie": "⋈", "boxmid": "◫", "boxminus": "⊟", "boxplus": "⊞", "boxtimes": "⊠", "bp": "ℙ", "bq": "ℚ", "br": "ℝ", "bracketl": "⁅", "bracketr": "⁆", "brokenbar": "¦", "bsum": "⅀", "bu": "•", "bub": "•", "bumpeq": "≏", "but": "‣", "buw": "◦", "bx": "⊠", "bz": "ℤ", "c": "χ", "cC": "Ç", "cap": "∩", "caution": "☡", "cc": "ç", "cdot": "·", "cdots": "⋯", "ce": "ȩ", "cedi": "₵", "ceil": "⌈$CURSOR⌉", "celsius": "℃", "cent": "¢", "centerdot": "·", "ch": "χ", "checkmark": "✓", "chi": "χ", "ci": "●", "ci.": "◎", "ci..": "◌", "ciO": "◯", "cib": "●", "circ": "∘", "circeq": "≗", "circlearrowleft": "↺", "circlearrowright": "↻", "circledR": "®", "circledS": "Ⓢ", "circledast": "⊛", "circledcirc": "⊚", "circleddash": "⊝", "ciw": "○", "cl": "⌞", "clL": "⌊", "clR": "⌋", "cll": "⌞", "clr": "⌟", "clubsuit": "♣", "coe": "↑", "colon": "₡", "coloneq": "≔", "com": "ℂ", "comp": "∘", "compl": "ᶜ", "complement": "ᶜ", "complementprefix": "∁", "con": "⬝", "cong": "≅", "construction": "🚧", "coprod": "⨿", "copyright": "©", "covby": "⋖", "covers": "⋖", "crossproduct": "⨯", "cruzeiro": "₢", "cu": "⌜", "cuL": "⌈", "cuR": "⌉", "cul": "⌜", "cup": "∪", "cur": "⌝", "curlyeqprec": "⋞", "curlyeqsucc": "⋟", "curlypreceq": "≼", "curlyvee": "⋎", "curlywedge": "⋏", "currency": "¤", "curvearrowleft": "↶", "curvearrowright": "↷", "d": "↓", "d-": "↓", "d-2": "⇊", "d-u-": "⇵", "d-|": "↧", "d=": "⇓", "d==": "⟱", "dag": "†", "dagger": "†", "daleth": "ℸ", "dashv": "⊣", "dd-": "↡", "ddag": "‡", "ddagger": "‡", "ddots": "⋱", "de": "δ", "def=": "≝", "defs": "≙", "degree": "°", "dei": "ϯ", "delta": "δ", "dfinsupp": "→ₚ", "dh": "ð", "di": "◆", "di.": "◈", "diameter": "⌀", "diamond": "⋄", "diamondsuit": "♢", "dib": "◆", "die": "⚀", "digamma": "ϝ", "directsum": "⨁", "div": "÷", "divideontimes": "⋇", "division": "÷", "diw": "◇", "dl": "↙", "dl-": "↙", "dl=": "⇙", "dong": "₫", "dot": "·", "doteq": "≐", "doteqdot": "≑", "dotplus": "∔", "dotsquare": "⊡", "downarrow": "↓", "downdownarrows": "⇊", "downleftharpoon": "⇃", "downrightharpoon": "⇂", "dr": "↘", "dr-": "↘", "dr=": "⇘", "drachma": "₯", "dvd": "∣", "dz": "↯", "e": "ε", "ell": "ℓ", "em": "—", "empty": "∅", "emptyset": "∅", "en": "–", "enat": "ℕ∞", "ennreal": "ℝ≥0∞", "entails": "⊢", "ep": "ε", "eps": "ε", "epsilon": "ε", "eqcirc": "≖", "eqcolon": "≕", "eqn": "≠", "eqslantgtr": "⋝", "eqslantless": "⋜", "equiv": "≃", "et": "η", "eta": "η", "euro": "€", "ex": "∃", "exf": "∃ᶠ", "exists": "∃", "exn": "∄", "f<": "‹", "f<<": "«", "f<<>>": "«$CURSOR»", "f<>": "‹$CURSOR›", "f>": "›", "f>>": "»", "facsimile": "℻", "fallingdotseq": "≒", "fei": "ϥ", "female": "♀", "finprod": "∏ᶠ", "finsum": "∑ᶠ", "finsupp": "→₀", "flat": "♭", "floor": "⌊$CURSOR⌋", "flq": "‹", "flqq": "«", "forall": "∀", "frac": "¼", "frac1": "⅟", "frac12": "½", "frac13": "⅓", "frac14": "¼", "frac15": "⅕", "frac16": "⅙", "frac18": "⅛", "frac23": "⅔", "frac25": "⅖", "frac34": "¾", "frac35": "⅗", "frac38": "⅜", "frac45": "⅘", "frac56": "⅚", "frac58": "⅝", "frac78": "⅞", "frown": "⌢", "frq": "›", "frqq": "»", "fun": "λ", "functor": "⥤", "fuzzy": "‖", "g": "γ", "ga": "γ", "gamma": "γ", "gangia": "ϫ", "ge": "≥", "gen": "≱", "geq": "≥", "geqn": "≱", "geqq": "≧", "geqslant": "≥", "gets": "←", "gg": "≫", "ggg": "⋙", "gimel": "ℷ", "glb": "⊓", "glq": "‚", "glqq": "„", "gnapprox": "⋧", "gneq": "≩", "gneqq": "≩", "gnsim": "⋧", "goal": "⊢", "grq": "‘", "grqq": "“", "gtrapprox": "≳", "gtrdot": "⋗", "gtreqless": "⋛", "gtreqqless": "⋛", "gtrless": "≷", "gtrsim": "≳", "guarani": "₲", "gvertneqq": "≩", "hbar": "ℏ", "hcomp": "◫", "heartsuit": "♥", "heq": "≍", "heta": "ͱ", "heyting": "⇨", "himp": "⇨", "hnot": "¬", "hom": "⟶", "homotopy": "∼", "hookleftarrow": "↩", "hookrightarrow": "↪", "hori": "ϩ", "hryvnia": "₴", "i": "∩", "iff": "↔", "imath": "ı", "imp": "→", "in": "∈", "increment": "∆", "inf": "⊓", "infi": "⨅", "infty": "∞", "inn": "∉", "int": "ℤ", "integral": "∫", "integral-": "⨍", "inter": "∩", "intercal": "⊺", "intersection": "∩", "inv": "⁻¹", "io": "ι", "iota": "ι", "iso": "≅", "join": "⊔", "kI": "Į", "ka": "κ", "kappa": "κ", "kelvin": "K", "khei": "ϧ", "ki": "į", "kip": "₭", "koppa": "ϟ", "l": "←", "l-": "←", "l--": "⟵", "l-2": "⇇", "l->": "↢", "l-n": "↚", "l-r-": "⇆", "l-|": "↤", "l1": "→₁", "l1simplefunc": "→₁ₛ", "l=": "⇐", "l==": "⇚", "l=n": "⇍", "la": "λ", "lam": "λ", "lambda": "λ", "lamda": "λ", "langle": "⟨", "lari": "₾", "lbag": "⟅", "lceil": "⌈", "ldata": "《", "ldots": "…", "ldq": "“", "le": "≤", "leadsto": "↝", "leftarrow": "←", "leftarrowtail": "↢", "leftharpoondown": "↽", "leftharpoonup": "↼", "leftleftarrows": "⇇", "leftrightarrow": "↔", "leftrightarrows": "⇆", "leftrightharpoons": "⇋", "leftrightsquigarrow": "↭", "leftthreetimes": "⋋", "len": "≰", "leq": "≤", "leqn": "≰", "leqq": "≦", "leqslant": "≤", "lessapprox": "≲", "lessdot": "⋖", "lesseqgtr": "⋚", "lesseqqgtr": "⋚", "lessgtr": "≶", "lesssim": "≲", "lf": "⧏", "lfloor": "⌊", "lhd": "◁", "liel": "⁅", "lier": "⁆", "linearmap": "→ₗ", "lira": "₤", "ll": "≪", "ll-": "↞", "llbracket": "〚", "llcorner": "⌞", "lnapprox": "⋦", "lneq": "≨", "lneqq": "≨", "lnot": "¬", "lnsim": "⋦", "longleftarrow": "⟵", "longleftrightarrow": "⟷", "longrightarrow": "⟶", "looparrowleft": "↫", "looparrowright": "↬", "lozenge": "✧", "lq": "‘", "lr": "↔", "lr-": "↔", "lr--": "⟷", "lr-n": "↮", "lr=": "⇔", "lr=n": "⇎", "lrcorner": "⌟", "lr~": "↭", "lsimplex": "⦋", "ltimes": "⋉", "lub": "⊔", "lvertneqq": "≨", "l~": "↜", "m": "μ", "m=": "≞", "ma": "↦", "male": "♂", "maltese": "✠", "manat": "₼", "mapsto": "↦", "mathscr{I}": "ℐ", "measuredangle": "∡", "meet": "⊓", "mem": "∈", "member": "∈", "mho": "℧", "micro": "µ", "mid": "∣", "mill": "₥", "minus": "−", "miny": "⧿", "models": "⊧", "mop": "ᵐᵒᵖ", "mp": "∓", "mu": "μ", "mulopposite": "ᵐᵒᵖ", "multimap": "⊸", "multiplication": "×", "n": "\\n", "nLeftarrow": "⇍", "nLeftrightarrow": "⇎", "nRightarrow": "⇏", "nVDash": "⊯", "nVdash": "⊮", "nabla": "∇", "naira": "₦", "napprox": "≉", "nat": "ℕ", "nat_trans": "⟹", "nattrans": "⟹", "natural": "♮", "nbhds": "𝓝", "nceil": "⌈$CURSOR⌉₊", "ncong": "≇", "ne": "≠", "nearrow": "↗", "neg": "¬", "neq": "≠", "nequiv": "≢", "nexists": "∄", "nfloor": "⌊$CURSOR⌋₊", "ngeq": "≱", "ngeqq": "≱", "ngeqslant": "≱", "ngtr": "≯", "nhds": "𝓝", "ni": "∋", "nin": "∉", "nleftarrow": "↚", "nleftrightarrow": "↮", "nleq": "≰", "nleqq": "≰", "nleqslant": "≰", "nless": "≮", "nmid": "∤", "nni": "∌", "nnnorm": "‖$CURSOR‖₊", "nnreal": "ℝ≥0", "nomisma": "𐆎", "norm": "‖$CURSOR‖", "not": "¬", "note": "♩", "notin": "∉", "notlt": "≮", "nparallel": "∦", "nprec": "⊀", "npreceq": "⋠", "nrightarrow": "↛", "nshortmid": "∤", "nsim": "≁", "nsimeq": "≄", "nsubset": "⊄", "nsubseteq": "⊈", "nsubseteqq": "⊈", "nsucc": "⊁", "nsucceq": "⋡", "nsupset": "⊅", "nsupseteq": "⊉", "nsupseteqq": "⊉", "ntriangleleft": "⋪", "ntrianglelefteq": "⋬", "ntriangleright": "⋫", "ntrianglerighteq": "⋭", "nu": "ν", "numero": "№", "nvDash": "⊭", "nvdash": "⊬", "nwarrow": "↖", "o": "∘", "o*": "∘*", "o+": "⊕", "o-": "⊝", "o--": "⊖", "o.": "⊙", "o/": "⊘", "o=": "⊜", "octagonal": "🛑", "od": "ᵒᵈ", "odot": "⊙", "oe": "œ", "ohm": "Ω", "oiint": "∯", "oint": "∮", "om": "ω", "omega": "ω", "omicron": "ο", "ominus": "⊖", "oo": "⊚", "op": "ᵒᵖ", "oplus": "⊕", "opposite": "ᵒᵖ", "or": "∨", "or=": "≚", "orderdual": "ᵒᵈ", "ordfeminine": "ª", "ordmasculine": "º", "oslash": "⊘", "otimes": "⊗", "ounce": "℥", "ox": "⊗", "p": "Π", "pa": "▰", "pab": "▰", "paragraph": "¶", "parallel": "∥", "partial": "∂", "partnership": "㉐", "paw": "▱", "pd": "∂", "per": "⅌", "permil": "‰", "perp": "⟂", "peseta": "₧", "peso": "₱", "ph": "φ", "phi": "φ", "pi": "π", "pilcrow": "¶", "pitchfork": "⋔", "pitensorproduct": "⨂", "pm": "±", "pound": "£", "pounds": "£", "powerset": "𝒫", "pr": "↣", "prec": "≺", "precapprox": "≾", "preceq": "≼", "precnapprox": "⋨", "precnsim": "⋨", "precsim": "≾", "preim": "⁻¹'", "preimage": "⁻¹'", "prime": "′", "prod": "∏", "prohibited": "🛇", "propto": "∝", "ps": "ψ", "psi": "ψ", "qed": "∎", "quad": " ", "quot": "⧸", "r": "→", "r!": "¡", "r-": "→", "r--": "⟶", "r-2": "⇉", "r-3": "⇶", "r->": "↣", "r-l-": "⇄", "r-n": "↛", "r-o": "⊸", "r-|": "↦", "r0": "→₀", "r1": "→₁", "r1s": "→₁ₛ", "r=": "⇒", "r==": "⇛", "r=n": "⇏", "r^b": "→ᵇ", "r_0": "→₀", "r_1": "→₁", "r_1s": "→₁ₛ", "r_a": "→ₐ", "r_l": "→ₗ", "r_m": "→ₘ", "r_p": "→ₚ", "r_s": "→ₛ", "r_sl": "→ₛₗ", "ra": "→ₐ", "radioactive": "☢", "rangle": "⟩", "rat": "ℚ", "rb": "→ᵇ", "rbag": "⟆", "rceil": "⌉", "rdata": "》", "rdq": "”", "re": "▬", "real": "ℝ", "reb": "▬", "registered": "®", "rew": "▭", "rfloor": "⌋", "rh": "ρ", "rhd": "▷", "rho": "ρ", "rightangle": "∟", "rightarrow": "→", "rightarrowtail": "↣", "rightharpoondown": "⇁", "rightharpoonup": "⇀", "rightleftarrows": "⇄", "rightleftharpoons": "⇌", "rightrightarrows": "⇉", "rightthreetimes": "⋌", "risingdotseq": "≓", "rl": "→ₗ", "rm": "→ₘ", "root": "√", "rp": "→ₚ", "rq": "’", "rr-": "↠", "rrbracket": "〛", "rs": "→ₛ", "rsimplex": "⦌", "rsl": "→ₛₗ", "rtimes": "⋊", "ruble": "₽", "rupee": "₨", "rw": "▸", "r~": "↝", "sInter": "⋂₀", "sUnion": "⋃₀", "s[]": "⦋$CURSOR⦌", "sampi": "ϡ", "san": "ϻ", "sb0": "𝟬", "sb1": "𝟭", "sb2": "𝟮", "sb3": "𝟯", "sb4": "𝟰", "sb5": "𝟱", "sb6": "𝟲", "sb7": "𝟳", "sb8": "𝟴", "sb9": "𝟵", "sbs": "﹨", "scissor": "✂", "searrow": "↘", "section": "§", "semilinearmap": "→ₛₗ", "setminus": "\\", "sharp": "♯", "shei": "ϣ", "shima": "ϭ", "sho": "ϸ", "shortmid": "∣", "si": "σ", "sigma": "σ", "sigmaobj": "∐", "sim": "∼", "simeq": "≃", "simplefunc": "→ₛ", "simplex": "⦋$CURSOR⦌", "smallamalg": "∐", "smallsetminus": "∖", "smallsmile": "⌣", "smile": "⌣", "smul": "•", "spadesuit": "♠", "span": "∙", "specializes": "⤳", "spesmilo": "₷", "sphericalangle": "∢", "sq": "◾", "sq.": "▣", "sqb": "■", "sqcap": "⊓", "sqcup": "⊔", "sqo": "▢", "sqrt": "√", "sqsubset": "⊏", "sqsubseteq": "⊑", "sqsupset": "⊐", "sqsupseteq": "⊒", "square": "□", "squb": "⊑", "squbn": "⋢", "squigarrowright": "⇝", "squp": "⊒", "squpn": "⋣", "sqw": "□", "ss": "⊆", "ssqub": "⊏", "ssqup": "⊐", "ssub": "⊂", "ssubn": "⊄", "ssubset": "⊂", "ssup": "⊃", "ssupn": "⊅", "ssupset": "⊃", "st": "⋆", "st12": "✹", "st4": "✦", "st6": "✶", "st8": "✴", "star": "⋆", "stigma": "ϛ", "straightphi": "φ", "sub": "⊆", "subn": "⊈", "subset": "⊆", "subseteq": "⊆", "subseteqq": "⊆", "subsetneq": "⊊", "subsetneqq": "⊊", "succ": "≻", "succapprox": "≿", "succcurlyeq": "≽", "succeq": "≽", "succnapprox": "⋩", "succnsim": "⋩", "succsim": "≿", "sum": "∑", "sup": "⊔", "supn": "⊉", "supr": "⨆", "supset": "⊇", "supseteq": "⊇", "supseteqq": "⊇", "supsetneq": "⊋", "supsetneqq": "⊋", "surd": "√", "surd3": "∛", "surd4": "∜", "swarrow": "↙", "sy": "⁻¹", "symmdiff": "∆", "t": "▸", "t=": "≜", "ta": "τ", "tau": "τ", "tb": "◂", "telephone": "℡", "tenge": "₸", "tensorpower": "⨂", "tensorproduct": "⊗", "textbaht": "฿", "textcircledP": "℗", "textcolonmonetary": "₡", "textdied": "✝", "textdiscount": "⁒", "textestimated": "℮", "textfractionsolidus": "⁄", "textinterrobang": "‽", "textlira": "₤", "textlquill": "⁅", "textmu": "µ", "textmusicalnote": "♪", "textnaira": "₦", "textnumero": "№", "textopenbullet": "◦", "textpertenthousand": "‱", "textpeso": "₱", "textrecipe": "℞", "textreferencemark": "※", "textrquill": "⁆", "textwon": "₩", "th": "θ", "therefore": "∴", "theta": "θ", "thickapprox": "≈", "thicksim": "∼", "tie": "⁀", "times": "×", "tint": "∯", "tiny": "⧾", "to": "→", "to0": "→₀", "to1": "→₁", "to1s": "→₁ₛ", "to^b": "→ᵇ", "to_0": "→₀", "to_1": "→₁", "to_1s": "→₁ₛ", "to_a": "→ₐ", "to_l": "→ₗ", "to_m": "→ₘ", "to_p": "→ₚ", "to_s": "→ₛ", "to_sl": "→ₛₗ", "toa": "→ₐ", "tob": "→ᵇ", "tol": "→ₗ", "tom": "→ₘ", "top": "⊤", "tos": "→ₛ", "tosl": "→ₛₗ", "tr": "⬝", "trans": "▹", "transport": "▹", "triangle": "▵", "triangledown": "▿", "triangleleft": "◃", "trianglelefteq": "⊴", "triangleq": "≜", "triangleright": "▹", "trianglerighteq": "⊵", "tugrik": "₮", "tw": "◃", "twoheadleftarrow": "↞", "twoheadrightarrow": "↠", "u": "↑", "u+": "⊎", "u-": "↑", "u-2": "⇈", "u-d-": "⇅", "u-|": "↥", "u.": "⊍", "u=": "⇑", "u==": "⟰", "ud": "↕", "ud-": "↕", "ud-|": "↨", "ud=": "⇕", "ul": "↖", "ul-": "↖", "ul=": "⇖", "ulcorner": "⌜", "un": "∪", "uncertainty": "⯑", "undertie": "‿", "union": "∪", "uparrow": "↑", "updownarrow": "↕", "upleftharpoon": "↿", "uplus": "⊎", "uprightharpoon": "↾", "upsilon": "υ", "upuparrows": "⇈", "ur": "↗", "ur-": "↗", "ur=": "⇗", "urcorner": "⌝", "uu-": "↟", "v": "∨", "vC": "Č", "vD": "Ď", "vDash": "⊨", "vE": "Ě", "varbeta": "ϐ", "varkai": "ϗ", "varkappa": "ϰ", "varnothing": "∅", "varphi": "ϕ", "varpi": "ϖ", "varprime": "′", "varpropto": "∝", "varrho": "ϱ", "varsigma": "ς", "vartheta": "ϑ", "vartriangleleft": "⊲", "vartriangleright": "⊳", "vc": "č", "vd": "ď", "vdash": "⊢", "vdots": "⋮", "ve": "ě", "vectorproduct": "⨯", "vee": "∨", "veebar": "⊻", "vsi": "ς", "warning": "⚠", "wcovby": "⩿", "wcovers": "⩿", "wedge": "∧", "won": "₩", "wp": "℘", "wr": "≀", "x": "×", "xf": "×ᶠ", "xi": "ξ", "xs": "×ˢ", "yen": "¥", "ze": "ζ", "zeta": "ζ", "zsqrtd": "ℤ√", "{{": "⦃", "{{}}": "⦃$CURSOR⦄", "{}": "{$CURSOR}", "{}_": "{$CURSOR}_", "|": "∣", "|-": "⊢", "|->": "↦", "|-n": "⊬", "|=": "⊨", "|=>": "⇰", "|=n": "⊭", "|n": "∤", "||": "‖", "||-": "⊩", "||-n": "⊮", "||=": "⊫", "||=n": "⊯", "|||-": "⊪", "||||": "‖$CURSOR‖", "}}": "⦄", "~": "∼", "~-": "≃", "~-n": "≄", "~=": "≅", "~=n": "≇", "~>": "⤳", "~A": "Ã", "~N": "Ñ", "~O": "Õ", "~a": "ã", "~n": "≁", "~o": "õ", "~{n}": "ñ", "~~": "≈", "~~-": "≊", "~~n": "≉", "~~~": "≋"} diff --git a/frontend/app/utils/lean/lean-language.ts b/frontend/app/utils/lean/lean-language.ts new file mode 100644 index 0000000..9df4b7a --- /dev/null +++ b/frontend/app/utils/lean/lean-language.ts @@ -0,0 +1,252 @@ +/* The Lean 4 language for Monaco — registered once, client-side. + * + * A Monarch tokenizer (keywords, tactics, commands, the nested `/- -/` + * comments Lean uses for docstrings) plus themes built from the wiki's live + * palette, so the editor matches the page around it and follows the wiki's + * theme *and* accent switches live: the accent — caret, selection, active + * line number, keywords — is sampled from the `--accent` custom properties + * that `[data-accent]` swaps. (Lean's own server also offers semantic + * highlighting; keyword colours are the honest first pass — see the note in + * lean/README.) */ +import * as monaco from 'monaco-editor' + +export const LEAN_LANGUAGE = 'lean4' +export const LEAN_THEMES = { light: 'mathew-light', dark: 'mathew-dark' } as const + +/* words that introduce declarations, terms, and structuring */ +const keywords = [ + 'abstract', 'axiom', 'by', 'cases', 'catch', 'class', 'command', 'deriving', 'do', + 'else', 'end', 'example', 'expansion', 'explicit', 'export', 'def', 'theorem', + 'lemma', 'corollary', 'proposition', 'instance', 'structure', 'inductive', 'abbrev', + 'mutual', 'namespace', 'section', 'open', 'protected', 'private', 'partial', + 'noncomputable', 'set_option', 'unset_option', 'option', 'attribute', 'variable', + 'variables', 'include', 'hiding', 'renaming', 'as', 'where', 'from', 'show', + 'have', 'suffices', 'let', 'in', 'if', 'then', 'match', 'with', 'without', 'fun', + 'forall', 'at', 'using', 'via', 'override', 'obsolete', 'inherit', 'field', + 'generalizing', 'replacing', 'renaming', 'specializing', 'unshuffling', 'case', + 'dive', 'guard', 'modifies', 'macro', 'macro_rules', 'syntax', 'elab', 'elab_rules', + 'notation', 'infix', 'infixl', 'infixr', 'prefix', 'postfix', 'binders', + 'declare_syntax_cat', 'syntax_cat', 'extend', 'scoped', 'unused', 'auto_unfold', + 'extern', 'implemented_by', 'native_decide', 'lift', 'coe', 'coe_struct', + 'classical', 'decidable', 'universe', 'universes', 'exit', +] + +/* tactics — the words after `by` and inside tactic blocks */ +const tactics = [ + 'intro', 'intros', 'exact', 'apply', 'refine', 'have', 'obtain', 'use', 'exists', + 'constructor', 'left', 'right', 'simp', 'simp_all', 'simp_rw', 'rw', 'rewrite', + 'show', 'conv', 'calc', 'ring', 'ring_nf', 'field_simp', 'norm_num', 'omega', + 'linarith', 'nlinarith', 'positivity', 'decide', 'trivial', 'rfl', 'refl', 'symm', + 'trans', 'ext', 'funext', 'congr', 'congr!', 'cases', 'induction', 'rcases', + 'obtain', 'subst', 'contradiction', 'exfalso', 'push_neg', 'contrapose', + 'constructor', 'aesop', 'tauto', 'bv_decide', 'gcongr', 'change', 'generalize', + 'revert', 'clear', 'rename_i', 'next', 'any_goals', 'all_goals', 'focus', 'dotl', + 'by_contra', 'by_contra!', 'apply_fun', 'congr_arg', 'congrFun', 'congrArg', + 'simpa', 'simpa using', 'norm_cast', 'exact?', 'apply?', 'sorry', 'native_decide', + 'unfold', 'dsimp', 'unfold_projs', 'whisker', 'thm_to_tactic', 'tauto', 'mt', + 'absurd', 'injection', 'no_index', 'guard_goals', 'expect_failure', 'stop', 'skip', + 'trace', 'log', 'sleep', 'wait', 'recover', 'error', +] + +const commands = ['#check', '#eval', '#reduce', '#synth', '#print', '#exit', '#where', '#hole', '#why', '#loogle', '#guard'] + +let registered = false + +export function registerLeanLanguage() { + if (registered) return + registered = true + + monaco.languages.register({ id: LEAN_LANGUAGE }) + + monaco.languages.setLanguageConfiguration(LEAN_LANGUAGE, { + comments: { lineComment: '--', blockComment: ['/-', '-/'] }, + brackets: [ + ['{', '}'], ['[', ']'], ['(', ')'], + ['⟨', '⟩'], ['⟦', '⟧'], ['‹', '›'], ['⦃', '⦄'], ['⁅', '⁆'], ['⌈', '⌉'], ['⌊', '⌋'], + ], + autoClosingPairs: [ + { open: '{', close: '}' }, { open: '[', close: ']' }, { open: '(', close: ')' }, + { open: '"', close: '"' }, { open: '/-', close: '-/' }, + { open: '⟨', close: '⟩' }, { open: '⟦', close: '⟧' }, { open: '‹', close: '›' }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, { open: '[', close: ']' }, { open: '(', close: ')' }, + { open: '"', close: '"' }, { open: '⟨', close: '⟩' }, { open: '⟦', close: '⟧' }, + { open: '‹', close: '›' }, + ], + indentationRules: { + increaseIndentPattern: /^\s*(\bby\b|\bdo\b|\bthen\b|\bcalc\b|\{[^}]*$|\[[^\]]*$|\([^)]*$)/, + decreaseIndentPattern: /^\s*(\bend\b|\}|\\|\)|\/-})/, + }, + }) + + monaco.languages.setMonarchTokensProvider(LEAN_LANGUAGE, { + keywords, + tactics, + commands, + tokenizer: { + root: [ + [/--.*$/, 'comment'], + [/\/-/, { token: 'comment', next: '@blockcomment' }], + [/"/, { token: 'string', next: '@string' }], + [/[0-9]+\.[0-9]+([eE][-+]?[0-9]+)?/, 'number.float'], + [/[0-9]+([eE][-+]?[0-9]+)?[nNzQqR]?/, 'number'], + [ + // one identifier run (ascii word, or a unicode run — Lean names + // carry α, →, ≤, ⁻¹), then decided against the word lists + /[a-zA-Z_#][a-zA-Z0-9_?!'∆∇]*|[^\x00-\x7F][a-zA-Z0-9_?!'∆∇]*/, + { + cases: { + '@commands': 'keyword.command', + '@tactics': 'keyword.tactic', + '@keywords': 'keyword', + '@default': 'identifier', + }, + }, + ], + [/^\s*@\[[^\]]*\]/, 'annotation'], + [/[→←↔∧∨¬∀∃≠≤≥<>!=+\-*/^|&~:;.,@#][=]?/, 'operator'], + ], + blockcomment: [ + [/\/-/, { token: 'comment', next: '@blockcomment' }], + [/-\//, { token: 'comment', next: '@pop' }], + [/[^\-\/]+/, 'comment'], + [/[\/-]/, 'comment'], + ], + string: [ + [/[^\\"]+/, 'string'], + [/\\./, 'string.escape'], + [/"/, { token: 'string', next: '@pop' }], + ], + }, + }) +} + +/* ---------- the wiki's palette, read live, as editor themes ---------- */ + +/* Monaco themes are plain hex, not CSS variables, so the accent is sampled + * off the document each time a theme is built — the same read the canvas + * surfaces make. The fallbacks are violet, the wiki's default accent. */ +function wikiAccent(dark: boolean) { + const css = getComputedStyle(document.documentElement) + const at = (name: string, fallback: string) => css.getPropertyValue(name).trim() || fallback + return { + accent: at('--accent', dark ? '#7c8cff' : '#4f5fe8'), + strong: at('--accent-strong', dark ? '#99a5ff' : '#3d4dd6'), + second: at('--accent-2', dark ? '#38d3ee' : '#0ea5c9'), + } +} + +/* `#rrggbbaa` — Monaco's translucent form, standing in for the wiki's + * `color-mix`. Shorthand hex is widened; anything else passes through. */ +function alpha(hex: string, a: string) { + if (/^#[0-9a-f]{3}$/i.test(hex)) return `#${hex.slice(1).split('').map(c => c + c).join('')}${a}` + return /^#[0-9a-f]{6}$/i.test(hex) ? `${hex}${a}` : hex +} + +/* token rules take hex without the leading `#` */ +function ink(hex: string) { + return hex.replace(/^#/, '') +} + +/* Themes are named by their palette (mathew-dark-fb7185…): a new accent + * yields a fresh theme rather than one Monaco may have cached under an old + * palette, and a reader cycling back reuses a definition already made. */ +const definedThemes = new Set() + +/* the theme matching the wiki right now — [data-theme] picks the surfaces, + * [data-accent] the caret, selection, active line number and keywords */ +export function currentLeanTheme(): string { + const dark = document.documentElement.getAttribute('data-theme') === 'dark' + const a = wikiAccent(dark) + const name = `${dark ? LEAN_THEMES.dark : LEAN_THEMES.light}-${ink(a.accent)}-${ink(a.strong)}-${ink(a.second)}`.toLowerCase() + if (definedThemes.has(name)) return name + definedThemes.add(name) + + monaco.editor.defineTheme(name, dark + ? { + base: 'vs-dark', + inherit: true, + rules: [ + { token: 'keyword', foreground: ink(a.strong) }, + { token: 'keyword.tactic', foreground: '38d3ee' }, + { token: 'keyword.command', foreground: ink(a.strong), fontStyle: 'bold' }, + { token: 'string', foreground: '3fce8b' }, + { token: 'number', foreground: 'f5a83c' }, + { token: 'comment', foreground: '6b7488', fontStyle: 'italic' }, + { token: 'annotation', foreground: '99a1b5' }, + { token: 'operator', foreground: '99a1b5' }, + { token: 'type.identifier', foreground: '38d3ee' }, + ], + colors: { + 'editor.background': '#141826', + 'editor.foreground': '#e7eaf3', + 'editor.lineHighlightBackground': '#1a2030', + 'editorLineNumber.foreground': '#6b7488', + 'editorLineNumber.activeForeground': a.accent, + 'editorCursor.foreground': a.accent, + 'editor.selectionBackground': alpha(a.accent, '40'), + 'editor.selectionHighlightBackground': alpha(a.accent, '1f'), + 'editorIndentGuide.background1': '#232a3c', + 'editorIndentGuide.activeBackground1': '#313a52', + 'editorWhitespace.foreground': '#313a52', + 'editorWidget.background': '#10131c', + 'editorWidget.border': '#232a3c', + 'editorSuggestWidget.selectedBackground': '#1a2030', + 'editorHoverWidget.background': '#10131c', + 'editorHoverWidget.border': '#232a3c', + 'scrollbarSlider.background': '#e7eaf329', + 'scrollbarSlider.hoverBackground': '#e7eaf347', + 'scrollbarSlider.activeBackground': '#e7eaf366', + 'editorError.foreground': '#f47085', + 'editorWarning.foreground': '#f5a83c', + 'editorInfo.foreground': a.second, + }, + } + : { + base: 'vs', + inherit: true, + rules: [ + { token: 'keyword', foreground: ink(a.strong) }, + { token: 'keyword.tactic', foreground: '0891b2' }, + { token: 'keyword.command', foreground: ink(a.strong), fontStyle: 'bold' }, + { token: 'string', foreground: '189a5c' }, + { token: 'number', foreground: 'd97706' }, + { token: 'comment', foreground: '8a93a8', fontStyle: 'italic' }, + { token: 'annotation', foreground: '5b6478' }, + { token: 'operator', foreground: '5b6478' }, + { token: 'type.identifier', foreground: '0891b2' }, + ], + colors: { + 'editor.background': '#ffffff', + 'editor.foreground': '#1b2130', + 'editor.lineHighlightBackground': '#eef1f7', + 'editorLineNumber.foreground': '#8a93a8', + 'editorLineNumber.activeForeground': a.accent, + 'editorCursor.foreground': a.accent, + 'editor.selectionBackground': alpha(a.accent, '33'), + 'editor.selectionHighlightBackground': alpha(a.accent, '1a'), + 'editorIndentGuide.background1': '#e2e6ef', + 'editorIndentGuide.activeBackground1': '#cfd5e3', + 'editorWhitespace.foreground': '#cfd5e3', + 'editorWidget.background': '#ffffff', + 'editorWidget.border': '#e2e6ef', + 'editorSuggestWidget.selectedBackground': '#eef1f7', + 'editorHoverWidget.background': '#ffffff', + 'editorHoverWidget.border': '#e2e6ef', + 'scrollbarSlider.background': '#1b213024', + 'scrollbarSlider.hoverBackground': '#1b21304d', + 'scrollbarSlider.activeBackground': '#1b213066', + 'editorError.foreground': '#d1344b', + 'editorWarning.foreground': '#d97706', + 'editorInfo.foreground': a.second, + }, + }) + + return name +} + +/* move the editor to the palette the wiki is wearing right now */ +export function applyLeanTheme() { + monaco.editor.setTheme(currentLeanTheme()) +} diff --git a/frontend/app/utils/lean/lsp.ts b/frontend/app/utils/lean/lsp.ts new file mode 100644 index 0000000..08301ce --- /dev/null +++ b/frontend/app/utils/lean/lsp.ts @@ -0,0 +1,116 @@ +/* A very small JSON-RPC 2.0 client over WebSocket — the dialect the lean4web + * server forwards between the browser and a real Lean language server + * (`lake serve`): one JSON message per frame, in either direction. + * + * The wiki is a deliberate minimal client: it opens one document, tracks the + * cursor, and asks for goals. The Lean server nonetheless sends a few + * *requests* its way — registering file watchers, asking to refresh caches, + * probing for configuration. There is nothing to register or refresh here, + * so those are acknowledged with `null` (a `workspace/configuration` probe + * with `null` per item) rather than left hanging. */ + +export interface RpcError { + code: number + message: string + data?: unknown +} + +interface RpcMessage { + jsonrpc: '2.0' + id?: number | string + method?: string + params?: unknown + result?: unknown + error?: RpcError +} + +export class RpcSocket { + private ws: WebSocket + private nextId = 1 + private pending = new Map void, reject: (e: Error) => void }>() + private closed = false + + readonly whenOpen: Promise + + constructor( + url: string, + private handlers: { + onNotification?: (method: string, params: unknown) => void + onClose?: (info: { clean: boolean }) => void + } = {}, + ) { + this.ws = new WebSocket(url) + this.whenOpen = new Promise((resolve, reject) => { + this.ws.addEventListener('open', () => resolve(), { once: true }) + this.ws.addEventListener('error', () => reject(new Error('websocket failed to open')), { once: true }) + }) + + this.ws.addEventListener('message', (ev: MessageEvent) => { + let msg: RpcMessage + try { + msg = JSON.parse(String(ev.data)) + } + catch { return } + if (!msg || typeof msg !== 'object' || msg.jsonrpc !== '2.0') return + + if (msg.id !== undefined && msg.method) { this.answerServer(msg); return } + if (msg.id !== undefined) { + const waiter = this.pending.get(Number(msg.id)) + if (!waiter) return + this.pending.delete(Number(msg.id)) + if (msg.error) waiter.reject(new Error(`${msg.method ?? 'request'}: ${msg.error.message}`)) + else waiter.resolve(msg.result) + return + } + if (msg.method) this.handlers.onNotification?.(msg.method, msg.params) + }) + + this.ws.addEventListener('close', (ev: CloseEvent) => { + this.closed = true + const err = new Error('lean server closed the connection') + for (const waiter of this.pending.values()) waiter.reject(err) + this.pending.clear() + this.handlers.onClose?.({ clean: ev.wasClean }) + }) + } + + get open() { + return this.ws.readyState === WebSocket.OPEN + } + + async request(method: string, params?: unknown): Promise { + if (this.closed || this.ws.readyState !== WebSocket.OPEN) throw new Error('not connected to the lean server') + const id = this.nextId++ + const wire: RpcMessage = { jsonrpc: '2.0', id, method } + if (params !== undefined) wire.params = params + this.ws.send(JSON.stringify(wire)) + return new Promise((resolve, reject) => { + this.pending.set(id, { resolve: resolve as (v: unknown) => void, reject }) + }) + } + + notify(method: string, params?: unknown) { + if (this.closed || this.ws.readyState !== WebSocket.OPEN) return + const wire: RpcMessage = { jsonrpc: '2.0', method } + if (params !== undefined) wire.params = params + this.ws.send(JSON.stringify(wire)) + } + + close() { + this.closed = true + try { this.ws.close() } + catch { /* already gone */ } + } + + /* capability registrations, cache refreshes, configuration probes: the + * honest answer from a single-document client is "nothing to do" */ + private answerServer(msg: RpcMessage) { + let result: unknown = null + if (msg.method === 'workspace/configuration') { + const items = (msg.params as { items?: unknown[] } | undefined)?.items + result = Array.isArray(items) ? items.map(() => null) : null + } + if (this.closed || this.ws.readyState !== WebSocket.OPEN) return + this.ws.send(JSON.stringify({ jsonrpc: '2.0', id: msg.id, result })) + } +} diff --git a/frontend/app/utils/lean/monaco-worker.ts b/frontend/app/utils/lean/monaco-worker.ts new file mode 100644 index 0000000..59c9399 --- /dev/null +++ b/frontend/app/utils/lean/monaco-worker.ts @@ -0,0 +1,8 @@ +/* Monaco's editor worker, wrapped so the `?worker` import stays static + * (what this toolchain resolves) while the component still pulls it in + * lazily, only in the browser. Monaco 0.57's exports map makes paths like + * `monaco-editor/esm/vs/...` invalid — the package-root form below is the + * real specifier (`./editor/*` → `./esm/vs/editor/*`). */ +import EditorWorker from 'monaco-editor/editor/editor.worker.js?worker' + +export { EditorWorker } diff --git a/frontend/app/utils/plot-expression.ts b/frontend/app/utils/plot-expression.ts index a7d43d1..e66c69f 100644 --- a/frontend/app/utils/plot-expression.ts +++ b/frontend/app/utils/plot-expression.ts @@ -10,6 +10,14 @@ everything it accepts is a real function of x or a real relation in the plane, and everything else is refused with a reason. + A name that is not x, y, one of the constants, or a called function is a + free variable — "k", "a", "radius" — and asks for a slider: the compiled + answer names the variables it speaks, and evaluation reads their values + from the scope it is handed. So an expression with a variable means the + family of curves those values trace. "k" alone, or "k = 2" ahead of a + plain number, is the declaration itself: it claims the slider and plots + nothing of its own. + Precedence is the usual one: + - bind loosest; then * / % (left, implicit multiplication included — "2x" is 2·x); then unary minus, so -x^2 negates the square; then ^, right-associative, its exponent may carry a sign so @@ -20,24 +28,39 @@ export type PlotFunction = (x: number) => number /* a relation of the plane: the curve is its zero set */ export type PlaneFunction = (x: number, y: number) => number +/* a surface of space: the height z above the point (x, y) */ +export type SurfaceFunction = (x: number, y: number) => number + +/* the values a free name answers with — one slider per variable. A name the + scope does not carry yet reads as 1, where a fresh slider starts */ +export type VarScope = Record + /* why a text was refused: nothing to read, a name the calculator does not speak, or a shape the grammar rejects */ export type PlotErrorReason = 'empty' | 'unknown' | 'syntax' export type CompiledPlot = - | { ok: true; kind: 'function'; fn: PlotFunction } - | { ok: true; kind: 'relation'; fn: PlaneFunction } - // "(x, y)" or "P = (x, y)": a single dot at fixed coordinates, optionally named - | { ok: true; kind: 'point'; x: number; y: number; label: string | null } + // each kind carries the free variables it speaks, in order of appearance + | { ok: true; kind: 'function'; vars: string[]; fn: PlotFunction } + | { ok: true; kind: 'relation'; vars: string[]; fn: PlaneFunction } + // "(x, y)" or "P = (x, y)": a single dot at fixed coordinates, optionally + // named. Coordinates may ride the sliders, so the dot moves with them + | { ok: true; kind: 'point'; vars: string[]; x: number; y: number; label: string | null } + // "k" or "k = 2": claims a slider. A null value says the text asked for + // one without saying where it starts. Plots nothing of its own + | { ok: true; kind: 'variable'; vars: string[]; name: string; value: number | null } | { ok: false; reason: PlotErrorReason } type Op = '+' | '-' | '*' | '/' | '%' | '^' | '=' | '(' | ')' | ',' -type Token = { t: Op } | { t: 'num'; value: number } | { t: 'id'; name: string } +/* a number carries the text it was read from: the typesetter prints that, + so a half-typed decimal keeps the digits exactly as they stand */ +type Token = { t: Op } | { t: 'num'; value: number; raw: string } | { t: 'id'; name: string } type Node = - | { kind: 'num'; value: number } - | { kind: 'var'; name: 'x' | 'y' } + | { kind: 'num'; value: number; raw?: string } + // x and y are the plane's coordinates; every other name is a slider + | { kind: 'var'; name: string } | { kind: 'const'; value: number } | { kind: 'neg'; arg: Node } | { kind: 'bin'; op: '+' | '-' | '*' | '/' | '%' | '^'; a: Node; b: Node } @@ -132,9 +155,10 @@ function tokenize(src: string): Token[] { i++ } else break } - const value = Number.parseFloat(s.slice(start, i)) + const text = s.slice(start, i) + const value = Number.parseFloat(text) if (!Number.isFinite(value)) throw new PlotParseError('syntax') - toks.push({ t: 'num', value }) + toks.push({ t: 'num', value, raw: text }) continue } if (/[a-z_]/i.test(c)) { @@ -171,6 +195,9 @@ function tokenize(src: string): Token[] { interface Parser { toks: Token[] pos: number + /* when set, a name that is not x, y, a constant or a called function + becomes a variable recorded here; when absent, it is refused */ + free: Set | null } const peek = (p: Parser): Token | null => p.toks[p.pos] ?? null @@ -238,7 +265,7 @@ function parseAtom(p: Parser): Node { if (!tk) throw new PlotParseError('syntax') if (tk.t === 'num') { p.pos++ - return { kind: 'num', value: tk.value } + return { kind: 'num', value: tk.value, raw: tk.raw } } if (tk.t === '(') { p.pos++ @@ -268,28 +295,39 @@ function parseAtom(p: Parser): Node { if (!arityOk(tk.name, args.length)) throw new PlotParseError('syntax') return { kind: 'call', name: tk.name, args } } + // no coordinate, no constant, no name the calculator calls — then it is + // a variable: a slider the reader sets, shared wherever its name is spoken + if (p.free) { + p.free.add(tk.name) + return { kind: 'var', name: tk.name } + } throw new PlotParseError('unknown') } throw new PlotParseError('syntax') } -function evaluate(node: Node, x: number, y: number): number { +function evaluate(node: Node, x: number, y: number, scope: VarScope): number { switch (node.kind) { case 'num': return node.value - case 'var': - return node.name === 'x' ? x : y + case 'var': { + if (node.name === 'x') return x + if (node.name === 'y') return y + // a slider's set value; until it carries one, where every slider starts + const v = scope[node.name] + return typeof v === 'number' && Number.isFinite(v) ? v : 1 + } case 'const': return node.value case 'neg': - return -evaluate(node.arg, x, y) + return -evaluate(node.arg, x, y, scope) case 'call': { const fn = FUNCTIONS[node.name]! - return fn(...node.args.map((a) => evaluate(a, x, y))) + return fn(...node.args.map((a) => evaluate(a, x, y, scope))) } case 'bin': { - const a = evaluate(node.a, x, y) - const b = evaluate(node.b, x, y) + const a = evaluate(node.a, x, y, scope) + const b = evaluate(node.b, x, y, scope) switch (node.op) { case '+': return a + b @@ -326,9 +364,26 @@ function mentionsY(node: Node): boolean { } } -/* a point's coordinates hold no variable — a lone x or y has no single value - to place a dot at, so only constant expressions (numbers, pi, sqrt(2)…) - make a coordinate */ +/* whether x or y stands anywhere in a tree. A point's coordinate may ride + the sliders — each has one value to place the dot at — but a plane + variable has no single value, so the dot would have nowhere to go */ +function mentionsPlane(node: Node): boolean { + switch (node.kind) { + case 'var': + return node.name === 'x' || node.name === 'y' + case 'neg': + return mentionsPlane(node.arg) + case 'bin': + return mentionsPlane(node.a) || mentionsPlane(node.b) + case 'call': + return node.args.some(mentionsPlane) + default: + return false + } +} + +/* a declaration's value is a plain number — numbers, pi, sqrt(2)… welcome, + sliders and x and y not */ function isConstant(node: Node): boolean { switch (node.kind) { case 'var': @@ -377,62 +432,317 @@ function pointPair(toks: Token[]): [Token[], Token[]] | null { } /* one run of tokens, the whole of it — a leftover is a shape the grammar - does not know */ -function parseAll(toks: Token[]): Node { - const p: Parser = { toks, pos: 0 } + does not know. Free variables are collected into `free` when given */ +function parseAll(toks: Token[], free: Set | null = null): Node { + const p: Parser = { toks, pos: 0, free } const ast = parseExpr(p) if (p.pos !== toks.length) throw new PlotParseError('syntax') return ast } -/* read one expression, equation, or point; a refusal says whether a name was - not known or the shape was wrong — an empty text is the caller's to treat as - "nothing asked for", not as an error. A "(x, y)" — or "P = (x, y)" with a - name out front — is a point at fixed coordinates. With an "=" otherwise the - text is the relation left − right = 0 (a lone "y =" ahead of an expression - in x is still the fast function); without it, an expression in x is y = f(x) - and one carrying y is the relation that expression equals zero. */ -export function compilePlotExpression(src: string): CompiledPlot { +/* a name the reader may claim for a slider: not one of the plane's two + coordinates, not one of the constants, not a function the calculator calls */ +function declName(name: string): string | null { + if (name === 'x' || name === 'y') return null + if (Object.hasOwn(CONSTANTS, name) || Object.hasOwn(FUNCTIONS, name)) return null + return name +} + +/* read a slider's claim from a token run — "k" alone, or "k = 2" with a + claimable name ahead of a plain number — or null when the text claims + none. The value reads strictly: a "P = (2, 3)" or "k = x" is a point and + a relation, not declarations, and says so by not parsing as a number. */ +function declarationOf(toks: Token[]): { name: string; value: number | null } | null { + if (toks.length === 0 || toks[0]!.t !== 'id') return null + const name = declName(toks[0]!.name) + if (!name) return null + if (toks.length === 1) return { name, value: null } + if (toks.length > 2 && toks[1]!.t === '=' && !toks.slice(2).some((tk) => tk.t === '=')) { + try { + const rhs = parseAll(toks.slice(2)) // strict: a declaration's value is a plain number + if (isConstant(rhs)) return { name, value: evaluate(rhs, 0, 0, {}) } + } catch { + /* not a plain number — not a declaration, whatever it reads as instead */ + } + } + return null +} + +/* read one expression, equation, point or slider declaration; a refusal says + whether a name was not known or the shape was wrong — an empty text is the + caller's to treat as "nothing asked for", not as an error. A "(x, y)" — or + "P = (x, y)" with a name out front — is a point at fixed coordinates. With + an "=" otherwise the text is the relation left − right = 0 (a lone "y =" + ahead of an expression in x is still the fast function); without it, an + expression in x is y = f(x) and one carrying y is the relation that + expression equals zero. A name none of those readings speaks — "k" alone, + or "k = 2" ahead of a plain number — declares a slider: it plots nothing + and its value answers everywhere the name is spoken. Functions, relations + and points list the variables they speak in `vars` and read their values + from `scope` at their every evaluation — so one dragged slider moves the + whole family of curves at once. */ +export function compilePlotExpression(src: string, scope: VarScope = {}): CompiledPlot { if (src.length > 400) return { ok: false, reason: 'syntax' } try { const toks = tokenize(stripAssignment(src)) if (toks.length === 0) return { ok: false, reason: 'empty' } const at = toks.findIndex((tk) => tk.t === '=') + const free = new Set() + + // A slider claiming its own row: "k", or "k = 2" ahead of a plain number + const decl = declarationOf(toks) + if (decl) return { ok: true, kind: 'variable', vars: [decl.name], name: decl.name, value: decl.value } // A point: "(x, y)" on its own, or "P = (x, y)" with a lone name ahead of - // the "=". Coordinates must be constant — a variable has no single value - // to place a dot at — and finite once read. + // the "=". Coordinates may ride the sliders — and must be finite once read. const named = at === 1 && toks[0]!.t === 'id' const pair = pointPair(named ? toks.slice(2) : toks) if (pair) { - const cx = parseAll(pair[0]) - const cy = parseAll(pair[1]) - if (!isConstant(cx) || !isConstant(cy)) return { ok: false, reason: 'syntax' } - const x = evaluate(cx, 0, 0) - const y = evaluate(cy, 0, 0) + const cx = parseAll(pair[0], free) + const cy = parseAll(pair[1], free) + if (mentionsPlane(cx) || mentionsPlane(cy)) return { ok: false, reason: 'syntax' } + const x = evaluate(cx, 0, 0, scope) + const y = evaluate(cy, 0, 0, scope) if (!Number.isFinite(x) || !Number.isFinite(y)) return { ok: false, reason: 'syntax' } const label = named ? src.slice(0, src.indexOf('=')).trim() : null - return { ok: true, kind: 'point', x, y, label: label || null } + return { ok: true, kind: 'point', vars: [...free], x, y, label: label || null } } if (at === -1) { - const ast = parseAll(toks) + const ast = parseAll(toks, free) return mentionsY(ast) - ? { ok: true, kind: 'relation', fn: (x, y) => evaluate(ast, x, y) } - : { ok: true, kind: 'function', fn: (x) => evaluate(ast, x, 0) } + ? { ok: true, kind: 'relation', vars: [...free], fn: (x, y) => evaluate(ast, x, y, scope) } + : { ok: true, kind: 'function', vars: [...free], fn: (x) => evaluate(ast, x, 0, scope) } } const left = toks.slice(0, at) const right = toks.slice(at + 1) if (left.length === 0 || right.length === 0 || right.some((tk) => tk.t === '=')) throw new PlotParseError('syntax') - const rhs = parseAll(right) + const rhs = parseAll(right, free) // "y = " is the explicit curve it always was: x alone decides it if (left.length === 1 && left[0]!.t === 'id' && left[0]!.name === 'y' && !mentionsY(rhs)) - return { ok: true, kind: 'function', fn: (x) => evaluate(rhs, x, 0) } - const lhs = parseAll(left) - return { ok: true, kind: 'relation', fn: (x, y) => evaluate(lhs, x, y) - evaluate(rhs, x, y) } + return { ok: true, kind: 'function', vars: [...free], fn: (x) => evaluate(rhs, x, 0, scope) } + const lhs = parseAll(left, free) + return { + ok: true, + kind: 'relation', + vars: [...free], + fn: (x, y) => evaluate(lhs, x, y, scope) - evaluate(rhs, x, y, scope), + } } catch (err) { if (err instanceof PlotParseError) return { ok: false, reason: err.reason } return { ok: false, reason: 'syntax' } } } + +/* the inside of the 3D field's "z = …" — a lone "z =" ahead of an expression + in x and y; the reader may also write "f(x, y) =" or type the height with + no left side at all, which reads the same */ +function stripSurfaceAssignment(src: string): string { + return src + .replace(/^\s*f\s*\(\s*x\s*,\s*y\s*\)\s*=/i, '') + .replace(/^\s*z\s*=/i, '') +} + +export type CompiledSurface = + // each carries the free variables it speaks, in order of appearance + | { ok: true; kind: 'surface'; vars: string[]; fn: SurfaceFunction } + // "k" or "k = 2": claims a slider, as in the plane's fields. A null value + // says the text asked for one without saying where it starts. Draws nothing + | { ok: true; kind: 'variable'; vars: string[]; name: string; value: number | null } + | { ok: false; reason: PlotErrorReason } + +/* compile the height of a surface above (x, y): the same algebra as the + plane, only read as z = f(x, y). A "z =" ahead of the expression is the + height's own name and sheds; what is left must speak x and y (constants + are welcome — a level surface is still a surface). Names x and y are not + are slider variables read from scope at each evaluation, and "k" or + "k = 2" is the plane's slider declaration — space and plane wear the very + same variables. A stray "=" is still a leftover: space answers a height + alone, and refuses whatever cannot read as one. */ +export function compileSurfaceExpression(src: string, scope: VarScope = {}): CompiledSurface { + if (src.length > 400) return { ok: false, reason: 'syntax' } + try { + const body = stripSurfaceAssignment(src) + const toks = tokenize(body) + if (toks.length === 0) return { ok: false, reason: 'empty' } + // a slider claiming its own row: "k", or "k = 2" ahead of a plain number + const decl = declarationOf(toks) + if (decl) return { ok: true, kind: 'variable', vars: [decl.name], name: decl.name, value: decl.value } + const free = new Set() + const ast = parseAll(toks, free) + return { ok: true, kind: 'surface', vars: [...free], fn: (x, y) => evaluate(ast, x, y, scope) } + } catch (err) { + if (err instanceof PlotParseError) return { ok: false, reason: err.reason } + return { ok: false, reason: 'syntax' } + } +} + +/* ---------- printing the same maths back typeset ---------- */ + +/* the calculator's fields echo their text as set mathematics while it is + typed (Desmos' way). Printing the parser's own tree keeps the two + readings honest: what is displayed is exactly what would be plotted — + so a text that does not compile simply has no type-setting, and an + unfinished draft stays plain text until it reads right. Fractions are + fractions, radicals are radicals, exponents rise; parentheses appear + only where precedence would otherwise lie. */ + +const LATEX_FUNCTIONS: Record = { + sin: '\\sin', + cos: '\\cos', + tan: '\\tan', + asin: '\\arcsin', + acos: '\\arccos', + atan: '\\arctan', + sinh: '\\sinh', + cosh: '\\cosh', + tanh: '\\tanh', + ln: '\\ln', + log: '\\log', + log2: '\\log_{2}', + log10: '\\log_{10}', + min: '\\min', + max: '\\max', +} + +/* a folded constant answers as its symbol when its value is exactly one */ +function constSymbol(v: number): string | null { + if (v === Math.PI) return '\\pi' + if (v === Math.PI * 2) return '\\tau' + if (v === Math.E) return 'e' + if (v === (1 + Math.sqrt(5)) / 2) return '\\varphi' + return null +} + +/* how tightly a printed node binds: one that binds looser than the context + it stands in gains parentheses */ +function nodePrec(n: Node): number { + if (n.kind === 'bin') { + if (n.op === '+' || n.op === '-') return 10 + if (n.op === '^') return 40 + if (n.op === '/') return 90 // a \\frac carries its own grouping + return 20 // * and % + } + if (n.kind === 'neg') return 30 + return 100 +} + +function printNode(n: Node, ctx: number): string { + const s = printBare(n) + return nodePrec(n) < ctx ? `\\left(${s}\\right)` : s +} + +/* two factors standing side by side are multiplied silently — unless the + right one is a number (numbers must not run together), or a bare number + is followed by a fraction (which would read as a mixed number) */ +function needsDot(a: Node, b: Node): boolean { + if (b.kind === 'num') return true + return a.kind === 'num' && b.kind === 'bin' && b.op === '/' +} + +function printBare(n: Node): string { + switch (n.kind) { + case 'num': + return n.raw ?? String(n.value) + case 'var': + return n.name + case 'const': + return constSymbol(n.value) ?? String(n.value) + case 'neg': + return `-${printNode(n.arg, 30)}` + case 'call': + return printCall(n.name, n.args) + case 'bin': { + switch (n.op) { + case '+': + return `${printNode(n.a, 10)} + ${printNode(n.b, 11)}` + case '-': + return `${printNode(n.a, 10)} - ${printNode(n.b, 11)}` + case '*': { + const a = printNode(n.a, 20) + // a looser factor beside a silent product would change its sense — + // even a leading minus reads as subtraction there. The gap between + // factors is a space: free in math mode, and it keeps a \\pi from + // running into the next atom as one control word + const b = printNode(n.b, 31) + return needsDot(n.a, n.b) ? `${a} \\cdot ${b}` : `${a} ${b}` + } + case '/': + return `\\frac{${printNode(n.a, 0)}}{${printNode(n.b, 0)}}` + case '%': + return `${printNode(n.a, 20)} \\bmod ${printNode(n.b, 21)}` + case '^': + // braces group the exponent outright, so it never needs parentheses; + // an exp(...) base is already a superscribed e — it takes parens + // rather than carry a second superscript + return `${n.a.kind === 'call' && n.a.name === 'exp' ? `\\left(${printBare(n.a)}\\right)` : printNode(n.a, 41)}^{${printNode(n.b, 0)}}` + } + } + } +} + +function printCall(name: string, args: Node[]): string { + const one = args[0] ?? { kind: 'num', value: 0 } + switch (name) { + case 'sqrt': + return `\\sqrt{${printNode(one, 0)}}` + case 'cbrt': + return `\\sqrt[3]{${printNode(one, 0)}}` + case 'abs': + return `\\left|${printNode(one, 0)}\\right|` + case 'floor': + return `\\left\\lfloor ${printNode(one, 0)} \\right\\rfloor` + case 'ceil': + return `\\left\\lceil ${printNode(one, 0)} \\right\\rceil` + case 'exp': + return `e^{${printNode(one, 0)}}` + case 'mod': + return `${printNode(args[0] ?? one, 20)} \\bmod ${printNode(args[1] ?? one, 21)}` + default: { + const label = LATEX_FUNCTIONS[name] ?? name + return `${label}\\left(${args.map((a) => printNode(a, 0)).join(',\\, ')}\\right)` + } + } +} + +/* the whole text of a field as one typeset line: the same readings the + compiler runs — an "f(x) =" or "z =" ahead of the maths is shed, a lone + "y =" the field's gutter already wears is shed too (the gutter prints + it), a "(x, y)" — optionally named — is a point, a claimable name alone + or ahead of a plain number claims a slider, and any other "=" is the + equation it states. Free variables print as themselves, italic like the + rest. Null when the text does not read: the caller keeps the plain text, + and its red, until it does. */ +export function expressionToLatex(src: string): string | null { + if (!src.trim() || src.length > 400) return null + try { + const toks = tokenize(stripSurfaceAssignment(stripAssignment(src))) + if (toks.length === 0) return null + const at = toks.findIndex((tk) => tk.t === '=') + const free = new Set() + + const named = at === 1 && toks[0]!.t === 'id' + const pair = pointPair(named ? toks.slice(2) : toks) + if (pair) { + const coords = `\\left(${printNode(parseAll(pair[0], free), 0)},\\, ${printNode(parseAll(pair[1], free), 0)}\\right)` + if (!named) return coords + const label = src.slice(0, src.indexOf('=')).trim() + const name = /^[a-z][a-z0-9_]*$/i.test(label) ? label : `\\text{${label.replace(/[\\{}]/g, '')}}` + return `${name} = ${coords}` + } + + if (at === -1) return printNode(parseAll(toks, free), 0) + const left = toks.slice(0, at) + const right = toks.slice(at + 1) + if (left.length === 0 || right.length === 0 || right.some((tk) => tk.t === '=')) return null + // "y = " is the function the field's gutter already wears: the + // type-set line answers with its right side alone + if (left.length === 1 && left[0]!.t === 'id' && left[0]!.name === 'y' && !right.some((tk) => tk.t === 'id' && tk.name === 'y')) + return printNode(parseAll(right, free), 0) + // "=" binds loosest of all — neither side ever needs parentheses + return `${printNode(parseAll(left, free), 0)} = ${printNode(parseAll(right, free), 0)}` + } catch { + return null + } +} diff --git a/frontend/app/utils/routes.ts b/frontend/app/utils/routes.ts index 29d041c..aa0c240 100644 --- a/frontend/app/utils/routes.ts +++ b/frontend/app/utils/routes.ts @@ -67,17 +67,19 @@ export function isReadingSurface(path: string): boolean { /* ---------- the wiki's own pages ---------- - The link map and the graphing calculator are pages the shelf holds no - copies of — but the book can read them too. Each has one plain address of - its own, and useArticleTabs can lay it on the row beside the open articles: - the page then draws the live surface instead of an article, for as long as - its page stays open. */ + The link map, the calculators and the Lean editor are pages the shelf + holds no copies of — but the book can read them too. Each has one plain + address of its own, and useArticleTabs can lay it on the row beside the + open articles: the page then draws the live surface instead of an + article, for as long as its page stays open. */ -export type ToolPage = 'graph' | 'calculator' +export type ToolPage = 'graph' | 'calculator' | 'calculator3d' | 'lean' const TOOL_PAGE_PATHS: Record = { graph: '/graph', calculator: '/calculator', + calculator3d: '/calculator3d', + lean: '/lean', } /** The address a tool page lives at. */ diff --git a/frontend/i18n/locales/ca.json b/frontend/i18n/locales/ca.json index a95ee17..4545a8c 100644 --- a/frontend/i18n/locales/ca.json +++ b/frontend/i18n/locales/ca.json @@ -33,6 +33,10 @@ "graph": "Graf", "calculator": "Calculadora", "calculatorHint": "Calculadora — representa funcions i equacions", + "calculator3d": "Calculadora 3D", + "calculator3dHint": "Calculadora 3D — representa superfícies a l'espai", + "lean": "Lean", + "leanHint": "Lean — escriu i comprova proves al navegador", "admin": "Admin", "adminHint": "Administració — els comptes d'aquesta wiki", "requests": "Sol·licituds", @@ -170,16 +174,55 @@ "show": "Mostra al pla", "hide": "Amaga del pla", "remove": "Treu la funció", - "add": "Afegeix funció", + "add": "Afegeix expressió", "errorUnknown": "No conec aquest nom — la calculadora entén x, y, pi, e i les funcions habituals.", "errorSyntax": "Això no es llegeix com una funció de x ni com una equació en x i y.", "resetView": "Reinicia la vista", "zoomIn": "Apropa", "zoomOut": "Allunya", "cursor": "x = {x} y = {y}", + "variablesPanel": "Variables", + "variableValue": "Valor de {name}", + "editVariable": "Edita {name}", "collapse": "Amaga les funcions", "expand": "Mostra les funcions" }, + "calc3d": { + "metaTitle": "Calculadora gràfica 3D", + "metaDescription": "Representa superfícies z = f(x, y) a l'espai — l'escena gira arrossegant i s'apropa amb la roda. sin, cos, ln, sqrt i companyia.", + "panelHeading": "Superfícies", + "functionsPanel": "Superfícies a representar", + "expressionAria": "Funció de x i y", + "errorSyntax": "Això no es llegeix com una funció de x i y.", + "show": "Mostra a l'espai", + "hide": "Amaga de l'espai", + "config": "Configuració de l'espai", + "configSubdivisions": "Subdivisions", + "configZNote": "z segueix l'alçada de les superfícies", + "configMin": "Límit inferior de {axis}", + "configMax": "Límit superior de {axis}" + }, + "lean": { + "metaTitle": "Editor de Lean", + "metaDescription": "Escriu Lean 4 al navegador — l'editor comprova les proves amb Mathlib en el seu propi servidor Lean dedicat.", + "editorAria": "Editor de Lean 4", + "loading": "Obrint l'editor de Lean…", + "openExternal": "Obre l'editor en una pestanya nova", + "noServer": "Aquest wiki no té cap servidor de Lean connectat — indica a NUXT_PUBLIC_LEAN_URL on n'hi ha un (mira lean/).", + "unreachable": "El servidor de Lean no respon a {url} — pot ser que encara s'estigui iniciant (la primera arrencada construeix les memòries cau de Mathlib). Comprova que està en marxa (des de l'arrel del repo: ./dev.sh) i torna-ho a provar.", + "retry": "Torna-ho a provar", + "connecting": "Connectant amb el servidor de Lean…", + "initializing": "Despertant el Lean i carregant Mathlib — la primera vegada tarda una mica.", + "elaborating": "Comprovant…", + "ready": "Lean {version} — a punt", + "goals": "Objectius", + "messages": "Missatges", + "noGoals": "Cap objectiu al cursor.", + "infoview": "Vista d'informació", + "collapse": "Amaga la vista d'informació", + "expand": "Mostra la vista d'informació", + "seedDoc": "import Mathlib\n\n-- Posa el cursor darrere del `sorry`: l'objectiu apareix a la dreta.\n-- Ctrl+Space compleix; escriu `\\le` per a ≤.\n\nexample : 2 + 2 = 4 := by\n sorry\n" + }, "reader": { "notFoundTitle": "Aquest article no existeix (encara)", "notFoundText": "No hi ha res a {path}. Tu mateix pots escriure'n la primera versió — només cal Markdown.", diff --git a/frontend/i18n/locales/de.json b/frontend/i18n/locales/de.json index 06b1dee..16e7079 100644 --- a/frontend/i18n/locales/de.json +++ b/frontend/i18n/locales/de.json @@ -33,6 +33,10 @@ "graph": "Graph", "calculator": "Rechner", "calculatorHint": "Rechner — Funktionen und Gleichungen plotten", + "calculator3d": "3D-Rechner", + "calculator3dHint": "3D-Rechner — Flächen im Raum plotten", + "lean": "Lean", + "leanHint": "Lean — Beweise im Browser schreiben und prüfen", "admin": "Admin", "adminHint": "Verwaltung — die Konten in dieser Wiki", "requests": "Anfragen", @@ -170,16 +174,55 @@ "show": "Auf der Ebene anzeigen", "hide": "Auf der Ebene ausblenden", "remove": "Funktion entfernen", - "add": "Funktion hinzufügen", + "add": "Ausdruck hinzufügen", "errorUnknown": "Den Namen kenne ich nicht — der Rechner spricht x, y, pi, e und die üblichen Funktionen.", "errorSyntax": "Das liest sich nicht als Funktion von x oder als Gleichung in x und y.", "resetView": "Ansicht zurücksetzen", "zoomIn": "Vergrößern", "zoomOut": "Verkleinern", "cursor": "x = {x} y = {y}", + "variablesPanel": "Variablen", + "variableValue": "Wert von {name}", + "editVariable": "{name} bearbeiten", "collapse": "Funktionen ausblenden", "expand": "Funktionen einblenden" }, + "calc3d": { + "metaTitle": "3D-Grafikrechner", + "metaDescription": "Flächen z = f(x, y) im Raum zeichnen — die Szene dreht sich per Zug, die Rollen zoomt. sin, cos, ln, sqrt und Co.", + "panelHeading": "Flächen", + "functionsPanel": "Zu zeichnende Flächen", + "expressionAria": "Funktion von x und y", + "errorSyntax": "Das liest sich nicht als Funktion von x und y.", + "show": "Im Raum anzeigen", + "hide": "Im Raum ausblenden", + "config": "Raumkonfiguration", + "configSubdivisions": "Unterteilungen", + "configZNote": "z folgt der Höhe der Flächen", + "configMin": "Untere {axis}-Grenze", + "configMax": "Obere {axis}-Grenze" + }, + "lean": { + "metaTitle": "Lean-Editor", + "metaDescription": "Lean 4 im Browser — der Editor prüft Beweise gegen Mathlib auf einem eigenen dedizierten Lean-Server.", + "editorAria": "Lean-4-Editor", + "loading": "Der Lean-Editor wird geöffnet…", + "openExternal": "Editor in neuem Tab öffnen", + "noServer": "Dieses Wiki hat keinen Lean-Server angeschlossen — setze NUXT_PUBLIC_LEAN_URL auf die Adresse eines Servers (siehe lean/).", + "unreachable": "Der Lean-Server antwortet nicht auf {url} — vielleicht startet er noch (der erste Start baut die Mathlib-Caches). Prüfe, ob er läuft (vom Repo-Stamm: ./dev.sh), und versuche es erneut.", + "retry": "Erneut versuchen", + "connecting": "Verbindung mit dem Lean-Server wird aufgebaut…", + "initializing": "Lean wird geweckt und Mathlib geladen — beim ersten Mal dauert das einen Moment.", + "elaborating": "Prüfung…", + "ready": "Lean {version} — bereit", + "goals": "Ziele", + "messages": "Nachrichten", + "noGoals": "Kein Ziel am Cursor.", + "infoview": "Infoansicht", + "collapse": "Infoansicht ausblenden", + "expand": "Infoansicht einblenden", + "seedDoc": "import Mathlib\n\n-- Setze den Cursor hinter das `sorry` — das Ziel erscheint rechts.\n-- Strg+Leertaste ergänzt; `\\le` ergibt ≤.\n\nexample : 2 + 2 = 4 := by\n sorry\n" + }, "reader": { "notFoundTitle": "Dieser Artikel existiert (noch) nicht", "notFoundText": "Unter {path} ist nichts. Du kannst die erste Version selbst schreiben — es braucht nur Markdown.", diff --git a/frontend/i18n/locales/en.json b/frontend/i18n/locales/en.json index cd8e876..d4fe839 100644 --- a/frontend/i18n/locales/en.json +++ b/frontend/i18n/locales/en.json @@ -33,6 +33,10 @@ "graph": "Graph", "calculator": "Calculator", "calculatorHint": "Calculator — plot functions and equations", + "calculator3d": "3D Calculator", + "calculator3dHint": "3D Calculator — plot surfaces in space", + "lean": "Lean", + "leanHint": "Lean — write and check proofs in the browser", "admin": "Admin", "adminHint": "Admin — the accounts on this wiki", "requests": "Requests", @@ -170,16 +174,55 @@ "show": "Show on the plane", "hide": "Hide from the plane", "remove": "Remove function", - "add": "Add function", + "add": "Add expression", "errorUnknown": "I don't know that name — the calculator speaks x, y, pi, e and the usual functions.", "errorSyntax": "This does not read as a function of x or an equation in x and y.", "resetView": "Reset the view", "zoomIn": "Zoom in", "zoomOut": "Zoom out", "cursor": "x = {x} y = {y}", + "variablesPanel": "Variables", + "variableValue": "Value of {name}", + "editVariable": "Edit {name}", "collapse": "Hide functions", "expand": "Show functions" }, + "calc3d": { + "metaTitle": "3D graphing calculator", + "metaDescription": "Plot surfaces z = f(x, y) in space — the scene turns with a drag and zooms with the wheel. sin, cos, ln, sqrt and friends.", + "panelHeading": "Surfaces", + "functionsPanel": "Surfaces to plot", + "expressionAria": "Function of x and y", + "errorSyntax": "This does not read as a function of x and y.", + "show": "Show in the space", + "hide": "Hide from the space", + "config": "Space configuration", + "configSubdivisions": "Subdivisions", + "configZNote": "z follows the surfaces' height", + "configMin": "{axis} lower bound", + "configMax": "{axis} upper bound" + }, + "lean": { + "metaTitle": "Lean editor", + "metaDescription": "Write Lean 4 in the browser — the editor checks proofs against Mathlib on its own dedicated Lean server.", + "editorAria": "Lean 4 editor", + "loading": "Opening the Lean editor…", + "openExternal": "Open the editor in a new tab", + "noServer": "This wiki has no Lean server wired up — set NUXT_PUBLIC_LEAN_URL to where one lives (see lean/).", + "unreachable": "The Lean server is not answering at {url} — it may still be starting (the first boot builds the Mathlib caches). Check it is running (from the repo root: ./dev.sh), then try again.", + "retry": "Try again", + "connecting": "Connecting to the Lean server…", + "initializing": "Waking Lean and loading Mathlib — the first run takes a moment.", + "elaborating": "Checking…", + "ready": "Lean {version} — ready", + "goals": "Goals", + "messages": "Messages", + "noGoals": "No goal at the cursor.", + "infoview": "Infoview", + "collapse": "Hide infoview", + "expand": "Show infoview", + "seedDoc": "import Mathlib\n\n-- Place the cursor after the `sorry` — the goal appears on the right.\n-- Ctrl+Space completes; typing `\\le` gives ≤.\n\nexample : 2 + 2 = 4 := by\n sorry\n" + }, "reader": { "notFoundTitle": "This article does not exist (yet)", "notFoundText": "Nothing lives at {path}. You can write the first version yourself — it only takes Markdown.", diff --git a/frontend/i18n/locales/es.json b/frontend/i18n/locales/es.json index cb14631..d3b8903 100644 --- a/frontend/i18n/locales/es.json +++ b/frontend/i18n/locales/es.json @@ -33,6 +33,10 @@ "graph": "Grafo", "calculator": "Calculadora", "calculatorHint": "Calculadora — representa funciones y ecuaciones", + "calculator3d": "Calculadora 3D", + "calculator3dHint": "Calculadora 3D — representa superficies en el espacio", + "lean": "Lean", + "leanHint": "Lean — escribe y comprueba pruebas en el navegador", "admin": "Admin", "adminHint": "Administración — las cuentas de esta wiki", "requests": "Solicitudes", @@ -170,16 +174,55 @@ "show": "Mostrar en el plano", "hide": "Ocultar del plano", "remove": "Quitar función", - "add": "Añadir función", + "add": "Añadir expresión", "errorUnknown": "No conozco ese nombre — la calculadora habla x, y, pi, e y las funciones de siempre.", "errorSyntax": "Esto no se lee como una función de x ni como una ecuación en x e y.", "resetView": "Reiniciar la vista", "zoomIn": "Acercar", "zoomOut": "Alejar", "cursor": "x = {x} y = {y}", + "variablesPanel": "Variables", + "variableValue": "Valor de {name}", + "editVariable": "Editar {name}", "collapse": "Ocultar las funciones", "expand": "Mostrar las funciones" }, + "calc3d": { + "metaTitle": "Calculadora gráfica 3D", + "metaDescription": "Representa superficies z = f(x, y) en el espacio — la escena gira arrastrando y se acerca con la rueda. sin, cos, ln, sqrt y compañía.", + "panelHeading": "Superficies", + "functionsPanel": "Superficies a representar", + "expressionAria": "Función de x e y", + "errorSyntax": "Esto no se lee como una función de x e y.", + "show": "Mostrar en el espacio", + "hide": "Ocultar del espacio", + "config": "Configuración del espacio", + "configSubdivisions": "Subdivisiones", + "configZNote": "z sigue la altura de las superficies", + "configMin": "Límite inferior de {axis}", + "configMax": "Límite superior de {axis}" + }, + "lean": { + "metaTitle": "Editor de Lean", + "metaDescription": "Escribe Lean 4 en el navegador — el editor comprueba las pruebas con Mathlib en su propio servidor Lean dedicado.", + "editorAria": "Editor de Lean 4", + "loading": "Abriendo el editor de Lean…", + "openExternal": "Abrir el editor en una pestaña nueva", + "noServer": "Este wiki no tiene ningún servidor de Lean conectado — indica en NUXT_PUBLIC_LEAN_URL dónde vive uno (mira lean/).", + "unreachable": "El servidor de Lean no responde en {url} — puede que todavía se esté iniciando (el primer arranque construye las cachés de Mathlib). Comprueba que está en marcha (desde la raíz del repo: ./dev.sh) y vuelve a intentarlo.", + "retry": "Volver a intentarlo", + "connecting": "Conectando con el servidor de Lean…", + "initializing": "Despertando Lean y cargando Mathlib — la primera vez tarda un poco.", + "elaborating": "Comprobando…", + "ready": "Lean {version} — listo", + "goals": "Objetivos", + "messages": "Mensajes", + "noGoals": "Ningún objetivo en el cursor.", + "infoview": "Vista de información", + "collapse": "Ocultar la vista de información", + "expand": "Mostrar la vista de información", + "seedDoc": "import Mathlib\n\n-- Coloca el cursor tras el `sorry`: el objetivo aparece a la derecha.\n-- Ctrl+Space completa; escribe `\\le` para ≤.\n\nexample : 2 + 2 = 4 := by\n sorry\n" + }, "reader": { "notFoundTitle": "Este artículo no existe (todavía)", "notFoundText": "No hay nada en {path}. Puedes escribir tú la primera versión — solo hace falta Markdown.", diff --git a/frontend/i18n/locales/fr.json b/frontend/i18n/locales/fr.json index 0e77920..dbe9041 100644 --- a/frontend/i18n/locales/fr.json +++ b/frontend/i18n/locales/fr.json @@ -33,6 +33,10 @@ "graph": "Graphe", "calculator": "Calculatrice", "calculatorHint": "Calculatrice — trace des fonctions et des équations", + "calculator3d": "Calculatrice 3D", + "calculator3dHint": "Calculatrice 3D — trace des surfaces dans l'espace", + "lean": "Lean", + "leanHint": "Lean — écrire et vérifier des preuves dans le navigateur", "admin": "Admin", "adminHint": "Administration — les comptes de ce wiki", "requests": "Demandes", @@ -170,16 +174,55 @@ "show": "Afficher sur le plan", "hide": "Masquer du plan", "remove": "Supprimer la fonction", - "add": "Ajouter une fonction", + "add": "Ajouter une expression", "errorUnknown": "Je ne connais pas ce nom — la calculatrice parle x, y, pi, e et les fonctions habituelles.", "errorSyntax": "Cela ne se lit pas comme une fonction de x ni comme une équation en x et y.", "resetView": "Réinitialiser la vue", "zoomIn": "Zoomer", "zoomOut": "Dézoomer", "cursor": "x = {x} y = {y}", + "variablesPanel": "Variables", + "variableValue": "Valeur de {name}", + "editVariable": "Modifier {name}", "collapse": "Masquer les fonctions", "expand": "Afficher les fonctions" }, + "calc3d": { + "metaTitle": "Calculatrice graphique 3D", + "metaDescription": "Tracez des surfaces z = f(x, y) dans l'espace — la scène tourne à la souris et se zoome à la molette. sin, cos, ln, sqrt et compagnie.", + "panelHeading": "Surfaces", + "functionsPanel": "Surfaces à tracer", + "expressionAria": "Fonction de x et y", + "errorSyntax": "Cela ne se lit pas comme une fonction de x et y.", + "show": "Afficher dans l'espace", + "hide": "Masquer de l'espace", + "config": "Configuration de l'espace", + "configSubdivisions": "Subdivisions", + "configZNote": "z suit la hauteur des surfaces", + "configMin": "Borne inférieure de {axis}", + "configMax": "Borne supérieure de {axis}" + }, + "lean": { + "metaTitle": "Éditeur Lean", + "metaDescription": "Écrire du Lean 4 dans le navigateur — l'éditeur vérifie les preuves avec Mathlib sur son propre serveur Lean dédié.", + "editorAria": "Éditeur Lean 4", + "loading": "Ouverture de l'éditeur Lean…", + "openExternal": "Ouvrir l'éditeur dans un nouvel onglet", + "noServer": "Ce wiki n'a pas de serveur Lean connecté — indiquez dans NUXT_PUBLIC_LEAN_URL où se trouve le serveur (voir lean/).", + "unreachable": "Le serveur Lean ne répond pas sur {url} — il est peut-être encore en train de démarrer (le premier démarrage construit les caches de Mathlib). Vérifiez qu'il tourne (depuis la racine du dépôt : ./dev.sh), puis réessayez.", + "retry": "Réessayer", + "connecting": "Connexion au serveur Lean…", + "initializing": "Réveil de Lean et chargement de Mathlib — la première fois prend un moment.", + "elaborating": "Vérification…", + "ready": "Lean {version} — prêt", + "goals": "Objectifs", + "messages": "Messages", + "noGoals": "Aucun objectif sous le curseur.", + "infoview": "Vue d'information", + "collapse": "Masquer la vue d'information", + "expand": "Afficher la vue d'information", + "seedDoc": "import Mathlib\n\n-- Placez le curseur après le `sorry` — l'objectif apparaît à droite.\n-- Ctrl+Space complète ; tapez `\\le` pour ≤.\n\nexample : 2 + 2 = 4 := by\n sorry\n" + }, "reader": { "notFoundTitle": "Cet article n'existe pas (encore)", "notFoundText": "Rien ne vit à {path}. Vous pouvez en écrire vous-même la première version — il ne faut que du Markdown.", diff --git a/frontend/nuxt.config.ts b/frontend/nuxt.config.ts index 7e8d6dd..1646146 100644 --- a/frontend/nuxt.config.ts +++ b/frontend/nuxt.config.ts @@ -43,6 +43,10 @@ export default defineNuxtConfig({ // browser calls /api on its own origin and nginx routes it to the // backend; dev keeps the absolute localhost address. apiBase: process.env.NUXT_PUBLIC_API_BASE ?? 'http://localhost:5000', + // Where the Lean editor server (lean4web — see lean/) lives: /lean + // frames this address. It is the browser's own way in, not the + // server's — the iframe talks to its own origin from there on. + leanUrl: process.env.NUXT_PUBLIC_LEAN_URL ?? 'http://localhost:8080', }, }, diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 5da40df..30e721e 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -13,6 +13,7 @@ "katex": "^0.18.9", "markdown-it": "^15.0.2", "markdown-it-texmath": "^1.0.0", + "monaco-editor": "^0.57.0", "nuxt": "^4.5.2", "vue": "^3.5.43", "vue-router": "^5.3.1" @@ -9003,6 +9004,18 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/marked": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-14.0.0.tgz", + "integrity": "sha512-uIj4+faQ+MgHgwUW1l2PsPglZLOLOT1uErt06dAPtx2kjteLAkbsd/0FiYg/MGS+i7ZKLb7w2WClxHkzOOuryQ==", + "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 18" + } + }, "node_modules/mdn-data": { "version": "2.27.1", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz", @@ -9178,6 +9191,25 @@ "integrity": "sha512-aF7yRQr/Q0O2/4pIXm6PZ5G+jAd7QS4Yu8m+WEeEHGnbo+7mE36CbLSDQiXYV8bVL3NfmdeqPJct0tUlnjVSnA==", "license": "MIT" }, + "node_modules/monaco-editor": { + "version": "0.57.0", + "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.57.0.tgz", + "integrity": "sha512-5BkI9KGoqrNvBGUe15/QlZq3OooZ8WLg1AxTpaqHRCP3HNpzPPZKE2EDz8M7c+VRmCeUw1Brp4cx/PWm3kI/5A==", + "license": "MIT", + "dependencies": { + "dompurify": "3.4.15", + "marked": "14.0.0" + } + }, + "node_modules/monaco-editor/node_modules/dompurify": { + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.4.15.tgz", + "integrity": "sha512-EUBjM+B+lkDE41iE82DDSCfkoPGfXx8IxFxPMjNzm/Uk4xDet77rTN9wqlxlVg71kK7XGuUMv6wUxJUwwv+Xyw==", + "license": "(MPL-2.0 OR Apache-2.0)", + "optionalDependencies": { + "@types/trusted-types": "^2.0.7" + } + }, "node_modules/mrmime": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", diff --git a/frontend/package.json b/frontend/package.json index 9e32d8c..86c5b3d 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -16,6 +16,7 @@ "katex": "^0.18.9", "markdown-it": "^15.0.2", "markdown-it-texmath": "^1.0.0", + "monaco-editor": "^0.57.0", "nuxt": "^4.5.2", "vue": "^3.5.43", "vue-router": "^5.3.1" diff --git a/frontend/types/vite-worker.d.ts b/frontend/types/vite-worker.d.ts new file mode 100644 index 0000000..84d6d65 --- /dev/null +++ b/frontend/types/vite-worker.d.ts @@ -0,0 +1,5 @@ +/* Vite's `?worker` import suffix (used by the Lean editor's web worker) */ +declare module '*?worker' { + const workerConstructor: new () => Worker + export default workerConstructor +} diff --git a/lean/Dockerfile b/lean/Dockerfile new file mode 100644 index 0000000..d9f84aa --- /dev/null +++ b/lean/Dockerfile @@ -0,0 +1,70 @@ +# Mathew — the Lean editor server +# +# Builds lean4web (https://github.com/leanprover-community/lean4web) from its +# upstream source and runs its production server: one port serves the editor +# client and the Lean sessions, which is what the wiki frames at /lean. +# +# Lean4web runs a real Lean process per session, so upstream asks for a +# dedicated server — this image carries the editor and Mathlib, the machine +# carries the load. +# +# docker build -t mathew-lean ./lean +# docker run -p 8080:8080 mathew-lean # → http://localhost:8080 +# +# The build is heavy by nature (Mathlib is fetched and its precompiled +# cache unpacked); expect a long build and an image of several GB. + +FROM node:24-bookworm + +# lake fetches dependencies over git/curl, drives clang to link, and elan +# (Lean's toolchain manager) installs the toolchains each project pins +RUN apt-get update && apt-get install -y --no-install-recommends \ + bash curl git ca-certificates unzip rsync \ + build-essential clang pkg-config libssl-dev \ + && rm -rf /var/lib/apt/lists/* + +# elan, with no default toolchain — every project pins its own in its +# lean-toolchain file, and elan installs that one when asked +RUN curl -sSfL https://elan.lean-lang.org/elan-init.sh | bash -s -- -y --default-toolchain none +ENV PATH="/root/.elan/bin:${PATH}" + +# The lean4web source. Pass a tag or branch to pin a build: +# docker build --build-arg LEAN4WEB_REF=v0.2.2 ./lean +ARG LEAN4WEB_REF=main +RUN git clone --depth 1 --branch "${LEAN4WEB_REF}" \ + https://github.com/leanprover-community/lean4web.git /opt/lean4web + +WORKDIR /opt/lean4web +RUN npm install + +# Build the Lean projects under Projects/ (MathlibDemo pulls Mathlib and +# unpacks its precompiled cache — the slow part of the image) and then the +# editor client, which the server serves alongside its websocket +RUN npm run build:projects + +# Mathew's theme layer: the wiki's font, stylesheet, and theme handshake +# join the client's public/ so they ship in the built bundle, and a sed +# wires them into index.html (and renames the tab). The wiki opens the +# frame as ?theme=light|dark and the editor opens matching the page +# around it — lean/theme/mathew.css explains how the skin attaches. +COPY theme/mathew.css theme/theme-init.js ./client/public/ +COPY theme/fonts/. ./client/public/fonts/ +RUN sed -i \ + -e 's##\n \n #' \ + -e 's#Lean Web#Lean · Mathew#' \ + client/index.html + +RUN npm run build:client + +# Bubblewrap cannot sandbox inside a container (no nested user namespaces by +# default) — Docker itself is the isolation here, so the server runs Lean +# directly. PORT 8080 is lean4web's production default: editor + websocket. +ENV NODE_ENV=production \ + NO_BWRAP=true \ + PORT=8080 +EXPOSE 8080 + +HEALTHCHECK --interval=30s --timeout=5s --start-period=90s --retries=3 \ + CMD curl -sf http://localhost:8080/health || exit 1 + +CMD ["npm", "run", "prod"] diff --git a/lean/README.md b/lean/README.md new file mode 100644 index 0000000..d6cbc38 --- /dev/null +++ b/lean/README.md @@ -0,0 +1,138 @@ +# lean/ — the Lean server + +This folder builds [lean4web](https://github.com/leanprover-community/lean4web) — +whose server runs a real Lean process (with Mathlib) for every session — as a +Docker image serving websocket sessions on port `8080`. That is why it does not +live in the backend or the frontend: upstream asks for **a dedicated machine**. + +The wiki's `/lean` page talks to this server **itself**: `frontend/app/utils/lean/` +implements a Lean language client (JSON-RPC over the websocket), and the page's +Monaco editor, Goals and Messages panes (`LeanWorkbench.vue`) are the wiki's own — +styled by the wiki, themed live. lean4web's bundled client is still built and +served at the port's root (dressed in the wiki's skin, see below); the editor's +status bar links to it for features the wiki client does not chase — live +collaboration and interactive widgets. + +## Build & run + +```bash +docker compose build lean # long: fetches Mathlib and unpacks its cache +docker compose up -d lean # → http://localhost:8080 (and the wiki's /lean) +docker compose logs -f lean + +# or plain docker +docker build -t mathew-lean ./lean +docker run --rm -p 8080:8080 mathew-lean +``` + +`GET http://localhost:8080/health` answers when the server is up — the image +carries a `HEALTHCHECK` for it. The frontend finds the server at +`NUXT_PUBLIC_LEAN_URL` (default `http://localhost:8080`, dev included), so out +of the box there is nothing else to configure. + +To build against a fixed lean4web release rather than its `main`: + +```bash +docker build --build-arg LEAN4WEB_REF=v0.2.2 -t mathew-lean ./lean +``` + +(any branch or tag; the clone is shallow, so commit SHAs are not offered.) + +## The protocol the wiki's client speaks + +The websocket endpoint is `/websocket/` (project names come from +`GET /api/projects`, answered only same-origin — the REST endpoints carry no +CORS headers, so the wiki falls back to `MathlibDemo` when reaching the +server across origins; the websocket itself is CORS-free). +One JSON-RPC message per frame — the Lean 4 language +server protocol, which the server forwards raw to a per-session `lake serve`. +What `frontend/app/utils/lean/lsp.ts` + `useLeanSession.ts` do with it: + +1. `initialize` — and Lean is strict here: `rootUri` must be a **string** (the + server's URI rewriter throws on `null` and the message vanishes silently), + `window.showDocument` must be `{ support: … }`, `insertTextFormat` must be + `{ valueSet: [...] }`; the Lean watchdog exits the session on anything it + cannot parse. Positions negotiate as `utf-16`, which matches Monaco. +2. `initialized`, then `textDocument/didOpen` a single document named + `/Main.lean`; edits go as debounced whole-document `didChange`s. +3. Goals: the custom request `$/lean/plainGoal` at the cursor answers + `{ goals: string[], rendered }`. (`$/lean/plainMessages` no longer exists — + Lean puts `#check`-style output in **severity-3 `publishDiagnostics`**, + which is what the wiki's Messages pane reads; elaboration busy-state comes + from `$/lean/fileProgress`.) +4. Server→client requests (`client/registerCapability`, `*/refresh`, + `workspace/configuration`) get automatic `null` acknowledgements — a + single-document client must still answer, or Lean waits. + +## The skinned classic client + +Reaching the server's own address (the wiki editor's status-bar link, or a +direct visit) opens lean4web's bundled client — and the image builds it +**wearing the wiki**. `theme/` holds the layer: `mathew.css` redefines the +`--vscode-*` custom properties lean4web itself paints with (top bar, menus, +modals, its Monaco editor) in Mathew's tokens — Computer Modern for the +chrome, the paper/slate surfaces, the violet accent — and bundles the CMU +fonts (with their SIL license); `theme-init.js` records the theme on +`` before the first paint, taking `?theme=light|dark` +or the browser's preference. The `Dockerfile` copies both into the client's +`public/`, links them from `index.html`, and retitles the tab. + +To re-skin or extend: edit `theme/mathew.css` and rebuild — the patch lands +after the cached Mathlib steps, so it is only a client rebuild. + +## The server's own knobs + +lean4web reads these from the environment — pass them with `-e` / compose +`environment` if you change them: + +| Variable | Default here | Meaning | +| --- | --- | --- | +| `PORT` | `8080` | The one port for the editor client **and** its websocket | +| `NO_BWRAP` | `true` | Run Lean without bubblewrap — see Security below | +| `SSL_CRT_FILE` / `SSL_KEY_FILE` | unset | Serve HTTPS directly (the server also redirects :80 → https) | +| `PROJECTS_BASE_PATH` | `Projects` | Where the Lean projects live, relative to the repo root | +| `VITE_COLLAB` | `true` | lean4web's collaboration feature (set at build time) | + +## Security + +Upstream wraps each Lean session in [Bubblewrap](https://github.com/containers/bubblewrap); +that needs nested user namespaces, which a plain container does not have — so +this image sets `NO_BWRAP=true` and lets **Docker itself be the sandbox**. The +consequence to keep in mind: whoever can reach port `8080` can run Lean code +on this machine, inside the container. Keep the port on the LAN / VPN, or put +it behind a proxy with authentication, before exposing it past your network. + +**TLS matters to the wiki page too**: if Mathew is served over HTTPS, the +browser will refuse the editor's `ws://` connection to an `http://` server +(mixed content). Serve the +Lean server over HTTPS — either its own `SSL_CRT_FILE`/`SSL_KEY_FILE`, or a +reverse proxy in front (websocket upgrade on the same path) — and point +`NUXT_PUBLIC_LEAN_URL` at the `https://` address. + +## Updating + +The image clones lean4web at build time, so a rebuild is an update: + +```bash +docker compose build --pull lean && docker compose up -d lean +``` + +Rebuilding also re-runs `Projects/*/leanweb-build.sh` — the demo projects are +rebuilt and Mathlib's cache re-fetched, so treat this like the heavy build it +is (several GB of image; run it on the machine that hosts the editor). + +## Adding Lean projects + +Anything under `Projects/` of the *image source* becomes a selectable project +(`#project=`). To ship one with the image, build a custom image that +copies it in before the project build step: + +```dockerfile +FROM mathew-lean AS base # or edit lean/Dockerfile directly +COPY MyProject /opt/lean4web/Projects/MyProject +WORKDIR /opt/lean4web/Projects/MyProject +RUN lake build +``` + +See upstream's [Adding Projects](https://github.com/leanprover-community/lean4web/blob/main/doc/Projects.md) +for the `leanweb-config.json` each project needs. diff --git a/lean/theme/fonts/SIL Open Font License.txt b/lean/theme/fonts/SIL Open Font License.txt new file mode 100644 index 0000000..8ed8440 --- /dev/null +++ b/lean/theme/fonts/SIL Open Font License.txt @@ -0,0 +1,55 @@ +Copyright (C) Authors of original metafont fonts: +Donald Ervin Knuth (cm, concrete fonts) +1995, 1996, 1997 J"org Knappen, 1990, 1992 Norbert Schwarz (ec fonts) +1992-2006 A.Khodulev, O.Lapko, A.Berdnikov, V.Volovich (lh fonts) +1997-2005 Claudio Beccari (cb greek fonts) +2002 FUKUI Rei (tipa fonts) +2003-2005 Han The Thanh (Vietnamese fonts) +1996-2005 Walter Schmidt (cmbright fonts) + +Copyright (C) 2003-2009, Andrey V. Panov (panov@canopus.iacp.dvo.ru), +with Reserved Font Family Name "Computer Modern Unicode fonts". + + + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others. + +The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the copyright statement(s). + +"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment. + +"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission. + +5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. \ No newline at end of file diff --git a/lean/theme/fonts/cmunbi.ttf b/lean/theme/fonts/cmunbi.ttf new file mode 100644 index 0000000000000000000000000000000000000000..20505cfdb354c3d53c1c8b55093d93155535f7b1 GIT binary patch literal 285096 zcmdSB3w%`7xi`Glo;`aelgZB9lF4LpnaN}_48vqH8IoagCxj5f7-9%9VB{tsqKHT- zqNS8lN)Z(mwbW9pmQqWpXYWb0mP0MtVry?6wQ8-$TD97ywaTF$E0;{Z|Fb876w|&v z@AsbXykGKr_S$>x+gi{4dDgRsamJV(8e1@B12KQ)bZhSFT%r{mP#_ z@f953ffp>f@{^zNvccT4KuNs=I6O?`MOmr-`eqG91mc8$?Ml| z{DkeQlD{x<*29cBzIgo&tFFJV=WG)b`&%%-D>koMvAXY*-8f$K0PdFnggy4m?)6b> zpI-Wvzf$|NmC^^=85sv%)WZa3LeD|K*V)53`X)Pu{qNylU{A1DvH$P*7uaj;b?pBZ z{{nkM!1cn{g>PbC)Sf|4qBojYFT0M3ZSBckR(R!>8?I#)SKYAc8diPn@=sjHFh06) zbX2?c!akqS|F`?XHLGs8j>+2AG4>966UUn+CSyxSmQ2fSjPvmk$?S8im{p9PU{e9r zfa!qvXp$vHWmX4h!2Tk@V!(EsyA^O7;C8@Xz#V`)0r%qk_t8EH_yOPq;03^ofR_P( z0{nUO1UHN(h0n25td!+q`~UTuKf_LGZwF?C&tQ+2nKZ1P;_vB>=uU}4dRccw|0_u{ zJgz&XJ7q{4yN!=z^=F+i8BK?={h9F*`p-JU-@EXSJ16|p9hv{}tH+L>=kH09@ey;k z8CU3zWSud;nNyxqPG|LU))|7FCv->X-G;}F-8nzZd0sZkQ{@J^UGA3qwG9oxI*C*uT$**2C6c zSHM^_fVSFRyR&_4?+Z@sJMVQKb3R{CP*7d)1r45Xv4Uz> z3H9gSY(1Qbez=EB2c?^{!NEPqYjJM@IYUljg(;fL-u1oU?IO^zG! z#A803Co%z&!LN0bPLkfNsF0fF7Ld1uVq=Wq^LbBEVw60N@`<&0RRZ4{$f&9so(v zm+-9n0AB_i0DJ{-Kj5o?2LKNO9s+y~a1d|^_ZRye*-)ZAnE=kT9WXW(2|t@ z3hl4az6tmp;17U50!aGb#W`pI_8!`^nCCg{kDyJX9ff9K01glUI)Dh!10(>n2D7qq zT$upW0qOw_fSUj}13m@V3ivc&8{jj5dja1C{43yl+EY%jDm+F07$3CZ`5k~u0X=|) zfPMgJzMF9U&45n_-&KCfmMG@^OG!GEC=KK{=dVke~(8e@*?pe@gVWv z-{U>vJK{OwH{z>to&rB1ACv?I@{1d1A|3Mcd*|^kBl-L2#^Pi==<70IHM|AmTB*>}p-DKnXM`I#Q zk!$5in@GN->M8x!XSj%W2u$ET)G@)@I> z`OMK{EQik@OU(FcEKgoQLtI>FF1QhtemRfa@QjYq2+#?i!6Dvc@yU&x|5x zKxf9z*N<+dW4w)ek7-Xlj3*w(6A$BwhqbdWFcW4F!{}ppZ%i9`|L8t#)K}nmDPWm4 z@)$EW7@}inGaXdScq3?W}7jN&3MCRymy~=w+(l1#;i7L6zIZL-J@%@ zyNJ^X9~o}gj9CyzY~ah$W~i_kGa$}it5Je5`V5}*3}2vO^O#1*MWd(qa^}$PSdErO zEaS>!z$m@<7~cB;FiDcN8SmOWHqv8wUxrs!qEF*O%sdNMAH(x6aMJ)JCo?bN3*ZvZ zH)#AoywC%n=Mv`VIdnE#J39|YUFfB&7LM-JxaM-~F9nw_1CMANgR4n0_F0^IDK4F$N8CS z{DUpV5aAo)qi#ZsjaZ8##^SrMkNhAG*hfsx_hbLdfNx?SnG60cz#{+! zfJ_BPrh|W>_oEZ^Sl>KZmiu0T>1#JHjb9`aa&!1Ly-R z$G9pqjNUZ5i*LsmcA~u%FpgEi<^$+|5O4_a%~2WHl=%_Bw*mixz7${x``-Z|2LWu# zz@`jr%D|?~pThYQfS+LhSpcxfM@MB~P}VT#!q|(kUkYf!KCmTFZY1V z)A_$b5jE=|zAN0C8~(?vOFNHJ$GGAI|2q1S9n@y_FKC|v{N((oPB00)vkPZWVBRM% z*IhVE^gjV@JKp;^o@4T6rnfu_7{3et_TSv;!d(~L4SqTS z+xP=k&wmW~nI;{`CGy|n+6bTl&;;lJECwLn5SHK`J*0IPB=Q6#@&u%D7bI~Pv+^I| z-WM?HU!r{*JpB&N<^l2ng&46LZ5di0+No%#0jjZI3z&iZ)p)j~-Q`3NT@^xa7?8kR z^Z3v4+;QpsJ)Vyo=f|XYKJG$p_`EbP#@(0WcmVAcXqTW}igp>=Rd`fj(b(ZzN}&1iJAJKMW*5`;d2^V;FOhUxXkEZS<{Fa{VQuYB^^xK zk@PTWNYcgcE!dsZb1`H{>gyWD<*^Q7aSOeut*c$s(mKdwKWil^97ZIzx@>Mw?ixqJNhV(uP4zL>kmk1yu#@#D!jocbo?aO#_k z!>R9L?jAp$jKisKG7hJ{$vB+)CgX7Gn~cM$Z!!+2zKgkg{CF}Br@qNJocbo?aO#_k z!>MmF4yV4!IGp+}=I-(1$vB+)CgX7GyO_Jjk1yu#@#BlQdz|AZ<8bN|sM2FH_K+!608pXXak$g+Swe|!RBJs;8NDZ7O;hEF}sP~%s$1ovQM*Z z>=t$_yN%t>_Od(Jo$OxrAbW^?jU8l%*|*pc_HEdOe_`KY-(~-bnxW(DDfUD5H2V?z zF?)vnjQxWB8+)F;fz^n&up03W`xASgon<53z)N|MPvz5im`8bxPv^CK2Cw7wyn#3J zCf>ql@iso2xAQr?gU{uid>&8oOL!Nb&%61hyoWE~y?i0>{Al^Nsuyd^5k1-^6d`TlqG=oqvw+;(PdBekb3@@8tNbB;h#%qq!d0H)kMe)z-{Vj4@AIelkNHpdPx*8FdHw?bC4ZU!ioe2t z&0ppJ&R^rd;cxIa`CI&V{B8bw{s%tH|H%Ku-{pTsHO(2G=A!}=M8PPS1hXIuHo+m} z3Hd^yP$U!!B|@p-5vB;0LPTf~nuJ+Gn=o5w7v=~ZLXWUO=oJd@w2xKDHl$C#dp`k4McWQ9tp9kuCRW-A3$@CnSQ!^rUW1`|em_#1yh zmxhh*)w5SJFUvVAN~@9iVTO&mOEHDg%+=V^eFQ~#7yg7^9MK-|CQx1BE$lOxnF)J2 zkesifqE2OxLoQz8cJAeV9s;k|fXkb}+a2KEReS^gG`~x53qKNG({0k-r2Dk)7TvA7 z2X(*DJ*Rt3_lCGx{Ji*#_zUs0IO@sqI6V2DGEapk=!tsjJ&m3gPrIkb)9YF4dC+sv zbI9{e&k;|`TUI8O75u#<9>7?>!G>V|82#Sp(b4aYerNR2QFZj&qu&~Rc=XWd!O@3C zzdZV-(R)Vsj(#fr*YqXn#*uG~d~M``kuQ(jH}a*C{Ui5|+%d9uWW&h%k?Tg*ja)mj z_RY0#u6gsSH&?%T<(tdj9C&l#o4s!?c(eP>*>ASJS@*{2H~#v@hi`oF#$Voe?~QH0 zJ@DJzWd{uzInfaFf5Ao)h+Bw>G>)1uB9em4-*`LW!`mUOatkmO5HV>+L8kJ*)8Se8C^8S7_@ zU|}w21MCX61gpBs*mBH=EX{VdgYAKpxrg1yzQn%FzQPW$`@y>p!RC;~Iizv%!>~L@ zV0*p|yYmPeWGV3Vqr&Ie^=u_u#jX;*z&^qDLl0gpJjiZfYw+yPz-}?NLBrZ=woz*{ zmBVWp*4EfpA*Wl|mF!yKYaEra!b9vDcB8PHt$-ce3cL4b_MULF@F`8#LhCXGPk5Xg zgu8{W3bzY;g+szOgk5YC)m;j=!ft*J)^jKOEZfDtz;?6GYu1y&itb}~v%A=DpbcDX zJ{*_V=iSdvuxC+)`v&_6*3*jf zo$Li(#P#eG81pvvdv=m-})8 z2-D{E^w0J!@`e@Nw5tm|N=tXYS7})kR>Wy^tJmkfssAInS$k9CO9fu9+w;;bKm%@?i?J;n8ym)l%W|jrJTHyC+~?_^x4`XH z_@e$>Frm4=TYR2d=HB94P9ve|(3ZwyAu`xN1}jZ~c5D|-00Z^4`?44>FM{a!03IgZZzE2 z3e30k^rxUdW?k8u;vSAh@m#66RuyR@#S`h+e#%iuuA_{v+6-~p6RIP}X6q79>CAV7Dp~w1? zQd_8s=3Sy9R_Yb=an+D_T2yk6tCDe-UNKgRiga9+^G@p(({V+z4C*DLJ%p1+JZVrb zn(ZMyb!VOLHsHXJOWh{RV75ud)h1cHIy-YUx^vEVd?P?X0K2?@{SlTYsIHc^; z|M{FyE5y#u#P;=(p9(c2n@4^kUJYCdq&0Nw^+%!Wiy_IWEXG2rPB+Yz5<=CG1pN;z z7F1(qs#zXZ%#oC2HiZV6l$RA!OL<5&GpkL>N+^<5(Iqe_|Mc2eb$*^h@|9KCr^oG0 zTst&ySujZ4v7tTQLGY-wR^C_}@5oL6!IWol*KBRSwxb5XzaoTm`u=&%F|Y63nbJZ* zfN>Ipgm6rJS$_z2$cO)w#6jhP7+1Rf4*u;S;g6-$n+&`4dk_I({hFn$ zG_I1EGCQJHCSoyF$R1XMbE>OTvjrfnWp;B`NSR)(=p$-iE>0V9I^S0f&YTxflRSih z+o#98c5fNBO+3z4)Qj%n$xNy_gsK`KLNf)h2$f*kSQmA|tQ6!kK+rc;xlY^ymD6 zk*De%&$&4 z34!G?HHkyQ%ViP8_L4f+GCU~FwHZSy%NvGFs}h>I7Nx=Sl2vVW4lAt@wE@jsi`oM= zh+Br0Fr5nI4Xgb;1i?PqWIwr<<%LX2ZlzLQspMMJ`NC;gDYvLD;WQ2hEx9gxXt02` zdS$+4uzG&EJ#@6G;N)j;TlQd#4(Ymi+7*LIYR;dg8~W&q6dpsG&L_!MTSA$aPzn+$ zoS}nQf<0=9&Fd?0W#pK*WanDSt7G$$^UwEbXGpx&xi+g!ZD~s+)Sd?HIo*kb61S?J zvP6QZ$y}@LF{ZNxrdGwvoeARijMT~8P@;3%%WI}L3GpU_#yurGBaJoFYvUCGUA`02 zNy3PKVwg%DcR1}bhosg_ujBzPEoq9zRBUo&nM5&Y4$8N0*}Nhaid=5ootG|)>}l=o`u3qMa;M421I9|ztfiOe zT6YBaQ??^#pLPCtg*(xgi){Il(Y=P-z(WyetR8q+kFeB2(p%lxAbWKR`XZzZMAW%B zlp|_28pvBQn!1SUKvMy}x-tTVuU3Iksw`?8Jd*|X$+D>J*j<3$1r~J?c9YIwbtQ3B z6-XdEK!Pl*S_o38ixyaIL;B*m-8$f(sRIkGwp4p^Q39v*)wtMNg^P==DP2|^eM+4z zRcHueuPUmCj6!Gw8Wo@^bzL6&MLv6|@>zA{aH-|Q52^tTIz23hph)SQ_e^y{8k%dhPDOJ7%?#p|mHB-{ng zW9MG^5nr)s_onoZJ{@1fm-U@XF79yl&FM;Owx@XX1w#n7XBj+ESnkV-hQaLN)FsdX zseEimKc@1HWNz~1tk6)?jLR>{38_t{;lV3sG(j8qvWJI?uhu$2U#?seQTR)0z%i@@ zEb3LDo5wjkX!Tr$OS94Gv8Z8agU)Jop**a1JBHP3am`f$t8K8@=Uxs%Djut9%m)p# zt)QV}CMXxS4n=G0n`Yyz+Rf41v4AA7DF}jd79irzunzibXD*~GuJpkg)+dy!ttpQ# zN+*kLDZLxFB$Rw>YIbM0#sdt-2!vfutf6~xUATVx=FRtQKan1k1O0bz+rq0$ z=Z9k1)eE@gyIkx~G@am!cCH=hhXnVU*ENJ5c-q??>)z)3{io8yoFDFOPHc$Q1zPJ% z-5oXI*z)D`+P2QTLT($dbk+CQgxcQff9TNO^oxBvjIKnla9ejr9NrJs8`HuuT~xF6 zj*O+}icK@~cFjV5+_dxbKQ`QWW`CNAJN0RJnkD$a)0^=ca)(nkM%-n~f-_U5J>5SY zu2mdp&FDxbA%tGHrlcs!XqQEr}LiMcw$+N}i%{V}(*EbX@W z_aY5>5AWTv>BO==QFhgAyyrKcJe0mOy*GVm3*0@<4+$IfVd&3xMA1rHLLL0KY2#j&4vq>bBf=PAdV><>(uNfjzbOG5wv%xs$reDb0@SOZAc^k44v{2Yk zQgB+a9@pb&P#2WQaVR=@yXIGjbU3J|tx{qcw3S$KXs4}y(4if;XnVBDadN$OgInt? z(zeC4)t)+)9+1MrCO9AZL<$#>=TVeU+zACc_5^Fm7TrZby=1l7i%Z4>3bec>S0_4L zI5+j8l z(wl@Bk0AFHV<`h!iX4hk3L=W>r6EfW%Mrnw;7^MQEUD8Icjg$dtGAHJ#dw8yhQl&! z2we$&d#s^%t-mImXuCGqI&1H3VXK^%zE6&|eQ8y3YfZ=XOWN0@-@4A{BAGqP*XW!= z0NJogrsPD1^jU1W7#eH1lB-2a#vEoqXQojt<1&mmguHdU(pz@aDY-rT*&6OPMbeQO ze6RU(cYe@zMF8*k5CKI9bIgWkb3PI~zrzuGT?om>A~Q8ddr5rU4q#FrUf&UK-!LcM zeskOP9WlU|&JpyRpmPctv%&w+$Okt=Hb9xk;t?s&C>wK3lAPy0+b(2FMvy2=l+&&v zr=iQ_HRr=&a~6d@`if|gaz&$vgrdOS9(_UY()R)<9%S%RIYbp3{3~}v)sr>OXxUuz zFnQYrAdb;IOj=egfcL8CK_WN#xXhR#ku7fXl8O)vf>*RVV8v?VwKmQBf&2?^Z@c<2 z9zO8%n^&dM&!q2pap}D7y91#|U{tpF+m7+(UHs&JE*<*muC(j!^eN7H@3LzLRtOJl z>|H!(`oPFok`$hYSgLPEc5*FC1!=?rB8|doB`c!J0tO9PpEedTL zIIgS`9vyjg=|=DFQ1)wkmd1*`jg}Mpiwgod>5|BjSc2CXyZ832|6+?+6HMerbT`xo zT}6^X3@Tn;VXHo8+$@ITqzE%M=CRQi#8aTnrC2*iwPT*j{Fs`^8dee(rItdYPPkUJ zous>JDJU(EsCgh=ZbS_c>3Skc;3d@#pV+REZpiCoHDV}L;3X4P;Km(ZBm_XqO8f9& zYo!?;Rs+%l4H2~!uGIn}GAxB!PR7A&RSj^36titGHm+Wms;CNVp?7c_sbA% zXr=z#Jb2aS5^taqM^#a$7RBh|wHY56ag4K?_Rsr0n$f5&&p1K&Jl#+Y{~2C1RspLK z<75yE?t%4w%%6NnR6<_X8?%!P>h`G$c+^E^M?AC{83QIcfoxgqkvYvxK>q_t=Ev}eR zc6A4qyw*E&@jH(z2Z#Q6TfjRrSyQ^Y!DVT>dDqImzWUC9CWo&;W+c$%60B>c<`Ms8 zgAm#C2(8&Vpw%8x-QdU>5zQ42&Y%;)>I{XNh%{Xhr5-*m99t<+541BlwiFR(oL=zm zP>qw#1+Avl(7n?lxVOfldO?zz=HbDPnO@vvu@55|rgqqe)%iFPsE0rzR-I-Yw7c?V z0QX9bO)av)5$>?S;FmYGYX;w*jq5sKOsq3x z@qUJaQl10k`4|Dm=!bX|;?KNg6|XF*3&-1=1BZ|FmNwqooG_d6M5*`QPy0;+jeAdq zeX|M+a~$Cps3G_J{hdKAYPt9egD0 z>ui2%Q~k_VjU^)~K)@3x&AUT!cul1Cm-zx^fX-}UK@;s9vV!RIk04he{G zWo|^Ndr7Ua45w=9fXG) z@uN+Kll7VI21rz)5q+{6b)8mx$B({i_(3(7ax3w#qErU(Xjii?f3NPrT6#C!+q;T61DiPTvlydk3Ifdon z2I#IxRkX3GS<_qN8~%?@YFUb0*xOWT8HGU*JBOZubq(LGk1n~M#OXw+{`D}vK+EuPZ4qB-C+8iiog@8l(d&nR0Ee}OMfL1smL z57wu?%ThBnnbjj%5Yf`cg%PzL5?okMd{F2GchtfQG!3W1wbT<1qNfUOH2iF&o~3-G zo-L{q+|z{cbM}~}37z~|hBqoKO5nJfkWVW!jEZuf}h{ha4sRsnaV2h5t^OW zq3ptG^)pFin`|H{Q*~K5%^Z1jy3ndRn=TShM2ChkjcSmA<(lcu+zvvNaDqy}g!cIX;O5$+JE&<2PZYJlu zMMLlu+psbvlhG-Kj>{!emjz7E1jgf2V08QiP->-cKn5kV)ef{VwJt;mE5!-0D@B*K z3voH6%zR~(DyxlGmmnC-B$FxoG69dWj+^R2EBWRZx2;{=h)}!UKd0Yz; z^iJNgdR4UbXI*O!q!RJPvah(=*XtXQk5xrGHXS^=h2ppXaCA`L2jA;TmO|tlg3?kA zS;MMaTwOhAH^ianr<2K;8Br=!l`4kQe*DJ_+C z#7cIn>L=4}u%*oI@-f69X;8yfR*Sb_DPmPkx57`0vEweF^WJ;v&J(ncI?3E;34 z9&BkuwZeOCp=jbWvFCfY?0uwT=j*#4csaG|`u)d5+3a=2 zLp|P&yH5$`>>_70&{-lpv!Zv${lmN7>FWF9L)^RN<~2{w5;i^3bL7B^-Ftf0KC;?U zQj}Mc7c8yMuYW~&QO?V^7TSG9G3T~pUEMp$R}|P8;OQgq(GW+%X341C2k*~1BN7-bI5^fia-W+Y#}>=z3mBKV^xI@66g>j`?{~39t!r!;T6dZ z|FN@W4dm^IT`M0>J=2$decMOrcLs#cNc+&KM~XYFw9T&nJ3PtW4u`VxGQ!z<4*#&*0SN3arXWr5MKJ3UfhR>b}qnaz%BpHQ1xlG#`IXd!`t3b|k3S9*n zKGW<&gH>n53bO<8vyvU5Wj)0KYLjvW)$_+9eG2pQop`6W%!VupB}UTqdTU&^@M71Q zpC>lf>s?76JM(iaqh*{0i%DTt3b#$1x!M{%OyMVM--RCRWNeI zLTVAV^)bZ2!^pc&hvm4RrJ6|IXXu7gQz+$*$bHCdY0@Ll?uK7uag)KYV6j&-BXD6N z2sCPlW9l;;6R{{VX@C-he8cELd20l93^7W7|DpBkPJ?J4dmS%hG|KtatRc} z40tDs-6oeZ?MpjT#t!YnC6lR8|E5r6?v;vVAWCbqbwa6xB)PO*t1NBbi zI{sMK_GdTj{OVBh)gHfZah~kAMIT(>Hox1;=au%Xy2RVD@|tj0e>~U_9bcB#y<798 z{cCn^dFJzp&vixv4N;#^8s9y?eN&(Bg_5pi?H%^;+N7hS{<7)kj*YEYYdB4g4jY2V zS$Clx=^>T^RWVuMj~1%c7?yeGbXq*eBSW*YSsPMBww_KYC!|b`X$cd#ddPh_br8zA zvQ)E5GZ1{w$mC7t!vM{<&`PFS4*v#gmX+Ae0#28q?VpdeK*?f@)pxqd5S3d8<&r5= zX}8j*%!aI9-ea|Whh-I%crBF_+-1BRgv}n7u|@%4u2Pp-k3fWthz*%qEm$k0H9@%H zq6xt_>^#VkIc<uEx0<}k8>4-D_xB!4pE$AZ+?(s)-n&I~go*?9j&$qK9(r$kJwMl%=)KcvT7Tv2 zm4~|d2M_ZbZr!;n{inZnKKs`F{r#43`{vG9_zlZ?gd%6!5-teAfifnyJvI=0IDIDl z+};=834}vpp(8u6?(#3GpWCo-Wyr=)n8S;HKub^1k^Aryhiml*Vewi~6PB@gwROnx zP8F~uA4ZNh8z}nsfgc_QI7jwF7i$IU{vy1q4OVk)S9M zt76EQN5V8|0`k6`_IxLTCpC^@?O3&W!@-^oPnXFSNp3U>qADFY`V#-1Z{4F6uJ{VjK>7afq>I17# zDgHH<@{nXu&aJFEl|#aj1%yk9>gu6rl_v)x5G4_4j3`rIQVU^13oVL`)Jq(Z6Wm){ z{;=9K7Bv-|+^XSU0{->K)dmMjbIOh@WtPFJvId|%N?RRM^$iH29@R@_RZ;BGA8^dn zDgiEAA>0wGTHpklvuwzalldk5@d_<{p=oq-`XvLcqSN9F$}1>q2cJZf3~$^Ep{SXT z%MCjlrmQUIA%8Mh(|Lv}8& zzOS=P8BSV)38VOJQ>hN@|NodtEIWg5k3C-3_Tm)1iE~uyGklSM*T4 zH4hC7Wu4s*zRBx{e!3&rRqDz0Z!zYT%D#Nb-MpnYII#aKO-nYmZ@#hZjUzQpCU>zp zW^7Myey!*JgEw~ZQ`@=eqvM3Z}SgGron3l8+gr)>eH1hg;aNj(~2f?S_M^=OvNG>(wnFb2~EyR zK{t4*=r}P?km7H>RD^bnak7YU?31txNt`T*V=UsK>@^(6^L!EL@x|(e_wIZBhG_F` z&!k^Wjg%z#NAB2HdE&vo>(jgUbe(5}zPle>y6HbZcw+NP;gwDNM{AJJ)M&5C(>nbI zb{T3fQ+?wzoH=oZ2>w!8Ib?yeV77<6Eqx?bUa*L_g;>Oklmu7$BUIp^RmK#a+%-{- zJo%XWOk}L)|HqY?tVErbm8dQ{t%R|LHPbTao#~+@RpLMNxFB1pvkX?$1+aisZ5fPI zlg6vkwo%&B*?Kyw-PuBSrf_^g6)F{p6t1LoswyZuTA|W=!jXzVRkXUUp0GalhZQQl zUtc865LIUtn3$9#`3)qqU~KSiCV(|$masCXbQvkv zX~Boa`=Dz^!UORc!FatGL6|5yeR0#Chwo_hY;WHYEiTFOl*TQ=uwcU4muxr3ZC!oy z?{LR(!DfzP-Dy0uHc5!JrXs|&_>A*G*j zoINbKkZuLXr;HZj2V)`lA<(wK0)7a99|CQ}4*_I|xw0^#_Fcpe`bwpuQqfz~+4-lH z3Ja1~rY%jrpYqCpUd z)dTq`LRCwI;h|_vH#yT$n7mm~J$;%wF3%ZOFN15Z2D^czPBKEN@=Ll%71!7lhA7Lb z+7Wk=r&jne4SZe!)4CYdCuAIB!e3xICGyBVRcmn&v3Mpe6YyzH9`D@oC%*Z$XSZEY z%=uAGFK_#3@s_R0t(#|V-0PMS(dz>V-e7EeXltVJa>*%%n+hYvJ^3c5?W$5?-?{Ds zhi>ZP?;XO&R8D1ruJ%iHh4mXYw5?mSCmq?k_TG--bqVu3Fm3P&1mG=wu*26gTCw11?A4_6n?=wqy%DWp#*>069ab-m2_Vb zfM13+EudJTGKHlPa)vd1R&w%QO`qxE7Zh9c#KD&qpT@2#6`wxZJ&~~&}b}G z9H+!B(&u`qxTMq*PtmRKLL-^K}?H&2fU4b6zeCC=h zsl>SNLTitq8X>zVjo@=^EfUgY4Vk2~U&OHlU5Ag?T1Jj(2cSKYnBrm3z6xJ-q~I-T z);gsx@sR$y;2Xl8aV3gEzK@YtDc00e3CKpo%|ES!q0SUFkS-$aKSAeEo{}OMV3aUb zW*9>nDWFOKwOi_a8v{Jp6AIKMB$xDJ&Eoxi#%N2$imLR>=!}a+E@SUqy~}QEGiFo= zd2LjD5=>;D?GuAWNAZO<*uBWl?$GAf!BUkpKW(j#Qm|T9EmcH1+9#n*QJdj~)qTxR zqcp#ol}%n*5ml9WG$jhDrbyR-nYcA&3W-M?0P<%h28J-`$T9PkL0RrymyCCGb~Z2g z(foI6_8U>;TT`3!EGPY>R6mJ9pTqkS7%YvR{f5`2m7KFo&%Rs_im z=epafmj>?HuE{I;SU~K=^HNTUrf?Ugj4)6^6LjBmnVuou3QyS z*Nl;G+-sj8o&DztNM$bTG-2z99QH%9279&bLT%ee+Z47JWKHQ!C<~!46Ktrsq_20O zCS9nQ2OsqHj~${fBW=Pe;1TPbSyrX{Vw3c7dE=CP%yeh4?gL(#0Utn-v{5{eVH`c& z31nw<2ohk=KpIUJ$ItE5EER$RlDg#1t~GZwN^#y$w05d-pDyU_D^3_&H@Ev%$o}Gn zwv{#EbkgnT$h&n5t^(%_sri~_G5vNTyrwk$eN>u}feUm8VsT^l9X-YAQwhz05f>8Q z;ULE|^0=_lWU#o=BUVs%#~9UL zms*sr<7!^%X~lK?Xyg0u|AxBtN)s+`KCV}%dVr}Z#}y;K6fv6MQXl`(huIqY=UE2x z^H5=#md9wSNF4CTVF$~&Pw|z5#JvS7&r24BH>#u2$V!@~+2v&>n72(|zkP~O{T&KCiu}1e;&>8eQ zvI{q#{XM!RF+hIg9SvtU#n9$THYraK^EXIm_d9sdnC~7l3YyQZ`8(bC!aX&I^k+>> zZGjIXjB#3Nj5sZo<(dlSaw}^X`tPHO;dQU4&h|*jqcWB-D7R7m7 zt;W)E~)^~ zxr2vH`A*P_6oi1^DttkD7r7P())4W1kA*Zup+4i`tA0w-PtzRwJmgpM;6Wm@Cux0ah{_F$zA%ox(k##TLxikI#D0_NKqYg5?Y(73n;mQJyKc?Y>B`hpsVRWcnE2UG~EowcuBs&kEFlaq$FAnSB^dXsVFRN`y zQU<@+3a!o54wPD{PArou-PXZqWjn1ct1Z(hS2r!Yek`S5$f**JI1BC{@|EBzxFxk? z-}_`@X}E>V?{JQl&^ep9Z7i2Zp`_grtBTde@wow_2;M&LzzaMCzB{z)h3^flbWX3` zUL#tvAtP|ah|ol>s%l&-J0Obn(`sjpw-i z?T(dq%`RPi>z(OvdTkpIL>p(|^AO7MK^~t0?{=Ve{Xa4qG{dhm>d07A6@*%X)j1C+ zqg7^?P?7cp7VkswI5!@mj2ONT;>zNPQuUHr1nDiZC@xAg$B<}_Vc`u;5dufhWNamO z3Y{&(Di?@61v%8qFY-H)ps{V^@{X%&-i`XDos&%%!c4DT}mRbbQ9#MH!U~ z&s25AAP1nR?NX507b2G*k&|u6Ra7>mir8Q-vB5>zteDrMtu~U!2}6qIu_}$?n)eAh zYfI-^mg{`-ga}KL1lG{(@|XziO!(KH&s*Qje>BU)AG*so_h9f6d{ks|78#;<-`w_z z4Ko|Nmb`phpvNC;HFfUjS+c9qP$TSDHhrbnXLInHYvwd{k7qE0iTC_v8%`wTytXfS z&qS_2h_qGw`}x%?+Csngw=Eg@*_gvBycHVg?&t}{+X^9S@W)b!neK zMoosCSJE&`lc_oQHm4Q=H?Z6wLxfzOSzUzW601@MBs-_uGochvNMM%uT(u=Ut#v)As( zl}+X>$$yQ64=hEW({SI0J0I%VdB?s`GjHGa>W&w8ZnPUsezS$&?~}d8uELd{3BIxs z-^Lepwf7A4C-)F#9XqmN;~E31 zfjP&o6-Xc8mjPzsR}50EBq7l7__{LXCe07zVqq&K(?Tzk%L$RFRm*=#Vb!V?i@DZ( z!mu@t#aydJtpGZ`SeXoxFqGh<5R|Z~)_kz7&d zs_5fja3?Kd*-=*o3}&jS@ZAS6PWeDYu4BpBjB@AInu9>G6kVMQ<-f79b^r7%K{#hI zxoRAb?4M_Hm)7hyxr@Y`k)IGHcR}3d>zoz0w|dgA3WwY3>rJbUtiC$3uP%71ZR z(w%BA6SlwT%@3IQ-eOBwPVaU(EFp1sG~Qln6wj`av}g(*0LSl|zF>F*`sOk=GWL~W z6_}Bdt4d=`m9XzlbZDMhzozHIr01*8r`GR0wVRwXQJDtifXY6h?6jgoB=G$E*K1B& ztwo6+S1*Mt*L58BVQ|VcB+3Va+IA{!DZ`{W_Q*4ldyi8S+_{+?^uoAK5JQ-VBpO9LvYw6l)j?@R6rZ_F4 zK}fZI>+nY}r2otZ5}Sp}Js*GqX#MFE}%tSrDFV3j@<6r;q zFGM<70qv$ASFKp}wH?R7U`_3G5D41~1Y$#0+w_`RjShUmekL1{Pit+me@23oPnmU) znG4FXOUS;EjL4*_?3|Y8FZ5F4T%r;XNQPJg?F8xIPas~|v8wYXEaJ}0X>I<3Fi_eN zER0JHYZ{|HRZ^tpYOk+kMDo?!EiSW3kPg^deYQG1KJ=y3T|E0-hwc$mwrIRw`62OnHx)?<}Ng3@>J9`mOEqWQY3$5 zcaV}lsdCaX5`7IHHVmt-0SarDN7NN#_-sE@q=~`+BxLb8K93%sd-^nW>lGLJlZchW zg@~0akE2p=@Df)NQqrYu=WE+;+A0Ht>AX#g*xx$$f0~61Hd>Mj;5!b4b+0b)Kt*NS+PUvrevCajWE0&CB#HsKpuB#NK3Nj5BWPpmiCP5+MOv=*1BvTbPv{WWzpjjJw z0A=cMVmx^VQ@yJ}+TLH!ch7i7lFUYTUQK>9Zfv`;qi1)QF=p}mXF2cY-N7q8^~Tmu zwAHUlNYQ$+@0y?|eSfxyrFLUZG$A)~gc`!bwcWvQG}QPv7amOy1XuWQ$EI1$x0qU> zcLFW^;YOiOHp@C7F^nozr}FN;`5w%f9e6p%_% z$eVA}^IxPJ#;znpbDjd8Uj?4~@ryyJMzZZQVb4R=nmpncGStg};2b-CV*&_X6j2wC zB@<4)|0hlALXfWDadocmv~tPu!OpptK(LauO=16n3@OP38w@7rc9JUNL&4D4?wDX) zHWTK;I;OeEGJwUkwTbieIp666i_@=GOo;0$e4s4xJf(f=crD6`<2Hy4az2{b=czj5 zp6&6T15zSh?4A7_|C9H!(uA~rjkkW4G2FOvVPxcwPLp&MElMEx7oF12V?B5F7^4Yy zX}RB)huS_-Siy}a1;Jd}D>vxdGm8;fBi|PiCWEawhWt%J@Xr{z+wF6t*T9nGJ8=sw zX9!t>EV@L#-66SzdqhL&*mq=4!l&v0-ouDQQqu_Ug@)mjgH)YJRTq^JCHEz*L@NRZ zDT_XMD}*alh`?86D0Ndr>!3N;8z9y1Am3kGtRVMXKoS|+eB39ZN}`tu3mqmk~qdpwyCLB$OlK zg9UAAZR|q@MF!jGQ21w2g>qC2=qzeZ`Ds*32s*IGprFfKJtSs6M-#QLw?zZW*>lIt$yfebL5wXbW(+a=xTuQRup4@OO(E*D%`_^G z8pkn>o-wsrJth2hULiz$r6z7d1&1m9k*I$m)cDa}M{cOmuptk>I&=;=>I9DRvDQmv zpHu~^tHzH@C?b|S2vg1oednlQYW(9t9fl!W2t&DqDPT<0FhxJ_!v}R@=4XB~n9{*J z=DvymImuY`A4NwG>ee`2zwo?MG+`2

b=0riv#TOF#y@@>

tXNuHwsF^8E3;Hr|TWSujbrcJc1B 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"?yq7_cFoPEHH<>|o)E(R*H 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 WHz8*c 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

2_ls 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 W6ugms??P8ZnwaNhwX+%qiT)4t#7t2D literal 0 HcmV?d00001 diff --git a/lean/theme/fonts/cmunbx.ttf b/lean/theme/fonts/cmunbx.ttf new file mode 100644 index 0000000000000000000000000000000000000000..9a42c0ef0f86b3fb61cd43bae7d7551d265a8b8c GIT binary patch literal 221904 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�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

O5D3@PFq1N&as8MMw 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

? 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 Vj|VRa*Uy*GZ&>|}Pc+1<>(B%94r6GDvM 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

t2L67%BoM^=o^7PL#=X1Xmk05hIhfc6q{<+T8y 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 z z3#}D6EDS-ck=D^mt4ORdoE#{E-7vW`m|3an<1n@xtnXzjH;hv*2C|M^OeLcDN(;$* zC8(z|mP$Ib&@@l<*>>Z%$XGVxhihP^=RX{Jnzb1i<0=?qz5;px5CUp;50K1f!Hq%! zUq~MWsAu zQHy$HjgfyOcV?-IPUe$&eM@MuhF0XVFo+*R#ItK}O5HC{!Oxx*ZgoPz9A3T>70m)(+!H(!6_ zL%#pfH)CR8rjN1cN2U@j(F*D2yLQ0l4y!H0ULpC{j|*-_VujkaZ~12 zlFilv0sjX^2i@1oW@6Lv2IpYM0rZd%7gRN+|%)glgN(@ub*5NG1iz z$k(Kwef$7;HN*705K-Fcla8o`(yt?0}KNqVxa^5%yhpa_`p{ z`EKIQ1~(_qOr7gX4zz_aN;>K*Pe1&8>f|RXk}wW7i z{BZA)G0%{i9+z^@?@~NIx5LF({e{zZdbgKhOwfM?yKsWrm#-%rN$5La1cXiVWETkP zM`Zb9=t`7^_BJ{S+0(q^E$F{P~@Qh=OM56<^p(e`2R+CJiw4bobe4bjKa-6dKd z%GZ4;S!XxUT1Y$7?is3};dgtCTdmi2u^ntL`!ln&X0R^HkhT{td=luZ4E_iS6V{57QfX%Y-D2QMScp-6YIdC=xqLs^iFMj$AZ!Qb* z#-LaaFso*BDA4)yvH`)PO69o|c2ruA$7jX}2pt&ZO>7#)jbX5?KEisOV8ga?+cEux zY#5SJZrCt4;hMVKRj^^TIBkrh7zBlFNqaM5VXe&=Kp{g`M_KSoc&9GdDl|QJ8IvOO z!EX{5TnK7itm_;huU?4&xY|f`!gey#C0tua!fe($^Wkkjj8_`s+;Z*b#svy*+g59K zRhLC%t}wX5DgHF;a3X{S+$x*uq{y{{R*WfI8M&qqxjHFwHND~NPum@-{H$0efyE`V zv#mdklO$~He@x=KHbCM8jG5Gn2OwzeN!^vinN`%8V6(pF4mYe>OGsyv-VXBJY+!AY zWmN}D5N8zIXdHniST)OsbEJL}IwU}mvvE;_p5Z!CJ#Hx}inx?AJ4O=J{%a;q7zt4d zOS!Xcku|QGix>g`xDsGej;he$IcLCZds!9vWUBM#!Q9E;5Prs<%N+tX;CiNFB-pfh zAmkQLR{Bqe`-WRomtFazcJIB#3GU_%el9;I%t&!A2bwI-6!*a1-9vFEX#FDEsFB~? zGJTNj9UCZA&IV3r>_MDqTwFDKvKaz|Jm@MIyC?+cR7~r+3WD?ZGCfI>x*h*W$)}S zU&Cd?Ih!S*+~#>mQa`Fl8A}YlH%ojNPBrYxZyI_{z85oItcYi9o7e^O2@DjC46Muz z*UT_ZdEd-t-r(fV-d0=&mIWA@VExbv>t!VMSWd6-yRcp39JqGcNcQ@H?}F`OqjS)efrOV9 zA|DFil}yME(K3Z#&=yP9w~-0!S~g*5fab2U@wOXa!g?Diwj&35;a&Fi5xgLQ=jV?Y7^0Ew>x zus|{sZoqcQLd7mw9o$^1Sdb&{?&&owp0PrjOJp_FmA~BGv+`noBi;aGs0&-kEMiKA zwjQ}Vbr<>%pA77+KrgK@^;N2!=6Ryk(TA@;+2I0!ue69t4|( zkxLF9!pl4$w1r{fVIY?-{kl0kE3G0g2R(w#%K)mh)-*!(W&?Vw`IC-(D zDUj$JobLOL)-ifnYJB{V*TxSiFIhuSn1@{c`P@@~jS*|%{`M`!Ue4irCDyxtxch(q z`aE22LQKLw-oZ^SPwUmorr`J0#q_lh*0pscmupucuK)l7s^6n<4GX&Wk!#oL}Lth11Jhqs9poe$enqqyU{LYvo)_LQ}crt$5riSi~_~k ziYr-9C$&3NvenDhDq0J(KK7-ZRw~={GjU9@lO42Td#zX@YAJvil0bvgI3^SfyD%lT za{T6*-4z~h)rzflNyb!M_O<`o8}f42NTEY_51T`P6hy{Z*T+(Kqma6cX$003{e{*n zU$c&eK{0R?Yd4}i-HqlnHf2}gfMhC4RD<^QHv*4W`ga1$5HEMT-Ds9!W|pq9T;M`D z(Tho)oJETE$&sk}uc8j&(K6LDWOkcR@wS(9fA`qLZ5!4G;yZvy{=yOM?J;?2x@gS zvBgVxp-kPC`>JcaEH|g+E)iCFFcMh8DvvBY{pDotfBe10aP!QPCCKsqK67Wl>JY0( ze)cu59OS%!1Ky~GPZZ9=hHf$ay(!a4HgrwGD1=A}Jq;7Ot}&CQLP%E{v4`ejP?=1v zi)6Nz_=YU2I;k{bAu(kW#1{vdX9u`C%Z`r6?fx^d1@7dFhJsZ2t+j|!q%)_ zvySXdDK#uuR#C)Y0m~Pduz&#M1(q4vS_WmV3kd{b$9`)B z5JmV}L?wfKfg0O$pa!O=ClU;w3mkrC?68l!I71lcz9|Yt2g6>p?94oKn&0baw*@Z` zk3Z)ZPuaR#%;&ve&<{#x)yt2%H$CTdbI)Aj=JqBRJa0#G3*p%X1N5BoJGfH^xQ8l6 zc4Nll{E)}%;kON+e0AKNE1BY2B`05ZA~byFBKpdRYt!?KJwh+=Y^~@}M7IdKP?1@{ z1d0d_GDQeJbt`NRYbQ2YLHVRL#`M)lnbxM0MR<)22Q|dh| zrDI|0#k1pQ)>Zd$o#q3B2WF0chI4S_OAEQ&A4d+6p8r+Pcf|h%rD01B{pwc`^2s z_#SEWhqfxI#Xx)2fM?!pd#zZmD6Fr+^F?DurYKm)%w!VbPS$Gj#@TZR&kkCd%J9fx zxAKJs(7@$`5vq}qh=(ZX2s&K((lP;$6z&^s$G&woePWGmu;qox;NbH%H7MC#{%h}O z@YIV>1v*!o%dHQZxibxk)sdm$_ZlO0ZL!q%DHi48xn9Pdm^R&MG7_k;LFI@M&^+Hp z_GKe`L{+Z$v?^nQA-X9tU5#X1x_XTrksPuHWLO9A*@Yx|#=nks4y_TmT%@tJTAN;O z#%F_-^5%MZ8y=KNP#g0CDk4C`6M!$`GWZW6l9b*w>NCg@m}o2@HJmH_G8z)+7~qa! z^6Gdl4$$JGU;Eas3!)%8IAjU{(&iq!cry3B`H{VEKlnVix`UTJUT)Lr|98Q0Vq|#w zjS#2u$8Os@;dgxXZ@Hhm&%McspMKGd`IX>D^ag^l%m3q3ubjz!;_Nry;!I!Q&3MjF zWu8#S@~Fphxk$7jF%Bf2GU(+($V0sV+~aew>s@389F&9%zy}UENZtY!cvhVZ0?BFX zW197;jk&!{^B_yjSVAF(p}@H!!~z`X^my0z8F{}Jp5@WdMkMhvPU|BhK%qi(wdRc3F3 z1;;lYw(vr9KHNR10JM1G5ZCwCB+56;~7~Rq3NtGvf(OXTfG)OTSF~9 z!Uk-ATCG8AR|M6zQpivOe!Hb^$%< zj~ihb@H_6%8H{NSM4W!nEJ{{jY$wjlBmyP5A1mqG>`{!M_R8m8%KbR%aD~sMRSx() zUrXQQ@zHot^;Q&onY-xs3#Y#k1q9qLUFaCxSQYu%e@`i1dzCl$N?S;t4=<$Mas?mg zH8(Yt*u?5x^9L}bi!d9xY2gLP@FCMbnlkI?*$?bM>J)sJMoMZe?P(Ipw%LO7TLH}I z+Jl_KR*9bX)`MhK0nxkVs(v$Kx0_WRGh_8M4uRgKJxs=-tmth|^YGq7bPK zcx-B-a{|vxDBccR#?=6qgr&&Cutp%~Bo-d@Q*O0($#SVptg3Eq!;p=gdAm)f2Gtod zM+q#@1e9SYaYP24rOBCc5NM7vM=JpQ%v+%si2nnbr{TS<_zwSNxiSA0PwJGnEiImT z=}ixR>h-aOm%`EApoO&BJh9Ngc@Oa2$S0WxHg<1*YP$2-P(%{%H@ns(x#y<4k8KW@ zh%j-HCbRT$YQvBE9X7P#`!Hu~{LgH|-7miW`pnU}Tp$$N6q482%9VS9{(Ay_o7#cV zw=17-_r%L1o;GBeBHU*VpYEF-s&HKYCpp2jD*RO6+4RA5x%+w!g!F6WC?A^&4Mhh! z2WZX>$6ZE0eGa<04bvks-6S9Vv{`^ug_7*Pgg$~us?-xkBt=O|J)dj*V($Hy4Mp3c zYC~6aYt2tJ8x+lI8`@$h+R_nA;1Izb9(^8k3xz;ilpPif43i88&o0r+pgI`UIL1Rmx3uxNFH;SL;j0_@FzoFSJ_eVE$&K@peQ9>zMyZx@0p9+oP!G+ za+M%9SS5y9Q!bmb`NeSP`4B3co+B~Gl=y9F?S^>aFkrK8j~o{q*Pr17qUbDlOA)gh zXI&nd7Y4_!zos8!fkvtSk83pD4WqVV#(&+ zyb~aJ&7$hyJtTBJbwyCl_sXdcs^~qKwQi*Fdajst#e-Z($rY^x$fXh_?y{w{W^lYB z-Yi9hs-(L|E>-AdkzFjo7dm2gu@e!Z9v7fw7ONga1EW@9%h>9pq;^hg#$H*)JfwP> z>(l}YB;=bfyNG%jAoZQ*S`ICbkk-R~cf{nKC;$v}hFx=E;b@cIV zsz-6EUbn+8DZJ$N@uTXl@hK(P-yI*#z4xbP{`^3HQ#jPw77y{aUT+D!yuRB}%2x)6 zSGU3ih_%%Lnd33DYxc6=<_LvaYu5=FnE+jR9=h^#=*k@C(_nZjbY&afWJg|CYQU-w zaD?JRdUnUI%{-E0jR}26{$1~n5x&8sZzGr%7(eEA!D&*xtDI!)cq^;Ikd9Qrc_OEh zFpjWOHWy8&K|D?+mnHon6I5i}1FQg#x(ghAw)rn5C-K1X@TsChXoC>ktu_wN79%O2 z4+~9G&24k-LQob4+dn7Ep47mliQye#@o-mgLW+di_Qw62bDi(Dh*Ipk(_HVUB$X4Y zJ=HfGM`1=R>kh^PA&>3d7Oog~ysMPhM%viaC-BEPip@fqSG@kJU-b`6eD2_kKL7?} z!Ayk}FuhM*e;1HN72F^m1@y?P~U>?W0hsFJyi z&ZIs}2|~$gXcTkb0A4L~{%W0qSP)`_s&Bw5d_)SEWPBP%@v#X_F<= zu@U8T;Hqk-k#LEGPyMA>t6y`(Z zugt?&q&d0wneH-W_Cm*KTEzkA6~A?<^4nrmetnHSl-}C`Pw{k2o4%@#qV_R5P430$ zdc6HX18phJZ^b+0!o-a{~&;(efnKYt-=_ctduG0&kppP( zM#sa47<~*y^00e&GxMSL`9u?U$v+6Pl0nfN4-1L$=79@B+%A;4Lcw*zHqjYL9PR{p zFIvQCOks3h^4f#zW@3@&uEeFVuxM)>@s;rsxW>!8)=2E+({ag$R+7&CedW2Q+9tb{ za(S04=_%k`Ck4 zFM>gORabR4)YuIahg$%O!-QbU6k~)oNVX7wctk~p1&-$oYet#b0dbhYkVA?V!nk=v z)duOf2Y;mp6Kvsv(o{Y-VqI{{Kq_X??QL=R>k_H1vAz39Hn!OGzTLPoV%1m0Nr>Ra z+w?6!*P{6pK(F2Gu2tw(YV8>qq+i6X8Ed!}GPc}yT2w|&9JZFVFz75d02nQNPKXV; zr-t%EnrO3x$P_XU2(dGPav@hni8Jqu5=$vLrIc_u1YVoEjiH{QL*=st-AyA;RP)7x zDto_rzVnoS&jacEfU^w^B$B(FU)YyRY{iaP3I>uFu2sy_rvugkEi;gsbFPqh40wG^iu;v zp`hA1bas}v3&8l6tG}P{Jse66`=d4ohxwUJ zkM0J)W3Uej&LCg$gnkrWr!(3P1!t!gJw>J{_}7n8kl1zfZoJRZM)*&hc27*RUDXi_ zW^BY0VX|RTI=DX=8gUS3#|P;b;}}u|n{PA{oyr^hAO7$=h6_8dYPVhi3DQrs$}3rK zbtNo(6DTQz^+ zAhZ2!0jls_HN4HaD*%Rl1?S}6OlU#f?N+XP?j>Eb?>u3`*ai62%brAO~4NGigMFWl=$G}(XHX2 z;`XxO*C*%Bxkb^ZzLaPi5FG(?qUdLD2W6YcSM`~b9vetW1ak?fCi${p@@L=nDiPjN zrk0ExdmOguXncOi8wRbIqqxqVvKD+RCA-wX-0aaXY}5O>>B4Uo95wCXPMR`(WSfB9 zaKbj#HfEfCBssGdouyq?-N7;H4tr^_8LSBavEz^i=>YWG0@=eJM z{v^pRk|13rH-UY4h{j!S8(o%M6zXN=rZJ29%UAM21KJVZD6XujU7PIgB?A~Dk{dm; z8gd$j3_JUnccX2$zEw>?xF=JHUfy=DqX>OGHA)c#weJ0h=-(nZ%{;u8+w(&cIP{=ks{OkA&32}YqFm*FkSuB z@{6sH!G~`D(a#Kfc(V#asJEB>6f@P4^2xeyCX-mfRu8ROyP8e5ufxe!wzknqcTUjN z4AvF0<|YbLR5dfWi$n}NW-CdVyRH4^i3(5Ux@7Bzr0myRU?$QD;I%fJM8oClg0H5w zW9ujhQNJzYT|dMO0)9a+ZZ z=qtiCz&ZLutg87Fb-Y_+C zrNFugKiLxs*qowbwwQlp_b}6*F#d{1C3Iq9_KP$WcmhS`e5~t01~K( z0M=zAoZ1NwYN}D&xiT536_al@f^6VOOfSX<@`F_NLIDN{Ufqeq3j2H6^%YJLF&f~S z5X#Vc`iF)ZU@|M%tXHDszSkVl(HKm^+5VIF&wMyKn-UP6?N||=O{v+*sU48XTWI}A zbcS;zdy|OHIKE)VI&d%R26D!8K7{%Y0EfT zd+4YF`~zzkd4wKX522$<$RK7PEqX)i`!>=JJqnBZ+Dx&dVt_h>3Cd=WdM;u6m$HzQ zpu}bj6GveObM+XQjp%(47Z9sR2UnLT6~R7^{TEImgce3lbV7_@RRW38#=dRgh2A^t zg1frJk#zeqV_RJ44)=r{Ae3)1yXqipMHX{1u@*htAc0%gIUxsa(-X5#wnP+fxl6Ue z!ika#J-tHP&auvkwEr33{7{Xw?_7YS^ZH02IleyVR*$Amhx{0}t&|l=6&ANc=xQ7G zxY`mvpxpXB@rOoILzBTb14!IfdO{T;G+su{6wJfEp^umB+bOQ!lo=;^n}L1Xl(%p2 z`UvQ6iFCleE#6)+P8pOyLcblfiTfKfx6_>SuGs$eXzCA2k>zZkAEq^h-ZQaa@~Kv%y*5bhCAA4biIgtJ%K( zUL4@+K01@Zy27jhq+3VKQyJU^(E_nSu(z*&b|2bdZ0;A$)qRuS=fs!0!D=NND_&{5I(`a0bCPrQZVr&DX5uzHrwGT>Y?BL#>zP zP06rPp8;dBL3M(1YY>(?fi;?}FmWK1Wymo8-WFNDnw>I3rlTGpbC3tR}4 z1c$NYz7b|Ap@XgHVinN|^$C|P=5fl;4ffg0il^_z1v%Zaesrk|s;iH>pulDtcQ*OT zgo1yPxZW_R=E0S~;J)TUNl^J>>HnwhZJ?VvuXN#aj$~PuW%)>!CCjob%d#wlkY!1> zh5Y}AFt#zq7~>dYj4_6o03kpqrG!$3P(lbHNy*P-m|P}hSbUjW9Z4Z+CQV2)X(yAF z=H}*x+^*hECO7TZVWyKNy=iWfg8DuCJ+dwSGU-gaX1=b~ua>vIucL&L zXikqY(CH!Kg332$%)RXJ>C+fEB?c>~(9JHmdij5J=cV2?s7nOid26)A#UChfuzb@~ z=$G0Hn>fJzJr@s=jJjYGU5v`mg>-DJ(=X-05*7wAHbx$8#nQORWwP8MlS{TP7irvF zG>?-dTmriX+Cw#dbck>~q1#&AZpt#ikc_m839UM#jh5*60&Re|n=MzqQ9r;RJfTt*tB3YFBmAxX z)+vEIj?uM5rGs&;jut|$wg^COv@5BQ*cQ$BBYrRJ>8(Gi>bw!_JXt=JI3-0_>jm^ zYhgZ+-NF%nD69tBgq_RF@v(v(E7`H1j&VGkVMjFR&W*%zhx`+&STHJ}UTsAya7Cp$ zM^o2OuQyN3aUnNKIvAmE{r)Wu%dElneT7@0d9xWxp%XX$14LN~_>G&CnoI^WIzi zDpzzIZpP~>d4>BO-@rdkGg24?mLX=bec$9OJgO9)7LKKU-D23@tt`Tr6ZBwiYG~Qq zszN$RuYjGvkmFh)ul!2XQZ4DINHA*aVkftL@NwUjBuJFysU&E!)CsNu!M#v4JSn{K zr@mB3KQpm}$q4mEcA+=2m#>#~otk+oQR1&;>Rw6J7m?&77ji=a6Sq;Jw2|awDT{!F zptKms)o2jzf{hwb1SJz>C!3L>W)n8ZBr7=8uqznNX$4VWp@vNjN@YL-^`(82@uRJB zgd-sTY!Q_)0j317Eu^%-P)YNE?!kT5Wzrh8K(gA{v7H?|*s+rx7ts;zBbE#)>%^>Y zl(i!$Jy3fR^)^~sJKDfw5}lJS{(Smc`Vy0=3fP#qZDAu>oqCF;f!432{ArmC0|Rb@ zuO@*YDWNg7X@2Z%McTe77*4-HE^4G3$HN9HoWf|3#LYG?0wJ$d`~3kvUld;lL$>Oq zFSNa7WbZx~@7vL%$~D;ap2%oz*PvrJKlaF1+y*e8E4?n{L2cGjyFsn|j;K>&hOOC9 zpcF)9k-Ff@Ij`40v14EAnQh(%p0l9+wt0NGb?qYG5I?y6@b{wK=2d3H(+}y4l>itK z_G{{QZ>xR*>{pm;=Z>Y(3J!PxM*x8a=b&5w6Ny%8ku3>`h*9bo2?7#QNktA_phb$G>%e&mB}7G9c^P`QEYO79Dq-!1QuH`-dJpLyEwJ`Fn<`+(; z9+cmw4m$P}a=+C;)1BhtAQZz!04k;uZv%USX`1o{ zct_YZ#ETcuIuyI`GOji-e(ODw&m*{ZyP;4KIksgSf@Aq;Iw;OHCp>_IBIQqh{vUg?4? zuOl~+*ClwbX?g9yX)WwnE$tAwT6ELJYGslpsz|TK-42rCr4ebM77NhFdd;GcW2qWj zCRwsUv6n+7(6nTu$tUB*-(0fUwkTVbRjz~6k@Mngqa?3IZKk|eVbk=50)OVnab7=Q zGg$KvrGAP=FneK{zNy6@UZEBb4fPH``QE3q@*iB@?>%>O4S0Qf?9J_4-QX^LIe=u5 z&RWo3=WQG?y0?thY`+5-whv|$V)9t0Ep-z1MVA_4`p}KZM{lQh-Lv}8kCkimCxh8s z04o=4q}Loo;Xm0^)ImzpGovKz6H}6vnMy*DCzOOVgR+i(td*Z-9sLlF1m`CzZlEET z&S}jMeS;#*+%Bw;A2>6q2(e~tDF#t^bZs5|h#feoBZ%vMl=x*Os+iB_ zKx3V`mN!%)3Mau{i(*DLO+$v!A}4{Ap1h6-B5$Btws|*DE$8r=7Q04UxV=f^8jCjc z)Hxz0HjRP5Z?tRcd86w_`c~p>zDnO7Su}D)9O*^UxIk;!>QEZ$8-_i;Zfm*K=-53H z-Md%dUwh&zHAGywi{rqju$v2TLtMO?teFBqWMz<%P!T%<_|13%1j973tXjIqYG(S3 z12JP6fHJD=G6%U?e)f#KEe7-w%msM>2EwP%Yc64rw?=g#9<2H(Hp<8tsu}Joa!odB zd9$jy!(z}@djD#k_bfbO#bmuU_0MW`L!-r@8#p&~)>C4&i)=gh9qzvg+qn3M5`QJeQ8H^IEoepb%r51_h}eU%hyBt{ z2{(_cFC{jA{m=gjq|mV+`jg+w;4^2S z*m^K<-F-NAxGHux`gZZirVB_kC33V+QY6lfxpb6VmFn1OaM_*)d$cm)rXPuUbi}`? zj@^r%-FsQLE_#6$b#~!qlpPn-F?Ix3P_RlgD8{UPl3S{=%lO-SsE;Kk(2GnGreuFbEa|?vA@2__P0t3o(a2 zp_t!uj!s7m@wTOFnf)M0H9$oFPC9L>$wQ6OMR~S;Wi*dek7r?1=B9>>lFT3TW$3hL zQ1?(g$|<9N306!76UufhlVy8jQJQ7Dh*-7*vn<=n;l3|o*^VleAd1Re& zlfkrYbzaM~t<(_%x9aU~yRECIuTAU9x3s^wgT<8GiQipP@5r(MPw;jAG#4L-6_#NI zXq(N2QCb|l5$E=;Y0mAWYl@wYY=F_qAlzmbLAZ_VqO>y`RQ7j~<=VLwmTM0z7ceG> z=hM;Xjaj%cJ2JUlP6KThiBMvOlY2LAfNAgvkd=XHkg&2u!M!XO`>jMl=M~O_y9_fV(&onODCeksUZNaX8E<1 zhocU2Z`)|M-O_%3JIiaOMi|%ceqO`H@1poaK+JJ_P$t2QFcQqTJ=jS#LX=;|v2`6E zAVD4v6UC4F@%X@j16jxfHGqu6F|UsUE@(lby(-l5MBuZsZb4Y8X>A9%cPaw|SaI&|YoIk-+S z6H0UlEWe1qLV;8Rff<77#24kVAtYD12tG^oMO}{g$~F9ul_#_v1I@8{w@WMLVw863VVVPP?{-S4MFSgao7 z1c1=8ntG^%k@4?<%N>2-NNZs%F8TyetCpwq$$j9lg_IKy!u}yhUWgyLjPM<4aa6h` zHwuFmcRTt5K<6ug#hsbQG=r}))&&7XKRS93`qiH)aVq7iks6!#(aV%Ni?!i)%LQp3 z%qJ!QVOF-s3#*uzPeIb#vuy6Z;=vd=C)_~dm6{mJ>>M5ZHJd8Ewva2|N ztxKP<8pnsP;Q-#7bSu?XZ-1>dC52nZJ)3xH#;mY)mQXXMhu>*^LMI4s{X~5O)?c1G zp2k89(Jr}_>|7Lf4zr>L=^WEP<7UdtE(0>Ozy@0v_G7HZpcyillZ)KZD)QDzm5wta zH3Vil5~HS{{PHom`nN z3xCaLw&rX?T`o$;oD^-vs`?S!>mfif1qE^}?W;?JYvqfxJ=TiWZ}2f>9ne=4Ns4eC(pjm}bY zDxP|`Z)pF-px5bNER6H~0sbHOLq)`ngLY?3AM+G-=`Oomd6qndN$dZ?NWFtE(ycLf zZ0aIdH}yz&IW#ujIs98QaDC*jwgY1@f&AYH)nTaSOB`=nm=J84wZm{sty)U62g$;e zQce)5sia0RT#A*{P!@1?X56(HMg^I4N}p46q9YG50!KHjMF4r$0K*UjzT<~z&yP)`*bIkD6bw>St$Foy}ndc!Hz zF(U7pW;GLwIkXeW2;_k6U?42m)c^~SrnZ54GygN2LEnzy0iIC3QWf&ujm>^bU6IPH zwTK{b6Z`f(>UAx%Y7104yL-tuO<=eAOTC(*0FL>b_70cL8*!`MPYi@wws&{9ZH~5< zJNIvxJUt?~H7>0KGw9XGlwA3155b$Xd1;CpqVk@lxEbp52u_zL+|?2pJad21wo~vL zY+f9z`G1w)!NvEG?ozz6IVi^~)#-S}+d%P3w_h4YyfRGiIc^w(K9ZFi_8?w~O`onHI(}1jX*#_>Sp~4 zCSM?9r>X@_*fp#;Ob~An2;GPdXIKehRREzHXyj?oL&)#*DR0Q?b>kptmJmnAMb)bXPvG;91W!T09&q~%-GjhBdtJ^ht=()7 zd0QN{N}=w&crB@y9RCc!ZY}1&Dsy_V_(y7mV`)vFJNC5i2BqIuf$hfnp$NJF`*<3Y%Z(fud zDdGWxK!_rq$j8|%;-Mk;3ob||%rr0~B42=}uLZz{&hk+w^5|p2$BtEW%u4vLdICJz zi9m?Lp&%XOIA(}*0E0UgFk~pGrGZ3g)tbx;8XEI-zN$bllqtJ_htfSiZqmKXTTEDM zi26%~7EZ|plvKRLO%c761Jz(P#d7Ej!9`mc`InIr%vXgzj#*p+Ve-;N7}<%=L_0Sp zwGq3(K;6E{!yi&bmF9rCO!Kyw?|XHMq8m(v_1L<;V%Kf6$wW5SMmLsar)-FBYB8?f zr~wkeqV-&kx0h`>)*1FS(Lg;Te|Wv0e{(96zvj5JKZ8d)9n0+JwP`HE?vS*EChLvg zzJn&~Q7@Tn5YaJ)DF$&n13?k1VdeB{vVgbFS-`LRuiKYRLkehLmbQDd?1g0aHh{el zb`LP84FEE2Ua7{uIkxz;>YTI$xI2j>_(~-~GndhPR4K>vWp{09SImgpwE{2 zKw~S(^Rybf1|q2g4vnTz{h-CL&|xxbud-MV^rnftZn$l`nu8D{vCTTA%H{vxu>?u2ON z*+Yb{+idP7@bG2=4}ZlU+m;3oZ=;B;5XklTHU=Kv24tPICvA{s(R1jf0YJD7=()xV z#Bynw0PHtW%#Kz%#@aw8*w%=P&Ft91j;(Z*SuyGPN%s5{9pmdKG9km0EUk?gO9l?( zd*nbtSl$weH9-({me#h(DPV^iL5?)BKGW8aNPgjMW{e8AK`OKEph$gDFT`>b_&Ys3 zwsfZ%pSCg7FyYc=)Ns17i*2MR7|%ovUk9oqZU7Jh6R0jNaPX{DwWLO8^!`u)Crjq_ z;9;U8-+xr&D7*?g3?$u%)}L!BkOx69x2drf1r54F1Lm))m3hK%wfvw399;z(&lBC# zgQ5B|ht_Jb?NI|zamr$_G&wCdfD`A67^ysmCkBk}Jq%UUS!Y3Xgq0ICszS9>=ht2~ z_zKxwta0k^*B!x`02=uFU2Sm>goGi4Felo-eE&6xD9kVjoEG=w!VAc)FHcJ^41e4^X+BP34r_v zTpaODGzl834e&ni=KhYcsPjQbB+yq5-hx86!>kHl`FS)n!234^7CQLimj^wbEiVjr zH}EdMYu{q9V(=RW20^kLY5f z7bI%|Ek4Ck6Y@9uMGOa#d`314ZCp%@jjw@BtfgZd=NWRa7FH@RPiHMz;Ok#Lx@LTA z?NvsK|Dv0+;|!rH9~Wvj(V~0w&nQa$D~4ux+Q@=rvvf`+>ppd$fe_OX!T{{D9D|jZyu$NmuZxMI(sy z>MLV*n?tcrS)lwx>kHQ?1+Q{%d-sG&B~N};8S*Rg1G+|~;(5Q)E$EeMr`dB^HLZF< z@s!tWbqS@NzkSZ;TutgB;!+W`tIUh0dzo)65&INxk5yYIw7>ncK!frfF>1IR zXi~X7%3Msk5vU=R$keA3^Lq;f9L?WR$D5oYC;Rz&| z)(~6vzJK`jP9}XLtJJV|I<$RB#){8kCP<(CqsQr%k};AmyC9V#yXm+9YPiJG-enNK zK03xmL`*bWg^#z;5p&H}Wk};KkvN_uAKFLWQ)e_e%9jnT8tGlyH+;)gf=S*}C(hiz z{x-8(J(K}K+gOD@9%%$N4J6fuWMz0^Gb1Sv=)q;kNx5qvzkw*SVJr)VESdrpBagR= zEL=wVgUwtF*A>7_0k?;o78BXDEK+4vHeeLz$ypHOInz_m8VQTcOqBt2Srpm172s-N zn}Z#c3#kw3YQj4l%0~xWW}_D=vxhBipGT=w9C3L)0|k&vz0=cmtjMa-WoxQ@J-LvO zNPWw&zt50r^BL7@n`V!Cv&Mb0C(^a2vjts-4MNM235~FR;lb3U)c+k3MqTJYE>vH6 z_k=Ax+T;<{x_b?l{qE?}W^}$4ZKA=w+J&-f5yetNNvX2{V^+OfWbRwbkPo2(U; z^G8@_!b_Qntcav;$4?X1zYfD;2<3v1USTvBvR3&Sqr+021YJaPy#rZCGD&G7JM05^ zM=phBavxw?K;%;29$$3YFPyTMtMk-Y$zj3M8un=RcQ+l)4XM?udsJFw%4e>%m*tB} zr>9&HjAoU8!0#T_@Ne?xd?VP&33v34p0;bSc&LjX6l(L94JscG3&>9>b2YzJ`->DM zP83tL8m-{0(RDxC?->i#mpTeHwo+BTPNcCcf&sI#o!xe2fvT%#q7Rijxo)lCo&y%L z1$FBROuO&lUgu;|J6nj5=P@xDpI1)nIj<1WH;~gZCK8PUEm-OnHvG1Q09>6|>Ry%< zbph(-5~VPz%Z+mM)5!V@l2Lipf%9S>ujr!#vj6gmlq}G~faC&#l&keFpv46FOZtpy zcNjec=w_1I5p!Io4a-OgszP7~27MI(Dw+jQurE{O@f`0xx2slc537&rYI~d1c?NrasXjc` zuvXl4VEf^t!Is`Lx^dOgR`em+qc5`}?4R3Fg#G@#lZSZsd;GyY{k1yVmA50+gZ%$- z=#0wN3FnTkuH*c(zRo+&HSq@xIbB~lINp`|sp7?}%d4D{>EdhIPNs{?!HM*b|GGAU zadtKK^GeLA#L|qB7J`l>*{kCU5NGx>gk*A>`Mf8-wk272!Q z6bC4oPPS)tFr942gyT29lvcL-X$DC>mOP3jhX5cJ$k4_ndFh)(36R<35_#z{!T8^< zjj<+uyeyy~XWC&%Wa(^Gw6aU|iR>JM8K<1|ht56xDiGHNWehZpsVd!rPg;>| zs@8;J!q|=h3g0SsVqY+Z`weSwf5#ZbdON@z&E|#FT$HL2uvLrFd_-|R>^*&=RD@F_ z3QR`UY-lV%N@Q<(G0h)+O*XBo#n>+NOqWteP{P^BI)CVxm8fJN8t6zko;9m?!PD-f zW4xlVJj2C00g$#eWBPb-39d&ZEs;d{Vm7_zfF);qIBA_{xjNoKX5PKW86I>wDug|{KwgPIp!ge5(5Z@T zy1jpPe?x)6I^8R?nE)FHG^~gPMrVtgG}mTa|4fvT>$%*_0JF*^03?WsE0U;Jlz%+@!I=64?{-4{NWw~H! z)SH&hAf_>y$xo5NWOP6%_$h>?cMBpIF*4vg2Uv)7p zTls)KBoy|VW->2p^@(zKfYC9UFggbGZ=7U9v+Fb5d|yqt4Ub4G(3mRa!=U43IiO}7Zuk-@!#1K#e))GNI262HUmaySb7qFvPbxA5bA&c&Nemc6|@?q0TD zFlcfMwAS0!KQwI+Ek38$R+9g0ZSNh&c9=_wa*H+5mkgo(`-W3zeyq$Z@%093yOQuH z0_!{c6=L}nn79Xan*m4&V>lJSaLRC4ZHp1!=?S|45Cf5*=IO~o<(Ubd)i|JsykLG& z+)d#BRyXyEP5Gr!gn*+{^xWtWuB?O8!T7zwi^*H$xDULXwGb!lIx*Wy^5V1#rVG=u zEjTTN=_&-PAriYrv;nLyw19kMt-MWG>rbwiTcp8Gmv&Eg$rcUt_n3&(gqlL-1u*I) z)Y+JPl@)8kxVpgI)tX8sW6#i;yOGY*q7^_-2+HJAl@}s2It8<} zRv%xqcp3S$^#-W~tpsQ-qgHyLVe+UPRK*MzOb?Q##HY$ER~R6PS4j-nT@=L@~BO2#k=kRhSX`@V`Iaw`5eWXy??%Y zLz$+2I{+;<-q1Jx#7Vx`_4cQ)Z8ch~&#Q7ol|yy8B`o~NZrIT~_Cy(R2r^u)OBB16 zo>~VhM+*X>kK`MQSO7~JSd=@;z|l)xXwXC;d0jf)nR&n&rAZ6 z0BOb7DQ>toc$HuL%-HRMXz%dtIN$Fyb~ig$B{~c_+QJR*>^}PF3toHRwt?a5XoIeD zc*#Jm-2i~*f1$m>-`qEOnD4*LH%)eH%#lF2z;}2gw0ebZa>#5^8#izHAN&$QWApWg zYP(dfwtIzbvm1k!?*MlxaF>4fcGg++1y-W-oJuClnLlxJjyEZUKokz+rPhviH^o$YA0nF*+V+-gFBps|#kFYuP60F8ctjArAe#fM$ps3W%!dQ33+}|G0FQ9D; zC5xH`jE`k3;)pifl=ER5Oo$Wy@EISXQ=FSlJiiHK|0CUlkB0zuF^Z9ACl16?54|(8 zrMIbh_s;@Tr_PR^AHR2zeIhtCy<^zQYcV=?bo*0B-%V}Z(ciiJ*RKnf2Fzfhy}>WA z=9jS-baO$l(RXvta&ZuWA}qwZm(aQ+gm`8ASNWy$%E*`4aIi$`WU+sD8P_Wfq#YcAnqgSVXSl9 z^}>_UX?oRe?iVF`O`GDc(HELL`FQH3e$isRRb$o~>tFpJKj8~LO6_@b;9K{v_{;jS z(NK&Z7`%MW&A&E9E>~E!W1KF6EFvb6Wo5 zxoo@!Q^qV;2>}Bkim{MC)`Iy)SRW$bMT!k_X_w^^g(AfK$!huaV+TM|Y5}LantUgx zhVP`l|2kTuMtNnZA#y%yHBw1AmO))j%K)1gv(N~8PI8swf`!8^(&Sjt^^%N?B~@C= zOd=bsl8%MQ_|ft(eBf0pFel$lr=nuMRwMj~SH;exJ~}p>A>SX*Y?k>g^!o8BG%NCh zTdkrpCvyJj)Q73}UfMn|Bk_ut`~x)=*dDtBee|;yc}cks%*lO+dzE{O18YCk9sd8) znseh9_@BNx=i%A4+ctCdpSL^biHvj#rB)y_a&JxtdUJMj2lQs2S4a$;WzQe#f?F8Ly+lx1|}97>15|JgcnVs{Wnw6tgyqAmX| zdk@g&tKlwu_|M*wb7MXH<8|dcG@EOh%{u)t8gssKZE6a#|32b{XtsmvLT~ptcS-Kj zr=H-rmbK_>mDu_%q`(0wf^u9gUr3&%9GkpkQ9*Ped{hy9)PO%W7Ls});lq&dbxgu@ z5ILw=qlBM)4)%HTMFI*Ym&rm5+95k`G$4*x9ZYmI*b!~yWB3q8uy^1`gP2??Ke*D* z2y*B9;gEckL43AATQaXOR2QX)VwoXnSXkal^g&VwktvMPY@*mOoLK=7&BP&6q?cM~ z5JR~kZm(-d#}^dD%SdH}pNKNBQ^Rl^?7d8(U>c^JmCqyY0F4w01eFTpTo149a3 z+qom#&W{xct}_!)r{4KfRn4^vuHX(K4hbR-S;%#A{oD^_oG1mqaW6$7rHF!a6m?!K zD@w-6LOnahR*mA0zL3<274E_cFVD1LfQ`;ZfT9GVB`E|x866v-fu0bEju@*V1gW*~ zQp}3EQ@CrbA~CYg!(D4Si0omjEe+uN5majvx%xtyv>I#C$3>IOhe0iT5~o9SQb?P* z0tzlm_3;Xjamz8cyhaT3i+u;%e4`&B9YrDx&sH(?!R%vZBMpbU**YF-ciZNLBA(>& zC*GR$hBozY^NRyb{SSM@T#Zd7y!PmxvwOD3`P8N4{wMhLvkSL%#tXjM+2*p@JA`8| z?l_M1j;w04)`kY#Y#OynBdEitHw{F0SF|79^U_z9>(WbAnRZWv7kLr7*^9jKVv6Fa znvW0}a|5A_Nr#$Sj81h&4c=m_1KkK%wM8|wYRXH=W+OYLU9_>89x!5*1CNb$%y&_$ z$iI|ORrruj;TRwtEY#_q6T$%)@bcSrm*VXP`d&L~ccihB4|)|>YK(ZvF(xE zP?FDMqn+L_PQLZ}*nrpR>lWe<^!;<&D@KFHQfmis>fZ08FFR}&OMWVN06ffwSH|Wpj6<2s_>f7b_1vYMaUzko|C<0LhCTXIt zN~(k`R|m{9(X^MRoC8o%a-z`;z9IsP5?d_llwfj^ zc{*1mcm~!_X0RSohWREp7_^CrG8Gh548k7l-8pGC*x$h-_6r}ohKk&|W&&O|PB*t~Y*4#H+VP+v^=r+bB|<&=En8YTkE!i? zL9m&%oh^pkUtfMjt;y5&V`jNG4+W#b*}3Hkl}~8(`L4X^wV89Xl}4?{+)|+UiPK=$ z$UJ5i;10xHm(ObEYsM5CU8NqC)+R$SLC)`7^4qsu`EIp=MrJ5gn8#?gyA|(T?$BuT z#d#h@p2Y|#Chnx1R+pTgQT`xn2UwRnfsvCzmzbPEomVzg#e8IvwAj+dn_vP7SCUlL z`kG+$lyF}dLj;FX3yZ}xvHGH<0en&;4|K{#yKsnct%nF445j3xS_B8JIoTS6+3Kk9 zRzoEzWknDG*c~hd(cZJ}T>30S5z~1;@*^^fJtNVj^nd0uo%0_U>KwZ7n}Y|7)Hw&l zsHJqj8=wH4MO)x4imcl2+4R8VV~_cFcVIpof8HnLd;M2F_6P&UZ$3I2^`&-gJHzj9 zFt`NOIByqiDb0zR0siBFL8H6hzlp!+2*3T%H2;@@@aJxYh2EQj^7m_B#n4Kboqk3s2 z_^@Ip42kN#6_jU^NooG06gC}RK)*99(f4E2rC+4kG(`a$<7AsG#;97N`!cyy7Gq*2 zU5r{yT<@h6?H|Dc+<4u8FMDuiW}T1+Ltcw=VgClpARN1XA(XryJb``44d-!oWWdAR zy&QP{U`c5*EDf=cieYIz{#b2Da^ija@xB+bm_~=~m`;?+@GdLmH(M!6X1va9q=|#s zW(1Q9Ln{f7nYQ(hh|plsV`!IA*RH8FQ(X?%SOQC^x$kkkOCgQhUfv) znO!cORZK@cNdF2qi_v-iC;ZVjUgI^tN$q|8t<>kwoj$rdHQv85e&As0%HUWZFD*qX z7w<8^Q(P{mb3gbw|1xh$z4z%yC>4CdyU#uM)AMJJ@LP_&^7_l)dNTEx@&qMtSt3^k z->}^J`;g;F?45Es8_VJz{?H2`SF&g)?Do@6*@5@x!~3ga?@x>2u0Z&g;{8>~ z?+KwcIK?qn9z@EQ()n8g#bE=6H}}Dk$ETd@ybx0|aUwu_VQbsJuw?8I1%( zv84m$t6v(t6u@dX7RmSd=!HXPQh)vO!L#>|v~?f%``QP)TMjSuFFrRTb^O*oPw#X*Kkd^qu!X&U#UI%Hyou zd~V;2lmQjWq--9#rA>}pWu7-_%I2z+-ejqTeJafcLn_?2H&f_bBxdGI5|JsoAWw;0 zrI9E$I5rfQZ3fX`AQ_ACUP@^=afuW1Hcu~QBddKwvEmA-8Uv@z+&RV8EVSl$->3YM z*Wcomze(+R?d{a%=g%H^j$bi&X2+&CUmkSUJ#yEkH`fi1+RohjLMp-k>=*otd|~R{ z4`m7RoO$IPeit8U=Qp{Z{;*}rb$CUiCto%4 zjb=3l)oz=73Nn!;%LKDMBolSODt`a>l#3YJWLiT~6*Q|Jnk93UrY#d*O)?;B7O(_q zkx4XVyI`5Z@^z3c$PhP%b@xJ&lDYb#l2VEv0RP73AZ(D7;I{y5O>%Nq$z~(+fT&D;N%;hkN-P?ZYOo@$SP^+jb6QvfSdp1G z&(IyQCfU|?$nK#VLL6X1oL@phEO}w>Bn93(8N62X(q@Qt%moEUO&JNiSlPc_v~Ok& ze=m{myn%uIGFl**uQ!#5jXp(==Y8yzTY#=!MSVd{D;TIYd}u#FXcFx*x%y0w72DQ z71-OlDGgf!mtZpZ+;9md#1s*KY!Ujxu$V1aOyu$A+IXs=XLa)O)ydGQ`6&Nd7!SOK zpi`Ws0^(p1V~tb;FgnGI;TYGa)WR=re<5=C`jcE`v#Rw#4r=4qtk)t%%lS%h)KaN1Ypq8R&g zHgZX7rW`YwBYq5EWM5mo$$ERsH^-XPsUM53_F9Z$yrq^H8QnTnceCbK{A0D@dXK7l zd9`zSuGdvR>M=M{hwKhro4qU0+cD%F-7I*#Lc13UAncTs#cBj@{fgA$87GBJOeS_2lPTyt2J_ETW#2Ut82v7WHIehou>o_{s(Lh zxVugu_tObHJE~B1WCbbPy_ohTOOYm2l3q09N;6CJGHuW-NRp zrqn~rsso0Md=sLuxqK6{i2`f;pV2KO7x4gPq~!K7q=V%QuyZaycrI{YpmX^Cfw}|Z z2K|093eJdUMeBIi;p5}`+FTB2e!%VCKKY%1#x%8K^07z!O}7M;8Vx_?6?8~Jec}-! zfp0!M*5ys@-a6L(sJ%tt#(A4n3=M;WwO7e*h1hwP&hGl{5!C$dxu zv(pBgks?Fq#<|OYt&H_jT`*{bs& zM5#xv&pjXq1pVHK91v9&4^WVIYK~*Gfg&R;Ydh|Gb{t zLGchno`0c-=3_fE%!9P+4`2c~NtJ7ESn3UE`t>hAk)3*w zIrS2dW5B5g;nah0>ah|rQCvckX{>al>os&ej^muOkLe?E+^1&rVl=0a=MUCcOPKS= zfxqs`7exWI>CFb98;<2hVZc>or{60K2v?-*QzT2|Gs1NQRAHZ(4H&xrp0R@lRqhvt z1`~UyA9{QyG?;MlN|TsxwKu2U(rNX4r0!pw0SA516r_!TJGE}}WBk#8&iAi{3%Bmu zhKyFjA%qM3PeuDXT6L+#)?w)0Zh!1xNZJlJu@7$IZhve;nj~lg?Ti^o&;~{lv>`oV z6hTCCryO1E6s51?)7NF6a9Ea~=2-$Ebj#6%Q4k1W!YG>JEUSqSsF)qCbiDC|Q9L9=?vF?oS?kEQK1KQm_1?nS57~ z2k~#rdb8QOiaek6dP1RV=JL5!f+@!%cIs|6mG3GJA%639evZ|@4xnz(!7bxf^NN{? zLMXO?P8cIfLegT0^a_adDBJwEB9qf9&t)Ql zp&53eFxZ8{GwebvV{XOPr`x&!flsF_V3a1j|f zot{`_BZg#7K~Z%LuCO}0+*OAzOnFx$dp%Zmr(87E+^Ncr+yXu#2F5;!?Rb>L?Q^pv z!#Nr%TGPJDyFZGdqD|%oi{nhl*XdRR>JkXw+BKnd=*A{LiTJGx95$U^Q)J_hl3Xkg zW`g}OOf<4?s0CyF{?swiSFZhZly_j1-=AQV-=PyK?3fz%90tXYC48`<>A!ehc1E0m zMZt(*6Yk5*@Da2a7@~ct9a*P=;aWskJBHyRF45}XTsxgTvz-pj7(9r8V$BzC&<01v z%&Ys|R3iEv}`J$)-Jg z=DA1?98$G1P^-g0VCtLQ=XR>5>-H@cR7yj3NxnyOS=pqu6=+RBTn_DdEa=osdk=QO zukhR(sd2>?)L}Zf<6OLrG7QA+wE!n9>l!bh6axmO^Hg+3iY-mWrNUcp!Hm4TOK}yO zk%#f2)L+IjYLXY7ieA?E=*4(yV)2q1(Oz+0Q7kwDb*$mki%c5^B*sj7snShZHtHWb z&*h1xN{~yFK7?x!1~LJM(S`G#+4X1XveF7NlO&zxlfmFLA`Yad-{4)x-JQ3#NIedX zy72O`iEpGn7Dqgt_To+LPxV`kX5Qmka$hlcNwf3KYa9;4i8B)io_cX#Q+ar7|KPY= z%nv=cb?CXTs$B-Jx4m-T@(oU>xYy;}@9yepHj2E(Xr1;A22I_I4s1a!hdan|>M`Wi zs#%B8QSM>Bh>KU@HO9Wd*sJ3FvaeBByMbIaV8N8lwhvE}tFCOQA~OHVZ0hrieJdoj z!>%2NU3f1~l;3iVl8qnYQ$lslR`BtFG+!@>@ce_q{l<_r$(a-x9_tA3hLp zg&wtxnBC=hyny=uB2SLmI|~-mT8jgPBGP|aK`VS}@kQNgby1-@vZ1YeI*{#t8~;KL z{)IZLO`{WcC_WDuW{La2#I556M?=bC<)7PsB6Z259kx7leqiE(!YgN0t#aKe@YxgQ zJcXbv4=Pn7G!I;@%4f4Qt@7wxL1oA(%k`@-yGQjP`&O%LMusi}D1~bI0oZ^n^2J#P zvN|~zt3ht$cJSp~ypUvf1Gw1Wl2-)d9*Ph-Pd8At`GLZ2P?=(+GZFsT*z{Zss*7!x znKU*-aO3vjN(%?6Op;BIoy5$+b7m`b+KGR9VP=U4$KHfab>X%&$u_qnCcQXa_ zoISjyt#eqFQ=}PMy6OH;AKi5KDW4_OU!nyQIIn829gRA}je*+jMcPI_ceXyWSUg}T z6U`x|=9|V^owX3YMW@neEOuXHOV^}p<~dOMjqDm3={C459k$xTw?Fvndo~U6FZmm+ zJ2wOhQe*8sQ?+k}8lp?w=C>99FG4vg;aui0^-$Gs(C{@H-<9_VyaT+p*yeHgER|VK zzBsV$5j@ zhD43OFU*Y5P9!g-eri|O>z^r~AMCr8eWS>bC@2kg;1Ss{HS=7!3Wb81(gHI|s(hY+ zs6>hY@(iN0f;W;4O?v5Rb%kt`ft-4VuafIS0xXx{W`2K;8f)6!IK7d7N^~!BdGgD0 zye4PJqY4ezbstv+3REVu+g0CZP#1bb+gd`-0A{1A0>gE_X^pMGwQ$1kef&be|7i4A z$A@=x0|{QcFkIa};WZ5HGo>DG7;V+<_Isx^)tJp(ImG{yVdAg1PuB)TEvrT-%^C}8 z4_d21^T^w^8neG?Usp@5O`E0ClI6(NnMFsr{pt5>j-+@(xx=aB$}@-|Hu1S!e2VPGL`c%WZgd3W4#W>JP}Uk@Dr$mp zql4DhSc3HhDe`JY9hy`trW|m9YBW~_7nIOxkf`~ySXa4znC_lQ3rtwH5n1WFFH8fAZ?a9O1T&E$ zOM#66F?^zRfHne$!&SD*Zg*$jZI&sat#06i6ZT)sv+;j>Z_7T%jVx;a=%gE8L1JmAiS4kA~2>U1a z$4fQ&?LCLbl{RgjHTui8fd`wSz9v_Ry;fu2bzAgM?_#IZpx3td9NFqALVgIOpWkDo zpMwV%+g#=cPVfy(_c@N~{(f#P7dMga*M}qn0-*9*ru%m>;w?borJ;>51v!2~#%m!k zOW{gnnrw7Zph-@;Y5I;+iU{ymQ`Rr`)M-#EC?t*RRjH*APxyLgk`Z?N=_X-Kc#@|R}yy1>VO z;w)8NtJWvq4qvU-stm0*`L2A=qcx)(iNS1CnG~~hTCq_5>a$~+kb$!MNw4km5gw=&>-=eLHtE@^xD*efW-pl+ zBiwC{%%}U9(8k9m{jmiXrE;Jy%Aw-r*Qj_oQ*mho-8n@o8=?Mnm?gA9j&Ymb{^c&& z|Leq9@dc?bkGRpZ0Le^KC5k0=`%U zW6`!S`llXhQ&8usto--yeWGRfSl7Y!a!eAc4f^_g9?_)W3n8{YYiV29_n;fJnU24` z@9~zAV;Od2QPgGl1XHQeoD{OO_w3sxXw({2wh{*ALD-W}*j3VHvU@}0b(5+>3;%vs zd(WXMABdX_(O=0HgltHR-!H`ZUvc>yM^O_i;+KBZ2hEl5rI_{Y06 zN}JN=Q8B)!f8Tds1ZU(XA=N_@a?@x@8FWBHG0bKxOCQrf=n*fI8@wjS=Fe=u)2lbO433!n zUQeLE*4>~uGyM6q+n{OeKRw~}V^JkD}0`Hj5C7wBd*2okW{6AfkIjs(A!*! znec<~p$aAa0%#%v;4z={jSV1>9k1*gSl`hr-k96x^#pqtx|{YLu^AODn##w2==9;g z*btri#c?JNCsVul*SQ~Y2FNP4@R7Tw6ffl|oaHBrUzqRqjqttoV+RkLjj1DQ>l1I= zhXMn8wtWny2K?SXS9lc`{N9D&sEI4+_s&WG-X`|q@-#^EGsd4h6#^;q#dM#c%ycjR zwk$+2BV=X41OM~8$DH1E5ik6DxznhzbSfQ3K5&=Su6B-eb#96j8ct!Rb%DaIkk<@y zedAZpDk#@4NWpar!asQ3rR&!ydflSo?-zJK{{GLij$_@bxDk2f5JILG50sodhStrj zU%nX6af*obu$Jh8m|aUu!HgH0f#jmx1meD#)lDk%OPwAT?%!yIQ6d53tv*mpVXMlo(8`+*H`87r^UgbXxF$h#evV)zhPmE?MGI3W#(CV|uBuL8Sc`B{PsglAd9XS%-5js9BgnkOMVxU9=;U_gfiY z5H~pLW-jwXhen;=aT0r{vruDg;UByk7v}W9+N!i4dtcUr?#@kN5YL?&y7mIo$^KMS z@gea0A<9{s>90eW3ZaBaD}!Bi1QTi<5qcE+wa*$;#2$N=e9L#nh6_NqLAe&gY8yQs+FnESYt9xkj7(Mh%oflS@=& zJFv%1i+wgV{>hZgZunXO_$#N1??2}h2hH}=_7;!NeaItPwa9&$9j!w;^S7Pw176p? z6=I%!&z-7lQD;j{cogn!;g>ss zi#+t=Y-&`g!h7}upZFKZpi-C#y->)n*%XY=$CY>mg3)**S;o+sszxNEx}f z>2*`H_w0j}XT3h#F^@*CHej$qnXlVu{kEfp_xSC{UD|w==yd{Vx)=}zN6RIT&vn=h zin#($x!Jxi&vx3;;`KSdWz~o|29Lv18tM|obFNmWCFD`IoEjVU;LY!jwm5({FdOntnfn{#{BjoXX*`H!h(5(rca`^GNmU_zO8Yoz(&+_r7`TW!S z&!zt5H2!JeB7TOw;yKvGT+Yk^JU0up#S6+%@~h5&HUo(jcFmscoH-j#a|dKH1~ZBq z_*vAUlyAajm4K~14rlF6TC%tvXmegLo=w69YmARPa-7ISpvoj!iVw#uRW#w=B1(DX z803W(rsDF?gjg}?x3zhe;+YKqVhLa)(8^9Wi{f>}j^M7R7Jh152Jcy2I8;!DUt;{b zx7!-{Km*@9oSNwEY)pL^DHa{Wub%oqF*xzjYeg!z_p^HjT-IC_uQ2LT!iSZ?SRPQJILq==I}JLpqyqdX zhpOD>kBJwh1<1E95aVJ9b_#PhV>x0xRFCs0u1CdqeGkrCalKWH_YB~C4A;lRXQDl0 z8@PNBqvF;U_JRaE?3z#&vtxRzi7Ie0K};wFI}DnQ9ZTs5p|NL}H5)t`wpW6}=AKt- zr#FcI@z;E2HZFu+m6TTimxqCzrij#o3{5<%sRM3a8UtcUDks{m4SH!c%KV(v)xnk^ z)~8Rj)(;FraiuH}rbyxfJY~WBD&!7gbq2KT;b(y!^FgZvSv8nJ0Pg}}6=X+gVElZH zff5BKCdP=Aq0p4wO_wF87Z1a(&f@y~=Qfl3gOIoV*qY`*?~$mG_kZsn8TiM;!?#V3PQ4at z>O0aYsDE>OWZ<6<4sY4)3$z~_3pDo~?dUSwvlcfExjp+*pC=#Q{R1A^UU7J|OEBdl zy=U}%UgS^;y~|I3wrh0Tk5ivrmR{v2PL02oI)1X@Nq%j-`@r9)Qbn)ulc&btOnvKQ zq;u@_=exQO{6i`Q9aTgAj^*}4{wm=OTex2C7H$e$ieKl4Im~N~S2W!of)uX7CaC>R zq;uB$r6v1t0h11-FbZBIiylay$}gGm1M`PT7E2(D7|jk@bVIh>ki`X%GYtd_8=3_* zB!9RL`KyWIydKx<#dvfn&PQ;4M0}<-IxP?^Kj=OHbn z;lF6+9MMZ9;OdKw8>ChJkjbxtw^_P|(dhnl&Ia z4B0}jr5<>2-w*hS_Q&|CewPKI#AlbS7R9fgb<|F5$z zfseX4`+sKk$g zo|$>(xa-WxueK~)`=`-Svqa<_qyO|Cb(JjvDz~qCd-SVV=_*hej%O|nNJlZ=Ft&@d znxmT6A%k!VR?;bWOzIV1JSL;@uEM7Sd0ntn%wMTQ>|~KWpZ?!(a57MN8Xv&_x^(M zDLlO=(1r)KkPkERk%D|ALl!LaPR#QfaK{n(Fqi~m&A$3BvT~zGJ(A; z*9+`TvVP%>8}TwrfHMtvTuGKdd{Ug?gGoJ6=ze%zCA)sO3C@O+H~wi+Nq3Y z&|J2i{H2)l`I6I|&f!8GSuj9j{Wr%soTXT1IlR;JhO4B-XS6s#N#t#wI2jlN zTZRKXk78*Jlovb1(I3UH*y49Iz^_@c-k=Z#^N<+B@T`vwG$C%pr%xI3>gAwjf&-39 z>M^M4F_6K>pp0@2lcXC-B`^GpA>F~*XRJvxt_%T6*SWskOW{cTIMB_W5M9i5+(#NKsx zR@zH%svJF4)>e_{?kv~Lf=ga$d&TH!)l1-?mhFdjLHDSxewul60mQ$LN3hx z<1j4@xNEV}W8S%W-f6G+s<9|fa$sSAlk`5qHaGUCilROYOpy-t7-_04{%K&r`N9!0 z9Q?Otd|Ti??-k!Pv1S9MpAzLQaQo_U=geCxUX>rdF25pOJg_959Cx_A;ZYAq#7>wr zs})YX{jbdUGT>2O>SYVTr?SJcGZn3%=3N1@J7F$O@H5n2z&CbdR+?ZnEdpjyx zmL^$ZxlYTQpXsP$cvmTN(VTpFP0+b6%j)^e-y2z5q8Xn5w{&fyBP%s8%{nz@Lv7DZ zNspQho=sWi5;w=GCPUt)#?p=kOQhKpJ~4v*y6l90TDEKQS3h^+wmr6**^e{hj@y}i zV6{6ow@e&|C3fZAQ9nO$n3@{|`pwX|_VS;_{Rv(kCYs5KZ8mM?QP3bG8kyhrn~_NXoy zyr@$0n)7@bY*L#wf+m{{pvf^HHee=VsUL+Fjlxpjh}PBP8;nIGu6aUQfnc!~OqP?w zv`ILhlp)Rn=ri?f52I)H{v^|Srf1t5VoOe|uYYl{SQEO^USd%_6 zBG!m!o02Sstk3Uui#nvi%a=6IVZK<4?LZ+aOsq+qdA_NJ55WocSp}yY$NNx+CD;gZ zJNzY*w^>qw`o$zqaI<|`kstcA%%a+}lHfdD(rNc(RDwI#J9)&%@%mr%2v!<6r;ZvB zx=!kPsfS73Aa#q-y>3e&-8~t>GNhg<-p!&}5a7{}LqVqnfh9eaXcC9JKl$Yfjqu1d~~3>|^bXsQ);-S=N7B zV~PQ??z1|2Yx=Fpbr;TWv(DN3veB2e=avXVs2vkSKRg-Xqj(`qfNW+Zb1 z#M2p!rli>1wz8B__rP_lTxht_h=H0u^hFKs{3`S$0WT%x(_1*_B{*zC66Np|9YtYo zH7Re{D!-(tjr3QBvz56~q6m|sd^?nRl3pP~dW8s?RU)L9oew%ra|I%!G3NI77XN=~AwgGG*v89p3foJ+Tv$54G!IJ9 zzAOGwFK@qc7JPn;Q|7#3tujub&xs*qoEWEK^Sp6loYG)2t&S48;3A+OXEb#`zI5-A zL_>PPnug({mITA-V@WHPo_3{Rs5%6GGeCg%ZohIszXfANC6>JZf!AzAi{dKxbezDM z3>k5lviNkdSb?X3;MP0*X<|uHnP$b(#*`*LO&H0T;1_`eS4E45ZTvJ%Oqh+-4}?Hh zoF+!KOz>0f7};ja#xK_mdCMg$tQ=3*>An!0FdYn+C6MNVRJXunp?k|Mf$8NsSnGwZ z`H{|)HrZ7kdOcULu6@Pg9CZo0R@!uNs>YmWSLZU(MF=aY9NvZ(EtxR(MWaksBxITE z#4#Ch(oqI<>@p08nHPv#`leDeZWspDYR7PVq;L`kY~sOhi7gQ4i&KTuaE6YO1T%Au zy zoe18iW5n0dHl*`*+krQ=I@(}um--^1`w?Iav8Z$7dEPcbEEa(^FXUDxIy@b{T-aDt0avHX)rr*VHPQjCmPY z7fl44M&En}F^@PC(j&6R8r6;FVaBY&lYs1j0`q2-pv7?vbjFv;)#_AN? z7LPX0VA5J++g3D3nzGE(^oLn-PGL>6wHdgrqvPP;e<;s+ZlmpVD-H2m$-hQmc!$%s z!tkNowefj$ANnRh#3>|H!e4%mME)@?g(ot)qpjy10l zD7>(%d)JWgjD=^*<}Kga2~XyQ(8fIyL&r@R@=gGTjvMi9*L|V$cEju#0)G0sw;R0M zfw#9sec{a*@!gg^TTIE+1fysFap;J-P>jf%xJ5JwL$2*z)WemUg|AUUnq3% zc1xghdk4ZTmU@@az1^0;=I-r^?-uF4HR!%gxCd?t`VLBW1f%5P5MvEk2Tr@ub`x$LZ0S7mpn=QE5ErZcS1l9S*l zv+Ipkt#h8!zSfu=Jpr<`v&$#hVkSpDlg-m#o&O6!PI=vM6NGF>rO>ca%!4hRlbmuNiM=x(jFZUWa-V};S z9d&!W?a`T;c<Qoh(gCV56tQ&Dd@ny(`;u|BeNtpWE`%!}NNS z5M0YS`=)lpV6vkXvUNT%l-`__^=x(})PSR=mEttbQZxuY?#U6~nff8`nOqPhov+`Dp>`3DHXa3qIjT??VFa!dy3TvX z5~w>PXh=V3NdF>uER%YV)K?2#8(1SPYlW`!4q5`+22UaeQaq@ncu1yrr%W+$L|X0^ zx(Itrgbmyy^%F84K;9=n22M-;yF&LPi7`~-PI0jgFJ1TnQ_zYvpcN7Ii`ER@dGzEN zP>QvOuIbLK(mJKCeo^PLp4Dr%4c>X=?qm0yxbO6LMZo@p*9N^No^teI|Ly4V@i=zv z%ee~+g2Ysu-p0cRn=!4#Lv;=J!?y&x^?1;13cM?;X2Dy?X`kRIpDniY1%sxP;aqkm z44x^ef+Pa!IZjBIsC79>oedPV~dtYg9Ske(hqP;#9CZXk61}P zcSwqIHHkcc#`k zzd%SRN{`Vu)JE_K&URT#6JvO|X_F9C=-4C^H;ltA!%X%QTp!77wA)6{ z83)>!%hEHxQU8$T_+z8z!u#2)c&Y)!WUt9;&?cloU^TbK;@S21Wbq{4rJTavyll&k zxFn4=9d`=2HOay=^IAv$#ys%`qb*$@X%Tk~tSNfqrWZVuA-!t!G$@W`bS{t9M{4!% zp|iJ*mc}HoyT)~H-T@yzygr>_MwWN?>S8qqtcr4qgG#yp=1j*)p@J0xFWxs>g|){D;u zx@41L<7`rXQinW=H5=P5vvCs33R*GV;hTcKo&~}s-ioW7f@_X`>lE>6l>)}BDM-Fk zcJ8_3(YeRxdgqS#vT(qsaKt+oOpCcVh^z}l3L}spbS=&}3rmvFy@i&*b%j|XNVYHn zcA;wn4ry^py+G(9t$8xu4MO+hdrT+10b`=rEb!tSGlGkL=)f@+(J#>(%>{*Xad5XEF4B?{Xc;A40H;QfeaX8%Uv*EIZ zFJ+1teiPKAvsiQE97qC&UvYz`lnGH@qB{w^2crbL=W1s`zY*8=lpY~{`Z3 z-Q%q$gI=ReHjI8~Oip9bGortGwZYl6t=nSAOg5Q@j@HfCAIPs;bI@gEr(^B6Z)qRB z7r4pjm^jmdadD22@iR-{rCUc<3a0}F{bq*Klgcw8b^^W1lFzJ@< z9FA1n(lFa?h4ANB#1@0Us97Lf5pWcGJ}|JkNH{bbg+sI8qRo{USXw^hEzR|okN6tF zHN!-=)DoChS`M@-6S}t%lhj5*&KsmYQ|NvK7=uY=Za0S_T z*w`ZKE#6zN+xGG0wEG^@hIeq*CJo4d8h7a#z_6p<8hq@Zl8q9{` z=|>h`7(KH>lbjwCoiOREe^~e*(xanete4CAUw+*F*g%`s0@7vB7{Jp`h>m&v-H%3} z`gsO#)~96hvN*kM^2e+xy>MEd$+FB<>H7T>v4#|@u_8|B&-|{iVj9<4qfP0NiF&*M z5pLSW(mzWD@BS)ZW*%-(w3EM8%z|d&WW+b|W!nD@Uq+ra94;$qHDIA%hL}QvGOkU4 zRdWMaH8)`WjsrQvO$w`~$>MJTs|FH2#3n&2STwDYMbm2W%?hz-e02#!-UKX@aBXr5 z)f{D!4lBLiZ!q7+e9p@n91R zCwh{qJ#~qp7bRGwMQ6g%R5;FRy{SFns!tG!l+nBi6vW#sZdwI$@||KA45uer;f5Q> zWss9uKJx}aaY`f?HZ4jr$8q}RzvC5QU0#9B7r~Piv?ktJBK9(YYIx8HgEanPSPovu z|6lQu-dSQvHy8`&6^6$qn6iu~XS(NR>C*WQ44K7S?%06KZGMWyj)vTZ25-Au>Z%RfJ z$NhqrbcglX*gKlRwvpg7nw;WdfMez3|!Q%vmtCWb_4xq&8EnX#GT*>+4OCt;l# z11W{_1~BG}y13|sB31-!#IPqANn(3eEG2QSq%cjoWqfL9f6h+fPJIG@_7RPtF#XUk z*u#dySw=&Y9#UMfD9h7h5}8mi@sugqI_^Me6NG^#>3O8Z%##LjQ`n+=DMufb#Q5b* zJxJGKUUxYKuV!8UKqU5H^-(~p(Y}c$_Twz8Y18Fx&J;Zkf3^?q$(f+tblXE9e{q6Aof;qu+e2>OA9oAfcQWoYu0C9+T=K^Z5jQ@V)E#m znT419m=T`Pwup2XoxPH!+obzF_8}-n-P6M28=KOY1z;X5#sfz@R@=(yCd?9|T{v7a z=`3CacBW-p5|{xm^duGX7R=1QSISE6H&tJ*h)qi{8*$QNN-Rnoj)OQ`xY1+DazmPl zL;Kk1r;UXxv=`H(Tdd!@v@|E)#y@5aZI-EtR&yk7y@70FGPz5$3o}ZxN77TP>+0;*PxF-GUG6UEvrm%#X=Z&MxCv%Xqjoqbm+c+O7v}*MqkAfSAWPe5+wy zZSnVr^O-sL&cXRiarSLGCZW4!kCj_v5xL$;SVAUz;hhGl50&Vgl_2vQu!y`NQZ6FD zdA}@5?w3UiT^E=r3~eAqx{cXM6Dz^8!D;A#xTS4~S5Vqq-^1^8odTv}~ z^rEeU5oSvi4!um8h9`kHZrXOswcS;LVxD8HwrP1vX7qB*YdDVO_v1R+$u!hB45a&VqT zZ1afG2R%JrnZ`s{;PEf8ldx5Y`D^*OQao-II;fE$*v8o05UWcWOAJzCzAQcTf}b24 zmIjKVj$iVWj^IYAl2OMqmn{zcNnAS4a8_j6(iUcACSPYWMpDd{;`+1WOi*;;cZCu?}f z>b}un=v&jU$(@~&nVsb-E*qF&ZEe?%W*WAc60&BlsH#{p`mPhAikqU-(^_29ma}($ za*@ZGl6lfP=Q4XsmJ2J_#xh(wPOeYP%*#p|=s7uoZE0(7sK~2KOM!sn^c={**lD%# z%bvcs+6?2m>T0q*ctXx)%v{mZ#165~5_#d}z3%pX=i8)A8}!vS?NjKhi@AyXvoY)P z)nL%8nT#!u9nQ;&NrNp< z-9UllJJ#+$kXtKlS#wK;K!#}|-M%D@9jDp+ZpCHakS7Bqjszo?gO~b^Tsv6;m zEw&c1(UO7A+@*A2adH|RI0fuzEE6$mw$4Qdo{J9LI^rwG#Jxh@?#9tFY#e;PzsD>5`q%l3ZTVdc(p9Y~)T%DRLFhUvOjFzv+x|k(L+)o_jU)zYRRL z19qTe`P>sQ3!Enesf!L*741vI-B@1+4uwOSmeSqC25^ix_T3@`c4Oh|%fq@Cr!&6R z@o>t?B|Dy2h!%=17}0Nn-79kvSUwQ?Anwg#{DsIj9QCeXkk1j6!R3lkdX~7m5$svE z>+HExmS_!H^sMAE_s-ZUwM*_^b$VM#c1lK0wrBru3%TXGM2zEx1F_7R;)awKLt?V6 zY<**U%%0I6;|7x@#a-E6IHuEN9r@*R>?`v$Gq@2`&+;&QjQGRha1 z2s1z0*9xIB-r^{K+4b|_a}`xR4vY&$5OR*;1E}Y{7TPkPdnehez_>EBsrt0bjhyj($RObJ(8;b zk?rIzqrlEB`%kyHtP=}j;})ikPxxtOLt^{DpgFz_Q>i2~d6ih_3~xzG1|-wjWOYa9TU!yAe)pDxpsW)<;GN-6HiU zsYeT4%+p|C*8mHqqlF0Kl6tYwbpf|9+7&%hM^r@n0kh{ic3z>f#VvDM z=dN3S^Zq;TJbc&DF+KDfK3Qc3CVr{F3MA1#u;IYLL;sg#f+>$3jgE`%Jt(JxyP~~A z;-p?+vVH3w!I#JsgORVj4;_0JI<~JGY%|}?1;JkLqd_>vbYM{G!v&`6z(dWPS}laf zT-*5thwIv@Avm7+tD_Vy#>uWNL_0_iXX-Vh7v!F)LzhA(To}2;BvH&BK_?(t3{*q1 zJc3h3b;byoHZft8!&+I^zf2gXnNu)fG{?CY=Ot8}s+ik#q%zaP@+P|5cU79L@iB=8 z_7{6X*|B+pEJw(Rz@T@xdqIUgIoUiuoa?jo2NDWWToZ6kEh(9$mfhTVQ}mwECau+- zoHws#U|Z9U((E)_i``SVInKH~Gix*&Lt=EYyS&{chD3Y$H_RiyDtk09npMtpmQ<$| z8Zw)ss~5NK%Dhx{&Y66|?Vg-sa~ZJHJHFiB<2jU*WJZ_~GuFj5YjL+Oq(ZDXf`nvn_iGt=eCp+rJ+)|983&Zw;PTfV{)!4|tNKmRd zpj3wic^Xj2(+-EfUW}cRMpZ*BFKEaR+A94rR+FHT%}8Qfa17Dd@GNF2pt6xS~=n?1F6~tnQDzg;0=3c zgWrQNUH@~cgw-R6llKm=aPDw{lDLJg3zP^0bTm-9t4z?IX~MvsN?_LPMuch-y3X5W z33PYW!egZ+uyo~75pbC>0zFdimHKk2uMoOO@HUZBU`Xn_g{}+i5r$UeVXw@?KB@1Q zIT0}K7BIAdW5W3Nv$J3Vho4WR<|GUgcCacZX7dk`;if0U+(tyVwvdn zE_3^lFr28;78zaJG`nl>9mkZ_s;k&Nt!&n^p5EmvR^sf#?tS}%1m@qGtTGdXtfaJd zb{DW^?;S_)9-G$xDk%lVSWXWC1 z%gm@@&y9=jIVHKWLU@gjZWi=x4uUMWaWR7U^6?0gZ;I!Cu+{~M`{vcIIMf&CRAxGm zhZUUbfajkuX0ikJzu=LH^{_H|7bFZeo3${r`W_7PBt2Cm?+I_F6%QL94$0wCD`I^ zi7B?|?BffY2TQY(A$PX0vbrM6Zcl5?8nqa<$R%-2#S-nG*^BKw&6PZ5cIo0>)zkjX z68YT5+p@a8wmM!qc&N3(cC^hlULVK5d~`=v6Kh@C4k10J^aHmq=t#Ho()!mo|8VKf zmW5?WWy|Vnb1IePa!L9PPdvi>zrb?&u)E`qhuZ74FN~dqsr;{i^Z9Ql85TuO`v;}S z6Q=Zhm;N7uGbYS`Ub>te-W;|Td_V(~$pveJt)! z;Kv_?dJAeD{XrWKd1ZU)V{JUWuiwM6^r?*Vb?mpA8s^f}P`Wmr9e|sS_tR0t@hWkI zJAI<6^Dv))S_t(9)Mtp33G*4K-y+`oh;tNawCYpoW2oogzaREO-Ct>w?mM(gcY!(e zM%tlUNrO5U4eIll6Mlo5SX!@j($Dpi;jX2@uxuIIXj{Lo)d5AuOdPn{KkoRAC0rpj} zA4lHL!F~bu3Ap|h+;DM?wXywIeogOQd4juXJ)6h!V19%AT8CcA&>T5+5~rx-p%y9+sM zAMpKi%|*puGY`@>5Jo$JK9=F!sQYi@_yAq`5PrXh+NHs}q1yd)0_INGFChLSng{7a z#Ct*eAU&#i`pTzB`vv6la1fS^1DL{1q%GkSy@;~Cj_(I_C?iY@@(B7#jVQ;@gMC*2 z7+VD#+J^S9%eGPbu)s4z7af2a)Eiijpq-#GgJ|b=#RLtw4>VWMUBuUCTzOTbInITC z^*+5L!bqjWJ0NJTv4N5YsK3%vnhttFe(#|t4U6dz`q3_wB}ijMA788cFB%YT2zOEXnJ5MF z5HCtvENI;tdPI9Y4QT~!1|DN9JEy-3;okwygASt)okREm-Lukv0N+nRy$)DC68;|K zMbK}R{s?-n+Xc86WZWJRU&0mUOj;H8Buhs0DST+F}9?jPr`J z!+x3C;9qTAgK_IgnTA2Lk&@7_A3^-{Fa^zj1L-`Z{WJ2cnqh4$ON+P2gK&Z->N_3z z_9D(EBHU)7%NWT=jZhUtpVtxn^O9%-Q4b<-=!Z_xR$A1TZX(=gQnP4pQD(Hspyo?v z5N$5%U9>yWZIkg+5&v<7N1Y2h+>eKCWXp9NeOFCCY$M9N9AyWNi8?@8teW?cE^rZf zJS}iTw1K28C>zXEqKv?k<=QEz!}I8ukBju!3)*?83t`R_Cg6g0>Nm2b+IyKfXbKt{ z%&Qtk%KB5ZV6JN-fP4%>#)3S_v>j|#(pXTJ7R+nn=`7s+>`h!j03M)S{7}ckE;ASWPJ!+o6JsU%^)1g;sntuxUGJkXw5~UwTVRifITo-RS3Jjl4!%Ph&GQ9ZEb@BoLi1z zxb_ll?}9>@9YnPAAQb#=-Ac3z<+%-M4Z&~sZYa3#=^?s(3Sqb*+P9tPj$)z%9}pe7 zKy(;oy6Y^_-AMO%EYUqHiS9*yzVj*3=`Nx(pI}%7jPIF<&LZA}XNbNJ_&;bRdZ?1< zhp9wfC?EX%8;Jtvi5>>5M@|r3C?I+iY5rt8(Zyk+pLvKzo+o;IGSL%9h@MI$diq(S zXV(z@2kg(ihM^g0{u1F|e2?hYT|~b@_?O}KTZDTR;a*!u^t&@eZ|oy_6ZW^D{&P3c z@8R}#579dZiQb(`^q!aKkBvm{e@^t_+eCkc`SE0;zg!^t1mAxrqE8X$vk}m8)Y}(; ze+hBEgx_Vr8%0`Iju4}di1AcnSY0sP2gJfYC1&g*X4*$A;sUYAuZTre5{tguJaJf?jSbxAh8^T&%2daKEgUo z#GDt26;35qbcR?l+)CPrP4f^dL%2!&k*ZEIhIZ!w(LBy-hISYtRc1varyvb z&9lS?8i}ok|IM&(c$wHnq`et&wtP-(8`2s?{&zs_1gu>bi47r*-3YrI>Fvpf+D+{C zSg2FP_QJjwY3@UQ_N^hd-vkBw9kAblbPpozL8Nmh(mT>d>@KLI9%6UDM(o?j$MLho z?)iw=y&n)e3AgX8BX$breH)3L{)*Tc#QSbDvF~Z2E)Y8h^ZS7FgGwl*|HB?g6hK&C z2QmK{VgbZ?B$e2Y5a-88`%$EOaSE}=h}h5SiH-b<*yCG?J%RX7p$tz$J@YKFXU`J* z#q-3TGZ1^ehu8~n`;`T1H?d!TLhLul)5~4NemkGot8jnSOYF7xh`o+H{0`&MH zzx6h;-)|@O&QxOmZy&LDe?{y)#Qh`k_AACy4zQ)W>lD3(QZD_rEm~ z`?~?^0q`vFA|S{ z8Tl;ns85K;z#f-MJbsvXVkPmU9^%$D#FN{Ir*;sxAzs>h#4`>OpE8Ab))C^sU!L;; z@!V6y^HYi28;LuLi96pUUbvFD3;xBg5idbn)4aqhw8X2LiB~^K-17->u}3={?laC4 zpSh2CBg`ff@!3$#LVZpgC#QJpZsMS|eBR5%=dUBau$6e5f%r|x&!V%0XGw@JM))N? z#Jd`aFNIqV%;hVIuSB?2r-=7WA-)#z2IhkibAktWC4LZL4*iPw;ZKO)b)NX$yNMq|ddCs= z#AM%R-pz;6D{<<&2O941SFre$FGLDS}_|dD4_lAWhjm z(p2V?rs{Ljcwn!?_w?KSc&4LT0xe;M*g6e>M zG1Be&h&0Q#lBV}H(yUA*&FV9xS%b9uk={DMTaUOK8%eWy4QaOG`<8mr49+LbcI0^n z(%uPk7yNdwB+cz@q}gYHc!%AjxnqPh2R|pxo%y6Wf_O&}2V<$`7~H=N`*FlQfjIYm zM4IosMw&ywbSw82NIr1=-;oc{FwH++Ce3F^>odTi!GL$6C6E`e-%X zjQj8Xv<`X~rP5-oEK{ip?p<*0mbQ72|C~zA)Ct!hDpC+>rs7TAKDhO&Ft4UojnM05h&i-E!d{AyO1h~s?n?M} zBCTt4D?|+DqCB%`u7oa1)QeosK#n?*W-lPtsVNDwANdmba3EGb%o3=t$4{_^~YJRW9 zk##7WXfq`jB0n1tPS}*3DJ2j!Ah0DBdFw=-tbnexbg#_mY}7&{ps%BiP*af$fztx- zmG}ZzM2!key&0+(_D=K(fpudccEVPNUUIz*xlZEGwXHP(=mH1V0FLMrqWxFGR9Ywx zwI_1&e~EJg^0HXAwNg@1oB1SMMLDW~4a;CUfSIYNX(#el2>%i)0M-ike7HJ5fjCwZ zfBnbfSFi|FNYu4D=oyw7OaqFcg**X0g@L+_Lyd)lPDS9%c_dkI?mQY2Rbp|oAs%vq z6S3Dco~)4Ln+!RQDS&39Nt8yDAw@8QG9lS9i>`yT+^N9hT;QgX6DM+3h`hPbv)ssM zDNTdK!E&mgN|dG={mTRCx^*<2>VbI;G!ykU3%3hrgCbo|Ex^ZC^!jE!y$V^k1}x zmZOzdpr5V;R-HmyuSNTdzP}z=a5FIWPr$p)ple%b8*QZv1RfmSLfdHv)^s1!qb!U; z!Xz`YaApE)Z;zF&4|>SUgK$i7bhYXI3_WCDZ5h1x_ocuvBJa zlUN#EqF32umd-LDJZ=ih!npD-yN+eEsVs-(vOMyVkL5Evb1)|>V1=xRx#&y!ir%9? zuwv$BB{=dwjg{f(e+8>#RjiuT&`+3$)v`J^o&HGg(*vxY&0q~|CcQ@Q&>Qq7WEi~- zdC|XTjcgWcVzXH@!{r(_hqbb~;QQae=CcKCA-fSf0yoiF*3K5O4%W#Qvn8yHb+e^x z8S7!aY&l!ORt_RO9b3?>P2Iu<*><)AW8mFv zC%Y9AMDJm@u_3k_^4xA`d)YqhKHR|$u!A_7d?!21jw#=gytvwPSHb}vTC z@32$sK6aYj&(5&#vIp4r*je@G<$|U%YMQBgFVNdXD_f{vKQH}*ss}d*h}nX_FLSB zdzHP$UT42!Z?HGnTkJpC@7dez9rpj&yX-yo2lhwyKKp=u$o|Cs%syiO#Xe?#VV|(S zvcIvvvrpMS*k|mY>~r=7yTra^U$M(JPk&NR;9*&(t+`izE z+`^-HG>_r2JdVfn1fGaJ(DB^LC*W0BNP*_5+{P#2i0WjX&hb1NpMt%d>v%Sw%5!)w z&*S;r&K=yz3wR+f;x1my-MoaC@@c$`m-7l<$*XuZui+kE%j@`bUe9On20oKF@>#rz z&*shidfvk4@K!#T&*L}n`FsIi$ZzCr{3hPc7x50>$rtk_yo-19rFcHzqFp;%s23jd=uZyxA3ie8^47Q^6h*F{}$iLZ{@rAZG4FD=6m?< zd@tX}_wzgW0e+Al;&<}H{0P5`ALV!RWBl9vIKPLV;P>*A{5$*&^MoIk;z)Gu4PX-$tkZ2juq{QP{6Vpip= zrfRP)469nzxum~uby%lj>Z=y_ci-Ht@03PZRo}9{)!i$?Iu$d#W=U`VlJ%>WuI%0z zzU1n+v8JnUUFVV|-K*CbmxMm`o+X_~THmD@9>D2b7gnnR>{d);Z7964JMUE7;XPNs!)B;C=~c||hO2(z%ddXx8#|Y* zU)QZ)sThq)PF5;Llj68qF`5*|)zXNV-Lro6vd;eXt5$ZdUl-9g)~0V!BJ?XpixRJ2 zG3F?a1JVeeb2TU716RLItxNh=t?E=N-L!6uMc=9ZW(1mcvvy+J$h^ z0FJJ;2VYtNNH?={&6-Xi$*RR&oqX1M-n5?2?+sHS^X6VnOHZF}PVcf+otoCp^SeYRI_C5gE2!detEP%F z9u=iLHLANp-<+O0#a^q>J!h?wPC98H zQ4oT0wO$HBFbYC23PLanLNJO#xhe|9CFAv#i8;RhhP+kU=)X76o+6GhhP+kU=)X76o+8ALonPS814`ZcL;_% z1j8MI;SRxYyJTM}C=8|Mx|&)L7J7_|rS|-wuRT8q%bp*EWzP@7vgZe3+4F<2?D@g+ z*z<$svF9s&x}Y%FH|+KhEVon1TanU_3yMOpLpWh~E5k`aQP5O|m4c!oHLhB|B87$& z6shov6dF=cq|lIpB87$&6e%>Mpr}@juh5bLmzsxA?bt)uXb;t^J%pEbw+i1CG}U~# zRJbk`u1kgMQsKH(xGoiLu?n|Xr6I)*C11sA-4v_kE>_E3timf+%Ui6Lw^)T+timl; z;TEfKi&ePAbwPS`6(ihgT5c6~uw8<6?^a<4%N)e1P&_pcZZ!{XH4knz4{kLNZZ!{X zwe0G=wV+BZdzA{mN-cYpTJ|axewAAGDz&bw)O=T|@T*k#RVw@{6@HZpze%LlrU#-HgR^eBx@G+kj^X-Ca6@Ik}zgmS~t-`NX;a98ht5x{bD*S2{ezgj}MulIa z!mm-`*QoGoRQNS2{2CR0jS9a;guTkOFsBmjkxHT$Vj|$JD!tr{AkD!e)sUY&&Jz!FVh4onFTri2Gm!hPE^=h&`UTtcvUlYf(r9}se zHfYhqqVuUfVX){+Rf_?ZuvFDD4i-bQYB9nxE=je7!(xnAEhbpPRSWY*sL;)DjY#0x zK26=t$V?=x=BriCKS|*3A(Xd9@Le>~qqbG)}v9QJ before the + first paint; with no parameter (a direct visit) the browser's + preference decides, exactly as lean4web's own default does. The + editor thus opens matching the page around it; the wiki's own theme + switch takes effect on the frame's next mount, not mid-edit — a live + swap would tear down a running Lean session. + + The rules that target elements directly (rather than through the + --vscode variables) carry an `html[data-mathew-theme]` prefix: the + client bundles its own stylesheets through JavaScript, which can land + after this link, so specificity, not source order, is what holds. + ================================================================== */ + +/* ---------- the wiki's typeface ---------- */ +/* Computer Modern, the wiki's reading face. CMU ships only two weights, + so intermediate weights map onto real faces the way the wiki's own + stylesheet does. */ +@font-face { + font-family: 'Computer Modern'; + src: url('/fonts/cmunrm.ttf') format('truetype'); + font-weight: 100 550; + font-style: normal; + font-display: swap; +} +@font-face { + font-family: 'Computer Modern'; + src: url('/fonts/cmunti.ttf') format('truetype'); + font-weight: 100 550; + font-style: italic; + font-display: swap; +} +@font-face { + font-family: 'Computer Modern'; + src: url('/fonts/cmunbx.ttf') format('truetype'); + font-weight: 551 900; + font-style: normal; + font-display: swap; +} +@font-face { + font-family: 'Computer Modern'; + src: url('/fonts/cmunbi.ttf') format('truetype'); + font-weight: 551 900; + font-style: italic; + font-display: swap; +} + +/* ---------- the wiki's palette, as the editor knows it ---------- */ +html[data-mathew-theme='light'], html:not([data-mathew-theme]) { + color-scheme: light; + --mw-bg: #f7f8fb; + --mw-bg-elev: #ffffff; + --mw-surface: #ffffff; + --mw-surface-2: #eef1f7; + --mw-input-bg: #ffffff; + --mw-border: #e2e6ef; + --mw-text: #1b2130; + --mw-muted: #5b6478; + --mw-accent: #4f5fe8; + --mw-accent-strong: #3d4dd6; + --mw-on-accent: #ffffff; + --mw-danger: #d1344b; + --mw-warning: #d97706; + --mw-shadow: 0 4px 12px rgb(16 24 40 / 8%), 0 16px 40px -12px rgb(16 24 40 / 18%); +} + +html[data-mathew-theme='dark'] { + color-scheme: dark; + --mw-bg: #0a0c12; + --mw-bg-elev: #10131c; + --mw-surface: #141826; + --mw-surface-2: #1a2030; + --mw-input-bg: #0c0f16; + --mw-border: #232a3c; + --mw-text: #e7eaf3; + --mw-muted: #99a1b5; + --mw-accent: #7c8cff; + --mw-accent-strong: #99a5ff; + --mw-on-accent: #0a0c12; + --mw-danger: #f47085; + --mw-warning: #f5a83c; + --mw-shadow: 0 4px 16px rgb(0 0 0 / 40%), 0 24px 48px -16px rgb(0 0 0 / 55%); +} + +/* ---------- the same vocabulary, in Mathew's colours ---------- + The app root (`.app.monaco-editor`) is where the editor's theme + service publishes --vscode-*; redefining the same names on it, with + an attribute selector for company, outranks the generated rules and + the whole interface — editor included — follows the wiki instead. */ +html[data-mathew-theme] body, +html[data-mathew-theme] .monaco-editor { + /* the editor paper */ + --vscode-editor-background: var(--mw-surface); + --vscode-editor-foreground: var(--mw-text); + --vscode-editor-selectionBackground: color-mix(in srgb, var(--mw-accent) 26%, transparent); + --vscode-editorCursor-foreground: var(--mw-accent); + --vscode-editorLineNumber-activeForeground: var(--mw-accent); + --vscode-editorGutter-background: var(--mw-surface); + + /* chrome: the top bar, menus, popups, hover */ + --vscode-menu-background: var(--mw-bg-elev); + --vscode-menu-foreground: var(--mw-text); + --vscode-menu-separatorBackground: var(--mw-border); + --vscode-menu-selectionBackground: var(--mw-surface-2); + --vscode-menu-selectionForeground: var(--mw-text); + --vscode-panel-border: var(--mw-border); + --vscode-widget-shadow: var(--mw-shadow); + + /* hovers and suggestions the editor paints */ + --vscode-editorWidget-border: var(--mw-border); + --vscode-editorHoverWidget-background: var(--mw-bg-elev); + --vscode-editorHoverWidget-foreground: var(--mw-text); + --vscode-editorHoverWidget-border: var(--mw-border); + + /* form controls, buttons, links */ + --vscode-input-background: var(--mw-input-bg); + --vscode-input-foreground: var(--mw-text); + --vscode-inputOption-activeForeground: var(--mw-accent); + --vscode-button-background: var(--mw-accent); + --vscode-button-hoverBackground: var(--mw-accent-strong); + --vscode-button-foreground: var(--mw-on-accent); + --vscode-button-border: transparent; + --vscode-textLink-foreground: var(--mw-accent-strong); + --vscode-focusBorder: var(--mw-accent); + + /* lists (the file and project pickers) */ + --vscode-list-hoverBackground: var(--mw-surface-2); + --vscode-list-dropBackground: color-mix(in srgb, var(--mw-accent) 12%, transparent); + + /* the editor draws its own scrollbars — same subtle wash as the wiki's */ + --vscode-scrollbarSlider-background: color-mix(in srgb, var(--mw-text) 18%, transparent); + --vscode-scrollbarSlider-hoverBackground: color-mix(in srgb, var(--mw-text) 30%, transparent); + --vscode-scrollbarSlider-activeBackground: color-mix(in srgb, var(--mw-text) 40%, transparent); + + /* messages and marks, in the wiki's reds and ambers */ + --vscode-notifications-background: var(--mw-bg-elev); + --vscode-notificationsErrorIcon-foreground: var(--mw-danger); + --vscode-editorError-foreground: var(--mw-danger); + --vscode-editorWarning-foreground: var(--mw-warning); + --vscode-editorWarning-background: color-mix(in srgb, var(--mw-warning) 14%, transparent); + --vscode-editorOverviewRuler-warningForeground: var(--mw-warning); + + /* inline code, as the wiki sets it */ + --vscode-textPreformat-background: var(--mw-surface-2); + --vscode-textPreformat-foreground: var(--mw-text); +} + +/* ---------- the chrome, wearing the wiki ---------- */ +/* The body: index.css paints it #2b2b2b / white by media query; the + wiki's own ground wins that tie by specificity. */ +html[data-mathew-theme] body { + margin: 0; + font-family: 'Computer Modern', 'CMU Serif', Georgia, 'Times New Roman', serif; + background: var(--mw-bg); + color: var(--mw-text); +} + +/* Form controls answer to the system font unless told; the editor keeps + its monospace (the wiki sets its own code the same way). */ +html[data-mathew-theme] button, +html[data-mathew-theme] input, +html[data-mathew-theme] select, +html[data-mathew-theme] textarea { + font-family: inherit; +} + +/* The top bar: the wiki's hairline, and its menu row rounded to a chip */ +html[data-mathew-theme] nav { + border-bottom: 1px solid var(--mw-border); +} +html[data-mathew-theme] nav .nav-link, +html[data-mathew-theme] nav select { + border-radius: 8px; +} + +/* Syntax errors and warnings read in the wiki's danger red / amber */ +html[data-mathew-theme] .loading-ring:after { + border-color: var(--mw-accent) transparent var(--mw-accent) transparent; +} + +/* Selection, like the wiki's — accent wash, not system blue */ +html[data-mathew-theme] ::selection { + background: color-mix(in srgb, var(--mw-accent) 30%, transparent); +} + +/* Scrollbars, the wiki's subtle shape (mirrors its _base.scss) */ +html[data-mathew-theme] ::-webkit-scrollbar { + width: 11px; + height: 10px; +} +html[data-mathew-theme] ::-webkit-scrollbar-thumb { + background: color-mix(in srgb, var(--mw-text) 18%, transparent); + border-radius: 8px; + border: 3px solid transparent; + background-clip: content-box; +} +html[data-mathew-theme] ::-webkit-scrollbar-thumb:hover { + background: color-mix(in srgb, var(--mw-text) 30%, transparent); + background-clip: content-box; +} +html[data-mathew-theme] ::-webkit-scrollbar-track { + background: transparent; +} diff --git a/lean/theme/theme-init.js b/lean/theme/theme-init.js new file mode 100644 index 0000000..2e01958 --- /dev/null +++ b/lean/theme/theme-init.js @@ -0,0 +1,24 @@ +/* Mathew's theme handshake with the wiki (see mathew.css, its stylesheet). + * + * The wiki opens this frame as ?theme=light|dark — the editor cannot see + * the page around it (another origin), but it can at least open wearing + * the same mood. Without the parameter — a direct visit — the browser's + * preference decides, the same rule lean4web follows for its own default. + * + * Runs synchronously in , before the first paint, so the page never + * flashes the wrong palette; is the hook the + * stylesheet's overrides hang on. */ +(function () { + var param = null + try { + param = new URLSearchParams(window.location.search).get('theme') + } catch (e) { + /* an engine without URLSearchParams gets the fallback below */ + } + var theme = param === 'light' || param === 'dark' + ? param + : window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches + ? 'dark' + : 'light' + document.documentElement.setAttribute('data-mathew-theme', theme) +})()