From 75494ddf68728a5da83cbcdee2c53d441f4becbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Tr=C3=A4nkler?= Date: Thu, 5 Mar 2026 03:50:50 +0100 Subject: [PATCH 01/10] Redesign webassembly.org with Eleventy Complete site redesign using Eleventy (11ty) as static site generator, replacing the upstream Jekyll setup with modern dark-themed design. Co-Authored-By: Claude Opus 4.6 --- .gitignore | 2 + _includes_v2/feature-table.html | 199 ++++ _includes_v2/footer.html | 112 ++ _includes_v2/head.html | 13 + _includes_v2/lang-grid.html | 27 + _includes_v2/nav.html | 100 ++ _includes_v2/scripts.html | 135 +++ _layouts_v2/base.html | 12 + _layouts_v2/community.html | 18 + _layouts_v2/doc.html | 16 + _layouts_v2/getting-started.html | 17 + _layouts_v2/home.html | 275 +++++ _layouts_v2/page.html | 8 + _layouts_v2/upstream.html | 6 + css/style.css | 1350 +++++++++++++++++++++++ eleventy.config.js | 253 +++++ getting-started/developers-guide.md | 44 +- index.md | 2 - news.html | 4 +- package-lock.json | 1550 ++++++++++++++++++++++++++- package.json | 6 +- 21 files changed, 4066 insertions(+), 83 deletions(-) create mode 100644 _includes_v2/feature-table.html create mode 100644 _includes_v2/footer.html create mode 100644 _includes_v2/head.html create mode 100644 _includes_v2/lang-grid.html create mode 100644 _includes_v2/nav.html create mode 100644 _includes_v2/scripts.html create mode 100644 _layouts_v2/base.html create mode 100644 _layouts_v2/community.html create mode 100644 _layouts_v2/doc.html create mode 100644 _layouts_v2/getting-started.html create mode 100644 _layouts_v2/home.html create mode 100644 _layouts_v2/page.html create mode 100644 _layouts_v2/upstream.html create mode 100644 css/style.css create mode 100644 eleventy.config.js diff --git a/.gitignore b/.gitignore index 7727a451..5685dfae 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,5 @@ .jekyll-metadata /docs node_modules +.file-registry.json +.env \ No newline at end of file diff --git a/_includes_v2/feature-table.html b/_includes_v2/feature-table.html new file mode 100644 index 00000000..9f14d19e --- /dev/null +++ b/_includes_v2/feature-table.html @@ -0,0 +1,199 @@ + + + + + +The table below aims to track implemented features in popular engines and tools. +You can click on a cell for more information. + + + +

+ Loading table, please wait… + (report issues) +

+ +
+
+
+ Currently showing categories: +
+ +
+
+
+ Report issues + • + Contribute data +
+
+ +
+ + + + + + + + + + + + +
+
+
+ + + + + + + + + + + + + + diff --git a/_includes_v2/footer.html b/_includes_v2/footer.html new file mode 100644 index 00000000..fc9462fb --- /dev/null +++ b/_includes_v2/footer.html @@ -0,0 +1,112 @@ + diff --git a/_includes_v2/head.html b/_includes_v2/head.html new file mode 100644 index 00000000..4b246934 --- /dev/null +++ b/_includes_v2/head.html @@ -0,0 +1,13 @@ + + +{% if page.title %}{{ page.title }} - WebAssembly{% else %}WebAssembly{% endif %} + + + + + + + +{% if page.url == "/features/" %}{% endif %} diff --git a/_includes_v2/lang-grid.html b/_includes_v2/lang-grid.html new file mode 100644 index 00000000..387fcc40 --- /dev/null +++ b/_includes_v2/lang-grid.html @@ -0,0 +1,27 @@ +
+
Ada
+
AssemblyScript
+
C / C++
+
C#
+
COBCobol
+
D
+
Dart
+
F#
+
Go
+
GGrain
+
Haskell
+
Java
+
Kotlin
+
Lua
+
moonMoonbit
+
Pascal
+
PHP
+
Python
+
R
+
Ruby
+
Rust
+
Scala
+
Scheme
+
Swift
+
Zig
+
diff --git a/_includes_v2/nav.html b/_includes_v2/nav.html new file mode 100644 index 00000000..1762b5a9 --- /dev/null +++ b/_includes_v2/nav.html @@ -0,0 +1,100 @@ + + diff --git a/_includes_v2/scripts.html b/_includes_v2/scripts.html new file mode 100644 index 00000000..626d59a9 --- /dev/null +++ b/_includes_v2/scripts.html @@ -0,0 +1,135 @@ + diff --git a/_layouts_v2/base.html b/_layouts_v2/base.html new file mode 100644 index 00000000..0e3afb4e --- /dev/null +++ b/_layouts_v2/base.html @@ -0,0 +1,12 @@ + + + + {% include head.html %} + + + {% include nav.html %} + {{ content }} + {% include footer.html %} + {% include scripts.html %} + + diff --git a/_layouts_v2/community.html b/_layouts_v2/community.html new file mode 100644 index 00000000..8b2a1442 --- /dev/null +++ b/_layouts_v2/community.html @@ -0,0 +1,18 @@ +--- +layout: base +--- +
+
+ {{ content }} +
+ +
diff --git a/_layouts_v2/doc.html b/_layouts_v2/doc.html new file mode 100644 index 00000000..7bfe5f11 --- /dev/null +++ b/_layouts_v2/doc.html @@ -0,0 +1,16 @@ +--- +layout: base +--- +
+
+ {{ content }} +
+ +
diff --git a/_layouts_v2/getting-started.html b/_layouts_v2/getting-started.html new file mode 100644 index 00000000..f936c6e0 --- /dev/null +++ b/_layouts_v2/getting-started.html @@ -0,0 +1,17 @@ +--- +layout: base +--- +
+
+ {{ content }} +
+ +
diff --git a/_layouts_v2/home.html b/_layouts_v2/home.html new file mode 100644 index 00000000..ef391308 --- /dev/null +++ b/_layouts_v2/home.html @@ -0,0 +1,275 @@ +--- +layout: base +--- + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + +
+

Runs code in your language fast, secure, anywhere.

+
{{ lead }}
+ +
+
+ +
+ + +
+
+

Efficient & fast, safe, and open source.

+

+ Four pillars that make WebAssembly the universal compilation target for + performance-critical applications. +

+
+
{{ content }}
+
+ +
+ + +
+
+

Code in your language.

+

+ From systems programming to scripting — compile from the language + you already know. +

+
+
{% include lang-grid.html %}
+
+ +
+ + +
+
+
+

Compile to virtual CPU instructions.

+

+ WebAssembly's text format (WAT) is designed for viewing in dev tools, + hand-writing modules, debugging, and learning. It maps directly to the + binary format. +

+
+
+
;; A simple add function
+(module
+  (func $add (param $a i32) (param $b i32) (result i32)
+local.get $a
+local.get $b
+i32.add)
+  (export "add" (func $add)))
+
+
+
+ +
+ + +
+
+
+
20×
+
Faster decode than JS parse
+
+
+
30+
+
Source languages supported
+
+
+
4
+
Major browser engines
+
+
+
95%+
+
Global browser coverage
+
+
+
+ +
+ + +
+
+

FAQ.

+
+
+
+ +
+
+ No. WebAssembly is designed as a complement to JavaScript, not a + replacement. JavaScript has incredible momentum and will remain the + primary dynamic language of the web. Common patterns include compiled + C++ apps using JS for glue code, HTML/CSS/JS apps with Wasm-powered + canvas rendering, and mostly-web apps using Wasm modules for + performance-critical paths. +
+
+
+
+ +
+
+ Not at all. While initial efforts focused on C/C++, today over 30 + languages can compile to WebAssembly — including Rust, Go, + Python, C#, Kotlin, and many more. The ecosystem grows steadily as + more compilers add Wasm backends. +
+
+
+
+ +
+
+ Yes. WebAssembly defines a human-readable text format (WAT) + specifically designed for debugging, testing, experimenting, + optimizing, learning, and teaching. Developer tools in all major + browsers can display Wasm in this textual format, and source maps + provide a direct link back to original source code. +
+
+
+
+ +
+
+ WebAssembly prioritizes portability, stability, small encoding, fast + decoding, and minimal nondeterminism. LLVM IR targets compiler + optimization across diverse architectures and contains undefined + behavior, making it non-portable and unstable. WebAssembly's + purpose-built design achieves superior results for these goals, while + still leveraging LLVM's clang frontend and optimizers to generate Wasm + output. +
+
+
+
+ +
+
+ Technically yes — early prototypes demonstrated efficient + WebAssembly-to-asm.js conversion. In practice, polyfilling has become + unnecessary thanks to near-universal browser support (95%+ global + coverage). Tools like Emscripten also allow dual builds targeting both + Wasm and asm.js with a simple flag. +
+
+
+
+ +
+
+ In a browser, you have full access to Web APIs through JavaScript + interop. Outside the browser, access depends on the embedder — + standalone runtimes like Wasmtime and Wasmer provide WASI (WebAssembly + System Interface) for filesystem, networking, and more. +
+
+
+
+
+ +
+ + +
+

Start Building.

+

+ Choose your language, pick a toolchain, and ship production-grade Wasm in + minutes. +

+ +
+ +
diff --git a/_layouts_v2/page.html b/_layouts_v2/page.html new file mode 100644 index 00000000..052b04ab --- /dev/null +++ b/_layouts_v2/page.html @@ -0,0 +1,8 @@ +--- +layout: base +--- +
+
+ {{ content }} +
+
diff --git a/_layouts_v2/upstream.html b/_layouts_v2/upstream.html new file mode 100644 index 00000000..e0a7ecc6 --- /dev/null +++ b/_layouts_v2/upstream.html @@ -0,0 +1,6 @@ +--- +layout: base +--- +
+ {{ content }} +
diff --git a/css/style.css b/css/style.css new file mode 100644 index 00000000..0daec543 --- /dev/null +++ b/css/style.css @@ -0,0 +1,1350 @@ +*, +*::before, +*::after { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +.visually-hidden { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +:root { + --black: #060a14; + --white: #ffffff; + --gray-100: #f5f5f5; + --gray-200: #e5e5e5; + --gray-400: #a3a3a3; + --gray-500: #737373; + --gray-600: #525252; + --gray-800: #262626; + --gray-900: #0c1220; + --border: rgba(255, 255, 255, 0.12); + --border-strong: rgba(255, 255, 255, 0.2); + --surface-hover: rgba(255, 255, 255, 0.04); + --surface-code: rgba(255, 255, 255, 0.08); + --nav-bg: rgba(6, 10, 20, 0.8); + --hero-glow: rgba(255, 255, 255, 0.12); + --font: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; + --mono: 'JetBrains Mono', monospace; + + /* Bridge upstream CSS variables for feature-table */ + --color-bg: var(--black); + --color-bg-highlight: var(--surface-hover); + --color-bg-secondary: var(--gray-900); + --color-link: #7cb1e2; + --color-link-visited: #ab8fee; + --color-border: var(--border); + --color-border-primary: #2a4872; +} + +[data-theme='light'] { + --black: #ffffff; + --white: #111111; + --gray-100: #1a1a1a; + --gray-200: #333333; + --gray-400: #555555; + --gray-500: #777777; + --gray-600: #999999; + --gray-800: #e8e8e8; + --gray-900: #f3f4f6; + --border: rgba(0, 0, 0, 0.1); + --border-strong: rgba(0, 0, 0, 0.2); + --surface-hover: rgba(0, 0, 0, 0.03); + --surface-code: rgba(0, 0, 0, 0.06); + --nav-bg: rgba(255, 255, 255, 0.8); + --hero-glow: rgba(100, 100, 100, 0.08); + + /* Bridge upstream CSS variables for feature-table */ + --color-bg: var(--black); + --color-bg-highlight: var(--surface-hover); + --color-bg-secondary: var(--gray-900); + --color-link: #1751a7; + --color-link-visited: #5817a7; + --color-border: var(--border); + --color-border-primary: #7facec; +} + +html { + font-family: var(--font); + background: var(--black); + color: var(--white); + scroll-behavior: smooth; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +body { + overflow-x: hidden; +} + +a { + color: inherit; +} + +/* ── Nav ── */ +.site-nav { + position: fixed; + top: 0; + left: 0; + right: 0; + z-index: 100; + padding: 0 60px; + height: 64px; + display: flex; + align-items: center; + justify-content: space-between; + background: var(--nav-bg); + backdrop-filter: blur(20px); + -webkit-backdrop-filter: blur(20px); + border-bottom: 1px solid var(--border); +} + +.nav-logo { + display: flex; + align-items: center; + text-decoration: none; +} + +.nav-logo .wasm-banner { + height: 36px; + width: auto; +} + +.nav-links { + display: flex; + gap: 4px; + list-style: none; +} + +.nav-links a { + text-decoration: none; + font-size: 14px; + font-weight: 500; + color: var(--gray-400); + padding: 6px 14px; + border-radius: 6px; + transition: color 0.15s; +} + +.nav-links a:hover { + color: var(--white); +} + +/* Burger button (hidden on desktop) */ +.burger { + display: none; + background: none; + border: none; + cursor: pointer; + padding: 4px; + flex-direction: column; + gap: 5px; +} + +.burger span { + display: block; + width: 22px; + height: 2px; + background: var(--white); + border-radius: 1px; + transition: + transform 0.25s, + opacity 0.25s; +} + +.burger[aria-expanded='true'] span:nth-child(1) { + transform: translateY(7px) rotate(45deg); +} + +.burger[aria-expanded='true'] span:nth-child(2) { + opacity: 0; +} + +.burger[aria-expanded='true'] span:nth-child(3) { + transform: translateY(-7px) rotate(-45deg); +} + +.nav-right { + display: flex; + align-items: center; + gap: 12px; +} + +.btn-outline { + display: inline-flex; + align-items: center; + gap: 6px; + font-family: var(--font); + font-size: 13px; + font-weight: 600; + color: var(--white); + text-decoration: none; + padding: 8px 16px; + border: 1px solid var(--border); + border-radius: 6px; + background: transparent; + cursor: pointer; + transition: + border-color 0.15s, + background 0.15s; +} + +.btn-outline:hover { + border-color: var(--border-strong); + background: var(--surface-hover); +} + +.btn-solid { + display: inline-flex; + align-items: center; + gap: 6px; + font-family: var(--font); + font-size: 13px; + font-weight: 600; + color: var(--black); + text-decoration: none; + padding: 8px 18px; + border: 1px solid var(--white); + border-radius: 6px; + background: var(--white); + cursor: pointer; + transition: opacity 0.15s; +} + +.btn-solid:hover { + opacity: 0.88; +} + +/* ── Theme toggle ── */ +.theme-toggle { + display: flex; + align-items: center; + justify-content: center; + width: 36px; + height: 36px; + background: none; + border: 1px solid var(--border); + border-radius: 6px; + cursor: pointer; + color: var(--gray-400); + transition: + color 0.15s, + border-color 0.15s; +} + +.theme-toggle:hover { + color: var(--white); + border-color: var(--border-strong); +} + +.theme-toggle .icon-sun, +.theme-toggle .icon-moon { + display: none; +} +[data-theme='dark'] .theme-toggle .icon-sun, +:root:not([data-theme]) .theme-toggle .icon-sun { + display: block; +} +[data-theme='light'] .theme-toggle .icon-moon { + display: block; +} + +/* Light mode: invert SVG logo fill */ +[data-theme='light'] .wasm-banner { + fill: #111111; +} + +/* Dark mode: invert logos that are dark-on-transparent (upstream feature table) */ +:root:not([data-theme='light']) .invert-in-dark-theme { + filter: invert(0.8); +} + +/* ── Hero ── */ +.hero-wrapper { + position: relative; + overflow: hidden; + min-height: 100vh; + display: flex; + align-items: center; +} + +.hero-wrapper::before { + content: ''; + position: absolute; + top: -30%; + left: -15%; + width: 80%; + height: 100%; + background: radial-gradient( + ellipse at center, + var(--hero-glow) 0%, + transparent 65% + ); + pointer-events: none; +} + +.hero { + position: relative; + padding: 120px 60px 80px; + padding-top: max(120px, 64px); + max-width: 1400px; + margin: 0 auto; + width: 100%; +} + +.hero h1 { + font-size: clamp(45px, 6.3vw, 80px); + font-weight: 700; + line-height: 0.97; + letter-spacing: -0.05em; + margin-bottom: 48px; + max-width: 1000px; +} + +.hero-lead { + font-size: 0; +} + +.hero-sub { + font-size: 18px; + line-height: 1.7; + color: var(--gray-400); + max-width: 640px; + font-weight: 400; + margin-bottom: 48px; +} + +.hero-sub .highlight { + color: var(--white); + font-weight: 500; +} + +.hero-actions { + display: flex; + gap: 16px; + flex-wrap: wrap; +} + +.hero-actions .btn-solid { + padding: 14px 32px; + font-size: 15px; + border-radius: 8px; +} + +.hero-actions .btn-outline { + padding: 14px 28px; + font-size: 15px; + border-radius: 8px; +} + +/* ── Section ── */ +section { + padding: 0 60px; + max-width: 1400px; + margin: 0 auto; +} + +.section-pad { + padding-top: 120px; + padding-bottom: 120px; +} + +.divider { + border: none; + border-top: 1px solid var(--border); + margin: 0; +} + +/* ── Features ── */ +.features-intro { + padding-bottom: 48px; +} + +.features-intro h2 { + font-size: clamp(44px, 6vw, 88px); + font-weight: 700; + line-height: 0.95; + letter-spacing: -0.045em; + margin-bottom: 32px; + max-width: 800px; +} + +.features-intro p { + font-size: 18px; + line-height: 1.7; + color: var(--gray-400); + max-width: 520px; +} + +.features-grid { + display: grid; + grid-template-columns: repeat(4, 1fr); + border: 1px solid var(--border); +} + +.feature-card { + padding: 48px 36px; + border-right: 1px solid var(--border); + transition: background 0.2s; +} + +.feature-card:last-child { + border-right: none; +} + +.feature-card:hover { + background: var(--surface-hover); +} + +.feature-icon { + margin-bottom: 32px; + color: var(--white); +} + +.feature-card h3 { + font-family: var(--mono); + font-size: 14px; + font-weight: 500; + text-transform: uppercase; + letter-spacing: 0.06em; + margin-bottom: 20px; +} + +.feature-card p { + font-size: 15px; + line-height: 1.7; + color: var(--gray-400); + font-weight: 400; +} + +/* ── Stats ── */ +.stats-grid { + display: grid; + grid-template-columns: repeat(4, 1fr); + border: 1px solid var(--border); +} + +.stat-item { + padding: 60px 36px; + border-right: 1px solid var(--border); +} + +.stat-item:last-child { + border-right: none; +} + +.stat-number { + font-size: 72px; + font-weight: 700; + letter-spacing: -0.05em; + line-height: 1; + margin-bottom: 8px; +} + +.stat-label { + font-size: 14px; + color: var(--gray-500); + font-weight: 400; +} + +/* ── Languages ── */ +.languages-intro { + padding-bottom: 64px; +} + +.languages-intro h2 { + font-size: clamp(44px, 6vw, 88px); + font-weight: 700; + line-height: 0.95; + letter-spacing: -0.045em; + margin-bottom: 32px; + max-width: 700px; +} + +.languages-intro p { + font-size: 18px; + line-height: 1.7; + color: var(--gray-400); + max-width: 480px; +} + +.lang-grid { + display: flex; + flex-wrap: wrap; + gap: 10px; +} + +.lang-chip { + display: inline-flex; + flex-direction: column; + align-items: center; + gap: 16px; + padding: 16px 20px; + border: none; + font-size: 12px; + font-weight: 500; + color: var(--gray-500); + cursor: default; +} + +.lang-chip:hover { + opacity: 0.7; +} + +.lang-icon { + width: 80px; + height: 80px; + flex-shrink: 0; + object-fit: contain; +} + +[data-theme='light'] .lang-icon { + filter: invert(1); +} + +/* Compact lang-grid inside prose (getting-started, etc.) */ +.prose .lang-grid { + gap: 4px; + margin-bottom: 40px; +} +.prose .lang-chip { + padding: 10px 14px; + gap: 10px; + font-size: 11px; +} +.prose .lang-icon { + width: 40px; + height: 40px; +} + +/* Inline language icons in lists */ +.lang-icon-inline { + width: 20px; + height: 20px; + vertical-align: middle; + margin-right: 4px; +} +[data-theme='light'] .lang-icon-inline { + filter: invert(1); +} + +/* ── WA Logo ── */ +.wasm-logo { + flex-shrink: 0; +} + +.hero-brand { + margin-bottom: 48px; +} + +.hero-brand .wasm-banner { + height: clamp(64px, 8vw, 128px); + width: auto; +} + +/* ── Code sample ── */ +.code-section { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 80px; + align-items: center; +} + +.code-section > * { + min-width: 0; +} + +.code-text h2 { + font-size: clamp(36px, 4vw, 56px); + font-weight: 700; + line-height: 0.95; + letter-spacing: -0.04em; + margin-bottom: 24px; +} + +.code-text p { + font-size: 16px; + line-height: 1.7; + color: var(--gray-400); + max-width: 440px; +} + +.code-block { + background: var(--gray-900); + border: 1px solid var(--border); + padding: 36px 40px; + font-family: var(--mono); + font-size: 14px; + line-height: 1.8; + color: var(--gray-400); + overflow-x: auto; + min-width: 0; + max-width: 100%; +} + +.code-block .kw { + color: var(--white); + font-weight: 500; +} +.code-block .fn { + color: var(--gray-200); +} +.code-block .str { + color: var(--gray-400); +} +.code-block .cm { + color: var(--gray-600); +} + +/* ── FAQ ── */ +.faq-intro { + padding-bottom: 64px; +} + +.faq-intro h2 { + font-size: clamp(44px, 6vw, 88px); + font-weight: 700; + line-height: 0.95; + letter-spacing: -0.045em; +} + +.faq-list { + max-width: 860px; + border-top: 1px solid var(--border); +} + +.faq-item { + border-bottom: 1px solid var(--border); +} + +.faq-q { + width: 100%; + background: none; + border: none; + font-family: var(--font); + font-size: 18px; + font-weight: 500; + color: var(--white); + text-align: left; + padding: 28px 48px 28px 0; + cursor: pointer; + position: relative; + letter-spacing: -0.02em; + transition: color 0.15s; +} + +.faq-q:hover { + color: var(--gray-200); +} + +.faq-q::after { + content: '+'; + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); + font-size: 24px; + font-weight: 300; + color: var(--gray-500); + transition: transform 0.2s; +} + +.faq-item.open .faq-q::after { + content: '\2212'; + color: var(--white); +} + +.faq-a { + max-height: 0; + overflow: hidden; + transition: max-height 0.35s ease; +} + +.faq-a-inner { + padding-bottom: 28px; + font-size: 16px; + line-height: 1.75; + color: var(--gray-400); + max-width: 680px; +} + +/* ── Pillars Content (rendered from index.md) ── */ +.pillars-content { + display: grid; + grid-template-columns: repeat(4, 1fr); + border: 1px solid var(--border); +} + +.pillars-content .flash { + grid-column: 1 / -1; + padding: 20px 36px; + background: var(--gray-900); + border-bottom: 1px solid var(--border); + font-size: 15px; + line-height: 1.7; + color: var(--gray-400); +} + +.pillars-content .row { + display: contents; +} + +.pillars-content .bubble { + padding: 48px 36px; + border-right: 1px solid var(--border); + transition: background 0.2s; +} + +.pillars-content .bubble:last-child { + border-right: none; +} + +.pillars-content .bubble:hover { + background: var(--surface-hover); +} + +.pillars-content .bubble h3 { + font-family: var(--mono); + font-size: 14px; + font-weight: 500; + text-transform: uppercase; + letter-spacing: 0.06em; + margin-bottom: 20px; + color: var(--white); +} + +.pillars-content .bubble p { + margin: 0; + font-size: 15px; + line-height: 1.7; + color: var(--gray-400); +} + +.pillars-content a { + color: var(--white); + text-decoration: underline; + text-underline-offset: 2px; + text-decoration-color: var(--border-strong); +} + +.pillars-content a:hover { + text-decoration-color: var(--white); +} + +/* Icons via CSS for pillar bubbles */ +.pillars-content .bubble::before { + content: ''; + display: block; + width: 28px; + height: 28px; + margin-bottom: 32px; + background: no-repeat center / contain; +} + +:root[data-theme='light'] .pillars-content .bubble::before { + filter: invert(1); +} + +/* Lightning bolt — Efficient and fast */ +.pillars-content .row .bubble:nth-child(1)::before { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='13 2 3 14 12 14 11 22 21 10 12 10 13 2'/%3E%3C/svg%3E"); +} + +/* Lock — Safe */ +.pillars-content .row .bubble:nth-child(2)::before { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0110 0v4'/%3E%3C/svg%3E"); +} + +/* Code brackets — Open and debuggable */ +.pillars-content .row .bubble:nth-child(3)::before { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='16 18 22 12 16 6'/%3E%3Cpolyline points='8 6 2 12 8 18'/%3E%3C/svg%3E"); +} + +/* Globe — Part of the open web platform */ +.pillars-content .row .bubble:nth-child(4)::before { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='2' y1='12' x2='22' y2='12'/%3E%3Cpath d='M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/%3E%3C/svg%3E"); +} + +/* ── CTA ── */ +.cta { + text-align: left; +} + +.cta h2 { + font-size: clamp(44px, 6vw, 88px); + font-weight: 700; + line-height: 0.95; + letter-spacing: -0.045em; + margin-bottom: 28px; + max-width: 600px; +} + +.cta p { + font-size: 18px; + line-height: 1.7; + color: var(--gray-400); + max-width: 480px; + margin-bottom: 40px; +} + +.cta-actions { + display: flex; + gap: 16px; +} + +.cta-actions .btn-solid { + padding: 14px 32px; + font-size: 15px; + border-radius: 8px; +} + +.cta-actions .btn-outline { + padding: 14px 28px; + font-size: 15px; + border-radius: 8px; +} + +/* ── Footer ── */ +footer { + padding: 64px 60px; + max-width: 1400px; + margin: 0 auto; +} + +.footer-top { + display: flex; + justify-content: space-between; + align-items: flex-start; + gap: 48px; + padding-bottom: 48px; +} + +.footer-brand p { + margin-top: 12px; + font-size: 14px; + color: var(--gray-500); +} + +.footer-cols { + display: flex; + gap: 72px; +} + +.footer-col h4 { + font-family: var(--mono); + font-size: 11px; + font-weight: 500; + text-transform: uppercase; + letter-spacing: 0.1em; + color: var(--gray-500); + margin-bottom: 20px; +} + +.footer-col ul { + list-style: none; + display: flex; + flex-direction: column; + gap: 12px; +} + +.footer-col a { + font-size: 14px; + color: var(--gray-500); + text-decoration: none; + transition: color 0.15s; +} + +.footer-col a:hover { + color: var(--white); +} + +.footer-bottom { + padding-top: 32px; + border-top: 1px solid var(--border); + display: flex; + justify-content: space-between; + align-items: center; +} + +.footer-bottom p { + font-size: 13px; + color: var(--gray-600); +} + +.footer-bottom-links { + display: flex; + gap: 24px; +} + +.footer-bottom-links a { + font-size: 13px; + color: var(--gray-600); + text-decoration: none; + transition: color 0.15s; +} + +.footer-bottom-links a:hover { + color: var(--white); +} + +/* ── Scroll reveal ── */ +.reveal { + opacity: 0; + transform: translateY(28px); + transition: + opacity 0.6s ease, + transform 0.6s ease; +} + +.reveal.visible { + opacity: 1; + transform: translateY(0); +} + +.rd1 { + transition-delay: 0.08s; +} +.rd2 { + transition-delay: 0.16s; +} +.rd3 { + transition-delay: 0.24s; +} +.rd4 { + transition-delay: 0.32s; +} + +/* ── Nav compact (burger) mode — toggled by JS based on measured width ── */ +.site-nav.nav-compact .burger { + display: flex; +} + +.site-nav.nav-compact { + padding: 0 28px; + flex-wrap: wrap; + background: var(--black); + backdrop-filter: none; +} + +.site-nav.nav-compact.menu-open { + height: auto; + min-height: 64px; + align-items: flex-start; + padding-top: 18px; +} + +.site-nav.nav-compact .nav-links { + display: none; + flex-direction: column; + width: 100%; + padding: 8px 0 12px; + gap: 0; + order: 10; + border-top: 1px solid var(--border); +} + +.site-nav.nav-compact .nav-links.open { + display: flex; +} + +.site-nav.nav-compact .nav-links li a { + display: block; + padding: 10px 0; + font-size: 16px; +} + +.site-nav.nav-compact .nav-right { + display: none; +} + +.site-nav.nav-compact .nav-right.open { + display: flex; + width: 100%; + order: 11; + padding-bottom: 16px; +} + +/* ── Responsive layout ── */ +@media (max-width: 1000px) { + .hero { + padding: 140px 28px 100px; + } + section { + padding-left: 28px; + padding-right: 28px; + } + footer { + padding-left: 28px; + padding-right: 28px; + } + .features-grid { + grid-template-columns: repeat(2, 1fr); + } + .features-grid .feature-card:nth-child(2) { + border-right: none; + } + .features-grid .feature-card:nth-child(3), + .features-grid .feature-card:nth-child(4) { + border-top: 1px solid var(--border); + } + .pillars-content { + grid-template-columns: repeat(2, 1fr); + } + .pillars-content .bubble:last-child { + border-right: none; + } + .pillars-content .row .bubble:nth-child(n + 3) { + border-top: 1px solid var(--border); + } + .stats-grid { + grid-template-columns: repeat(2, 1fr); + } + .stats-grid .stat-item:nth-child(2) { + border-right: none; + } + .stats-grid .stat-item:nth-child(3), + .stats-grid .stat-item:nth-child(4) { + border-top: 1px solid var(--border); + } + .code-section { + grid-template-columns: 1fr; + gap: 48px; + } + .footer-top { + flex-direction: column; + } +} + +@media (max-width: 600px) { + .features-grid { + grid-template-columns: 1fr; + } + .feature-card { + border-right: none !important; + border-bottom: 1px solid var(--border); + } + .feature-card:last-child { + border-bottom: none; + } + .pillars-content { + grid-template-columns: 1fr; + } + .pillars-content .bubble { + border-right: none !important; + border-bottom: 1px solid var(--border); + } + .pillars-content .bubble:last-child { + border-bottom: none; + } + .stats-grid { + grid-template-columns: 1fr; + } + .stat-item { + border-right: none !important; + border-bottom: 1px solid var(--border); + } + .stat-item:last-child { + border-bottom: none; + } + .footer-cols { + flex-direction: column; + gap: 36px; + } + .cta-actions { + flex-direction: column; + } + .footer-bottom { + flex-direction: column; + gap: 16px; + } +} + +/* ── Prose (markdown content) ── */ +.prose { + max-width: 800px; + line-height: 1.8; + color: var(--gray-200); +} + +.prose h1, +.prose h2, +.prose h3, +.prose h4, +.prose h5, +.prose h6 { + color: var(--white); + margin-top: 2em; + margin-bottom: 0.5em; +} + +.prose h1 { + font-size: 2rem; + font-weight: 800; +} +.prose h2 { + font-size: 1.5rem; + font-weight: 700; +} +.prose h3 { + font-size: 1.25rem; + font-weight: 600; +} + +.prose p { + margin-bottom: 1em; +} + +.prose a { + color: var(--white); + text-decoration: underline; + text-decoration-color: var(--border-strong); + text-underline-offset: 2px; + transition: text-decoration-color 0.15s; +} + +.prose a:hover { + text-decoration-color: var(--white); +} + +.prose ul, +.prose ol { + margin-bottom: 1em; + padding-left: 1.5em; +} + +.prose li { + margin-bottom: 0.25em; +} + +.prose code { + font-family: var(--mono); + font-size: 0.9em; + background: var(--surface-code); + padding: 2px 6px; + border-radius: 4px; +} + +.prose pre { + font-family: var(--mono); + font-size: 0.85em; + background: var(--gray-900); + border: 1px solid var(--border); + border-radius: 8px; + padding: 20px 24px; + overflow-x: auto; + margin-bottom: 1.5em; +} + +.prose pre code { + background: none; + padding: 0; +} + +.prose img { + max-width: 100%; + border-radius: 8px; +} + +.prose blockquote { + border-left: 3px solid var(--border-strong); + padding-left: 1em; + margin-bottom: 1em; + color: var(--gray-400); +} + +.prose table { + width: 100%; + border-collapse: collapse; + margin-bottom: 1.5em; +} + +.prose th, +.prose td { + padding: 8px 12px; + border: 1px solid var(--border); + text-align: left; +} + +.prose th { + background: var(--surface-hover); + font-weight: 600; +} + +/* Upstream content pages (features, etc.) — no .prose wrapper */ +.upstream-content { + max-width: 1080px; + margin: 0 auto; + padding: 80px 15px 40px; + line-height: 1.5; +} + +.upstream-content p { + margin-bottom: 1em; +} + +.upstream-content h1 { + font-size: 2rem; + font-weight: 600; + margin-bottom: 1rem; + line-height: 1.25; +} + +.upstream-content a { + color: var(--white); + text-decoration: underline; + text-decoration-color: var(--border-strong); + text-underline-offset: 2px; + transition: text-decoration-color 0.15s; +} + +.upstream-content a:hover { + text-decoration-color: var(--white); +} + +@media (max-width: 768px) { + .upstream-content { + padding: 70px 15px 40px; + } +} + +/* ── Content layout (subpages with sidebar) ── */ +.content-layout { + display: grid; + grid-template-columns: 1fr 240px; + gap: 60px; + max-width: 1100px; + margin: 0 auto; + padding: 120px 40px 80px; +} + +@media (max-width: 768px) { + .content-layout { + grid-template-columns: 1fr; + gap: 40px; + padding: 100px 20px 60px; + } +} + +/* ── Sidebar ── */ +.content-layout aside { + position: sticky; + top: 88px; + align-self: start; +} + +.sidebar-title { + font-size: 11px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.1em; + color: var(--gray-500); + margin-bottom: 12px; +} + +.sidebar-nav { + display: flex; + flex-direction: column; + gap: 2px; +} + +.sidebar-nav a { + display: block; + font-size: 14px; + color: var(--gray-400); + text-decoration: none; + padding: 6px 12px; + border-radius: 6px; + transition: + color 0.15s, + background 0.15s; +} + +.sidebar-nav a:hover { + color: var(--white); + background: var(--surface-hover); +} + +/* Match upstream's font stack so table column widths stay consistent */ +#feature-table { + font-family: + system-ui, + -apple-system, + 'Segoe UI', + Roboto, + Oxygen, + Ubuntu, + Cantarell, + 'Open Sans', + 'Helvetica Neue', + sans-serif; +} + +/* ── Feature table sticky header ── */ +#feature-scroll { + max-height: 80vh; + overflow: auto; +} +#feature-table thead .platform-header-row th { + position: sticky; + top: 0; + z-index: 10; + background: var(--color-bg); +} +#feature-table thead .platform-header-row .top-corner { + z-index: 12; +} + +/* ── Feature table dark-mode overrides ── */ +/* Upstream feature-table.css has hardcoded light-theme status colors */ +:root #feature-table .text-secondary { + color: rgba(255, 255, 255, 0.6); +} +:root #feature-table .status-yes { + color: #6fcf7f; + fill: #6fcf7f; +} +:root #feature-table .status-no { + color: #e57b9a; + fill: #e57b9a; +} +:root #feature-table .status-experimental { + color: #7cacf0; + fill: #7cacf0; +} +:root #feature-table .status-not-applicable, +:root #feature-table .status-unknown, +:root #feature-table .details-note svg { + color: #8a9baa; + fill: #8a9baa; +} + +[data-theme='light'] #feature-table .text-secondary { + color: rgba(0, 0, 0, 0.6); +} +[data-theme='light'] #feature-table .status-yes { + color: #0c3d10; + fill: #5c6b5d; +} +[data-theme='light'] #feature-table .status-no { + color: #83264a; + fill: #86556f; +} +[data-theme='light'] #feature-table .status-experimental { + color: #143a93; + fill: #3f63b7; +} +[data-theme='light'] #feature-table .status-not-applicable, +[data-theme='light'] #feature-table .status-unknown, +[data-theme='light'] #feature-table .details-note svg { + color: #52656f; + fill: #78909c; +} diff --git a/eleventy.config.js b/eleventy.config.js new file mode 100644 index 00000000..1b3e2690 --- /dev/null +++ b/eleventy.config.js @@ -0,0 +1,253 @@ +import markdownIt from "markdown-it"; +import { full as markdownItEmoji } from "markdown-it-emoji"; + +// ── Port of auto_titles.rb ── +// Hardcoded doc ordering (from Jekyll plugin) +const DOC_ORDER = [ + "WebAssembly High-Level Goals", + "JavaScript API", + "Binary Encoding", + "Text Format", + "Semantics", + "Modules", + "FAQ", + "Design Rationale", + "Minimum Viable Product", + "Features to add after the MVP", + "Portability", + "Security", + "Nondeterminism in WebAssembly", + "Use Cases", + "Guide for C/C++ developers", + "Web Embedding", + "Non-Web Embeddings", + "Feature Test", + "Tooling support", + "GC / DOM / Web API Integration :unicorn:", + "JIT and Optimization Library", + "Dynamic linking", +]; + +function guessTitle(content) { + const match = content.match(/^#{1,6}\s+(.+)$/m); + return match ? match[1].trim() : ""; +} + +function assignWeight(title) { + const idx = DOC_ORDER.indexOf(title); + return idx >= 0 ? idx : 999; +} + +// ── Port of underscore_paths.rb ── +// Convert CamelCase to kebab-case +function toKebab(str) { + return str + .replace(/::/g, "/") + .replace(/([A-Z]+)([A-Z][a-z])/g, "$1-$2") + .replace(/([a-z\d])([A-Z])/g, "$1-$2") + .toLowerCase(); +} + +// ── Port of link_converter.rb ── +// Rewrite .md links to relative pretty URLs with kebab-case +function rewriteMdLinks(content) { + // Inline links: [text](File.md) or [text](File.md#anchor) + content = content.replace( + /\[([^\]]*)\]\(([^:)]*?)\.md(#[^)\s]*)?\)/g, + (_, text, file, anchor) => { + const slug = toKebab(file); + return `[${text}](../${slug}/${anchor || ""})`; + }, + ); + // Reference links: [text]: File.md or [text]: File.md#anchor + content = content.replace( + /\[([^\]]*)\]: ([^:)]*?)\.md(#[^\s]*)?/g, + (_, text, file, anchor) => { + const slug = toKebab(file); + return `[${text}]: ../${slug}/${anchor || ""}`; + }, + ); + // Angle-bracket reference links: [text]: + content = content.replace( + /\[([^\]]*)\]: <([^:)]*?)\.md(#[^\s]*)?>?/g, + (_, text, file, anchor) => { + const slug = toKebab(file); + return `[${text}]: <../${slug}/${anchor || ""}>`; + }, + ); + return content; +} + +export default function (eleventyConfig) { + // Markdown with emoji + const md = markdownIt({ html: true, linkify: true }); + md.use(markdownItEmoji); + eleventyConfig.setLibrary("md", md); + + // LiquidJS: use Jekyll-compatible unquoted include paths + eleventyConfig.setLiquidOptions({ dynamicPartials: false }); + + // Layout aliases: map upstream layout names to our _layouts_v2/ files + eleventyConfig.addLayoutAlias("default", "page.html"); + eleventyConfig.addLayoutAlias("news", "page.html"); + + // Passthrough copy + eleventyConfig.addPassthroughCopy("css"); + eleventyConfig.addPassthroughCopy("images"); + eleventyConfig.addPassthroughCopy("favicon.ico"); + eleventyConfig.addPassthroughCopy("CNAME"); + eleventyConfig.addPassthroughCopy("js/**/*.js"); + eleventyConfig.addPassthroughCopy("js/**/*.mjs"); + eleventyConfig.addPassthroughCopy("js/**/*.html"); + eleventyConfig.addPassthroughCopy("assets"); + eleventyConfig.addPassthroughCopy("features.js"); + eleventyConfig.addPassthroughCopy("features.json"); + eleventyConfig.addPassthroughCopy("features.schema.json"); + eleventyConfig.addPassthroughCopy("google66d80fe1bc71482a.html"); + + // Ignore files (matching Jekyll excludes) + eleventyConfig.ignores.add("README.md"); + eleventyConfig.ignores.add("LICENSE"); + eleventyConfig.ignores.add("Gemfile"); + eleventyConfig.ignores.add("Gemfile.lock"); + eleventyConfig.ignores.add("design/LICENSE"); + eleventyConfig.ignores.add("design/Contributing.md"); + eleventyConfig.ignores.add("design/README.md"); + eleventyConfig.ignores.add("design/tools/**"); + eleventyConfig.ignores.add("docs/**"); + eleventyConfig.ignores.add("node_modules/**"); + + // Ignore upstream Jekyll files (avoid conflicts) + eleventyConfig.ignores.add("_includes/**"); + eleventyConfig.ignores.add("_layouts/**"); + eleventyConfig.ignores.add("_plugins/**"); + + // Ignore upstream-only files not processed by Eleventy + eleventyConfig.ignores.add("feed.xml"); + eleventyConfig.ignores.add("scripts/**"); + eleventyConfig.ignores.add("js/README.md"); + eleventyConfig.ignores.add("js/wasm-compat-test.html"); + + // Computed data: auto-generate title, weight, layout, type, and permalink + eleventyConfig.addGlobalData("eleventyComputed", { + title: (data) => { + if (data.title) return data.title; + if (data.page?.rawInput) return guessTitle(data.page.rawInput); + return ""; + }, + weight: (data) => { + const title = + data.title || (data.page?.rawInput ? guessTitle(data.page.rawInput) : ""); + return assignWeight(title); + }, + layout: (data) => { + const input = data.page?.inputPath || ""; + // Homepage uses our home layout instead of upstream's "default" + if (input === "./index.md") return "home.html"; + // Features page: use upstream layout (no .prose wrapper) + if (input === "./features.md") return "upstream.html"; + // Posts use page layout + if (input.startsWith("./_posts/")) return "page.html"; + if (data.layout) return data.layout; + // design/CodeOfConduct.md and design/Events.md → community layout + if (input.endsWith("design/CodeOfConduct.md") || input.endsWith("design/Events.md")) { + return "community.html"; + } + // All other design/ files → doc layout + if (input.startsWith("./design/")) { + return "doc.html"; + } + return data.layout; + }, + type: (data) => { + if (data.type) return data.type; + const input = data.page?.inputPath || ""; + if (input.endsWith("design/CodeOfConduct.md") || input.endsWith("design/Events.md")) { + return "community"; + } + if (input.startsWith("./design/")) { + return "doc"; + } + return data.type; + }, + permalink: (data) => { + if (data.permalink) return data.permalink; + const input = data.page?.inputPath || ""; + // Posts: /news/YYYY/MM/DD/slug/ (Jekyll-style) + if (input.startsWith("./_posts/")) { + const m = input.match(/_posts\/(\d{4})-(\d{2})-(\d{2})-(.+)\.md$/); + if (m) return `/news/${m[1]}/${m[2]}/${m[3]}/${m[4]}/`; + } + // Special permalinks for community pages from design/ + if (input.endsWith("design/CodeOfConduct.md")) return "/community/code-of-conduct/"; + if (input.endsWith("design/Events.md")) return "/community/events/"; + // Convert design/ CamelCase paths to /docs/kebab-case/ + if (input.startsWith("./design/")) { + const filename = input.replace("./design/", "").replace(".md", ""); + return `/docs/${toKebab(filename)}/`; + } + return data.permalink; + }, + }); + + // Transform: rewrite .md links in design/ pages + eleventyConfig.addTransform("rewriteMdLinks", function (content) { + if ( + this.page.inputPath?.startsWith("./design/") && + this.page.outputPath?.endsWith(".html") + ) { + return content; + } + return content; + }); + + // Pre-render transform: rewrite markdown links before rendering + eleventyConfig.on("eleventy.before", () => {}); + eleventyConfig.addPreprocessor("rewriteMdLinks", "md", (data, content) => { + if (data.page?.inputPath?.startsWith("./design/")) { + return rewriteMdLinks(content); + } + return content; + }); + + // Collection: posts from _posts/ (newest first) + eleventyConfig.addCollection("posts", (collectionApi) => { + return collectionApi + .getAll() + .filter((item) => item.inputPath?.startsWith("./_posts/")) + .sort((a, b) => b.date - a.date); + }); + + // Collection: sorted docs for sidebar + eleventyConfig.addCollection("docs", (collectionApi) => { + return collectionApi + .getAll() + .filter((item) => item.data.type === "doc") + .sort((a, b) => (a.data.weight || 999) - (b.data.weight || 999)); + }); + + // Liquid filter for sorting pages by weight + eleventyConfig.addFilter("sortByWeight", (pages) => { + return [...pages].sort( + (a, b) => (a.data?.weight || 999) - (b.data?.weight || 999), + ); + }); + + // Liquid filter to filter by type + eleventyConfig.addFilter("whereType", (pages, type) => { + return pages.filter((p) => p.data?.type === type); + }); + + return { + dir: { + input: ".", + output: "docs", + includes: "_includes_v2", + layouts: "_layouts_v2", + data: "_data", + }, + templateFormats: ["md", "html", "liquid", "njk"], + markdownTemplateEngine: "liquid", + htmlTemplateEngine: "liquid", + }; +} diff --git a/getting-started/developers-guide.md b/getting-started/developers-guide.md index cfc7af3b..565bf6a4 100644 --- a/getting-started/developers-guide.md +++ b/getting-started/developers-guide.md @@ -8,44 +8,44 @@ layout: getting-started (This list is in alphabetical order.) -- [Ada](https://github.com/godunko/adawebpack) -- [AssemblyScript (a TypeScript-like syntax)](https://assemblyscript.org/introduction.html) -- C/C++ +- [Ada](https://github.com/godunko/adawebpack) +- [AssemblyScript (a TypeScript-like syntax)](https://assemblyscript.org/introduction.html) +- C/C++ - [starting from scratch](https://developer.mozilla.org/en-US/docs/WebAssembly/C_to_wasm) - [library that I want to port to the Web](https://developer.mozilla.org/en-US/docs/WebAssembly/existing_C_to_wasm) -- [C#](https://learn.microsoft.com/en-us/aspnet/core/blazor/tutorials) +- [C#](https://learn.microsoft.com/en-us/aspnet/core/blazor/tutorials) - [Cobol](https://github.com/cloudflare/cobweb) -- [D](https://wiki.dlang.org/Generating_WebAssembly_with_LDC) -- Dart +- [D](https://wiki.dlang.org/Generating_WebAssembly_with_LDC) +- Dart - [via Flutter](https://flutter.dev/wasm) -- [F#](https://fsbolero.io/docs/) -- Go +- [F#](https://fsbolero.io/docs/) +- Go - [with full language support](https://pkg.go.dev/cmd/compile#hdr-WebAssembly_Directives) - [targeting minimal size](https://tinygo.org/docs/guides/webassembly/) - [Grain](https://grain-lang.org/docs/) -- Haskell +- Haskell - [GHC WebAssembly backend](https://ghc.gitlab.haskell.org/ghc/doc/users_guide/wasm.html) - [Asterius](https://asterius.netlify.app/) -- Java +- Java - [TeaVM](https://teavm.org) - [j2wasm](https://github.com/google/j2cl/blob/master/docs/getting-started-j2wasm.md) -- [Kotlin](https://kotl.in/wasm) -- [Lua](https://github.com/ysugimoto/webassembly-lua) +- [Kotlin](https://kotl.in/wasm) +- [Lua](https://github.com/ysugimoto/webassembly-lua) - [Moonbit](https://www.moonbitlang.com/) -- [Pascal](https://wiki.freepascal.org/WebAssembly/Compiler) -- [PHP](https://github.com/seanmorris/php-wasm) -- Python +- [Pascal](https://wiki.freepascal.org/WebAssembly/Compiler) +- [PHP](https://github.com/seanmorris/php-wasm) +- Python - [Pyodide](https://pyodide.org/en/stable/) - [Nuitka (py2wasm)](https://github.com/wasmerio/py2wasm) - [Pygbag](https://pygame-web.github.io/) (This is based on [python-wasm](https://github.com/python/cpython/blob/main/Tools/wasm/README.md), but mentioned separately because it gives pygame support) -- [R](https://docs.r-wasm.org/webr/latest/) +- [R](https://docs.r-wasm.org/webr/latest/) - [RemObjects Elements](https://docs.elementscompiler.com/Platforms/WebAssembly/) -- [Ruby](http://github.com/ruby/ruby.wasm) -- [Rust](https://developer.mozilla.org/en-US/docs/WebAssembly/Rust_to_wasm) -- [Scala.js](https://www.scala-js.org/doc/project/webassembly.html) -- [Scheme](https://github.com/cisco/ChezScheme) -- [Swift](https://swiftwasm.org/) -- [Zig](https://ziglang.org/documentation/master/#WebAssembly) +- [Ruby](http://github.com/ruby/ruby.wasm) +- [Rust](https://developer.mozilla.org/en-US/docs/WebAssembly/Rust_to_wasm) +- [Scala.js](https://www.scala-js.org/doc/project/webassembly.html) +- [Scheme](https://github.com/cisco/ChezScheme) +- [Swift](https://swiftwasm.org/) +- [Zig](https://ziglang.org/documentation/master/#WebAssembly) ## Use the compiled WebAssembly… diff --git a/index.md b/index.md index 571a242a..acb0f3e7 100644 --- a/index.md +++ b/index.md @@ -20,8 +20,6 @@ lead:

Safe

WebAssembly describes a memory-safe, sandboxed execution environment that may even be implemented inside existing JavaScript virtual machines. When embedded in the web, WebAssembly will enforce the same-origin and permissions security policies of the browser.

- -

Open and debuggable

WebAssembly is designed to be pretty-printed in a textual format for debugging, testing, experimenting, optimizing, learning, teaching, and writing programs by hand. The textual format will be used when viewing the source of Wasm modules on the web.

diff --git a/news.html b/news.html index cc1af61c..1c5c1830 100644 --- a/news.html +++ b/news.html @@ -14,9 +14,9 @@

News

alt="Subscribe to the news feed" />
    - {% for post in site.posts %} + {% for post in collections.posts %}
  • - {{ post.title }} + {{ post.data.title }} — {{ post.date | date: "%B %d, %Y" }}
  • {% endfor %} diff --git a/package-lock.json b/package-lock.json index 086c0e2e..c2c796dd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,9 @@ "version": "1.0.0", "license": "Apache-2.0", "dependencies": { - "dark-mode-toggle": "^0.18.0" + "@11ty/eleventy": "^3.1.2", + "dark-mode-toggle": "^0.18.0", + "markdown-it-emoji": "^3.0.0" }, "devDependencies": { "prettier": "^3.7.4", @@ -17,6 +19,218 @@ "svgo": "^4.0.0" } }, + "node_modules/@11ty/dependency-tree": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@11ty/dependency-tree/-/dependency-tree-4.0.2.tgz", + "integrity": "sha512-RTF6VTZHatYf7fSZBUN3RKwiUeJh5dhWV61gDPrHhQF2/gzruAkYz8yXuvGLx3w3ZBKreGrR+MfYpSVkdbdbLA==", + "license": "MIT", + "dependencies": { + "@11ty/eleventy-utils": "^2.0.1" + } + }, + "node_modules/@11ty/dependency-tree-esm": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@11ty/dependency-tree-esm/-/dependency-tree-esm-2.0.4.tgz", + "integrity": "sha512-MYKC0Ac77ILr1HnRJalzKDlb9Z8To3kXQCltx299pUXXUFtJ1RIONtULlknknqW8cLe19DLVgmxVCtjEFm7h0A==", + "license": "MIT", + "dependencies": { + "@11ty/eleventy-utils": "^2.0.7", + "acorn": "^8.15.0", + "dependency-graph": "^1.0.0", + "normalize-path": "^3.0.0" + } + }, + "node_modules/@11ty/eleventy": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@11ty/eleventy/-/eleventy-3.1.2.tgz", + "integrity": "sha512-IcsDlbXnBf8cHzbM1YBv3JcTyLB35EK88QexmVyFdVJVgUU6bh9g687rpxryJirHzo06PuwnYaEEdVZQfIgRGg==", + "license": "MIT", + "dependencies": { + "@11ty/dependency-tree": "^4.0.0", + "@11ty/dependency-tree-esm": "^2.0.0", + "@11ty/eleventy-dev-server": "^2.0.8", + "@11ty/eleventy-plugin-bundle": "^3.0.6", + "@11ty/eleventy-utils": "^2.0.7", + "@11ty/lodash-custom": "^4.17.21", + "@11ty/posthtml-urls": "^1.0.1", + "@11ty/recursive-copy": "^4.0.2", + "@sindresorhus/slugify": "^2.2.1", + "bcp-47-normalize": "^2.3.0", + "chokidar": "^3.6.0", + "debug": "^4.4.1", + "dependency-graph": "^1.0.0", + "entities": "^6.0.1", + "filesize": "^10.1.6", + "gray-matter": "^4.0.3", + "iso-639-1": "^3.1.5", + "js-yaml": "^4.1.0", + "kleur": "^4.1.5", + "liquidjs": "^10.21.1", + "luxon": "^3.6.1", + "markdown-it": "^14.1.0", + "minimist": "^1.2.8", + "moo": "^0.5.2", + "node-retrieve-globals": "^6.0.1", + "nunjucks": "^3.2.4", + "picomatch": "^4.0.2", + "please-upgrade-node": "^3.2.0", + "posthtml": "^0.16.6", + "posthtml-match-helper": "^2.0.3", + "semver": "^7.7.2", + "slugify": "^1.6.6", + "tinyglobby": "^0.2.14" + }, + "bin": { + "eleventy": "cmd.cjs" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/11ty" + } + }, + "node_modules/@11ty/eleventy-dev-server": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@11ty/eleventy-dev-server/-/eleventy-dev-server-2.0.8.tgz", + "integrity": "sha512-15oC5M1DQlCaOMUq4limKRYmWiGecDaGwryr7fTE/oM9Ix8siqMvWi+I8VjsfrGr+iViDvWcH/TVI6D12d93mA==", + "license": "MIT", + "dependencies": { + "@11ty/eleventy-utils": "^2.0.1", + "chokidar": "^3.6.0", + "debug": "^4.4.0", + "finalhandler": "^1.3.1", + "mime": "^3.0.0", + "minimist": "^1.2.8", + "morphdom": "^2.7.4", + "please-upgrade-node": "^3.2.0", + "send": "^1.1.0", + "ssri": "^11.0.0", + "urlpattern-polyfill": "^10.0.0", + "ws": "^8.18.1" + }, + "bin": { + "eleventy-dev-server": "cmd.js" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/11ty" + } + }, + "node_modules/@11ty/eleventy-plugin-bundle": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@11ty/eleventy-plugin-bundle/-/eleventy-plugin-bundle-3.0.7.tgz", + "integrity": "sha512-QK1tRFBhQdZASnYU8GMzpTdsMMFLVAkuU0gVVILqNyp09xJJZb81kAS3AFrNrwBCsgLxTdWHJ8N64+OTTsoKkA==", + "license": "MIT", + "dependencies": { + "@11ty/eleventy-utils": "^2.0.2", + "debug": "^4.4.0", + "posthtml-match-helper": "^2.0.3" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/11ty" + } + }, + "node_modules/@11ty/eleventy-utils": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@11ty/eleventy-utils/-/eleventy-utils-2.0.7.tgz", + "integrity": "sha512-6QE+duqSQ0GY9rENXYb4iPR4AYGdrFpqnmi59tFp9VrleOl0QSh8VlBr2yd6dlhkdtj7904poZW5PvGr9cMiJQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/11ty" + } + }, + "node_modules/@11ty/eleventy/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/@11ty/eleventy/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@11ty/eleventy/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@11ty/lodash-custom": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@11ty/lodash-custom/-/lodash-custom-4.17.21.tgz", + "integrity": "sha512-Mqt6im1xpb1Ykn3nbcCovWXK3ggywRJa+IXIdoz4wIIK+cvozADH63lexcuPpGS/gJ6/m2JxyyXDyupkMr5DHw==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/11ty" + } + }, + "node_modules/@11ty/posthtml-urls": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@11ty/posthtml-urls/-/posthtml-urls-1.0.2.tgz", + "integrity": "sha512-0vaV3Wt0surZ+oS1VdKKe0axeeupuM+l7W/Z866WFQwF+dGg2Tc/nmhk/5l74/Y55P8KyImnLN9CdygNw2huHg==", + "license": "MIT", + "dependencies": { + "evaluate-value": "^2.0.0", + "http-equiv-refresh": "^2.0.1", + "list-to-array": "^1.1.0", + "parse-srcset": "^1.0.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@11ty/recursive-copy": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@11ty/recursive-copy/-/recursive-copy-4.0.3.tgz", + "integrity": "sha512-SX48BTLEGX8T/OsKWORsHAAeiDsbFl79Oa/0Wg/mv/d27b7trCVZs7fMHvpSgDvZz/fZqx5rDk8+nx5oyT7xBw==", + "license": "ISC", + "dependencies": { + "errno": "^1.0.0", + "junk": "^3.1.0", + "maximatch": "^0.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -55,6 +269,188 @@ "node": ">= 8" } }, + "node_modules/@sindresorhus/slugify": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@sindresorhus/slugify/-/slugify-2.2.1.tgz", + "integrity": "sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw==", + "license": "MIT", + "dependencies": { + "@sindresorhus/transliterate": "^1.0.0", + "escape-string-regexp": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@sindresorhus/transliterate": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/transliterate/-/transliterate-1.6.0.tgz", + "integrity": "sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ==", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/a-sync-waterfall": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz", + "integrity": "sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==", + "license": "MIT" + }, + "node_modules/acorn": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.5", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.5.tgz", + "integrity": "sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==", + "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha512-LeZY+DZDRnvP7eMuQ6LHfCzUGxAAIViUBliK24P3hWXL6y4SortgR6Nim6xrkfSLlmH0+k+9NYNwVC2s53ZrYQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "license": "MIT", + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "license": "MIT" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/bcp-47": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/bcp-47/-/bcp-47-2.1.0.tgz", + "integrity": "sha512-9IIS3UPrvIa1Ej+lVDdDwO7zLehjqsaByECw0bu2RRGP73jALm6FYbzI5gWbgHLvNdkvfXB5YrSbocZdOS0c0w==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/bcp-47-match": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/bcp-47-match/-/bcp-47-match-2.0.3.tgz", + "integrity": "sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/bcp-47-normalize": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/bcp-47-normalize/-/bcp-47-normalize-2.3.0.tgz", + "integrity": "sha512-8I/wfzqQvttUFz7HVJgIZ7+dj3vUaIyIxYXaTRP1YWoSDfzt6TUmxaKZeuXR62qBmYr+nvuWINFRl6pZ5DlN4Q==", + "license": "MIT", + "dependencies": { + "bcp-47": "^2.0.0", + "bcp-47-match": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -62,11 +458,20 @@ "dev": true, "license": "ISC" }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "node_modules/braces": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, "license": "MIT", "dependencies": { "fill-range": "^7.1.1" @@ -75,6 +480,31 @@ "node": ">=8" } }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "license": "MIT", + "peer": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, "node_modules/commander": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", @@ -85,6 +515,12 @@ "node": ">=16" } }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, "node_modules/cross-spawn": { "version": "6.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz", @@ -188,6 +624,41 @@ "integrity": "sha512-XwUEZfX2rvM87ARPNkEN1kNWChKUq5BSuGqu/Hj+iwEclaWSAceF/ldgwjKHDUJeuRkTGn/8WV6/RzFPO7Fn3A==", "license": "Apache-2.0" }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dependency-graph": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-1.0.0.tgz", + "integrity": "sha512-cW3gggJ28HZ/LExwxP2B++aiKxhJXMSIt9K48FOXQkm+vuG5gyatXnLsONRJdzO/7VfjDIiaOOa/bs4l464Lwg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/dom-serializer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", @@ -207,7 +678,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, "funding": [ { "type": "github", @@ -247,6 +717,21 @@ "url": "https://github.com/fb55/domutils?sponsor=1" } }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/end-of-stream": { "version": "1.4.5", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", @@ -261,7 +746,6 @@ "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true, "license": "BSD-2-Clause", "engines": { "node": ">=0.12" @@ -270,29 +754,111 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/execa": { + "node_modules/errno": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, + "resolved": "https://registry.npmjs.org/errno/-/errno-1.0.0.tgz", + "integrity": "sha512-3zV5mFS1E8/1bPxt/B0xxzI1snsg3uSCIh6Zo1qKg6iMw93hzPANk9oBFzSFBFrwuVoQuE3rLoouAUfwOAj1wQ==", "license": "MIT", "dependencies": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "prr": "~1.0.1" }, - "engines": { - "node": ">=6" + "bin": { + "errno": "cli.js" } }, - "node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/esm-import-transformer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/esm-import-transformer/-/esm-import-transformer-3.0.5.tgz", + "integrity": "sha512-1GKLvfuMnnpI75l8c6sHoz0L3Z872xL5akGuBudgqTDPv4Vy6f2Ec7jEMKTxlqWl/3kSvNbHELeimJtnqgYniw==", + "license": "MIT", + "dependencies": { + "acorn": "^8.15.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/evaluate-value": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/evaluate-value/-/evaluate-value-2.0.0.tgz", + "integrity": "sha512-VonfiuDJc0z4sOO7W0Pd130VLsXN6vmBWZlrog1mCb/o7o/Nl5Lr25+Kj/nkCCAhG+zqeeGjxhkK9oHpkgTHhQ==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "dev": true, "license": "MIT", "dependencies": { @@ -316,11 +882,19 @@ "reusify": "^1.0.4" } }, + "node_modules/filesize": { + "version": "10.1.6", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-10.1.6.tgz", + "integrity": "sha512-sJslQKU2uM33qH5nqewAwVB2QgR6w1aMNsYUp3aN5rMRyXEwJGmZvaWzeJFNTOXWlHQyBFCWrdj3fV/fsTOX8w==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 10.4.0" + } + }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" @@ -329,6 +903,62 @@ "node": ">=8" } }, + "node_modules/finalhandler": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "statuses": "~2.0.2", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", @@ -356,7 +986,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, "license": "ISC", "dependencies": { "is-glob": "^4.0.1" @@ -365,6 +994,43 @@ "node": ">= 6" } }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "license": "MIT", + "dependencies": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/gray-matter/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/gray-matter/node_modules/js-yaml": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/hasown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", @@ -378,6 +1044,124 @@ "node": ">= 0.4" } }, + "node_modules/htmlparser2": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", + "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.2", + "domutils": "^2.8.0", + "entities": "^3.0.1" + } + }, + "node_modules/htmlparser2/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/htmlparser2/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/htmlparser2/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/http-equiv-refresh": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-equiv-refresh/-/http-equiv-refresh-2.0.1.tgz", + "integrity": "sha512-XJpDL/MLkV3dKwLzHwr2dY05dYNfBNlyPu4STQ8WvKCFdc6vC5tPXuq28of663+gHVg03C+16pHHs/+FmmDjcw==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, "node_modules/interpret": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", @@ -388,6 +1172,42 @@ "node": ">= 0.10" } }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/is-core-module": { "version": "2.16.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", @@ -404,56 +1224,217 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-json": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-json/-/is-json-2.0.1.tgz", + "integrity": "sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA==", + "license": "ISC" + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=0.10.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/iso-639-1": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/iso-639-1/-/iso-639-1-3.1.5.tgz", + "integrity": "sha512-gXkz5+KN7HrG0Q5UGqSMO2qB9AsbEeyLP54kF1YrMsIxmu+g4BdB7rflReZTSTZGpfj8wywu6pfPBCylPIzGQA==", + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/junk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz", + "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/linkify-it": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", + "license": "MIT", + "dependencies": { + "uc.micro": "^2.0.0" + } + }, + "node_modules/liquidjs": { + "version": "10.24.0", + "resolved": "https://registry.npmjs.org/liquidjs/-/liquidjs-10.24.0.tgz", + "integrity": "sha512-TAUNAdgwaAXjjcUFuYVJm9kOVH7zc0mTKxsG9t9Lu4qdWjB2BEblyVIYpjWcmJLMGgiYqnGNJjpNMHx0gp/46A==", + "license": "MIT", + "dependencies": { + "commander": "^10.0.0" + }, + "bin": { + "liquid": "bin/liquid.js", + "liquidjs": "bin/liquid.js" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/liquidjs" + } + }, + "node_modules/liquidjs/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/list-to-array": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/list-to-array/-/list-to-array-1.1.0.tgz", + "integrity": "sha512-+dAZZ2mM+/m+vY9ezfoueVvrgnHIGi5FvgSymbIgJOFwiznWyA59mav95L+Mc6xPtL3s9gm5eNTlNtxJLbNM1g==", + "license": "MIT" + }, + "node_modules/luxon": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.7.2.tgz", + "integrity": "sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew==", + "license": "MIT", + "engines": { + "node": ">=12" } }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, + "node_modules/markdown-it": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.1.tgz", + "integrity": "sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==", "license": "MIT", "dependencies": { - "is-extglob": "^2.1.1" + "argparse": "^2.0.1", + "entities": "^4.4.0", + "linkify-it": "^5.0.0", + "mdurl": "^2.0.0", + "punycode.js": "^2.3.1", + "uc.micro": "^2.1.0" }, - "engines": { - "node": ">=0.10.0" + "bin": { + "markdown-it": "bin/markdown-it.mjs" } }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } + "node_modules/markdown-it-emoji": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/markdown-it-emoji/-/markdown-it-emoji-3.0.0.tgz", + "integrity": "sha512-+rUD93bXHubA4arpEZO3q80so0qgoFJEKRkRbjKX8RTdca89v2kfyF+xR3i2sQTwql9tpPZPOQN5B+PunspXRg==", + "license": "MIT" }, - "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "dev": true, + "node_modules/maximatch": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/maximatch/-/maximatch-0.1.0.tgz", + "integrity": "sha512-9ORVtDUFk4u/NFfo0vG/ND/z7UQCVZBL539YW0+U1I7H1BkZwizcPx5foFv7LCPcBnm2U6RjFnQOsIvN4/Vm2A==", "license": "MIT", + "dependencies": { + "array-differ": "^1.0.0", + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "minimatch": "^3.0.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, "node_modules/mdn-data": { "version": "2.12.2", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", @@ -461,6 +1442,12 @@ "dev": true, "license": "CC0-1.0" }, + "node_modules/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", + "license": "MIT" + }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -485,16 +1472,91 @@ "node": ">=8.6" } }, + "node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/minimist": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/minipass": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/moo": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.3.tgz", + "integrity": "sha512-m2fmM2dDm7GZQsY7KK2cme8agi+AAljILjQnof7p1ZMDe6dQ4bdnSMx0cPppudoeNv5hEFQirN6u+O4fDE0IWA==", + "license": "BSD-3-Clause" + }, + "node_modules/morphdom": { + "version": "2.7.8", + "resolved": "https://registry.npmjs.org/morphdom/-/morphdom-2.7.8.tgz", + "integrity": "sha512-D/fR4xgGUyVRbdMGU6Nejea1RFzYxYtyurG4Fbv2Fi/daKlWKuXGLOdXtl+3eIwL110cI2hz1ZojGICjjFLgTg==", + "license": "MIT" + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, "node_modules/nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", @@ -502,6 +1564,26 @@ "dev": true, "license": "MIT" }, + "node_modules/node-retrieve-globals": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/node-retrieve-globals/-/node-retrieve-globals-6.0.1.tgz", + "integrity": "sha512-j0DeFuZ/Wg3VlklfbxUgZF/mdHMTEiEipBb3q0SpMMbHaV3AVfoUQF8UGxh1s/yjqO0TgRZd4Pi/x2yRqoQ4Eg==", + "license": "MIT", + "dependencies": { + "acorn": "^8.14.1", + "acorn-walk": "^8.3.4", + "esm-import-transformer": "^3.0.3" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", @@ -528,6 +1610,52 @@ "url": "https://github.com/fb55/nth-check?sponsor=1" } }, + "node_modules/nunjucks": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.4.tgz", + "integrity": "sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ==", + "license": "BSD-2-Clause", + "dependencies": { + "a-sync-waterfall": "^1.0.0", + "asap": "^2.0.3", + "commander": "^5.1.0" + }, + "bin": { + "nunjucks-precompile": "bin/precompile" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "chokidar": "^3.3.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/nunjucks/node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -548,6 +1676,21 @@ "node": ">=4" } }, + "node_modules/parse-srcset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz", + "integrity": "sha512-/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q==", + "license": "MIT" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", @@ -576,7 +1719,6 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, "license": "MIT", "engines": { "node": ">=8.6" @@ -585,6 +1727,65 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", + "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", + "license": "MIT", + "dependencies": { + "semver-compare": "^1.0.0" + } + }, + "node_modules/posthtml": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.7.tgz", + "integrity": "sha512-7Hc+IvlQ7hlaIfQFZnxlRl0jnpWq2qwibORBhQYIb0QbNtuicc5ZxvKkVT71HJ4Py1wSZ/3VR1r8LfkCtoCzhw==", + "license": "MIT", + "peer": true, + "dependencies": { + "posthtml-parser": "^0.11.0", + "posthtml-render": "^3.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/posthtml-match-helper": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/posthtml-match-helper/-/posthtml-match-helper-2.0.3.tgz", + "integrity": "sha512-p9oJgTdMF2dyd7WE54QI1LvpBIkNkbSiiECKezNnDVYhGhD1AaOnAkw0Uh0y5TW+OHO8iBdSqnd8Wkpb6iUqmw==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "posthtml": "^0.16.6" + } + }, + "node_modules/posthtml-parser": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz", + "integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==", + "license": "MIT", + "dependencies": { + "htmlparser2": "^7.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/posthtml-render": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz", + "integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==", + "license": "MIT", + "dependencies": { + "is-json": "^2.0.1" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/prettier": { "version": "3.7.4", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.7.4.tgz", @@ -601,6 +1802,12 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "license": "MIT" + }, "node_modules/pump": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", @@ -612,6 +1819,15 @@ "once": "^1.3.1" } }, + "node_modules/punycode.js": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", + "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -633,6 +1849,27 @@ ], "license": "MIT" }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, "node_modules/rechoir": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", @@ -708,6 +1945,19 @@ "dev": true, "license": "ISC" }, + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/semver": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", @@ -718,6 +1968,44 @@ "semver": "bin/semver" } }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "license": "MIT" + }, + "node_modules/send": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz", + "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.3", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.1", + "mime-types": "^3.0.2", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, "node_modules/shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", @@ -784,6 +2072,24 @@ "dev": true, "license": "ISC" }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/slugify": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.6.tgz", + "integrity": "sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/source-map-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", @@ -794,6 +2100,42 @@ "node": ">=0.10.0" } }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "license": "BSD-3-Clause" + }, + "node_modules/ssri": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-11.0.0.tgz", + "integrity": "sha512-aZpUoMN/Jj2MqA4vMCeiKGnc/8SuSyHbGSBdgFbZxP8OJGF/lFkIuElzPxsN0q8TQQ+prw3P4EDfB3TBHHgfXw==", + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", @@ -843,11 +2185,56 @@ "url": "https://opencollective.com/svgo" } }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, "license": "MIT", "dependencies": { "is-number": "^7.0.0" @@ -856,6 +2243,36 @@ "node": ">=8.0" } }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/uc.micro": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", + "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", + "license": "MIT" + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/urlpattern-polyfill": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-10.1.0.tgz", + "integrity": "sha512-IGjKp/o0NL3Bso1PymYURCJxMPNAf/ILOpendP9f5B6e1rTJgdgiOvgfoT8VxCAdY+Wisb9uhGaJJf3yZ2V9nw==", + "license": "MIT" + }, "node_modules/which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", @@ -875,6 +2292,27 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true, "license": "ISC" + }, + "node_modules/ws": { + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz", + "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } } } } diff --git a/package.json b/package.json index 2669b755..218001f3 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,8 @@ "doc": "docs" }, "scripts": { + "build": "eleventy", + "serve": "eleventy --serve --port 4000", "start": "bundle exec jekyll serve", "prettier": "npx prettier . --write", "optimize-svgs": "node scripts/optimize-svgs.js", @@ -25,6 +27,8 @@ }, "type": "module", "dependencies": { - "dark-mode-toggle": "^0.18.0" + "@11ty/eleventy": "^3.1.2", + "dark-mode-toggle": "^0.18.0", + "markdown-it-emoji": "^3.0.0" } } From e6eb9fc279163a3ee1b48d633e38f439a1f0ebc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Tr=C3=A4nkler?= Date: Thu, 5 Mar 2026 06:08:24 +0100 Subject: [PATCH 02/10] Self-host fonts, eliminate render-blocking Google Fonts request Download Inter and JetBrains Mono as local woff2 variable fonts, add @font-face declarations to style.css, remove external Google Fonts link from head. Saves ~810ms render-blocking time. Co-Authored-By: Claude Opus 4.6 --- _includes_v2/head.html | 3 --- _layouts_v2/home.html | 6 ++--- css/style.css | 36 +++++++++++++++++++++++++++ eleventy.config.js | 1 + fonts/inter-latin-ext.woff2 | Bin 0 -> 85272 bytes fonts/inter-latin.woff2 | Bin 0 -> 48432 bytes fonts/jetbrains-mono-latin-ext.woff2 | Bin 0 -> 11596 bytes fonts/jetbrains-mono-latin.woff2 | Bin 0 -> 31340 bytes index.md | 9 +++++-- 9 files changed, 46 insertions(+), 9 deletions(-) create mode 100644 fonts/inter-latin-ext.woff2 create mode 100644 fonts/inter-latin.woff2 create mode 100644 fonts/jetbrains-mono-latin-ext.woff2 create mode 100644 fonts/jetbrains-mono-latin.woff2 diff --git a/_includes_v2/head.html b/_includes_v2/head.html index 4b246934..29443f7f 100644 --- a/_includes_v2/head.html +++ b/_includes_v2/head.html @@ -3,9 +3,6 @@ {% if page.title %}{{ page.title }} - WebAssembly{% else %}WebAssembly{% endif %} - - - diff --git a/_layouts_v2/home.html b/_layouts_v2/home.html index ef391308..2a161db6 100644 --- a/_layouts_v2/home.html +++ b/_layouts_v2/home.html @@ -77,9 +77,7 @@

    Runs code in your language fast, secure, anywhere.

    {{ lead }}
@@ -89,7 +87,7 @@

Runs code in your language fast, secure, anywhere.

-

Efficient & fast, safe, and open source.

+

Efficient, fast, safe, and open source.

Four pillars that make WebAssembly the universal compilation target for performance-critical applications. diff --git a/css/style.css b/css/style.css index 0daec543..4c5afd7e 100644 --- a/css/style.css +++ b/css/style.css @@ -1,3 +1,39 @@ +/* Inter – variable font, weights 100-900 */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 100 900; + font-display: swap; + src: url('/fonts/inter-latin.woff2') format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 100 900; + font-display: swap; + src: url('/fonts/inter-latin-ext.woff2') format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} + +/* JetBrains Mono – variable font, weights 100-800 */ +@font-face { + font-family: 'JetBrains Mono'; + font-style: normal; + font-weight: 100 800; + font-display: swap; + src: url('/fonts/jetbrains-mono-latin.woff2') format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +@font-face { + font-family: 'JetBrains Mono'; + font-style: normal; + font-weight: 100 800; + font-display: swap; + src: url('/fonts/jetbrains-mono-latin-ext.woff2') format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} + *, *::before, *::after { diff --git a/eleventy.config.js b/eleventy.config.js index 1b3e2690..35d57422 100644 --- a/eleventy.config.js +++ b/eleventy.config.js @@ -92,6 +92,7 @@ export default function (eleventyConfig) { eleventyConfig.addLayoutAlias("news", "page.html"); // Passthrough copy + eleventyConfig.addPassthroughCopy("fonts"); eleventyConfig.addPassthroughCopy("css"); eleventyConfig.addPassthroughCopy("images"); eleventyConfig.addPassthroughCopy("favicon.ico"); diff --git a/fonts/inter-latin-ext.woff2 b/fonts/inter-latin-ext.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..57da6f8d46e2e42d0fd7d8b1d69d39b3b5fda6d4 GIT binary patch literal 85272 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

uw6FG`p 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 Tp~gD%=1~4;zp%;UV+#NP+I>lo literal 0 HcmV?d00001 diff --git a/fonts/jetbrains-mono-latin-ext.woff2 b/fonts/jetbrains-mono-latin-ext.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..310faddfdd181f2dbef10b26ce9231504762d045 GIT binary patch literal 11596 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 K!Z6td0002tw^dRA literal 0 HcmV?d00001 diff --git a/fonts/jetbrains-mono-latin.woff2 b/fonts/jetbrains-mono-latin.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2ca6ac605954ee884442db8ea1d61093000bcc29 GIT binary patch literal 31340 zcmV)BK*PUxPew8T0RR910D5cy5&!@I0Wzon0D1xd0RR9100000000000000000000 z0000QfjAq78XSR|at2^OQ&d4zfgmRy0EHqiOc4kQf!sKOtS$?N7634ToL&Jo0we>B z8U!E(heijZ3|mPSae=W-rJe`5Sygh!9h;xYI5y#S6l5k}hG#}?7iqOP+5i71B^@#} z#2TQ|b*lC|^)E`9#Nrlfw64$zwN8<8*du2d7w} z-`8Uv+~sA;qXa?zxU1AVn&?!u&PJ6p#y2)eI z?q`>k@v}{?a+!Y_7rBfiq1y*%=MS$f8mK`AlIh)c{isCO9u_*)*42C!7`x0ytP_>K z@c(?B{jYt_ty@XD@F1l7QE5K=6XQPuG}KJg2uA1U`P}T!z3&l1j3I@XA`>xpwud)<5>O4_>M{=@~7>`1nT=lLIN-S-ER(1%bgG%687ql%s`8X~?M%|qL4T0IlT z{=7QvRiGTCcTFJ$$`NfJr-7D@XE*=zu>H5w#?TZf8U5Q2{|{de;X^DRSNeVWDt8gB-IGUTBB>q0Rq4v84SL3sY z?)hhC_rAX(iUQ4YPrRdb&DGtD%ePu1;)kMCVYRpay<1=RLQB;>&^liEs^qglHu8jq zFAZPEyay6U=~Qggqg{{ID<2!ov&l(?-T5m$t?!VgsqyFBe}9%Z>21R0r1SuLmw+9! zP$<`!RSo3oi|vNiPV}OTw!Q((^w}ty16vxOq(s&aKlHXD2&j!;M{^ z_o)xE4>o#8shguO0@853&iZ&w57%kLGnD4M&RI|BiCxI>NiNvVZ zice1%N&7mMN60ZY1ftCF4)TEXjXLO8-NOG@$l@Xu6lz+D5I9+S&OE(;~ zo3-rt5itAsSZwo&Nde#maKhJB^m!3vU9t}$l`%#uZG8W*ENlHv{QrMzjkgQ!{f(pd z7u8o)F-BfQL~K#}{eHf`-&gfbKuWvplQxuKDGDk&vyb=R4&(Cw=Xm#p5rtG+A!!}# z|3CKo>SAW|X^!vnb)C14@syB5goLDsMC|^r)n-%?dqG}d<>SQ&dS3_vKOge1fLVqB zohSp*a)w|##WYSCy;IKOOqAY8Hpoc4O1IE)v$7Ex~Yo+n)0-e||8xDOQnt%D4^7Uys-iAD%7_oDModU>9n3)2mHmEJ!5CX4& zA;Ik?PN0L+4*jgI6+p}7{zf2u8~eY%cq<@SX(+D)=?c@ek_BcP#9hZQJjDm`Wo{^aqDxX6koLh-9m3(UXHEPkOL#Ox5SH$1| zlM+XisdQAGddIbB*Qr~NZ}mCli~;9eHe}c}BSzhJkJW^q{OqA$*iD-?=b3qba9Iq{ zvTBC3Jyr=-cY_P#ayX~!{rU6v-~Tjp5Jn~zxlkCp0!}y=w-RL<3}P-YD@_kgBc@@K z(`1r+IOllI9%25T0LJ^q+r~~~nQ^M&FN4ZJM{Xg(x*P6b(&M|D#@_o&$#? zRQ0+g6{ZrZnAu0Ow`8wSK33jVdX?BcsrW*%Q&y-#EdNRVwOlFZeo4sA$_~LTYe?pC z>X6GrDu-an^px94NHPXvEJ;k=U(}21Io0^>VP&n96*P+3d9Jgv!?nG*Cpz>U^^Ntz z((X(@wU@N#wSCuip-tY#ZN1&vJJQ@5(#pr5;dQo{67k}BfP2eb!ENPIxzXH78PypJ z9}^kT8ARozSEm;kD2j_+MP$*PbV#c-Hu3+ck?s6-5kb!cAnMul9+^X zdWu$3Bju7mTu~*)4GE_+L)V&3>xo)KF*4u{cUch%e#>YQ&K^L>EytH6j@j z3>qu1m7Qf$3hSxnMOo2W`jm=_?w2qxkm`VT$nrC#cKLQ1fSL_GG~ z=ey8x!xajG*B;R-nzGN6sHD;Ldz;57D(LWCnd4kAR9vl~V*lgAYZ(EM?x*z?## zWyZuWXQ^ze(d^hAOMpV6v0bLF9uYm%C)=ZaO%FGC=&_*z#2zvvkw{mvUcY-DfK8MM zQOd6i5bob59*YuWWSI>d(l-L7C7BrC6NVo zx9A0O+5&6-?4xNR-#m$q5OuF}`gdL0-0hB|Me{@>yBnQDTU}9vkT%r)GjSSl^{skx z7cWWobBzjgX8T2fdM8`=%;~T@(J7aOj_pHjU2aCWl2Mw7QISOYa}G*?jL{LMhi@-*{suD zf!$oSQ?u+Ol=eC0Kf8+Nw+~s%gXMHT$3|1!6a8NyyJ4U3hmxI5Lh;*ra&`bS*GhQT z1fT-FZ!veZEch~aS7YKGX)(W{$5eN=Kq&q+Hi8KOeD&DbS%KYYr(>e7rLVVp#J*$C ze{kW>A1nX?_EIpccIk9_9?^af9L=!#uEu)UHJ^5>Jr#C8t%2QPdn9!xq1YxpIW@v* zYpjQD^HxSHI(jhFuCO^`Dz`TC8aa+DPFHh1EPbrk{B1O&Jp}#WlVvnZyT$RC&!U~7 z*M}P7mnk9ZCq0L#oqQCYz^d^Ude0{@G@@mPB+!l!F7fYfje3)u9N!mbsqq$)dPP!? z=4=qKJrpf`>DHzXl+*Z=IBU(f;Q2B8Go{p`F@ei{Os7^Fv6&E0wJo^pkY3(@BxH8z zc|>Bo=P-;KZ-5s*Iz$ftIz-#71H%$6cS6B&IXUWt%c=1OxaBdQ1a}71TLA|IF1I%G zZE~DNoT=s;pk#~)?kxiBA?mk2JWCL}VJ3uoECBjpeT(eeK3X50pZ;g!!b{wRGT)r^ zholk+WPSmQ7GP;=nD4d=0AJ?MB%#38Jbwbe9f>R{eflYdkq;_NzchsAVaaS*8er!k zoxZe`rlgg0oEu9VsHE1ZtKuW=^lc6^M-_**M{bTXNZZ}C=y&Kwn*|j)b<&i~x3bMF zB@A`S%~E`+&$>m=mXqs~1#;iyNB>^?cigSjU!n zr4n;2royMy?N1joc!rkXu@9|vJ|<8di^U;E+B#ZyZAH=AKig1iW&ueot;xC(>Bxzp zZo0o4{`W|p61n7XMC)*SpiOHrPbnJ|yrhzA_5 zapl(}eyxA1ZYc{~l(CNQbS&vG4c@z&#>cbHtWm=-!srG2V2 zT?(1rhIcE3Yu-3@*7;=da3EFsJCm$DY%t;Gw6?m2FSDzMB;>15nGdb1ZW&e07Hp5k z^LSNmdZooY_(SW1z%)7xkOk^CELONqL zrkX`+MM9p8y2PnmLz-|i!1`g00toTts*|{#T1Zwm+m$-B@&_g{kQ9+LBi8LrydU(U zuu1`%X#>jW){_&xDzwTh)t(wJxLhB@+{sGfxFrIreH0OwTVyjKaxBNid#8zWTWY6;-BEdVYsU!7zE2z4*h_X^I=1!zFR0Wf3L zAVx(u1)=BT-0MM7N1bS?i?tMI(`69G_`jU<@5L>;ES>W0ARaZ!n^0Cs;9DgI?*@di zokH~UzLdUXYYr2<-hRPrCCr$Wn0>M?iDBG>3{>^)nPfeyLcsHVXr>Qr(hy4R2b}vA zp`fJ=_3SKXPoXDgscFE~kLYGd^q}SX-PKuut7GMq2iha`z!`m@(@s)NN8G&K!KJdr zj;Xco5~zq9_S#a(OZ6gkz-r{5Mu^PRM zUPD6I>hY>d`sf=jomk_%EuuHMRE7yQ$Gs_)tU;UAQp=TGR;C8n9%ghfZ46_zusb37^NXUyxmv|V~kS21ij8OP?>@xHA1S5EbQx<0WXt_HAr<{@W^mYS=$GB7lNkJB~ym;z+Zr-6B)G~4s! ziG+DRQ#KREr}jC0APb!oHM&*Zu27y;kAGnJ!Im=Qe1VfNzD?;H1<3`&~>c$tjMBor^zpO0?b0)pv;XAv-g#nq7h zg9ER?2u5f|4s&1GK#VhJjPmyC`p?HfQHMF z@2>zbOJpaZfCAl!koKPfjd{VDQcQk@&;w)htKz-{yyy|8gTNG1+=qc~{3gJ?J2(2k zk*yqo4NDJfQQ9P+bBN7NLh0;!noX-6W35qvuGjmgYASWseg6P<3Y|&(NLrgdUpM?9 zka73G*jimQbaJmM=>g`6po;7Rbiyr_Yb)DOb7pC24SP~Il%i-K*UrKppR#=b9i_dF z2u)&EhxUxUkG7rRN<3(*IWYR0>H>&-PNCMYxEj)rm>i{6GD71r+02AG+Ws4L2z$cB zTnA7QRw82jVNC;sSQ`ljKVLC3&^O=jgbfulCK37plO`C89fLW+a3zBS)5t;ezbVE- z=&)E~2)_&f?#5R*!~lB-k;ar%z+NcCINA~;*qOM}(XN$)D%Q`}5>ysKtG8mhg;5`D zpuL4qD3+e7p~}5ya4KP+rW?bw{4Fd5{$!>kUhB+F#RyvCZYtJgog{9-Q=(-_D1J^) z*3xF(<@dm6bF+uT-;;xRzqa1)K3A~PnYd;1aIt^8TL@zb) zQBkoDdKUIN?6xqu$6VDk#q%niu1I(;Ca6Sv1#X^)Rg|3B*{EEkNCQ@oTtnC);d;Hu zqwf)nL8RI5;Y=bD)mrrVx+$VXH*UYNo=sE3#j!IF1^o+w2Pg5|L6)sRXVL?=SqmJ4 zkr|_vh#?-<$twIbvb96m$*j8y+)C$ReoKLxF%-6w;mRzVbO~M$Th7WX8FW#+#_=gW zXC5Q^!o!4DNIahi0hlH+S+l_50*h{4c2QK6wZXtA-sI71T&ofkH9R>mg9hOyQ5bxi zPv^v4Z6>rDdk%$~Edi#)T*OlmPYs}#VxAkHhM5XHC>W2*3$$(MEL?jK-~N3*dm2o=CE4V78|s7uXj=DC zx+$J^tTPDV$+W>(EUt!h5>{ELixKJ<8*L^~yZsLIE_=enOfOLx>w06<{olSN5dHt# z57*z~6E6ct{uNOP6u}vU@I^yJZgUMn=0Hht?5$wz>-~;@)IU=iyq4clfr|- zHAXTAeB0~cu47T$p!;nHaF6KbBoth)MVE(_F4`$sS2Rjc+8R{dLd(Zksf^Tyt{OPn zYbmu#R}>~_zHNnO3g&KBVpc9)8YVs9m(>)s8UGJ&U}T3fC?(hfuOOj@d3u>VHKXGc z)rT(wfF|>o!x{*x!8Ssf7_P74VPKLgoQq)hj5;aMH7rAKmodZ=H6T|tm| zOoj!fS~LofJ}>5|W~+(vM+7lpYaoV&m^QD(Ec$hciO$1XCf7}H*BnGP7KOZ!s!)$s zBHLtBwbTQNxD;CjLSG0O5;At^(u73MI=ffz20#5L}m`Y*B1K(v!fknbIIvG_wsS8+>aZlGxF1!2uwtlev#ya== zS{0w zP~}O{xu<43=>spX4B)3%>b0VH-j4nD+jZ>q?4)OI#?x!D-{E;T?T0K5yvFXwULo9= zWRFsl_c09@9zwDSGaB;Xn`CsbOL1-wz{BBw&D)r#bs2es-BpjOX&=O7KnA-HyH-JY zNhrHYJsG9rYIv#MEluoFJmaaosjKcY2JBw!q+8TkeAR|pc-M4ay5`Kr(|YMi{dsy7 zw}A3lmbNo;D~qckeF;8YatkArFMP~Q$b0P`XMMFT6JF{!%aeXF@&$l1u?M!Z3asP*}=nVNLz%-iBCJJ+6ZMVm_(xIa@x)KG87_V zLjKCthXJyHzCm2|TIR+7{aedw0LsuWM*-OnIvD->5LrHy(81EL!AuA`doYUUhlxFS zNyx>No`;jMfH`r>niPu0ab^vX=0GJxX7Ns$17~bA!DrloD&sJ#b1N;hQYk+^EB2vV zK}7^Ojg^3h-H`U9Z+j_NjL<&mTW%)gF1r`GojqY<&c~=QYrt_nz{me9MW>pRkrY#O zguYR}1h5-b-{33106pJzywn5HUtRJk5bEsh>?;im6JI-OO<@&cx&$OoyHU7qU0>ZW zOuWkga?&HC9q3~UNbHV{Z0glf$!^OOH!_>Kq#7P%<=#lMO$7u!ciU9XJ(|*3pUTs8 zyY}3Nx7BD_-MGkt-k{7NB8f=ajIt4BqL@3=oh2?!dkZCvnS7T1I$+R-vuypPO?hO}HYbI}_v zvI1^mPuLoFIw~S-$X`!|{|9GKfOrfm9;p#ph8AUTkzESsGGF!n1PC>4M(ZR8=8#oG z;QagFr1GE@unQg;Ek?~6kl4i=R@bkKnPiF!6}N!mIO}qaXkl?Rq=l$um)Oe)Es$D@ znGoyjd_*IA!o(bRP!U-J{%KUfhr#bmfb?WbjL-v+ELSnKrknCbln3$6cDk5uGWYfClk0S#Tu}^?n zQJD*2&bA_h!Qji(;*D1o*c&46wa^e4eKRff9$AQcVDPLJ-1whR3A)c zx=wI9JG}~#yPB$-m+WZaOtGh)HD?x+){_p?WFN-j^STlEh5S>?hu&wa7JL{7nXbJ5 zHYLVrN|iS1XcJ9SB`rzBh1e;T>vp(E$gWXlMta5V=H22y@Gy2p*Fcky^0u9<0no&) zl7;Wwu9cnlIUIi^8X<9wQ##6typuVU=DI8jn~M#JA&NxtGL3 zEI=(RZA~bq&<*Br7K?!2R#{9ioHU@Zh^)@E0gc&8T>Nd2%Z`TZ%;b@nHAaP5&tQ|& z7e5Ui?cpOIlYwWDc%^DnO(Uzs;0$&Il*cozVM{@3Ca&aRH-Xp9{#D+K$W!Cr-QXeK zg)|Ha4(|8jVb6}{>ktq2)SUm&$K$Vtyj`Fn2-U%Q+z{0$R+kp@Qa#ROV=mp+6!?EC zG%Kf92^}d@aWeIwK?s6?$qs@}Ttk;#SF7r-k-p~jfl+0o^q^#+xk08a!gw(Q-erAF~Yz^YD z6BDz5$|oG&56)g};I1{=dB? zMhb6_;Vt*Cb=6dLxNKHOd|<3W)KCQRzH0b|5mH6Y4xZ`^wq)FTuIyNb_W{yU&`P`j zJMZ0%T04)e13(Z6fB{uLEIS1psd|iBh0nHT9snMuuMb;IstIuh*042IH*P0o;I0HhVoz7(BI)sJTqQ*n|M&e9QY4tkVO{ z9RHXX^h1&JXEN`ZK!Vnze0Gr71`s^(Lpj$gADt=e?h9)IW$hNsHC@P~QM zM5D6c4@~?`HBF=h zvEsyw;0;VPbSw=2SxtyfAd3t~Ej6WVFcpY~o<$B5vjUiWb_T`Dc$Dxe^?#c+sn?*< zELGa2sYnI#!#@AisoOWYAb>uIAUFbHw3W9q8qpTV5$HA{g!9xgY@ivoXG7CU`;`yd zQ)^ZHu(xTIvR3E4Reits*g0pNxQt3Kk%dd zG<@N}3vffI7uv7P90UY_W>%w1X0iBs{ry~-n}dpB)h66CQn_eV!L$x5QS zq>_>q(_)o3dbW$|EooL^NkJL7HY~8LA{z^x%8waLA35jUT|{U%Hn8&OJrm*TE*$f> zQhkL)FY-MlN^N0MA7v}$R^DqdVXqq1x%_zBn$ge)R1c|6vf*RuXZ~ISXi-OO3#fG=Kk(Z>8L~j#V+DBA9zi%xI!u-6tWC zI3SNJpU)LkF`NNSw-Nq-{!v5CX780yETO_6KQ5OMf?KS2>#&vGI;)%j%jYH;=UE3M zJ@*!B@zulY86Z4W5(zZ1?Pr5gH@)+SeF~r~sv(aQIb*W2ncB(1ASy@az(qw|alohw z`y>_6y$Atl$YuSCkeDI_Jqdvu78UN5r{}I*@fXA0Rn-bL+IE7-VReQf6kMbA=Gdw> zLSqMf%445)ebOaU!(rfJc!U#$zmb3m%l=%>5;v(1P>ki!-if1Mc5m<1Hhxy(I)rJ zBsao`D-4lI)PxgQOEk?QO0ks>Z$+L$dtkUtZTQ5iWgkgsfQia!V4^AC0TB}QQ3*}S zsK7@>K9#@iKoJB%5_S~^ff3+wi;Vd*Y+Fkx zs-+EKMv5#lWKq$UqENp$3a!R$;graj6~024F$!i%B!4rzaTm@t|3gdyd(-Xmjd;P% zS(ev|(E=+HE;u$~L|_cqF}fV*>;(HN5TdkQlXi`52W>ibSdJ${Wg_Hu8#a6bQ00qI zwDUKmK%OctHxJJ)Rprp3@qT*%d6zp~6`6Itu&kchH6E6b7d9rT*uv}r+t=>}ywSav zSj?_`35e$(5>dFiis{GnD8tr@XAFHtXz|0^bo|?&Uj~Y2B ziafSO#{=SGq@@b9bJitB6(8_N>=cIZmtX^cS^89Y+R5%O|y zwl*q7dn}PEd1>VJG`6U04~kNhuPp;-bv$|VgAszAXrc(*zE094ic5_py;oJRvlX?l zCf++AGAK|TZDzLS2t8UWLvBlJ>@p&gIERkf_*eFA1_n*-L?95@I1dUZ_hVCN?6Q9F zeUG9i(^&m5J<~fQINXHQZ zZz_v{ksHQBY47UX8`eN8kH8e089RnS5MmPXM1w8ja!P<#x{h8Tb_(;9vkAns+u){) zT9vcKZEEgTbhyhEN5MYV`9$-?p$$`=XQ2)s)z(y!zd?l2;cn%^^|*OX(H;*A!>59N z+!M+5`nC&mA=FXp*M0J8e&!ceFcqHcZ~1o$6C{8##yWVp%kPkR<8jO!SOT>TEg@`jDn^rB*N!sKdo;?N*!^xgebIyC3*3DF(d_KZgb}eg80Q zC;oq=w0NI!fAnesdM`gNjCbGc>r3Gz4wA^nk#xsegz@w79HH>m^G3u(1@9xp%-Jg0 zb%XBHwgsU5_aYn7jh3C=#$=CKb6ne_N*^((wQ5$^h6R6LHP)P{=Mp+)>OTm`IJC!L zkd@#_=n*?J8wHPX1_i3Iv-7cAo1zW&7|e>$lW-ACUta{e>U0a+gi&Xi4AC0Zj+ZZ_ z6gL)}!G<%F{lkb){H?*&g61;%R=g3Dd8RQLlTe8h)=#&a3bo}o2!iQfU(A0N!qxuA zM#Xr784UF=yAbn1(Qxm6`!-s-Vc)ATX2*wGZhh7ia@VbG_5xzwm|@E^4-E7^cY{xB z){Y;16B#!*ILlwiE(4dhuQoc!0Wb7uf2Qc+^~>+y+vs7wQHq_|JW7_3Z$%q{p^)+^ zSxQxfG7Gv>5O)+xb>-cS;@!0ZHyFWYFjVLQ!43^cwK6)vWJos>y zohfYc&D;L{#$2C+$%+>ASG9S<9;M|1nD9<;NnEqBQVKpKr*L+PTfSr=j(mnDOM^1w zB6n#3V)=X)@IY%*0pK?;6>5D?f0<(*e2B3f?s6#V?Q7Ol@CZfxeA@75$NI9+?oYZ< zeOQ&|Yq|;}bxsL#Zp;(Ok?^R0!EwKO(WHbUPR-n5x6X+BgK2gY6b?bzi2{lvQe30yDsoh*o);KIt)vxp;$ror)4$=+XLcY(K|65FF z2fWOFo86je^xO9Rqv9(OHnoY^OH`JUV{+pxpDP*yp`mCc zCkdQU7D1VCx6Ndn0*RumJ&8os!n+%+N&RXqmJ5`Q8tsZHPTUgOUlx4A)0D&6>XXaQzq(qB$IsW=JiWfNy@lcMXwwOF3y}C|m31#u{Q@b* z#R?MD{`lyvP@fq>}MJFUI@Qs9Bq3cQR58@7+K@wk69%5t)0h=V;b!a_siJpLndvkIe6 z9*D1UF3QiSQ<2r}$ftes%wkV_P^j2@pBbF8UezdDqmXH!*DaLJ*J9Ku$8P`|?x?DH zS=yM5Pa2K9K*B?u&z#P~KAk$g(t3po6^WNdA~;*#4tOL@318@jO&Vcw316e}2(pS{Tm@+q3Jt6>t27ZW z3>6M#x$}Q{12->8keJ=!(|iJ|TV`3^k{?fnGsPiabhmbmo-tI4q@`M#R$9h&3}v=* zjVVV%gZ)!q4oDAktofVV=D#StqXU@vJ}ZwEV8(#w`vX|PA4*KFI}Okx?bfx}%YA&9 zi$`(kb1D8>2z`zMAGS`s4qN=s8iWVF_O?n~ix?qDe}-$19>ho?l^t!sHHypXc1X*H z+-K)h4d(eU&@zfIF=4E$K z2a=8bHmf=7E&IwExJG}`l?%ll4J0PT7h%sA*7!<1jK8p8k)Rgc=Mar3N zb>$m}0yoNGNFvp!WgEdqM`{kO3;ZHPTP75h6m*Tq!wIdfR7kC8Ag!$2*!soK|01COBt_x4 z#H7}$k!(pi7d~A^HpQT|ISOHcClfAdsR2%03@H_INFvDK!B@+ZjWIUANhvAv^1;Np z!`O3dcq!nJDr*}{Bk@S3T%WB}=#`OpWLZrEczNnx@!VJEra8spsm^nAUd=r1rF(Gv z;=KZK0vS~dOj|XMQ-HG5_#W&?N19iCG?&V6g)?X6Uf( zxG^Ii1Mf(Mhm3Ctv2o>3hg>BC3yenMw-v`}G7CrKT284q`yV zv}q#ma)a1hzE<@SJC(~|3#C?QXZ|kgH;D-ksRPDcw1Db?|}3{o8IV=@UG zVLT&2!QdnO(Yoz=5!rDBWmR5|F27{Er?d`hKjY@#ifU6K)$ukkoxbUbP>}_<6js(1 zr{Hn0N+*|1@h__QU@1nOV#Zx?I$I>C)1HpxgrVWNM#NN%x|udl&NjSgJdK(4h)JEd zJ15K;j+%{@l7ceeicw{`+yV&lu!WdXz_#XcJcXYr*`i{P5Y}K)r5=&Xb#QiiE?cV7 zi{ujz2@K0)K(!&)tk-VFHgCo^|A76VRV({2z$ST`8cW@{Tcy@Xq>xVaZl$!P5xhFa zaLsP&Pt1f8SI%mhnKTD;3mK?*5uss3;qF-F0#yIl*{KT)+Z;oo3rNv z!B_D|Lu={=Yc5JsFV^@6eMiH-jH_uoQgg*9eKBX&5pehjdgpS0cV2$US+)8s+MZt; zaSz~l*6eg_6)u~t$3W|ONx7TCE$?GUJ|@9mkBi%rP0!<*~Z{c^As-=2#E9xM3Q1FD{Vecooi1CYHOPhjM@*|S<3k5oSP%Zy=`e3wQ;AS5E-n{>P5q`1DErD- zpR-aQ@dV zmLE>8s89hT#TI%AcZjD=%X}ghKh0!uwLK*nHoC#BDVkO7wPhnJ5hp`G;NjYsh9b3; zpEr}ERx2ixRBdo#tkQ*h(sgVxq6VkvvkK>^O1(i=T_xA^x4hag=j38$eno6r3-z#P z7uZS=kFOd6AFVCi(cxJh!`wupZDJxs*k*-vRtro^GnnSNM&lP-G9e0u34yyDT}Y)+>e0w}xLwrjQ{L?1Ir9e%l>&(yl5q>|Sqpr4r&X{*Zqm%r z?IM}W`BSLX3PoCtE6aa-BYx~*5i9lyfPY$j8M7h- z&EUnyC%FNT-U0=w5o^R9UP-*t7GU?oaTiht?TQi2AobcDdIwbRq;X6OgDd`hZ_v$? zH=|&k|J(d#ALva%AxO3-I(|?p>O_H}+&pFmaIj$DxN*cAsTW@j zzpA($?|UljxwQm-$)^d0nLQ3$x|up3o*`PXZ|fpw{0)OTY;Ly1vrB&~+d^1SqMURG0JikNd_F!(->dqP;>wu-r3*+DXd~f*j znmV#t2!TzjH~xnHrhG+`WFII3@U;AU9zsjGgoX!E%ah~l*uBfyJROY*r7Imuii46+ zC-3b9ic$X5ThJCU z7^i5Q5iigwbSirC*`uRoAn-NVjP9=79*)9|2XNNg&_U9tqPmn37M6a zgsHfKtmtxfv6{EOYE?{vP0E^TG4lY0+?eaDV>JTY0D>M4EQcGW!O;mX`4slS$FHvN z_nf%-~5#RgF`kD)hY&`tT3bIo!jW_9LH*+vf0T(wB@>{pu@5}Ch3!h@#Awq ztXe^4a`sQ+Od4l;uQd_6z?_vn*8cUCLU zyoMz~`&7~1{Uf-jj}_X~9U6Q8Y0wbZIEXf)0&so{1%=53so#Hj0@-6;^P*rpc##<- zl$)hyFr!zcRMEQkO@8=ZHWm~V*OQa${dW70SpHw6WJ>Jc4#&&FLVqz?J)WO`1;d{F zotzx<#BK*_#?AyLGhru#@hJz#!TA(K_VyG9*HjZ6IDdb^q>nGV9T!?wl^?uN*@Fd_ zSAjg77kd7m&I@i0uggv*I|abJwLzSr+C=*J$W_ zD9aw^5x@$G{2x)W>hhOSnoJJWNbhP!FK43FC{To($ISm*XD=?XegAF0i384kj(&d5 z`DuX7@6(ox`2*?)%U7@iy2yTLQC(uUej-_+M3^JL2d%+;2Hx zkR;NW+cIHYuBF4G%Y`$yrQVJu>4Rhpt1(rKm$y{gy*16nh&eDVtyI{+t4(8d@;Z2( z;1LOP6fxPE#Jm1=1t}4hW zaoeab3Rhox_#~x^^#Y6^dG4q#wxHH(mjhjauRvFT#EoJnQ>yFo%>Rx}mYq$dbK_=4 z>caD#a#>EEH#lL_dm>YHftzfrvymWAT~8`GtCvaP-YbekBJv#Ba-&Td{Kcz-S-F0^ zECRc8c?pd+#LS7fb7>KkxjP1M{FY{gy4KidRM$2uEY_wc)YOcxEaLJVvOXE#Uc^%> z6$d_&9EBXnF4d`o3xr;mO0_W$P5|)KnGH}ezdtf(IW=SwYSgJF$ob$J2f`E-J`C^jc5jTOLQ2Y`WKp=i*cjr-lz%<(Tf z@y;Ti9|V!*Go(H6)5??=#fywli7oJR;F%u~KI$*5G3PR1*xHBfce<@{`mzUuw6DvY zMl`+X8MmwJ=v;Z&6eNOuJT)V8cK;xp%$OPw}*sb zEs(Bs82(Qp((__XUaYSAba=6M&Du)W>1lWnDEF%}f!itQpUfWFoXK72u6_zkoW|Do z-_qYRbpTW6r&*%#2) z90=|g()kCsp|>ix%TRxC>ezwaaVpWqnSW4w^X(XH1-ctFNY_=_mFy7ulwIC=qP5I* z__L3L9+d=_JPLZY$5}e&E&T$2QM}`0JZC<?@1HS1oBrviXydonW^eDjN_?MHzKr z{CD*C;qi4j0aJwH^Dz{SJSs;dnm4v~27}7RDa}RaWX%ztcn&0EG>FMf0cLjzLR$)o zsku!Pq1JBg2N%b0!k5NT$=~*Z5^xE2g8~#>tjXRnJnnnUc+8^QpB*SJ8Q{+qW{ogw zMb3%mU>r?BSE8Szc%xZS{w}Nv(C1dyxL?ZAey>B$?!08}nR7lUT29CM+>X_Gu_jzw zRMmKTnyYf{8gDUZx35j5Dw*_hYMQKc)SjNA@UB@~p*TIg%4T?_s~WKSGdTB(qdAU& z0XzHjG=J9|d=3cs_I%k8hs6KN+3%YLVKcry_o*woH2CA3n7kU3@7}x4{K2D#h>AZv2{(%@qJ{r-vCf9jE;rRRlAYs?yD{g<+vsrWcT|P`<^hK zm;t&S(EjI~9m-r_4A$k}`oOu9y|B_cDBIS?-``u^X51TFHx}9)3%_WJe#CX2yhi(S zsjrORvP#mc1y`{}l{*^UjB*>&(89k4twx~HM=l9^`3BU8&BRKCf#7^!JAt2KF#DI6)KQ}3^ z7yChGGJ#)1Qbfxr>Vp1{)hxZ9UOrtg`~2MJvRBt*mfNg==h8zJ0s()953}o)`pkY} zjoUTZUpD5!{sO&E9bC%4PK8`~l<+E~pTgwo8z^_m$;a^l&HrA7oB`$Er*$q<)FmWW zP?Qd3Iup{R1HEba4)^kn5D@MU&qB8I9ikxvq6nl_a zRMw$h%(xONuzSqCuZ1Ue-(s)D^BXS|+c$+DL?6u>TeCkV=IXAwW3*REKRUCq+O#Ao zC5cQ;N}`fu^}E6VoFyrF?7~t~u%>x{wXnI@>+c2MF7)-5)`ydwwQyN)es6Dip4Dar z9FG`QWo5xC@haDz01^`k2?>PeH~?r`O15uqofZxv$uK!%8Vhwry#AXYfZnZU$P5S{ z@~!Y_3JUv}k7<;k7QnepdGaea-rOt@cZARQVB{KhX9vSac6wm&o1Hd|JjXB=+F(QK z#F#cE)d0^|8*o|_T@J4H;3-}jqd&DOHBFtOT>JK_{hFC!l(&JJ7(zQ0;v^sdMCAt+ zz4XxY%bvPkdu+Y-0#m?D>6I_(^(CjLu5*tgID@_qM4CNk^qf∓Jw5)|1+k+LPLo z+B36fX3xx?nblHY6f?A|ie6j2dT!~J`M6h>7qg8q_Rzg@7%k7_23bt*iwSCl5%R zR6R+VL`+Ue87;L<1V6#EeKI8Q{Goa9Ln_RX_^R&1q_gbJ$~C=+k5=-u%lsDqWWu=Z z)6n{M2YBH~Z$v}jd&xCw-!GlD0vj2}1&?}7kzn*1(!d`zGuy)$Ts=LNKwq&maIG^@ zL#NAs@!{}9nE~ILNb}p0GI!@Nd&g|yemFPXhe0owPiUa|Z7wR?Vt?Te0of~Nf( zKo~+_4m|d6D@0@g`cr)%yQBdEPXU^+0#6CE0h>e|%}lrsm-G8oEQ3`j(!tyMX#EKJ zVPLAHH(i!e|1w}gh!ATgSN6S|MHZR!Vng%Wsgt}>y;p3_Wn4sVTy8)Y?a)f}1 zrEX8P;4nP3AYJ;0zPNl)#^k{@4doVK>1tMJjV*=4Ww5J(|n&;5#s6xX9mq(xWl~2V=}y`97_s)lJ6Q?x=?v-{`%H?XWF0bY!mLSY z$vZRRznf8N2`BL4eBv@pk6!%4BdV0D%2IPjc~x9RqS_`;ZR!E4R#d6dnop#5YfI6( z%)?a_8$h{h`EEaeOF$5-Btyz(B((5`(3zuvuCi43odl=K*DChc;PwX`hjw_l*icDB z11^K*#iS9R{DB(2MfQxFwXaPC>T2-O_kNgDjS#fNPcilZ+hI5SZ0;`<4!G?O+xRoC z;Rxiue+`BI&T(`Zz_gD3Ta!T&QL%6d$w7)N(C%lh#G+J`fwGVcsgV`6pam+^Q5{o@ zx^!9J>L*Q*1Sen^8?Y7U<09N`2keyHvKKys5E2zc6S35fc$NRdo4n8O`@bxLrdgox0>R?guWK2b*5Dpaq|=v(P>bgCDgtPZfm4p+P0t?uywUvaWxZTjYI+4kP(v;rp&ea5Y{y@IzwZD1q{kP(+dk5Zy7nGG(MYYW- zR=j1cZgV@kxXZh`+q%EUd#<&L)f;_jd*}PQFUL2h49kn1H#%7W=u&JzT z^&jlB%pnM|NxXqC=V$m3AK_O1fKLmNI3ZWbwbCya%6@5)SEW@xQLr>arD}pIQrpyb zYE;eXWqOpJqV2j~FVVgFhW=H%>Nqd-Qg4{I%q#I)y$`$!ufsd%jd(wKbKc7)#oz8< z@gMrmc3RLG>JP}?AABK-ZXCINmiIzo&V?jJ5UJ);d|DCKz zmL=zsiNuz;9Etv#5yqIhS!6t>)%2KSrp0ubZ_P<_&RjNE%uVyF`Q5zqV0)TP?09Rj zCAPt~*}1mc9zqxGs%N>OP!ZdL(?-0@FWg*eE`_(8!QR z@vHdQDj^I>V`Ic$B{cS3N{wuB+Y0n;8qyVUIB)Do3|nH7rgksJie23Jf6*X@Vmjj* z**XZJA;LbBwI>y3E1HZGx_W&r0GqR5 z;zk5NRY~4U?R-B9_QiX%D^Dbk{KK5B6Rexwq}|TgFBbj=)#&{>lUO2@E6Bw0x0+OH z_sIv3Rz+K!;a`($TT3fTTXV3M;`N%}61s?FJ)FJ&d+^RPevnA_Js=z5?6(E?T{g=x z?U3V07E9I(wc2ibg_nTDMLcT=*QBlT^IzvW@ZDitm^av>36K=8pbzTNQjHSk_UPTq z?&Fgjp~$ANIOcB@B$m4GSKHxOJo(Zv(zmaJ{&tu~3F1{G!cB7cJ$rG^hWJ~pRyp{G zBogL9(Sg}hY_E;D-P%fd!DoJ##nX368tZ$+3xB@!~PO8<5RGUanqb|JUt9tlF!hx~NMj3v>O zFj^A{e4_l9Zy!bCU-#|BSQ_2m`0u~ApV?uFco4@&+%YR?eF8>3+9mQq4T%FfdyYfW z_EgM!ys5N1l<O1M(cx` zaO>5oU?MtUs`N?+j|LB>7`g|l2!ZBsiQEQ);w4Mm%`)Do&C7Sqx$5Y_Xtf*cy6jwL zedyR28LeCA01+0=NqTwgoVO1uY~DH*^YDey44WBU=q2xm;O6kXFI!Tp@SDzp^w`He z-h7yo3>KyO{bq=M?Q83R({r-4Ox5Gv!P!A~lmO1Vzfma{%jJ`1AXqf*K>FxZ0pYIt zFhl8iH1zzrF-0riK_?n&yJ#K}B0OmJ$zSW=36&3i3f_8og%ZQfg;AJ1h}uJ`=KN2b zg#(-W`XXgd>&YJ4Kf-`#Z-v>BJnnb)WKFCYAJKbXvXhwZL|G(-!sQgJX{*BNV4<< zrhGag|ASqbFGvcRA;7BJMl~;MiRI+Oo(~|I@skF6xvbz)?3=hM@b!( zNt;dP65BRu)Zp!i$^mkE*19c}FcxDWtTk0#67(~$mlGOII9170OHT6H|3WOx9rF&U z=iD1FedZ0+8Heuh|2vR9D+ozg#+;X=8Mi9G!W*9zf|u8Tp;NvCuj$$e(UcV@0eq}7 zoK$(-(30f7rky@qB@FT@)@XpGHdPA@q~NvbAQ7a={2Oi8H2+M66+m)DMc&rXn7 zsc{cJ7@(C}vmiNHr5E7YZnpz^(|~4Ox-V8vr4aZtXBa!Qe0#sQQjg1Yui<#S(z5VA zk6DvwTd)qLL-L?n6d^;btAh$ypytLCSR~^@N(oTefe@og8eW&_)l~R?u2EU_sYf*@JGenL%Y$ zxQnomwCYN;{7~seRg5WSgBV6OUx48GdLz8O4Mxg8-Q8vs)fzNsdFWoQ0=H@MP6pE=!!RP}+4?3$=~V zbh~zV3J^NA9OdrYVF4*zhxSx-%3}5v!(Y$!?bk$s{Zm5QE`WnQwA`nHy4nTx;q4({ zd3|vS=dz?N=6Y{6G>NZV%RZ-)5~5XMT3sY*z~W80GfmFOx)J`)wXJb<_Jn-xLQa;d zzi{c?T)aD4CuY#NDBd$^;K3WCWk1Gd%^L9kfqLivQ{8;C@j*$k-xI(h%0w_B>=_j) z6bR)?M10uMH`sHwQiLFL{_W>z`_13A8KgDaNR~sdp5hFZQmDkei@7VbT~BHDc{8Jm z4r1K~IcTKYs%{yvHLps>rsqQK?0v-%)O~6-Gl~eLS1V?=T2vVmzf~zxK zI-f0r@eJOtyLQTMX+D@Xb6G(P1*3xg@!BhmGi)Fg6xUSxG)d~@E(vn@zt`A@HO73} zyt2&&k0S$tx&DYFq_K%{zU(KADrTF>@V-P&P3^Oyyf#2x>fsilc6k_*78mE@3+I)Aj zge-zB%d*D%>Ge6mDst0J!a(#&X&b;g%MOzim^UkI>uK%V{rOA#M@J02@c}@dL8m7r z7Pp3;uMoMY8CqeT61Wt2df=9wZ@8`p2|+b{H#@JnK~t5-Q_PW`#}pkbxQhIs@tPMa z!ntG+dT&|Fo;5IP1s}Y%6E1iY3>B*c4emLLR4b+@LO6FaF{aA0MOEC6oUT|_No7B* z^H6(^uwYifOnO`uzCWTws>I>K=d?)nwE-jmZ<{8=))!JnxmZQ&X-9LflqS1N<}xQJ zK}y%xBn9KC__ivoMtPxj&$rcxe8G951h{d0&-a6_+wdzTg}s@H6T-P$a}^y{dfAE& z)3IX_ha#YlE7G%ynnfv;nG-H|#S$S{)I@8}4nbI-N^uH2Vi}@pmaQ0$v!@4wF5nQJaa*ic z*d=>ghDe*VeNGAxlT;{<&&)^76}g9-l2jwi62TDe1sQ3Ly_Rs(cyei4jo__lQiV#i zX%S>eifWcRcfJ7nKAbt=LV!Od$W51`#c=d)9?GT2#9ELRbdP0*zy z1zM*rKh{(6-~Qj!cVZL zA#*;iWw#OZI`)`%xs8V|EZjJHa36|%kaUqg$c-IYvw-j>4&t@e{#eU%vX?OjY(czsilS?L;-Qs2w4nxsB};w%t~Q`Y1L7dQ@GA7P ztE8^X%gwQ;KbFC{w|HlruI7OVb|OX$VY;Ii4EIW6lClnmaVXIcF@Mtno#E5H-y11q zZhR~xQCI-``TXaj$LUAlYt9ds56k>cm5qBMcs%+jeCYTG=TUjz5ZE2CY6MG1%TN7( zX3k5dg)y6S_J@yeW|*xTL1zQ->bLwke#2rhN55-a3G*or4D8+aA2Kj9`Qbadk(@NY z!bGZoshvM4m@&cucI4vGj|B;=JjUXMK0#Bj?cV+I?ze9T$j5^{3rP<@hI`CQN{H_P zvSg5il5Q*k+eA&_ImBwHLKsfTWPFY|Ji@P{dYcV z=+wzmpY8oR^Q-yaF1T>gFTVrNyb>!i2(+v{^=bdzgXdG6<*d*;8nE5jO1dr(bw)H{Bhqx5Nb4xj#br>>fNwc7fiH18dji`H?i zWf@RqE5C#}W=PxoKJfI@9~V9{k7vODJ3V;c2Rj)ezA2whXoCV@TV+mZ^#=R;Nb!JD zyMtU>x!Gr^zaf+X~G&9U46OkxO0yZO7zeXwe zv6*X89~=G7VrJc%y*v#xgg#suCUWLD&ZxK_RV3K~sc z#mN>E&~`?!`9?WJ>%|_k$=ciOxe7wbeic1FxoFqVdREwosSKOu>mJ$|cW^~Y=P=Y@ z?R$2+VtduZdHF$BAhU6>_<>EZS5izOSRUo+Y5TM+%LJ+>tf{dxGrgi{Xq70$4(aOA z<+1`>d)q*38E$3eG0`^hnLrYHC1BUPv>?~<+NV_0{;Mds|JXuaq3yRv#$PDBdSNVp zof@4v1GNaUnMEinvopinPR~`UGg>+%s+-6?P_#;b{R!EBF`c|6$jgWdQ_*%5Gq+lT z(o!wys!Xpv=@r(KmdiQ&aPuMxfm+dh2aW|%cD5Ho~lDlRX;9ec<57iv}bc# zb*zzSa;m+VAh?x*IKBXvBU~@ch5C#PrB-^~-mXgGf*dA1%XLZa$pc}<4@EmMF&={; zqF{P(0-_wCeZrb@r3@4@LSb5Qmr8f7@Bxh|fI<)@2-a689m_bwv=-&Pb8y=8?#gNz z45yZY7d@PD|9sw3KiytCgInNwIy_vt^Xn_e^)d(J%87_3Tya#IGf14~);zB-w`Qjg zlpZ#QwtsoCtX9LK+JxBQwX)8nnc`4g;PWY;B9{D=#Z*>zy;4;_zJ+B2ga= zc@M7B%Xuq5RU|{MmePB?(eq0u_H9IaG4MX3DF0^$>ARi(u7G=0qVO2yWrSbR$a21iV^|F%ocU z4kh%wVbzkWl1i&bjKOPBOBJA*9YRK&Di z-$^=zNG7QWsvYj=-Vc8t3(G+b4JC+DsnvdO;kKq&{C?QP&dyfjnXL0R%^qyJlA4vb zUv77GjbyW_0FZ7Rwb4S5NHjb&5!4uhwF+HTV(^y{5f!LJu4y=j>lI%yF`-h~FZ?u) zk3cZbCkqJcM?&FG8YaI`TSMA8MX6mBB79`pEOLI*g|!j^*G;k^+IC}6Twb{nC){Ei zueJO>g{Qk^gi3`Hh2S!qPM4Ini%2(3-@At16m&0K5PBiF&pxc3c;>{&-Ez3CSRtUye- zoiFk&N1A}4x~4c-C~MmM*z3$U_5=!>7qZJ|>wS<`cw zFclnwLv>yD1FcFBHQJE1$bh5gCX_hKuKMjFNOIjNPVFh(f?HYV+(K4p9^L0hU3SUB z2jO{=^AZJJYaoNG?WbZE*ePB|JJIqLgivxsX7MXI7HtA`oXiouPsDrdr^>h{5l zk5MuL5j?>KHh0XRC)!3Tm}%y6Oc!%@=YWIT0SvdiGIg^69_)4wpu)Q00BzFpNeLBH z?=^4l=3#96QFJ=EBz9Pg#hcxydsiEvGl)ZeTS+D>(z?Z?kK^%r%lxgW+MUj_T-1it zx{woZ@CZx%odohUd;#|MO3xQqb)N3Vv=mk>4dZMT)8d+(puxJf7VHX(C~y7njNOqh zm!gMY7#ieqjXs@kd7Ek!)VKzBCX15Lql~fZ1)geZuZ*ib54RutRa29B1YO45g+#9+ zWJtSNcE_9UWZa|sl;iz_wP1ZcfL}g;G_x8X2T#vtqI$(Qp80T_v$o^JG zWp?RR&yn~nT?ThGtK+K+Q0v%ZwMMs_6G4+rb%#>t(zT?AaT3Sl;6Tbi+x9RtqAyfs zgEEyLTqqq_TlIj!Q5G-cW4=G^y3pEZtyOq4U1s>+gA3H6zZx$Gc_Wsb6|ww0;{)*N zjz?gG=-RjhM@Z7sAL$2m&rfN5`eUoUnuEjrS%d`l%nq#S8|nIYa4cRmalO7RBM4>n zF~9EXyWlBLQev_Df@p1^m5}bNXIdFz!nB0!;7wckd%I8XAr!}JBF}LmzQ;GDCgL)N zfC@4UfVXHWY~}T>`ppS>k1(!G>}&76|NeUqn!$s-!A*8AIpRRG`S#;sT0Z#26OxBm z$)fzMvq42W;7W$v-o}9d2JgXt;r3c{pEg@vQRp-|BO#i4%SGhjO+WpEI7$H%({+1m z6ks~FLu77`4%W&D=P%WZ#fdmmI2Vz;Vt$K_xBTwYJCutAQP&RTGpw|@<1>m0tY;~r(4rwS#e!I{-ZA*{q`s1_^!If#ydUrz*sfI3kcJdADITl>vAO@RE0lWQ zs#o%0RTLdPg?C9qlD+vLcsGidZ#s7N%-Q1yu0;J26!fCjGoKl4e?T80Sn&35b7A@)gvV^kBfsV@!W4UQ3+LBD_2B@1GPnBt1Q(6)VUT zB8bS$$A};2iv$IwZE|87=t=;AM)vBfsZiD4d;vEL?*Tyv1o7fgtX1;Lz(A-L*JSnd z5Q2grhkM&%+pqq?ZmKChkHk<+`#+#i)@&IT9ilfsw0eEkfAO4aFt*=pMJ@p+bKq+$ z1wsNfE!V;6d0h^q!qZwgj4xs<)>^I{?gtACQ9L4J41iG^+@H9BP z{W7gIz+#WrB@5@u1fcg3c_KQj*YNcpW>x5l7n#97{G-vvsp>%|*Lz>Ffm_t%2JaKX zruF;mqH|?lvhf0VvM_I+`ou?1sPwS%Cc3BtCfA-22|!B|$HGTVPAh7FGR^=l?9r{ng%znr1RxicE4m>c&o|v(Tuc zv0E{|vyRi#$?4_V2T+-{C@88`m%&Vf{&Z!k`%?YEKvD`5l}*NiTt;GXu>F1;mUgPj*l111SA*qg?FRS+n`%vKVo$2yK4ay79M? zWIN}c@XofFKFG?jCkj=&2$b|Yp^r?k`&3UUb={v5Re8E0w#2N;?(O2p@$KyN*Oe7Q zDi^LSA%0^~c#mG`;@hM$dC-lW{dxY}_KgKc9I# z?=OSoeYY~R{8wWJdLIS^GnH>F!br4!`2E+@0=cexnx<)am~Z1Bp7(cC4e@#S)igi& z`PU=gY8OEK{=CnopZ?Fb*xi3e9_?3yYJb3OPn$=^?m~uOYLT9dSP$NrJS5N{Wt#n{ zK1lw-e8}{7CA{Sqp1@}aR?(`~RGU%1=G1!SwS8*8Ba%rz8~wmwtCx1St*o~@jp_Pq zjd=*V;KD}mrLLfElNA&uW)NYwbkzzRa|0bAo7U=`i?^(KdEl&Rm&ci?l(Ec%D~NPs zi>@k#S!U@xYa6(Dttkg+h7Bq;Km-JB7Q4BSUQjb#3iPaDsB~f>#lal=u9&DM<1UB1 zojns#D;Re-*8tL<+E*XsL7TBLBe!c`E#!!kZcLw^$~1)u>$4Abd;QVHtF-W{@|@sh zeq*Xyi5R72-waz8cCex8h7Oe@$eS~q%Vw#Q^vXrHuuZ`f#ipUDnSDiRY`~~@P2RQ>fJLmrD@g*EOJf4r%lQ=0krn}+wXn+>3{$47WVd!iq(3vS+CU_+G?%Q5wRp; znJ9{8x`S3y`@9#l)q?A=x$FdAT9&!JCnEv6);g^Y&v)u<<-C4TEtgBDhr54&fWW)X z-Giy|rs+zn1*HqMG&04Q1l97#aNfgjPdT()8mtq z)2e%1+E0u`vwY99a6%p}qMEB8NXCH8C!;7*Cr3}kJve(#>v&u%@EVcu869DZ_{y&r zw_IQyQQg36_J3|-I+*_1f}|^vN*Xyq8sT=ZduEbUUXC3bI|$w}5ihNEdEsW8EJ7(c z;1M^hnQKe!HY2K@#nP0ts(C(0TGSMkc|lb0yj~^~k1b@q&xHW8Ua4Hc2!)nC(E44% zIpGe!=j!#xvZ!F~P}vt``qGFa8AQZfye|HM_L_V!lFPqW%q`JNeFy@0_Ov9Kg+IU3 zfIoluJNIQa&pfWPxq`r35K55h|1}&1c}xqSt99K=D=GGY@L9D{-s%w=^q(MSonSog z8Ur%@i!%8<0Ar2JCzp&m!}d&3z6=Qnd{&a;pCpcz+b!J;@SIhD35>pZxkf^kJM zO%Q0@6{P`3wXo7+<_>^Va-eKE&&~-vkkOP}(@~-w`_MuQ8WO&pHC-go8iH@f3eG`J zC>mlk2oBZJploKnE;*}YA)b5s(aIi_`ZIW6>-Y1ayeBiuK(ncT@sYQr%vJj8%NYnz zr40@>uRPBC{pcE{PyVu$&@KERyDjCii~oPK@DV%IG|yTMNR#xDM27y37;b(Bh>UD%u!kK+HS=CVBNF05+K5xRwz`X4?+ z%zBK!UFX7Eq9PS}I0T>;4s!zsBT<;4fh(L>e3>`z<1LXR^+AM&Dj6y{#;O@$O5RtV z#smh7cXDmc#g9MS(o>WN);-X7U0gqMj~o*vl(Y~hjiw(oVXZgnVl zX}rlvZ}AyJoy0yRSsqUTCk~%;FK=@Kcbg0J&7)e&(8W=1)1D2rP$3H@#d!3BI5iYi z)WKJVYLn=U&Z7+dc!>7Y_@09S`g@K51s?z&F8psE!7G6t!;-@jMCGI>5od+>A~3C< zMo3J1EW#7L4*_JNXJouK@_O3D?P)+~-g|?e`+f;X9q>$$==4h=RIX=1gqY}yVGzpf z_j^9DMFYQ5^>VZ-RmZ2CNrhG#%}V*yYhl%(Uc*@oEgomtoxEAVouZ-tOe99HA z`?U3VoCZv;D!J}HNwY(7Er<$*_)1r))~Z~2HfkZq<6gt%n)wd7b;;a``qWu&c#x~U z-9;OO#aD4Ra=}e*Hsc$n5a5o?uM*e$DbrdgV=u^xb!}-V%nO6^4Q1`Ac&)`mZ>1Js| z;x3xMU&vZ#I{Jb-4`70eA;J~u_S@`$Qg34NO7)CLg<;p-um&4Px+`uPb<29;H|MJ) zaKjy$zE$R1C%olXQoDvny6p#ABi<#iGnIbv9-Ub2i`A&-*Y5*}1_sZ`HJT%9vKjbF zi@SE1rCld>vL?_P;*s)nz|1yRXTRGHdmZ*yFC}p(u+-l;y=T7t_SsE*?1cfF>^9E* ztup2o4gbGLkeDDuL*6iG-b)UznZgQWdy%vd*y&#mSPBh4>VzO4SOSw&B~&0&6AFF4 z6YFc=>vz&Ar*-Le!9`v$^kz!Sc3eVPQC3_?rA^(mT|ZdoLma1hSr5n4`I5Hl?f!WF z`1$MipTGb9gK22#=)-*mMpR*;^SreY7O74=MDWB@XYi#+w#H`$Y={{`lz^;2L!y|` zAtoh$ww`co;qg?wJeYiT4h0H16~WEqQq0YxM5!|6yed?xQq8C4>*pN}%?;YWpneE* zb?W+#`d<%BAd<)wDvi!yve+Chk1r64#1g4Yu23Q>RISnKVg;=ad0e4tSWeoetmARvlSTt3}iwuuUZ47O)Fh_>=~!r1K+FsSD= zAmqnDDYos*_H@9h0!LZ!Vgh&4MF!@)KseTGn$B8cr~-#V8V-t)nbD^3 z62M#>7gOTfB(6E%`J}=g@>dHeD{89??+^$bYO!e}1(`7vnrkGRD?>D0UV9TYDe-BB zdsT(7GDq{8GeA4_-pV@E+VP-Pp2Uui9Ww|=DVFOMacp6~!qIGL04czt*roX`$bIAK z>fGGq){ezkBI!}-h&GHY7N829eZ$v)ia)ezl&V^3j%7m5Slm8B5Bxfs%mn( zB`gN*kOfC_g@I>H?Zx{W@iw zR{SZZszo74lsP+KH3(cBB$KxDMedaGR&ITLl(S&GcyfN13h@Cs5;fG2Q1eCNoC8#* zFWCC^EbbkjqEY;r{(6eLmeazXcmu1?8lPibDuwEHZ3Y+_eV{+03Ib}lL1{en_##qO z#@(A#+@YL++wahAx~YrP^#bCbI1@E@J5DpD%eI7c?{ZWS9QxW2Rm*HG;7rh43lB9A z@Oojm6^1U-Lau!iJPp6WLFEgMjgqxA4ioEBbIz-Y~%@CRr*^t=nKWasm) is a binary instruction format for a +lead: WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable compilation target for programming languages, enabling deployment on the web for client and server applications. + +

WebAssembly (abbreviated Wasm) is a + binary instruction format for a stack-based virtual machine. A portable compilation target for programming languages + that enables near-native performance on the + web, server, and beyond.

---
From b448668aaf87eb1ce5dd453d8b57427c189160f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Tr=C3=A4nkler?= Date: Thu, 5 Mar 2026 06:14:08 +0100 Subject: [PATCH 03/10] Inline CSS to eliminate render-blocking stylesheet request Add inlineFile Liquid filter and embed style.css directly in +{% if page.url == "/features/" %}{% endif %} diff --git a/eleventy.config.js b/eleventy.config.js index 35d57422..010b0797 100644 --- a/eleventy.config.js +++ b/eleventy.config.js @@ -1,3 +1,4 @@ +import { readFileSync } from "node:fs"; import markdownIt from "markdown-it"; import { full as markdownItEmoji } from "markdown-it-emoji"; @@ -227,6 +228,9 @@ export default function (eleventyConfig) { .sort((a, b) => (a.data.weight || 999) - (b.data.weight || 999)); }); + // Liquid filter to inline a file's contents + eleventyConfig.addFilter("inlineFile", (path) => readFileSync(path, "utf-8")); + // Liquid filter for sorting pages by weight eleventyConfig.addFilter("sortByWeight", (pages) => { return [...pages].sort( From 222ac7f871bd357e29e77bcad22e93ad3ada6a33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Tr=C3=A4nkler?= Date: Thu, 5 Mar 2026 06:17:28 +0100 Subject: [PATCH 04/10] Fix Lighthouse accessibility and performance issues - Preload Inter font to eliminate CLS from font swap in hero section - Add meta description for SEO - Wrap content in
landmark - Add aria-label to logo links (nav + footer) Co-Authored-By: Claude Opus 4.6 --- _includes_v2/footer.html | 2 +- _includes_v2/head.html | 2 ++ _includes_v2/nav.html | 2 +- _layouts_v2/base.html | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/_includes_v2/footer.html b/_includes_v2/footer.html index fc9462fb..211369b4 100644 --- a/_includes_v2/footer.html +++ b/_includes_v2/footer.html @@ -1,7 +1,7 @@