From 49b3fc3989599edcada97ea9bfaedf216f4ce8ef Mon Sep 17 00:00:00 2001 From: ianmuchyri Date: Thu, 6 Aug 2026 13:03:49 +0300 Subject: [PATCH 1/2] Move docs diagrams to shared R2 bucket instead of git Diagrams committed into content/docs/images/ bloated PRs and repo history. They're now stored in the shared "websites-images" R2 bucket (prefix "propeller-docs") and served through a hand-written Cloudflare Worker (worker/index.ts) added as `main` alongside the static-assets binding -- this site is a fully static Next.js export with no server runtime, so neither @cloudflare/next-on-pages nor @opennextjs/cloudflare applies. Authoring is unchanged: markdown image syntax stays exactly as it was, relative paths and all -- ![alt](./images/dag/architecture.svg), ![alt](../images/fml/x.svg). This works via: - source.config.ts disables fumadocs' remarkImage plugin, which otherwise needs the file on local disk at build time. - src/lib/remark-doc-images.ts, a small remark plugin, resolves each image's path relative to its source .mdx file's own location into the literal /docs/propeller/img/... URL the Worker serves -- pure path math, no image bytes needed, no manifest. - src/mdx-components.tsx's `img:` override renders the resolved result as a plain, zoomable (fumadocs-ui's ImageZoom wrapping a plain element, not next/image) -- no width or height required, so there's nothing to keep in sync when images change. External image references (e.g. an asciinema embed) pass through untouched. ImageZoom is given `src`/`alt` directly, not just via `children`: its zoomed-in view reads the image from that prop, so omitting it rendered a blank zoomed-in image even though the inline thumbnail looked correct. Passing `src` there required explicitly typing `props` as `ComponentPropsWithoutRef<"img">` with a `typeof props.src !== "string"` narrow beforehand -- left implicit, `props.src` picks up `Blob` from React's experimental `img` src types (which Next 16.2's type surface references), which ImageZoom's own `src?: string | StaticImport` prop type rejects. scripts/publish-image.mjs (maintainer-only, see scripts/README.md) uploads an image and purges the edge cache for it -- simplified back to just those two steps, no manifest bookkeeping. All 40 actually- referenced diagrams (of 45 total; 5 were orphaned and dropped) have already been uploaded to the real R2 bucket and spot-checked byte-for-byte against the originals. --- .gitignore | 1 + README.md | 14 +- content/docs/images/architecture.svg | 968 ------------ content/docs/images/dag/architecture.svg | 4 - content/docs/images/dag/basic-dag.svg | 4 - .../docs/images/dag/conditional-branching.svg | 4 - .../images/dag/data-passing-between-tasks.svg | 4 - content/docs/images/dag/dependency.svg | 4 - content/docs/images/dag/example-dag.svg | 4 - content/docs/images/dag/fanout-fanin.svg | 4 - .../docs/images/dag/priority-within-level.svg | 4 - .../dag/run-if-success-failure-branching.svg | 4 - .../dag/state-transitions-in-workflows.svg | 4 - .../images/fml/federated-ml-architecture.svg | 517 ------- .../images/fml/federated-ml-components.svg | 313 ---- .../images/fml/federated-ml-lifecycle.svg | 537 ------- .../fml/federated-ml-message-workflow.svg | 731 --------- .../fml/federated-ml-simple-privacy-story.svg | 191 --- content/docs/images/fml/fml-architecture.png | Bin 56062 -> 0 bytes content/docs/images/fml/fml-message-flow.png | Bin 94068 -> 0 bytes .../docs/images/fml/fml-model-lifecycle.png | Bin 51054 -> 0 bytes .../kubernetes-operator/architecture.svg | 4 - .../federatedjob-lifecycle.svg | 4 - .../mqtt-communication.svg | 4 - .../propellerjob-lifecycle.svg | 4 - .../kubernetes-operator/proplet-lifecycle.svg | 4 - .../scheduler-algorithm.svg | 4 - .../task-execution-paths.svg | 4 - .../kubernetes-operator/task-lifecycle.svg | 4 - .../traininground-lifecycle.svg | 4 - .../images/manager/communication-flow.svg | 4 - .../manager/proplet-registration-flow.svg | 4 - .../images/manager/task-execution-flow.svg | 4 - content/docs/images/monitoring.svg | 4 - .../docs/images/proplet/binary-fetching.svg | 877 ----------- content/docs/images/proplet/mqtt-topology.svg | 779 ---------- .../images/proplet/task-execution-flow.svg | 1317 ----------------- content/docs/images/proxy.png | Bin 154193 -> 0 bytes content/docs/images/proxy/architecture.svg | 1142 -------------- content/docs/images/proxy/chunk-transfer.svg | 1129 -------------- .../images/proxy/module-delivery-flow.svg | 929 ------------ content/docs/images/tee/architecture.svg | 4 - content/docs/images/tee/attestation.svg | 4 - .../images/tee/encrypted-task-execution.svg | 4 - content/docs/images/tee/image-encryption.svg | 4 - content/docs/images/tee/kbs-setup.svg | 4 - content/docs/images/wasi-nn/proplet.svg | 4 - package.json | 1 + scripts/.env.publish-image.example | 14 + scripts/README.md | 147 ++ scripts/publish-image.mjs | 134 ++ source.config.ts | 13 +- src/lib/remark-doc-images.ts | 50 + src/mdx-components.tsx | 27 +- tsconfig.json | 8 +- worker/index.ts | 92 ++ wrangler.jsonc | 12 +- 57 files changed, 500 insertions(+), 9559 deletions(-) delete mode 100644 content/docs/images/architecture.svg delete mode 100644 content/docs/images/dag/architecture.svg delete mode 100644 content/docs/images/dag/basic-dag.svg delete mode 100644 content/docs/images/dag/conditional-branching.svg delete mode 100644 content/docs/images/dag/data-passing-between-tasks.svg delete mode 100644 content/docs/images/dag/dependency.svg delete mode 100644 content/docs/images/dag/example-dag.svg delete mode 100644 content/docs/images/dag/fanout-fanin.svg delete mode 100644 content/docs/images/dag/priority-within-level.svg delete mode 100644 content/docs/images/dag/run-if-success-failure-branching.svg delete mode 100644 content/docs/images/dag/state-transitions-in-workflows.svg delete mode 100644 content/docs/images/fml/federated-ml-architecture.svg delete mode 100644 content/docs/images/fml/federated-ml-components.svg delete mode 100644 content/docs/images/fml/federated-ml-lifecycle.svg delete mode 100644 content/docs/images/fml/federated-ml-message-workflow.svg delete mode 100644 content/docs/images/fml/federated-ml-simple-privacy-story.svg delete mode 100644 content/docs/images/fml/fml-architecture.png delete mode 100644 content/docs/images/fml/fml-message-flow.png delete mode 100644 content/docs/images/fml/fml-model-lifecycle.png delete mode 100644 content/docs/images/kubernetes-operator/architecture.svg delete mode 100644 content/docs/images/kubernetes-operator/federatedjob-lifecycle.svg delete mode 100644 content/docs/images/kubernetes-operator/mqtt-communication.svg delete mode 100644 content/docs/images/kubernetes-operator/propellerjob-lifecycle.svg delete mode 100644 content/docs/images/kubernetes-operator/proplet-lifecycle.svg delete mode 100644 content/docs/images/kubernetes-operator/scheduler-algorithm.svg delete mode 100644 content/docs/images/kubernetes-operator/task-execution-paths.svg delete mode 100644 content/docs/images/kubernetes-operator/task-lifecycle.svg delete mode 100644 content/docs/images/kubernetes-operator/traininground-lifecycle.svg delete mode 100644 content/docs/images/manager/communication-flow.svg delete mode 100644 content/docs/images/manager/proplet-registration-flow.svg delete mode 100644 content/docs/images/manager/task-execution-flow.svg delete mode 100644 content/docs/images/monitoring.svg delete mode 100644 content/docs/images/proplet/binary-fetching.svg delete mode 100644 content/docs/images/proplet/mqtt-topology.svg delete mode 100644 content/docs/images/proplet/task-execution-flow.svg delete mode 100644 content/docs/images/proxy.png delete mode 100644 content/docs/images/proxy/architecture.svg delete mode 100644 content/docs/images/proxy/chunk-transfer.svg delete mode 100644 content/docs/images/proxy/module-delivery-flow.svg delete mode 100644 content/docs/images/tee/architecture.svg delete mode 100644 content/docs/images/tee/attestation.svg delete mode 100644 content/docs/images/tee/encrypted-task-execution.svg delete mode 100644 content/docs/images/tee/image-encryption.svg delete mode 100644 content/docs/images/tee/kbs-setup.svg delete mode 100644 content/docs/images/wasi-nn/proplet.svg create mode 100644 scripts/.env.publish-image.example create mode 100644 scripts/README.md create mode 100644 scripts/publish-image.mjs create mode 100644 src/lib/remark-doc-images.ts create mode 100644 worker/index.ts diff --git a/.gitignore b/.gitignore index 77fddec..e0f854a 100644 --- a/.gitignore +++ b/.gitignore @@ -69,6 +69,7 @@ web_modules/ .env .env.* !.env.example +!scripts/.env.publish-image.example # parcel-bundler cache (https://parceljs.org/) .cache diff --git a/README.md b/README.md index b6b6b31..9d04fc4 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,8 @@ This site uses: - **Next.js static export** — `next build` outputs static files to `out/` - **Next.js `basePath`** — generates links and assets under `/docs/propeller` -- **Post-build nesting** — `scripts/nest-static-export.mjs` moves the export under `out/docs/propeller/` so Cloudflare static assets can serve it from the route prefix without custom Worker code +- **Post-build nesting** — `scripts/nest-static-export.mjs` moves the export under `out/docs/propeller/` so Cloudflare static assets can serve it from the route prefix +- **Worker-proxied doc images** — `worker/index.ts` (the `main` entry in `wrangler.jsonc`) sits in front of the static assets and serves `/docs/propeller/img/*` requests directly from the shared `websites-images` R2 bucket; every other request falls through to the static asset binding unchanged. See [`scripts/README.md`](./scripts/README.md) for how images get published there. ### Cloudflare build settings (Dashboard) @@ -45,9 +46,11 @@ flowchart LR end subgraph Runtime_Request_Flow - U[Browser request] --> H[Cloudflare static asset route] - H --> J[Static asset lookup] - J --> U + U[Browser request] --> W[worker/index.ts] + W -->|"/docs/propeller/img/*"| R[(R2: websites-images)] + W -->|everything else| H[ASSETS binding] + R --> U + H --> U end ``` @@ -74,6 +77,9 @@ Set this as a Cloudflare build variable so it is embedded into the static output | `src/lib/layout.shared.tsx` | Shared layout options | | `content/openapi.yaml` | OpenAPI spec (generates API docs) | | `scripts/nest-static-export.mjs` | Moves static export under `/docs/propeller` | +| `worker/index.ts` | Cloudflare Worker: proxies `/docs/propeller/img/*` from R2, falls through to static assets otherwise | +| `src/lib/remark-doc-images.ts` | Remark plugin resolving markdown image paths (relative to their source file) to their R2-proxy URL at build time | +| `scripts/publish-image.mjs` | Maintainer-only: uploads a content image to R2 and purges its cache entry | ## Learn More diff --git a/content/docs/images/architecture.svg b/content/docs/images/architecture.svg deleted file mode 100644 index 0458382..0000000 --- a/content/docs/images/architecture.svg +++ /dev/null @@ -1,968 +0,0 @@ - - - -
MANAGER
Scheduler
WASM
runtime
WASM
runtime
User
(CLI or API)
MAGISTRALA

(Service Mesh)
HTTP-to-MQTT
Proxy
MQTT
MQTT
HTTP
MQTT
MQTT
HTTP
MQTT
PROPLET

MCU 
(Zephyr RTOS)
PROPLET

Cloud Node 
(Linux)
DB
Wasm Module
Kubernetes Operator
MQTT
K8S Manifest
OCI Registry
diff --git a/content/docs/images/dag/architecture.svg b/content/docs/images/dag/architecture.svg deleted file mode 100644 index c911e80..0000000 --- a/content/docs/images/dag/architecture.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -
Manager
Orchestration
Jobs
Workflows
Standalone Tasks
Scheduling
Priority
Cron
Round Robin
Execution
Tasks
Proplets
Proplet A
Proplet B
Proplet C
\ No newline at end of file diff --git a/content/docs/images/dag/basic-dag.svg b/content/docs/images/dag/basic-dag.svg deleted file mode 100644 index 9a5032c..0000000 --- a/content/docs/images/dag/basic-dag.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -
A
B
C
D
\ No newline at end of file diff --git a/content/docs/images/dag/conditional-branching.svg b/content/docs/images/dag/conditional-branching.svg deleted file mode 100644 index 6b41832..0000000 --- a/content/docs/images/dag/conditional-branching.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -
Parent Task
Child Task
(run_if: success)
Child Task
(run_if: failure)
Skipped
(Terminal State)
All parents succeeded
At least one parent failed
Condition not met → Marked Skipped
Condition not met → Marked Skipped
\ No newline at end of file diff --git a/content/docs/images/dag/data-passing-between-tasks.svg b/content/docs/images/dag/data-passing-between-tasks.svg deleted file mode 100644 index 299dbd1..0000000 --- a/content/docs/images/dag/data-passing-between-tasks.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -
Task A
Produces Results
Task B
Receives A's Results
Produces Results
Task C
Receives Results from A & B
results
results
results
\ No newline at end of file diff --git a/content/docs/images/dag/dependency.svg b/content/docs/images/dag/dependency.svg deleted file mode 100644 index ef204c1..0000000 --- a/content/docs/images/dag/dependency.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -
Task A
Task B
Task C
\ No newline at end of file diff --git a/content/docs/images/dag/example-dag.svg b/content/docs/images/dag/example-dag.svg deleted file mode 100644 index b0d6d97..0000000 --- a/content/docs/images/dag/example-dag.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -
Task 1
Task 2
Task 3
\ No newline at end of file diff --git a/content/docs/images/dag/fanout-fanin.svg b/content/docs/images/dag/fanout-fanin.svg deleted file mode 100644 index a82b481..0000000 --- a/content/docs/images/dag/fanout-fanin.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -IngestResizeWatermarkCompressMerge & Upload \ No newline at end of file diff --git a/content/docs/images/dag/priority-within-level.svg b/content/docs/images/dag/priority-within-level.svg deleted file mode 100644 index 60162a8..0000000 --- a/content/docs/images/dag/priority-within-level.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -
Scheduler
(Multiple Tasks Ready)
Task A
Priority: 90
Created: 10:00
Task B
Priority: 70
Created: 09:55
Task C
Priority: 70
Created: 10:05
1️⃣ Starts First
(Highest Priority)
2️⃣ Starts Next
(Equal Priority, Older First)
3️⃣ Starts After
(Equal Priority, Newer)
Ready
Ready
Ready
\ No newline at end of file diff --git a/content/docs/images/dag/run-if-success-failure-branching.svg b/content/docs/images/dag/run-if-success-failure-branching.svg deleted file mode 100644 index 9a989df..0000000 --- a/content/docs/images/dag/run-if-success-failure-branching.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -
Payment Task
Send Confirmation
(run_if: success)
Send Failure Alert
(run_if: failure)
on success
on failure
\ No newline at end of file diff --git a/content/docs/images/dag/state-transitions-in-workflows.svg b/content/docs/images/dag/state-transitions-in-workflows.svg deleted file mode 100644 index 7ecb66d..0000000 --- a/content/docs/images/dag/state-transitions-in-workflows.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -
Pending
(0)
Scheduled
(1)
Running
(2)
Completed
(3)
Failed
(4)
Skipped
(5)
Interrupted
(6)
assign to proplet
proplet starts
success
error
run_if = false
stop
restart
\ No newline at end of file diff --git a/content/docs/images/fml/federated-ml-architecture.svg b/content/docs/images/fml/federated-ml-architecture.svg deleted file mode 100644 index a0e55b6..0000000 --- a/content/docs/images/fml/federated-ml-architecture.svg +++ /dev/null @@ -1,517 +0,0 @@ - - - -
Manager Service
FL Coordinator
Aggregator Service
Proplet
Rust/Wasmtime
Magistrala MQTT
Proxy Service
Local Data Store
Model Registry
diff --git a/content/docs/images/fml/federated-ml-components.svg b/content/docs/images/fml/federated-ml-components.svg deleted file mode 100644 index 4670310..0000000 --- a/content/docs/images/fml/federated-ml-components.svg +++ /dev/null @@ -1,313 +0,0 @@ - - - -External Trigger / ClientManagerFL CoordinatorProplet (Wasm FL Client)ProxyArtifact Registry (Wasm Images)Model Registry (Global Models) diff --git a/content/docs/images/fml/federated-ml-lifecycle.svg b/content/docs/images/fml/federated-ml-lifecycle.svg deleted file mode 100644 index f133c42..0000000 --- a/content/docs/images/fml/federated-ml-lifecycle.svg +++ /dev/null @@ -1,537 +0,0 @@ - - - -
Model v0
Model v1
Model v2
Model vN
Round 1
Round 2
...
1. Distribution
2. Local Training
3. Update Submission
4. Aggregation
5. Storage
Next Round
diff --git a/content/docs/images/fml/federated-ml-message-workflow.svg b/content/docs/images/fml/federated-ml-message-workflow.svg deleted file mode 100644 index f013dda..0000000 --- a/content/docs/images/fml/federated-ml-message-workflow.svg +++ /dev/null @@ -1,731 +0,0 @@ - - - -
Orchestrator
/ Experiment Config

FL Coordinator

Model Registry
Client
(Wasm / Wasmtime)
Local Data Store
(Client Dataset)
Aggregator
(FedAvg)
1. Configure experiment
2. Load initial global model
3. GET /task
(model_ref, round_id, config)
4. Fetch model_v0
(if referenced)
5. Load local dataset
6. Local training
7. POST /update
(JSON/CBOR)
8. Validate & buffer updates
9. Aggregate buffered updates
(FedAvg)
10. New global model
11. Store model_v1
12. Next round task available
diff --git a/content/docs/images/fml/federated-ml-simple-privacy-story.svg b/content/docs/images/fml/federated-ml-simple-privacy-story.svg deleted file mode 100644 index 68b6eb7..0000000 --- a/content/docs/images/fml/federated-ml-simple-privacy-story.svg +++ /dev/null @@ -1,191 +0,0 @@ - - - -
Old way
Send raw data to cloud
• More network traffic
• Bigger privacy risk
Federated way
Keep raw data on each device
Send only small learning updates
• Less network traffic
• Better privacy
Move to this
diff --git a/content/docs/images/fml/fml-architecture.png b/content/docs/images/fml/fml-architecture.png deleted file mode 100644 index 7921c1c9a05fd2e82ea6db55438c2830a86dadb6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56062 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 sIG3VB*1eg`f}aqnDruc7QLqXAPf&)Xr~m)} diff --git a/content/docs/images/fml/fml-model-lifecycle.png b/content/docs/images/fml/fml-model-lifecycle.png deleted file mode 100644 index 9aebed9ea796f1428a7da83f435f3a64cf47f9dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51054 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 l5kF6yIB^O(jGR2NpTX^V9d_~!_@5KE<& - - -
Kubernetes Cluster
Propeller
Kubernetes Operator
Controllers
Proplet
Reconciler
Task
Reconciler
PropellerJob
Reconciler
FederatedJob
Reconciler
Training
Round
Reconciler
Kubernetes
API Server
Custom Resources (CRDs)
Proplet
Task
PropellerJob
FederatedJob
Training
Round
K8s Proplet
Pod
SuperMQ
MQTT Broker
External Devices
Raspberry Pi
Proplet
ESP32
Proplet
Docker
Proplet
watch/update
MQTT
MQTT
manages
\ No newline at end of file diff --git a/content/docs/images/kubernetes-operator/federatedjob-lifecycle.svg b/content/docs/images/kubernetes-operator/federatedjob-lifecycle.svg deleted file mode 100644 index 734b2b6..0000000 --- a/content/docs/images/kubernetes-operator/federatedjob-lifecycle.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -
Pending
Running
Completed
Failed
\ No newline at end of file diff --git a/content/docs/images/kubernetes-operator/mqtt-communication.svg b/content/docs/images/kubernetes-operator/mqtt-communication.svg deleted file mode 100644 index e963167..0000000 --- a/content/docs/images/kubernetes-operator/mqtt-communication.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -
Propeller
Kubernetes
Operator
SuperMQ
MQTT Broker
Proplet
m/{domain_id}/c/{channel_id}/
Topic Base:
control/proplet/alive
heartbeat every 10s
control/proplet/create
control/proplet/status
control/proplet/results
control/manager/start
task dispatch
control/manager/stop
Legend
proplet → operator
operator → proplet
Sub-topics
control/proplet/alive — heartbeat
control/proplet/create — discovery
control/proplet/status — task phase updates
control/proplet/results — task output
control/manager/start — dispatch task
control/manager/stop — stop task
\ No newline at end of file diff --git a/content/docs/images/kubernetes-operator/propellerjob-lifecycle.svg b/content/docs/images/kubernetes-operator/propellerjob-lifecycle.svg deleted file mode 100644 index dd9c46e..0000000 --- a/content/docs/images/kubernetes-operator/propellerjob-lifecycle.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -
Pending
Running
Completed
Failed
\ No newline at end of file diff --git a/content/docs/images/kubernetes-operator/proplet-lifecycle.svg b/content/docs/images/kubernetes-operator/proplet-lifecycle.svg deleted file mode 100644 index bf30700..0000000 --- a/content/docs/images/kubernetes-operator/proplet-lifecycle.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -
Initializing
Running
Offline
heartbeat
timeout
heartbeat
resumes
\ No newline at end of file diff --git a/content/docs/images/kubernetes-operator/scheduler-algorithm.svg b/content/docs/images/kubernetes-operator/scheduler-algorithm.svg deleted file mode 100644 index 7265a9e..0000000 --- a/content/docs/images/kubernetes-operator/scheduler-algorithm.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -
1. FILTER
SelectCandidateProplets()
Phase = Running
propletId match
matchLabels
matchDeviceTypes
matchCapabilities
preferredPropletType
2. SCORE
Score()
Default: Round-Robin

• Last-selected proplet's
next neighbor → 0.1

• All others → 1.0

Lower score = preferred
3. PICK
Pick()
Select candidate with
lowest score

Ties broken
deterministically

Result: Selected proplet
for task execution
Scheduler Errors
ErrNoProplet
No proplets exist
ErrDeadProplets
All Offline/Initializing
ErrNoCandidates
No selector match
ErrInsufficientResources
No CPU/memory
Example: Round-Robin
Proplets: [A, B, C, D]
Last selected: B

Scores:
A → 1.0
B → 1.0
C → 0.1 ← next after B
D → 1.0

Selected: C
\ No newline at end of file diff --git a/content/docs/images/kubernetes-operator/task-execution-paths.svg b/content/docs/images/kubernetes-operator/task-execution-paths.svg deleted file mode 100644 index f7a5e4c..0000000 --- a/content/docs/images/kubernetes-operator/task-execution-paths.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -
External Proplet Path
K8s Proplet Path
1. TaskReconciler
picks up Task
2. Resolve proplet
(type: external)
3. Publish MQTT
to start topic
4. Proplet receives
message
5. Load WASM,
execute function
6. Publish result
to results topic
7. Operator receives,
stores in status
8. phase=completed
1. TaskReconciler
picks up Task
2. Resolve proplet
(type: k8s)
3. Create ConfigMap
with task env
4. Create K8s Job
with imageUrl
5. Watch Job
every 5s
6. Job completes,
extract result
7. Multi-method
result extraction
8. phase=completed
Result Extraction Methods:
• Job annotations
• Container terminated msg
• Result ConfigMap
• Result Secret
• Pod annotations
Legend
Reconciler
MQTT
Proplet
\ No newline at end of file diff --git a/content/docs/images/kubernetes-operator/task-lifecycle.svg b/content/docs/images/kubernetes-operator/task-lifecycle.svg deleted file mode 100644 index fe4e0cd..0000000 --- a/content/docs/images/kubernetes-operator/task-lifecycle.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -
pending
scheduled
running
completed
failed
interrupted
skipped
recurring
\ No newline at end of file diff --git a/content/docs/images/kubernetes-operator/traininground-lifecycle.svg b/content/docs/images/kubernetes-operator/traininground-lifecycle.svg deleted file mode 100644 index ea93de9..0000000 --- a/content/docs/images/kubernetes-operator/traininground-lifecycle.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -
Pending
Running
Aggregating
Completed
Failed
(timeout or
aggregation error)
\ No newline at end of file diff --git a/content/docs/images/manager/communication-flow.svg b/content/docs/images/manager/communication-flow.svg deleted file mode 100644 index 10d1648..0000000 --- a/content/docs/images/manager/communication-flow.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -
Client
HTTP
Manager
MQTT
Proplet
\ No newline at end of file diff --git a/content/docs/images/manager/proplet-registration-flow.svg b/content/docs/images/manager/proplet-registration-flow.svg deleted file mode 100644 index c59e1c7..0000000 --- a/content/docs/images/manager/proplet-registration-flow.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -
Proplet starts
Publishes discovery
control/proplet/create
Manager receives
Records proplet ID
and channel
Proplet sends
heartbeats
Every few seconds
control/proplet/alive
Manager tracks
liveness
Proplet eligible for scheduling
if heartbeat < 10s old
1
2
3
4
Legend
Proplet
Manager
MQTT Topic
State/Outcome
\ No newline at end of file diff --git a/content/docs/images/manager/task-execution-flow.svg b/content/docs/images/manager/task-execution-flow.svg deleted file mode 100644 index b3dfd1d..0000000 --- a/content/docs/images/manager/task-execution-flow.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -
Client
POST /tasks
Manager creates task
in Pending state
Client
POST /tasks/{id}/start
Manager selects proplet,
publishes MQTT command
Manager
MQTT "start"
Proplet receives task
Proplet
Executes Wasm
Produces results
Proplet
MQTT "results"
Manager receives results
Manager
Updates state
Task moves to
Completed/Failed
1
2
3
4
5
6
\ No newline at end of file diff --git a/content/docs/images/monitoring.svg b/content/docs/images/monitoring.svg deleted file mode 100644 index dc3332f..0000000 --- a/content/docs/images/monitoring.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -
MQTT Broker
MQTT
Manager
- aggregate
- store
route metrics
API Clients
(query tools)
REST API
Task (WASM)
Monitoring Thread
collect metrics
m/{domain}/c/{channel}/metrics/proplet
publish metrics
\ No newline at end of file diff --git a/content/docs/images/proplet/binary-fetching.svg b/content/docs/images/proplet/binary-fetching.svg deleted file mode 100644 index c9861d7..0000000 --- a/content/docs/images/proplet/binary-fetching.svg +++ /dev/null @@ -1,877 +0,0 @@ - - - -
Proplet
PropletService
ChunkAssembler
Chunk Buffer
[0] [1] [2] [3] ...
Complete Binary
(WASM Module)
Runtime
MQTT
Broker
Proxy
RegistryService
OCI Client
Chunker
(512KB chunks)
ChunkPublisher
Container Registry
(GHCR, Docker Hub)
1. registry/proplet
{image_url: ...}
2. Receive
request
3. Pull OCI image
4. registry/server
{chunk[0], chunk[1], ...}
5. Receive
chunks
6. Assemble
7. Execute
⏱ 5-minute TTL
Incomplete assemblies
automatically expired
📦 512KB chunks
Optimized for MQTT
message size limits
diff --git a/content/docs/images/proplet/mqtt-topology.svg b/content/docs/images/proplet/mqtt-topology.svg deleted file mode 100644 index 67e35c4..0000000 --- a/content/docs/images/proplet/mqtt-topology.svg +++ /dev/null @@ -1,779 +0,0 @@ - - - -
Proplet
Manager
Proxy
MQTT Broker
(Magistrala)
Manager → Propletcontrol/manager/start → Start Taskcontrol/manager/stop → Stop TaskRegistry (Binary Transfer)registry/proplet → Fetch Request (Proplet→Proxy)registry/server → Chunk Delivery (Proxy→Proplet)
Publish
Subscribe
Deliver
Publish
Pub/Sub
Legend
Proplet publishes
Manager publishes
Proxy pub/sub
Topic reference
diff --git a/content/docs/images/proplet/task-execution-flow.svg b/content/docs/images/proplet/task-execution-flow.svg deleted file mode 100644 index 19231ce..0000000 --- a/content/docs/images/proplet/task-execution-flow.svg +++ /dev/null @@ -1,1317 +0,0 @@ - - - -
4. Runtime Execution
Manager
1. Command
Validation
2. Duplicate
Detection
Already
Running?
Ignore
3. Binary Acquisition
Source?
Decode Base64
from payload
Fetch chunks
from Proxy
Proxy
Embedded
Wasmtime
Host
Runtime
TEE
Runtime
5. Result Publishing
Result?
Publish
Results
Publish
Error
Manager
StartRequest
via MQTT
Yes
No
file
image_url
Success
Failure
Legend
External Service
Execution Step
Decision
Sub-operation
diff --git a/content/docs/images/proxy.png b/content/docs/images/proxy.png deleted file mode 100644 index 360a52b6fb90771bf62a458500b7ccaf15d4e9cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154193 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 z zeS=fKq9p|)NdW=|-!$q>b;O3?b#L5#y!ZW2cxB0Z5)%)wmDyBv9S4wpeRu-I$m*w+ zfUR5+{-oI?%5NH7;?-E?}m+g^*%oRvPXTfEo0;~R=^hh&=g?!@~ zje>U0*(Jy!K6=r^=waU~{T=`IWwa@!w@aQ}yB!^j(kdAZSUT8FjVt;u^G&E!-&@yr z#44&;C9#^WB_HhfCJdiDd&;1c7Lts@&m`#iv@ZB;Ve?y2OAS$)j*UQ${D0479@8`p+>jlCY+bhhjKSLTlhf%*AnJZ#~>3YPID7-?}E{H0!~xWt3W^HXQM1zkiYndmFL}Fk6`bgx4IY&kg_jF?dgUa+}ti|&sGfr5|cJ=YB&!F+Sre6FOM=arRR#MIB}M976DT zcLck*u@SW%RH?>251R$gkCw61UB|I>U5--tu4aNQXRd;wS1761BlWH)DW9JTdaI`7 zx7szH&n*9$%OollaB8{rqMt}@Bwl8G(}}o%>z$^?BM!4tmUBY4Y^O9DAGuQWu=JE< z+6tPIK{;<%MQ?M*cve?sN-Sllzl4(oQzEw5e^)`RzfF*XexCPkN9T6(ka1(4 zt)S@Tfbl*Jibwa(oSz#B3p6>;BUEcxvs}e@0|HyXh?|YdK3#KhO8oL$*JL$YR*0)H>93P{Y zVHRHL7cHCn>xJy3{Mr*^X8RBvXrY+O={k1evNS8TmkzatuGkE8-p@7ons$B2SiRB{ ztWsNy-x+>^?(MZ#d{C(1`Qm2x+uoE%s^{vX*TT-Qn=+^T@kN-8UZ}zCEfL?=Oc|`2 z(2C_J)cYvqFiri%Ha zG~&tK+ml(>l~frVbf=%tKJUXXtBV6^Gv)@as79gNwABbDs24t0BWG*aI@J3V@zb=O zq}q_^-UI9=?AsGGzQxhvtR)v!Bl&wkN6mkJP4YwHl9EsI@-r@X8XNu6uJ;+po(YCv z6WNpuzbw6(4!7=@wrL28Rzi??A9XTXyr^I9urWID8yw1268*)!9;}`AmSWzuou7$$ zB1~??bZJgh*ubfOhQHVde%M~U6M#@(Zm{JGIT}a^D*X0xDQL^4T?uT=Lih|DaYO04 zlWlg;hT*{R?wvk-J^Sixv9n4qG$7TzVsr3zD_8XHmAl7W5==Cc3cAuTudUKg=!I!= zLa?6pWxHs0f5O40GO(V`e3BvVhZfooo^Z-sr0W9Yt@xdcI}ZOh?a>X{T{ZOhA+A^% z5CR-bq~EDHdYurFA@;droj)l?+ z^3{N9G8+?T^{*#O+zk}h`8|5?)JmGOymu5bq`BMyo)0parSwx)*nD2hZYQQ~^Pc5f z{o8VYwBI$jD9j%!hKgR_M$W^Z!Snz%h2)z19o7K%@a+p&ZY43I$rdG{nzyyIu7w$73t}dY0BZCEeX?E8kk_}ZKPp7^}o(Pxi6(vm@q0n3f2a~|}f2C&Bx|+SXJ#s;q+vI*&!w84g zEHk=p9YND&1}U86Pr8~tk3Kor&Yl&u(`)G6H3}i$Yn;824=_On;s*kkP`?x za(Aab7$d`?A*0y{UPm)OR)`a zU59S1>T|*I#dU-|nm!czOgi+(Mb#-240>MAVmsR}+JrfOk>l0jMr2@k1u8O7zBAUV z$z44`4n$e_esc!v!_TkOmZ!=MF$YA<@9w&-u%A!y6OFYrUp*W1SC7wIGaD4X;9#qp zLf9PD7F{gwc?Vu0_Ms(Ky(m}n20!NLSl@bmPJ(&@JC}&Gb8yuR_Y(^L`=3E^&Eb_w_j+GqP~77{S?eJd#6V( z<>IKoqq5`v)99nThgqsF_qZ%S&|cJ-dNfZ>cftaAxtn;DlaTx>0$x|a`v=Mfo-Dth|*VdfG! z%LdSs;`0Hgcz;n!!6m*K?k(w=Q>7|+($SRKmhIvO(b8_`ZcE}kU)ko71RD0D-w2!J zUPJvywc~qAqCQ2lrIxb>>dvU^Y4)jwhhCdDN`@zg@PwPDfC@n=w@4HQw_Tl#Ub`o4d_ zV{0OU!;kiOl?UPqkg9|Gqx*kje=Ov^z}(UR27_L+!5C%Dv$j^g=k`Njz6Eg;aM7@OD;0 zo%D|C5La)nSAWQG*hm@rdu6rUkBa;86P;D?L806AFM60|sl_vu`tNPUAvdR*L`ubu zwmnqXV6Y!(Qk&%xo&l|FHldCOQs2e9pZKFpQVeuCya1;?8*n2(b0l5!M_ntlu5<$M zI>9I--vQ#L5Hcb#&4@>{PzV?i9*>aF5I&Qimc_zsoK1)kxz5eCvq5>@O!arbA5a61f3OS5^XK-;+E~YZ z$F}cBF+xBgVY_z4l(ABDQyVA;1t1r?+4iHEdLSvG1Iz6^SWIKxr?3M<$H4+9RH&k* zd1&`1l!fX8rM1IPkeaXZ{oiTDRAu)#3Zew17!%(%9L<587b}*u?hK5onR;PopvTwK z9N?aLV9N(PTwIox21zl4`tmIAxzErl{69ODa)}vvMCmT{RbNt;1 zsNewgdW1tMS7Krx-Mr8s;@Z8`EZ$|umC;6hOhn7{{^Z^W@44|hb=qaS#OE?URm3l! ztQ*VgCw23cm#eb1vax0Un+PMD?@Gtv+g6_9*{7C)K7CW0@msVpw>}F4@j9a(F^8x7j;82~vQ=IN+S1dLpGH@<}ViomIG zORbn4;kDdoZ_}HTTYzaIU||5!Nrj%csZ9%9C!O>@H=jLLF+WSIJZy7F+`99n>dI-V zc(_ta&~3G_h;y}$aur&C%P1906nJYePiG$aP-Qk#L8&{Qz1Y$F!k7WqR=Owe*063(|nh%J53Zi8nVeqv6*-JCYTpnzR=Rr1b0jhmy@m41eFPQ`kX2v zIn%CNiJRy6H)(%x=!6lUq= z5|wwzInv7aO3E}{91uHrf!T$LTKx1dm2i^x6}I{+!!^pO>0%1RJg`9_R=Q8jL|Afy z<&-~}-c;1B`}x3Xgx+Tx3<&GRSj~D#u0*$++iSG@#0YZbtv+on0EYXg5Mc z1er8qA2Llos4*YSn{%3A#5rOTc3&`HxC#$^e$iXprk&OIMpmK#V`slL^=^$+N6`Vx zB&IJ~qVPd@#3yb^9?tRLb?gJb1j@#-;@sQhW0pQwU93F(-as86`DXqw!zb&)-)_h4q2c!IgY``I$UVe<{vlT= z^XCpfh<-Wkar+~-m|smE_YH!m2x--`f3VYA5MuWfNr;F)ekcPCIlv*?`xB>Q!w)fMQa)g5h&sUk_-WsUSj4rGU zY6}xHDNa=&HJ+42F$AgcukpIT&^)gt{+djEr)TQFVxr(_-ZMG_%${L0@GLh;mC)7) zDj4ovdCx3F@|=Sg+*WeH$Oji-CkNh4ReI0W*kyzRu@AtmgieTb@@Z0r|q%0jVQ4b-N2QKb@ z@T&JSOf5|TNA}X-EB4oKqp%JO2lvc}^WKZeBXpMT+?=$}GpAhZIM>O`KqMl>F9|PS z>hO$7pl0rTFfMpC<9DCa+3tHP7af!2NkiuM#~+Qk*D=T=vn7Ss?k@&dX?}e#fwkn+ zWg#nL>>>flbUt109m%?Eyi52oVkfNNorLLR7KsFGMQTn_LqWQtjuA&Y9ZQ!&r;&FXc=+X#~KU(lLoV+UX$hl?SlfjH+Ir< z=~D`Y`Puom`|TK~`gNNdrHBNjFYIRuoxLMmoZ-z5=je^hvwpa=2^y}t`}gm0#!uV|NCgo-HaUHtdBw?W~1n)Fa-z2~%fG@x6YrC0Rz1 z!{^wNBqL=Q%td@K2LySfm%six%;-ET9v?7h5LntIDh0BS|cOQQb&d3qUy%H zna}a|v_$NkW?y&zPS3cH{X(?)mvvfr4){|gO{elY61QQ=LNsqrU(g{++k07`z!w9a zy<%SW>BwPK?2i~sQn@)r%*8c2Z}%{@N9moqI2Wi)ne2aQ2w~uqC?CWa7_{C>EF9uNfpX9@l>sRo8wU z!T)S*Fs|fwFN3Ng6 zGJm|(RKaNbh((WyNTV>)&c>CL_UNj|a;s;{OHo)!8n0@(pNW-RCUqZ$*x?388DeI- z%BwQFwB&=&FHG0dpzVu`A^t;+=6Ek}JtV|12D|ybcb4|=7T+4d@HEAH@n-$F7Qxr(r9g@M4h&@;M4tp?kBsg=Y%QLgF%JB8=Q&>jjnTEix&aG7PJlgJJ_C&e6CbTXgm#G6)9;FT^K8OdBhMCS9P$b zu!+{Z+|Rz#;40R^)5g3MM6yDZN)Ayab&w=<5b~ff7@%4{AMY0dMnoypfrcrH0*C&q z9W@2$@>JvCCghxfPVc@wBp;8&%UJUZ@$4g>T!mZsV1GTgi^#&Id+Okwfqyan;}`j z(;vrZx2FdYHY*`q7-l{#zCoFdBn72uNmDov39GC7N~bmx$&!B1)XIXPoua+z`=Ez#cHUD%zVPuz6wZ^N3nV zk4CjveVksX#pw7zTBFa3pfKXuM_VddENI))NGvPI<=ymhMf_OQ z@$a|{T9y#nEdqyEYxzAv{WP@T@_U4TS<%l|7+&3mHs(sP8gg(*@>rm{B<%FiP>VX{Z#-2tp^f!)0GI=?-C!eM;Jh=!sZ4x2M&GkOpY1m5Z)@Jp1wZ z)RgD}{*glP19&_QQ<|^9#Fy*-+FRKpbRzhN@KRbRC863~nVm9=?}x+(+iqViJl*^` z`MXr5AK`!fVC-O2biUNuWg-25N4~+cl8!E%+9ULGdBWwZ@UH&~79zu_kEAh)QIcm4 znwLmHp>zGdnW;WH7UO9;8P=K;ppLhr8a!X@4Hs8NfunI5^!>%2czI5aCMPsf)kGnsB`{+u zC4ZJBSSiZ;6GcVdxz#;HJ3~TVM%;N6;j{Hf5)ZB^b{2n2Yt%qNBZ_FyN5_AjH5Q`=L0oi_xSdtR zXAk)d?=l6{+wY>?5Vjf|uzHpdspj|r+%;UsWW!G|2T0V}M zRK?WgVleY?8GG5JMG0edhNfMY(m-BeJfQ3F5$D>aESM!(b_mP+GU4a=sju~O)E!E; z*U^>=UpQeZBb776G~?GE3n`JlRv_u+mT+dIOSThlAx7(6Ezb;zqAz57lqd1fPMqzw zMuQ9w-X*Xbtok%oDejh|)QuWO{iliQR~xFlvlxSOK_nZ7^Cjd*_`X1IL~))*s4C%n z@mcRO&u}bR`xHej9i75&(?zVtsN9bGCBe^4WIHq^PyWEatCB5di*l@UewK_S75~Cc z$K3XVAcN$H8*9CFhI)lsS5QCBTRwF2!__^WkOL_cd4qJ_M+xiw^rg$`O17G&=id{) z65Q?`>*5|LgcM|uTvIm|v*Rf{aC?j645qScaU8F{IY&w7;=O_s5xxtl_aPbX(3I{! zbdFCAIf`eoZF(mQp&j^k8h{nf%{IExQA|Jui?j59Ex{=hhUx!ydcw)tsCyhhiyqPt4yR1@XtrL6bG0a4A? zTwM%z0o3y5@faVf-GtBgL%Y3Om@yjaG5Hy{axwI>+3e6d++`)QlQMFx@LPT@T!;5# zWcb{LtYR|XcPuR-_v3`?vMn3>yy8NS!djb?ARf+@W$MG}kol|;4D!`e>8kw3y{Q_7 z2MsTkm90)F_lQczcK&A58yaMD~NqIdh_0zp(IsH(*U z`;ApmYEyHl9{a=q5qG)C(a!x#uuL~x^y*Xj#&KRx`retds8*wCJudwG{aq;bJajGu z-)u+yEHs4Jby=m#$Ij9cS{Q7Wxyy(8== z_+(b+lb!V@f6}qD-ZgV&No{q)sXyJjs%JGfH$POKX3QRgkLN$4CUsv~_g|SEN96bT z3Jt+hbPW*d7uRLsD|IEbS(6eUvz-ER;a(jlo54ywlk3U(k~~;^*XQ*wS1(DeV@+A7 zWGC$jAZ0xHalQM^l)XR2Zy-?Ya*H$-OZTZ284u{K#Jyit)>xVclz?TiNed zg8_E1uJ&fjM*4Ad^UYP)rRbRPOu&2tg`hLU8}Tvcbz;4|oI?!W&jgZ?%)4Hm)a%9lE0SNZ7$m4Kg@`dl`thr#7tifUQSTY+u~= zd&7&;!bp|L6+cJ%hmns$o=<@Qj~ZpK2p`7v>zqAC>LENf%rU`mjQmT;wsyOODw&^0 zTMu`43L!TuER#Ivsd+#q1$&>b-8r4)+S&~x_S;WcET?;hL44de72$(jc+BH>Hqd^f z69?hqFJ$irnE(X)?0Z3viIhKc9SJ>UgqN2|AaJpZ z#PE0i5+_v8RmP}=GJyuQk!qmJMqZ1@E{51ec845N^Zgvc$vp_NkbNzyXlzRxOhVjJ zR(Wo6qp!039qX{5(A(V2E|2#(gw>lq&|!)aXH@y+2OBckhx!pa_m95zNK0c{8CTLa zXa*}vSNul9f)(hT8b3>NJr%-gk=zKqG?8fJ6yxQSUl%J_#t8gDdXO#7^rc!^z_g8d z{~@{Lho3Fp9t#;hR#SV?#Tw^ofrQtuP@+heNE4@V;CY7i=j@GBTzMX${wyV(O{gCu z;9(Miq3lsV!ymA}c}p*+Jn*2D*lQuR<>D3b>BK$$LX-f*f%)C|I_B*BsdYZvlY9bm z3lXN1_n-3~FkaWDOQPJg5|H=jjUm!rRnmc|1!WHx#Q4_Rd=AJMzbi~EE5u@0p5ksy zTsNM=Y%IrGZI&bxELsAxY+HF?c~iQRu7tk&L~VqK({}1XW0V1W0J8@hdI@ia;=oV^sMcVuu-u=Srkro53i?6ErOK&Odz4y>d+2WRBoYV4$w z8{@H9{fk$k*YXi0OWgV@m~qqCm&Q}lY3Y*apDau6imRbN$bQ>|tBSX(Y%50J(=9no zc~o^3vrxZt?E~Q#bTAd!^p`mGdo*@WE6B=PPo@5y3{x~Y8aatUa$DVce1`78+7SB_ zs-lBbG4k_P##f1bRq@ylIg3Lrd(yns?onLbuV@<-yl2pLuJ(-Zp+$^BV%2PMX+nwj zOdvZdRpyHaSQc&iucU?Mq8n|_^4VQ}8mw6zbw{Nnavh24;Z7wmnfY6`&P6=$Tm)Z3 z8ks!iL$VNYfiuQ;Tp~sh36r`Db5t(4VyrvUPjf?__=_wLeg+sjvvbLAvhHlr>l#kK zdxUP0z`ct(12m-OB|t)CsV*J@3m2jL>-b?zv9eYJ!YNUI8MPv#{58%wDpqg8R%>qF zKp%4?G5k`6YaDl#Fk&YN<1XeZnQfPW+#BML){r@=y9anabOGF*D8VJVGe;#uLG`Ti z*;G0WOImFB@Dla_m%ky!OAudpa9JnwJOaP2Ncs@NyX!@nSfd3SBGo$+wmOqD1b8G* zT2e$3>*4Hgn9;HTqRA{;VjQnT@q>hUrzse9M)pnyG4U4O*k$&G6r*MOR$r`#et@dy zN9jUzlc9j|=CH9$BkESFhS{zC%w=?ex&G2tt`VCH7l_XsqW~x|pG*ISD!)L*XnVC#8$fKMg)26`wS}?I14U@7b zT=EDDN-_u_+2HhwHt=kShzWHThg4PbQAsIc_gvPC5LYlC`cdRZvR&8*7EJF%6YF>$ z4n9f4?_v$=ylqY7z*YZe zD`SdfPVhXD_G%B*lhY$u>6Gl`N6nIQqow=0wH8u6Nyne=zbgYj4Gn&TZ_ zA{VBi1_JtV6qv*y%8sEDQ%S)!T%!RenoK9AvP1VV>~Ewo0Hoyn#UVrbd--epi?&dp zdS$tw#We5B^|jYGC5mb$sx;OUg&kFKe#C390~qCE7wgOIqi*(Zo`9vvudpuBDJ7yA z!Jwp{%GPLg$l|7x``Ri)K$ywTyQMf5dKGiW+FM2JR$wLCu=iTE*h=ih#IJcq(SoyH zFQNxonz!jdMTB z#FG2Ac4K*6Ooo7a)&va!IQ-mKF*VZQBFF%J5e)j~kF-rbwBSyXHz)rTXJWZ0+uYx|=JziS_(o5TIp z$|HZ+^R7*(=iw1U`JLzcm#Xur4$}UwK0BFH?M| zK*a?6coaOmx?p#_9u391g7Cg9t=o#jl%=8?cJWRUQsbh7{l49dLP;#^XH;;$jC~&F z_}L6%=0#59IutcD6-4x~r;pWpvRWx7fwySy_F?Gflh>N-@gu{p5LUVoS89Wp@}U{O zS4B!oSds~1qy)W6y~Eiv@~|FAwA9!yroW!w9>jqwxLg=_m^PMU;`QT!W(rg(Ye7-& zG!Xf(>g?8Y#Jp+P`l-}Wc+lIb2J{<|-xk;X8fbsVAMgEBwBfxS?9qqe!n5K6LbKvG zTnI%h=WR67D$csF$U9O_Ax#s>f9-`Bc*i~QAfup|IJ>5!KZU?vEHEKO49ZD7p&07~ z7gs-lkAH+-o~x31**D@h?4h3&BTUPL$%0C!l=M)NYvoXn;9jY7l~PABCR{@L3)kh9 zr&ba~h=r*_0S!cnCq1Y!bOyI)-60mnZ!(kb_h`J+HyQ`A4aRZ!Ya?UcJy8bO%zb%> zbjj{8iKs%R0Xc}$^q=_FPNg9IuZ!epQoBDqRV5L%lkB9YfkMjkRB6u@qgjFi)=YJ~ zsviXF^vVqG^6n72~}$QY+7p0b08x-H5T*v7zc6fu#m8GaCRrC|&YW z*>cyhP98i7er-Y4k?>a9NnHhV5kuTt;UfBwfVe{%)AVN6vDCylPNjZSb!H>h{gj4E4tX+|i<N8asd$Y|1C8- z{c5Zf5en9k#)aoChFF19@R823`({C{a$s(u{dV%oLMCD0qE#}ve2%vwT{rTuYHiSA7)5B}?r<|;#F}E23 zybddv8-@>+=J^CYxJIJ0Odeszgz&tyn^p8ilE#@t@kuW_NKd9kj zDpM=$S2$`^DDaS>PfX(SLv1IW7{FQXPT_zbL1<unE-XEb(NCbzUbK{>g3FNfXR!k zJ?6-5$rB$bb9=9iXsxA1uUD#+!qibO`mL5e>Y+Le(m_2H1X~1iqk@5c`uDkE*b+JZ3Px3uI79Xjb%=EcSUz-5P)>5 zgE83y~e{`l(*MZ4A-i7j#UZDgEB4pU40YLd{Y?NPntY-QJG!%-&u3c48T?9Q3iK z_vGo9k1&>1US_YhZ6O+ua6sWv&QbqkBbl`i&74R&>`gHKy_3-I% z^dXtot{?+4_?V$c$`Su>FMy-ISWg;33~(l#&^jgf(mIq%HPuEYRjo0IoPWI5)dXmd8iUR+Hg!40XK%;hKPHBM3*!y{vNdD<-`L?x#VB8Lz zDYq8Rv{t$P$+c*D!5a`4m~L2=2gaxf+tew=?HxW^aT~+HB|U0y{<5A*5p!wcuPU_7 z(PC2P$>|VmfOUO!36{+M(+JuTtdF`|QoP-`ztxD5NywVjQ}to2bzhGcWQ*=ITlga? z;fx;Pmk_O}p3naBL8Mv}k&-9%L|+=H7C@L3kqDw?7t}}9$xVM2jf{W)`aE2yQDtRD zvZD}*1Vb(24VXidW_J$Z44uayw51Kxy^jp7KLKR|R!!_*R*jxBQ(M#`L*7FSB1)(} zMH_duWBm;P=ye@8?%4)O`tOQf%l&fbVTN7ZrZSwVKstkC&lsPf1Z~n`K97$TLdBxs zV{&3IWHj)8soSIRoYKyaKQ{5gsGrh)zOdhTs^v#iquA{V%JNdIGNg`=FPQ|nmjn>? zeZ)=U~{_x-;meoJukYH z)B9=%2(V4KKcj&Xr#RxxzsxpSGFmu({M5l~33wTN_~jE*1>`Giu~C97NR7l*KGM$M zZwqLvJJHeg=GuAywA?a^eWnV=_;rEwddpHR1{#YlmC&_PkN*%+mH@T z#G8Mvf0&ZD&9;*DF7PRI?})%sbzQZY05x`LYwp(KSi3C$ z|4)yaRPIiisL5QaewrK&`@%5t4nzY+gOSMWtBDQB-8s@prZFaN_p5(&**hRWAilEq zf1ig6W$V$oU-LVTIctNIA$5}R?WZ;`f2DzBFhtB*3$E4M$MH>|Wco{nK*=?~0CMva z;y{pCu-%R5;bGwtTMLGe8WHm#3omsmIpo9By%Pr84o)aN4v?ane8X@zvJ_SpWMTT2 z(Rl=9mvN#pAnT+;5d>~vS{yFyrK(-aNT}HV3AlkbDushVtjJCKpcXKK+xFxwMb3vO zvd+7`|MH)Z&J=NB~((*pV~h7yA}^vD?hL{UlfR_y)|$Wh$sfcms%x%Vg zDv6mqY!P3}O(gfC1su!F@) zzrB5EtdXBIIl4RX9Qg3B_sqoq`f%i>h%#Ne5^#OjsB35VgkKnn(w!n0zI|yKknE-S zg#Z7r_ts%qZtK3VAc`mg0)mKicY{hxHwZ|FQqls_Eh3%L-Q7s1bR+T7DJ5Of^^NCs zuD#d#&RpNV_CDvjzJJa?lZm|VGsd{@-yP$w$L+HE*~^att3?wuXAiKYFNI&+o(5Ff zOqVfGD3tU2i!fWHV7Itx$5MzmnD++rI3W;MczZ1U@=tq-=1?CAZAeoRuqe~hPfy+Q zJQ%?n?y-W@Ql7V) z9lf=_g?G9zaUo!~#C0GK67K+r^_)y`W8*Tp@W^tE!-lO+?#n`Yh1l~H zSi#Og`J?7xA{k^4R7fFyHwF?I>fsH+`ty2O5ixV} z=I@gFAtMY^#X5SWn#;^*?KXT%erW4qQjINe9EF66~AYD za7)I9BqfKlGsqtDb8exi3IV7+4c_ubdPnJD%>oq3>V<dmfTq>=9RnZ+XJ=RsC%Jg@OGp??m*4v1cuJ>Q zQ0L7Om;wK@)2AG6Pq+b@rzN;-FS2rErMDbC49#X}^7NM4$Dl`psgsbH`ci@Ai4}A3 z!S|5k)23$k7q{Tlkp+*o8`L%p!DoC#C#@a_FKCLBuPvB6M}3Z!R`VHh^`^%4Tv zZ;H88qN>$ETqw9vBYcY_#Xdbq%&b@XB%rVIU6v z2_VgBame)!mYcusbMF??m$HGq(%-yK-`sH~%z6?;t^*f{U8uxGyRV*E59FrZ-W;~b z_V9@1pF9?+I61y$Bn_RWTNoIc*fir2^^e|(GObkRRX`)5749@<=h)dld%+D6n;GID zD#sjFkO%A)%alWDV=#C($A)SyMPmc(0%(XblKLwImV0Vw%F_R%H6^5 zbLACC_~t?T`=$2tmtde;+sx41hO3Ce zc5t;d4#c$3Jg}r9#{o-$hRQ_y4~qELN_B4N@Li4jgkwReg8xVozsD$1r#3;wQ^fM$ zi1|>HRSKPOiX(MJ7=A(u=!E(cdK%w~N&*U1Dh)*|>P|fV3v$US5YVyMf2(rRQBbNQ zD@uTSZW**dODF}opl*&mwqyAii!C$FZcN9PHOSl$HEbZ+n-vrH)8lefz*nZOPPh+!H-i|gjE(A4AO%(~J>EPz_8agO)pTI3bFCA%pI20x#=U(E zM~5G2D0oB6dxb8e2hR2huvbGHlax+3Y7I$B>w^%56KT19HsP5Td%!I_BTY>XI<2>B zc@o^rc>X5H#8e;d&AQ4dBsLRUy@!jf9}rs^UB!BheD5^abDF$D$_;7vH@kHHCPqIy z6d($FAdv!>c6Gp4Qb1)wWShGCDewu@1j^~fpq){j@GWeB&%B0Y#H3?(M_GdbyD*7K zqyi?K_-9Ys(lgKD#|#A?^@)cBVr|QS{z+0pP})>^>PTEQ#H+EEZczvr3p7AnlkP_w zQJPlBe{)*IhP}bE&EkgxkYgm9?-fC?Xe znac*2$C*|$DYgKjk+-6fhRkT}b-|np&_8WK=@6c80pQr6$B?JcZAshhPEJ$j@#4QM z^aBFxZ^DpZCJZf<1T6PWiWL(JpG;tGBReFoTzeqP;hkD?N` z$p$0K^qga}U*9N;>UL@JDn67wf~!$~K;`U~mDp}|KpgGo|Cc!bd&DXHV-!(G4wLj^%W;NX#XM2-b4qp>gMy4*M=vo|7A2A?aY zF?kRtYsh%^eTDq!Q}!>SAfM4}t)K`;TEM5?TnHjy_}ShaukX6`n{KwRG>kRN^+qi) z6Fr~Welo)d0}Ll?oVd4lg@MnMtpSHkHd*UFBr?rzh<>0yy(ln^Mf=n7oFxS1${GH@ zgK`*(gQU`6GQW<~$qvIxZ*+9JSV&K@`!&tUj7SPJ}H>0=v=Xu3X^ z8Y|MG)9VNfo2|1?X65WSKV1re@!0Ro&^R=o{z?y7E~?uJf1N4Wy`G(1v^triKt`jG z_E~pZtM;RUIcYzZjpJ^^$@1A+a`f@`wA9JY>`FoTKsYR4rI##(hqP+mt?uK-sKmia zFYckUAg}^6R{rz4(K$(cuCdxCxZ>u6ku z2^pO*LXQ7RDaq~Jm}9KP`@zb^Zqv!f&$d8~S7f*LbwfEb0b!tDvftsczYo1Up0<2l z{o(D|QV4&B#cb^c-bG%1k^edUUOTQ%7hQ3ET2gdtvWU+^e992s#;+-VoJcxht&tm~+f?(BPCOE-H#L z0GH`a@*u5pp8nZf8KnI*t_I$@|53)J7<(Xd^r6*@f-n?(u4v5HhnT1DcynBix9j89 zgn~o`iO`oEWMa+EV1lpc{Fm|)Q-WeYO&ve;lo8Eg?F-+jP^&ZaJsvw^^VkDqb6aj zsd}4m6dCnN3OQ-fyLSKFi@gs=v-b13jr;OZBRnLz`y{#@fp{Blt)?r@4>t0PX;a@H z4?nguypV%kY+=F{{FtcZaWce02!{*Q%2C_oc=kV^m)+HAS@0s5Q*l7=Pvky{IC(tB zb(+>W5pptXpRDP$p1G0gJeb5QshRxT>XrJp_at;GMM}ksse~%0e8(m(a8#*~^*O>( zbqqWnw({?Xhlr8P)t4g2Uv zx~vgx;1m`2x`x&ib%_7?ej{_UcAF6;nMBJ3){CR~StAxb1aW_VBg-Xim$6nOaZL=E z_{SE$Dkn>|hGLLnb~7sFhx`d*Pt|)4qDn%+B!^Gb&=*y}l=@MweW1^35?qfb4*-CT zoN`zQv-bHHN_{sTk%@`}(2okSg7}l`<*8LHmu1p<6ag+P`(87G6@l9#zN=7-5dr>u zR+ahm8`lxbZ{1I;KPZ^jM=8e`C9cgiIK#Y%%R2Wz+yLd2kBTg`(^>W+uo5^J((}14 zA)r7pmLH66eFKV()fZlU;b4{9!w6wABhE{2DBer$1C3O+W7P(aVci%iaJL9`X!R+i zz=_#_L)OPrX)#N?mh9drxlp}RyGd#hy_Ixl&%hyx#}R2T=M-^P9FgTE3NGw)S_D@s zBkB7-o!FB9Z|P^om|;_b4zHf3@r%pwl&|&2tIQ^i)V3I;Jq~}mqy{_yxB0k7Foz;x zLta%{D#MzZXzCo zdZDn>JLabbM}IGfqIjR4a+u^`5-g7Y8cL5eYn4M*@L$+lY{f%QRugO^%_9jLe7=P0 zc-YUS%!SeBFwrb`eY`uL9QMLve9xxc1eTXezqM6Vpa;s4(BK%(9xR`xg8V>_#d;h(ssL1VeY(!zSEJ`C8NNCnzB8rL{CoUiz+WCH&4_3@)R=&q@in z?Q)D3fIS9D-xF=y4sR=wa7XF~o=ojlji`*5_b~^tPC3%71eMas@0D4(U+#-3AKxBa zTvXvndzy*xFtyQQ_N8*qZHl9oV)4yS(!yg50}BE)>=Cj;cF%j%Vj2Jw4A;VDT>%p? z$%w;)boN9xrZI-Z69i&$#Z8t#6NyiNSsT#>g{G2NK&q^$ZH8OAD^7sD<&xVL!6oUF z!G%^Ibd_D?{F5m7&2PgV=K>xU!1VR@FcRh{6SQ(5m2~;66WZ$V{&NoBT7nH})OGWB zO9zIy98MGd^kBk_qfd7pD0Q$EiF4#xJ-J7iuwN2{JRe3TW*CQ0Sh9D^y_caXfwj_# z$-+akQ|RS}B|iGWsq?qM4e>*EN)ImrlHAfP2PXdw2Nco9c@%{pOpa4OMzpK%2yCIl z0F}FRmr7VfEiFtgx7t%V^g4t4PuWClm!H2@nm)YNEr!fws5pRm>^hmmZM>o9ns~TL zOnU}g;iQ3d;W?tQ=$Ee^trafBy|m4vmGbc#4C?L5`H~>I$~G_}(6F@ETaY7K^N43@ z;l({%6W#O-B(ympwfcmy$J$8<*7%bp20al9X>(f!74qyLG`Yh@mKPQqsN<71XYa6% zzJlUr>hexakk@Ik6Ch>zqOm)S&$q$lwM^2;9~3Bnwbt_z-baD_QGP?oYS zp8smEP6It=hwM8boU~#d8dE9jYf^y9U)<)IBr4POLE)i95PHbz3)54Q%;&%E=#(ui zkT0d>1lP-fc<|x%Vh%)JT@YW|==&IU>0$j0!@qiuCwR@`*?S|+Fky})dxfVh4vd{I zn8XRcFRnP)bv)KSzuhESpixystMNr0_JS8n%-?;?$Vk5|EujrKb_qkznqGeX*l}s2 zt}=FecdzerpzbB@!%XQuO<-5qY`WG7A-noCxs}jmPw7U=h z@|0mlY?lY<;PmD$1O7NdGeiM7oRC_<8JrV6!*oev=c{Tw8q<*cp?9PDZ&XTY&Sbe! zew@McP{jEOveu_+X{RWU8F{D$ixx?$%qGk767HI8rCm?TaLr~&eqJzgCUV*Hd?`Lq zy|*x#DTNE;ck};(`bhunQYy~T$q)VvR+HjI4$U0yFJ_qff=ex}Pj*D2?xNii?C4nS zkB7x%C)!QX=qtBJAK#o8H3I}MD{m(}+ z2D_Y(w-mxL4Tyj6yQ%rIx;vnCu<g-@eQHOS+Wi1C>?Pzy~ z-ucp>G`e2&q=^J9XGUxHoU-20Nz)%^O46`7r^gw9ZOwg&=vaFbQPdYn7kzH#w`QvO zW|skeFNN*WAB(|b4j2y*%7x?Jq3`TSF8nKvLjeNd41*b4 zGAa`kD?iOOBk)Byq5^bKc=noa=M|u_3Wg$l_5bte_Sx?o(4)DbM~8fPH)aGq`tjdK zZNi{{i;*w|2)Lx#Md&}A`bTsv@Bf$Rn!Hb9G%q}YSHXKZNe7v8@^FDPVcRqjl4ORh zSz9RNV-)}E%IL`HbtXInWt+G4tmrEg5}N@fo>PfdRLfniH5o-I6BGskc|-$RITHSNFauEWgAdiFAeqU1-(EH zNPS7Z?LtCCC1euC_7s=nBtP!r|7=d^h;eS@}D&v-t_*V?a>Fdexlfc*Au?U~i9 zITDDYsvx7o&6hv`?QsIq(z3O=(^ba1#vj(po>4u6!zQmBm*J=Y>vDWdD z)%-w?)%?4Xp>k()hzuLZpV*xQga6pOJclRn{wi8gtg`gq7!7KOej}@}o%!CX2!2(7 zD&_TjY07f#&8A6aoov5CC%31&>6?S+^7-X{mr{CZ%nw$Q0?9~xfgDvxK`+Xd<#Vwpt7)rrKLP~e=tXG_9#~+^+7!dRL}FUhhwa0JC4Saf~1z^;h#kvka8wo^AWl zQ=>#1B?S`EZw;ci0zjw+ADnUK=^ucAx_^a2K^+4{9d)_JOU4Kpb6;LVWz%N8ub+XN z^rLngvov%GboW1A8xOyOzee@Wp^ycnX_!m@Gfh+10`ina4j(wXWdKuamU?0Egwix{ zUQC6ldE%e;x3&|O=W*OBlX!LSN$kzgUHkGJKI>&)O`FAvgNt*=p{THuagc2Ol5`t# zT|LYJJI#em^Yr{p6ek?8P-38Jko)+Sf93jpLEa2IRINOBh)44lYyMPPVwVM`XmdZP zoBS^HI$K@q%zQiH^S&P^vxqJGE0;t_A=CrBO=+>DLvr*yei^8T#F_mSC=K_g#4%l% z+LY5aW3?~O?t*je(wcO^P@%zn-mNBgRfg3RMn8TxEN!YHb+HZp4R!#WkzZyt;NNfx zwjz*7LFRC^10Ev46bFK^@$8paPgd|~f*QsK1FuNtq(_Fv33%`#=Ca>{YlHr!6@`SAog+_I5;as72N{ zi#p+3S4QLf)+&j0E76(!{}o?AKM#RU5nN->$O10K-&={0A&}T&$)DQR;5}N+rc1G% zruej=!+jl2$;AwSfS%!GPj~`hJO(O9dYZ_<1#bMG zA``>mDTJ9P|A|QgPq%MVqmw8ChRRgdbT($?NHYmwQ1{3i#~cN^SoRa-^4{_*K7W(x zM>e;h?R`i93B#o>n`fc_ZiB%XsR?Dd>31U3U_K1XL7bgl&`Znty)5h(Qd`F)a{3vhNh zm`MeGJFx&-Hj(00x=%=$$RUnomG*2|kQO__#8Gb1>+J)nOoj5gSwi;#CO?#4hLW3= zQb@Ee`-jV9ay`{L9TfjPk&O2Zjc-r#TiJ^ur%0)j16)TOiHkH{jy)di;Tq{6|DQh% zgW+&qwKD$Xu*ZOIr9GIbJBLWDmQ(V-L(=$^V!B&0ANw`Lo2?KnaA3W-OwlSyZX%6I zzblqBKO%z)D~fh_ear#@L`{EC2lDsS+&;c%(bFh*zDyN2~8HbeKu92<7b zwt5fFTu3Ek`>pX1{<{sClfJ4&{2@GE?~O!HmI8^J8fWQ~mvQ_?jrG&zRj35q_yH91;PyQ;x`w6a@1WbZ+a)0i#P>m+m?-}}IX?mY3avI=Pp3A4d zIhgz_R;H__zg7XUhMWo$76Qe4DPnWWWX`K6)1NpD!05N1~tglXje#PmNg zfEBSe_QqmvusnM(3c(e*i;9e|G%x^008&{p5%4INz)v6rRD5?A*}z8sUa!gsi>us< z`xRFe>am10L!W1K&92CI^@|N}&%nL2<`!RrC@TV5k40 zvZl5l{k#-!HiTd?;-0{m?0(?w^1I!KQ;~Td#62AC>i=9bp{hWwu+)FIp;lz=ne9!+Cd#ec)Sh#gO^Mou$0?<&~?E49w|JG*62;W1*K(1eO z+FD10O8GXD&+M%~jJV}E+R79P-J7M)%XZ^e?r=E^sy|WF!P-?avH;uq!uIDDO9g1h zEx~=RiVYjWE4_oF3iS!nhHt^A-ibH=RTYGeLjDMXaQD1yl%<$l#9VUyruxtSj!033 z^L0`p;9>x6ckMQV&guw;@WGm*ABc-2A&OL(3bp#dt+g?rch=CPHJL~SgX$y=*qjae zA9ti0s#Dv1)q)b{0hBO(9#wEG^$6t^xuxrAR=NDUCqZd1@2Z-?y*fh3pDYppdY+Cj zLB<+OSM*vVIXVqnGU$+FTRA$>DUbbhwnLNGU%r$GmnEplf5#v7-$~Lx zi?(IsQ#u=?Yf9ep-zER^rwr)?M%_8Y>B--{95lSYT9=)}IT&mYHD`Kg07}%+u|gX{ zHu^dPFbcXqHQ~N;bs`|lG+EnOm`6WE7%@}=l3pC3u;w;Q*zO$8Dk{Yrb#lX_8ijCd zgL8rwQ<$B_kUHR{@KR|fGkF}t8t>>pK`7C-@P7j;1!f|D02n?JR-h11Lq(99wP zV@(W^6ANPX&#z4SSGD{r?MYf@S-Op&Lg#SHfeI4z>PWEdI#Qv3=d;!EzDgiMnUDq! zmD4Ye)G~vmH;&h^wZD0a?K?6y_Z{i8w=LAMT+X!xI#r@*&nB2a3M|5UO(mkYxPXC+ z>peY(iFV?Ig!M;Eaj5cC;;AYla6&<2>?;6xGS8pv5}}aA_2%NU+^tLL5f{G^_90ic*%2_%b9g7 ztARf%9;;GML_T$5lDjfv&T9^quPZs^p&1bG*h@5VAR;(?21F1;Y&Q<~(1Lh}e1uP4 zcQZ*Q*Dy0#w9+}tBw{;rZxUY73CI5-$=T{=>VaA3o8dZp%k|M*#Zi>s>my=GE(a2h z<-6I|DkI40l}5LLE5Zx*>Xb0y51moGnGpPT{K24@d;t$SaO6YRDHEC_1E;@YXofH9^8l4D5 zvIe@TpWsg|6+BPkmoZo>(R>Fw3BS{c-V3*_7@qwZEJotTj`#l;Wr2GbM15jq)bNxQ z6u!ieSFm8{A1SM7Q7mN*7~zG+tRLRRd=4u(5!Cu4kH$D+T z<;!@ysO$Vns{;vi==Sd^7By*TS&7W!>=pTHh zVRb)tQERejc=r5*z^%DVXUB$n+M)>5PGj zx9Q5q6D$xq$O8d7Y<^8wy{ERHu}gnb6S8IK%}TsPB^!nA6KHGk^O+w~cm(i(!|z7* z!fz!Z&?QnlCD2$D3%2Vz#-%4h#!p1?l~OwVx|Kh;y2lB&*P&Xmq*ck?nn0Z8YuXY3_NP+hIR3Q9G}0 zrex#_%>J%qP@GEVEG{>(rxJ8+>KR&_f^-`3K9DCYBCi<3g>N|>%i8W|w)7>V%A>*JVYKoW$AdwJs^92J90LP+b+x&$%0pTYKbR z$7Cmfm(u@0&!{~CX zM%z1CEl*TCR#DN`Gfb3Y+3@Z^Cu+Vv%(tX{Cb`*rVV z@XmwB5tc^M@_4Y2xoJ^rP(-jkH;q4A)Z_OASIT{&{E>oex{LpC~nlm0zH(TKrUXwCr+@ zlKZiJIHJZZQh`QM36Jnwf;_t&rFNwM%4=kI4ckTHUD&jc&&NX`YRu3@{uvjTYXMi9 z4}sD&eg1Mxid52FzpC2a`FE5-KvZ{gF|xkN!FX`fa`2QrgmXGl^l!R5h>n>yTx#V` zGBa$ss<~mhj>}N*l0{FLBh( zr2d@sPaDwGOme(1M^vrt;Twu9qZ?K!v@L$>%$}&%K6I64hzkU09 z^zEUrS0`%JhRSEwk80^t=Rr2}{rwp?Vpj}2DLFwdXRRN4DL0PK))^zx)T6Pd;hvy9 z6pX^kAFt)3Sdjw7D$yJ6W^)uwA2(O}mcgdLP2*3C9h?Jjk1tHXDvlh3&QtxdNp}>3 z2K4NVJ~eLcF=PGdIlx*iYLN;?8qhWitm7_psiA!HKhQK#Ba<1)2ZhoA2L6=ylgF7+ z{jk4#IOCgb4fY6bi#nDaujEd-1bQMgyv>=m7nuLwTQ7lDb=FJH;k z!`GRr;2Zww(#YRCvl{uR;>moj%iUDT5nLB;k`mi4)z9ByLW2Ku!P*$U3<9*w zJoYQA1=@P6$I>TC1xgCqj@kK2#cI4eje%%0eEhTCua!2#-@#+H zduRYEZEbl==_fr0?GKi}@zngY+m^#>cyYY_6_oJyM$jngcZH_D&e9ZF|9zQHe-aiW zZ#7B|*_*cSE5mSQdK(BGF9x}67*ZdmLs~nQ^_uy^3f8Y>__y(-mMDWGPrlR}**%?{ zTLWyPk4aPa!JLK*YZZiNqGGj??4Cn8KGLs-MWF@(YrW`LqTThABL-Ks9M%iXZZz^K zDG}UFX_{^Z<~22fdbtXRCTmpPk0glifbVAugw_bd!%QrIm$=A2ie#P+CF@ui*!mwg4gpcGiIB=wXOm7(G=#AcSWw_9`i4knTCi<;&agdgJ*b*GgpUhlH%E zJrQ&aA^bPh3}Env25XN;{muDBnbj4g@nl-&@um9wMb2nVX)wEGVodUVMJ4WUelJkr z{)#wIlrJXa_{U!LB-l58bjixM@v0>ke!cfg$)JC@(MaqRL9 zqXrGG=10MnRVjr;=HJg^ASd6948$_=r=$tw&fF5}M-D||PkS+q?k+>E7YblIVj^wu zK28BdP9VUQj~MGH5vnjw_Yy<&2l?w(4h40(#^>EBh#D@!p7DJY)&?()qR|NEuL`1) z1@no1EH%L85bDYrXj_@2Qtu9`nx){HoB9!p0Q7OFfD-u2KibbiJ%RwE%|G`RNi;Jc z-Th5Kjg0;*^f%VJ_3vK_>%-{*s2eA_E|8Q>0nRJmC-o?d43$d2hN^VIZoZY-bxEY@Tt172;r5vH7O>>mgm@?!+Zc z9)VE5C!ilYpq{C~@cUN^g$UjHU#-#`LrHGWe+`@OXPvxl35?`lsjf*bxU(U^4%iC? ztTDwA5y^alA}Ah2OIB6sDC7&$gl0a7k}STqG*X|jSm-T9YMDa*lHvBsL}|M9Ji&PP2-9&yesR9#An_LHs{JcKxYQ3p zP5{vg;58VF*pdo?3FCA%-%@|4&v7_i?j&%1PU+Clal0Yuk(8^;>3|rk*#fiUSw-}6 z)R!uUw|=p!4!So8j#Xm2fvDEpxPXdOTE}352?kV9qv|JOA*W#eQ0y3}iUr82{!3&1 zM<-u*MW_HLlKh6=`KZoHkXy0Qw^Nfn6>I18=}dv|h>v#Tu6oUs?=Mf)j`uv6l`Ayg zHk=R(c^1iCRHvxzv`tY{FP(}nT!D^zYXX@t< zx9xi{<7UUC)otHXaB)<3=l4qess~v(|75SP0+PT7sARgthK-fZg3-q{>l+U;Z%X#9 z*9|HPHe+~!qc{PDZ{XQ4=r97%OaV%2PG~gBsqGXh-mtsxZ=&mcn%)>zD}U5q-13d* z*HTPOES)vz_@_1OmRBAOo9Q`~cj&l*fd2r31_=WY#jguxHRjV%GOz3PjZL`?ECC8D z0h#{#AkYLqpoArgf4_KhFVgDeOEJEkS)IE?DJM5dgeTDgwe9rA|D)@2TpbFBGXC4@^G)r%s8i2R@5Ru?R;{_ zVhRLA(+u%kIk&N!V%b$_wLd7hB<@=PasB6+W4BQBL0Gw;0Zu2_fimlHe(8Z(m646+ zHrsYm*aN0qQgr??TI1XlZTnKp_6)PLvZw-(nZ*pmOGG-^iqhkEq063~)|Bl_rnA1R zUe2?vI40J91nc-Te4|RY-W#n-nHMq`$HI|gi6pav>I%*uutvSXla)no_qptkN6Xx6??dJj|RxM7t&SnZ9ENV(g1<42!R zCqGAYnMAQEWvDQFa@5GW*Wei*6(v^Pd2`qHgo{t(HVjE;Kt{EQ1MUt~yC$HFq1$QN7C6QU-tJ z;hJY`WE)_gSBT)6xT3Dy;ar#9mHYA^FZW+{2v077!D$1 zw&8aodg1rmXF#Cb#hY3q!`@O{qQMf|b(R^>u$Aj&eS(MwF&OZ^Lx8 z2VMW{lUEP9LXqx8A7oS1ASm8WU7-}XN5V^T2XR6dAC+-|@r1J5I+~tKqS9%0b~5(n zYQSlHqmFJnZ`(e}2U&{SrpH;d^7l^me2oE#MdRiwr~TNh$WdmCl*7Ke4tBz?LAkjb za?wCMPpTx>7Ci;m&DpAV-}?_!Cpii(^(nNkC+Wob%LwkK3wey2C;6H*q#CXE}K9!^+c~Smaa{6~UcIq@^|*k2K%SZL#vVgD+4T%3iz3u16xZ z#_W4^FFRbFD(oi@XA@DU-Hy9!@B@Qd$fqvLL~EZVLeMK!tNK=90k*X;5~_-f7dFmn zt!Qu4t)m}q^6drK&kzmdpGJ&+KN{OCN>lHDev4rZ`(uDefgBzWQcts>3||#CMcTO1 zcZZ`s!(`LE=Zs2ZBtl}ABO;wnws_dKg34`nT7tfs0eq{7zvc7VH_7vy;~7(h9}0Q% zB9TZkyzXDaAlGQ$99=UuMWo&OE^mA1dztcY0zGQnVii-vX9a{F*Q*bzbpt$=xrkrq zwl$~NydxY9h8^R$j}fPi65jRF#~mNB9S~hwR>x8>ME68^n)YzzmmcG1)WSIq^V}Rh zy`WY#(}Z6k9Tv3bUfNB%0XXCG?Y4~!Q;)B#GC1)RBr|;_6f)=zO)P|dZP1S72tE}}y?w&5+C!0de={yJ?cD^k3$`w^0JlAk z^{X@tS6Ky_19d!(sJlq*Z{>-4Zuu-wcru8I3i$_O50P%n%?iA~7x4JP+Uc+S{?Y-^PsUX7|qs`UJnNYAz zL4K5yQvNPR(zztGH|&e#lT?5HHC3l~N?j62y*SZ1!K_O6zMK0525wxxGNgJUB}_z~ zCpG#Zm{r`H6U{B)?V zCLwN058!!_)hHROGL*x97xIbcRTenPbZeq8W`5;F_88`_=2KR)1kzMF38k~w8T-anQSVd zG+kbKh9{x4IZHtlzl`ba{5BT9zqr@L)8RKoE*{Q^ z#KeIKQ<~f^(5-wgx|J{6Uj1Ww5z zS8%N@rp-Y|nf9(W4s5_r-qtboDMj9>7exTZSZT+B6KwuBrN05p`boB|Pr^jGvJN_Z zo`!dSdc3NV^XJ?-k}^J`P@7ZZUh^JjMqHM!E2`(V7>sVd6fpI`ZJ6;6k3 zGPmF1^2t(YKG+cm+$p+#E}`1qN4Q@?#vs3 zNArR~!WB8eJ0s&mRNXtX+`5h3Bz1+RZ~VGKz67E5vh{2II{zq@7RQ=xj^B6}RaC6~ zxw7Ba%dnO6**s3wH;g{}dAXs^M|KT%^_&vEul@Il-_9u2Wr+ITU#~5zTC^q4yNEk{ zWb~oH=bXo2-47*IjKI_ZnQY=e*Rb#^r53Eel%3ttPP$~%-;Voi|%J~HP&SkB65_LNgD2@uBA{oE>F3) z#*9j^*yY3-o07laSi9m$M4qu4+n(!an6cYio>p zv_v_SlznaeiAvWJK0PBsU;1_)KJWIKw%A6u_N`mPTNC!LzNy4`=22#^GQ!O$Nw&
%A)d;@(omwr;QTQ<^>Ar2l#G0SDMw)7gucaEjOtH3kT&C!2)Fr zMaQ*1I{TXBVP~6}7-5mlE6K|#jl|`KC!S*NBI(imd`O{Uoxh!zGt3njf3N0YWVWWl zcK`g?oK|nz6t}hu2M~=}A0Q|@<W$M{a!-JNa+O2^<{pbaXqiH*HEuRw-J~C$3LLD zBw`5mj)l)Bz&Yyy{=|H4%~v^&KCyxy*PFxlI-WF5JfUV{pvThaH*&XeoM|M^=O;qm zzL&pJl{n(QTunUM|KjVw)>ac;7(*Yh@kZcq4+jTE_zBYpUA4sZ@NQqs$oV|lo(p?p zI6$#Gmaf9KWy=gdq=|rP67~?`;3oqAhs2JctX%4NW!P7nx=xK^|AFTb>@2gUt0u;C zSMDOWZpY>LTq=Lpa&&wcCBy-CGhN&m6eWCA!?sqUzbfOfiaWSaduKfLTQw5X&DP_I zZM*3DA`Jx@ueFusMKOC`UuVL4WUl#|(fl*tfJ7e}QPJT z0sEtE5`~@0@6_6rYe|S7wfes5XT@3Fa&mkjJw9kN%S2mN&Z-;NG(ongR(J;`O!7r9 zcE4Z{nqt9FAL*PInj(3(q!l5ym0%F<7Y$4pHp{#5$Eav_Z4S%onDV*-qLzxOgTfr$ zySJ5Zi?nkRw1^*O3lY&|PsQ47e=e({RTeh;&H7mIi+1s+nGxio7YZ`Sd`Tt05e=M1 zJj1`e=^3!|-)QA<#mH6i_oCi>Q#6jRGXD1JC!3XgHY+h~goeYBAYg-Y(RAMs2bNUs zdgM)%UR#F9)VQCt#_xbjgQG0Ash=CJ+w$KTJAs?9%UYaz=8LfWVqsg@D}2c~5+ z?=U8vGJ7u~I+E-}pHVcJVA4X*F4J?y&m??wI=Hya9E<3c$)&HIhB}Z=^}e}8=lx#X z8(cBg5Mpw6r1G_aj<17!etU$$)Q>S?co%HMQo))lG1X7#8_ij+FS?OQD$2qmmW!M| z6#KTOPz$wR%409%DS6>*6xUA0lPh*it(lO#+KyT@y1qng(y9Td{6O??$*bun5ArDQ5}##nw~S`a!y-Yem&^G)Rb z`n-~;tzzO3KE|=v#as1~C!vq!vc|SJ=<}vO7q`c&DLHo>H_s(j?-t$pd8@rE=gFYO z&wSuz{~ASt6PJ$5aM81!jJbfweb#=Xf4Q3l&J|*aD<4K2dZbf$QC#+X+;!#73G0v6 zbgI@$2w2B-+%9kx);DEs@$U3`trR3b|S#0i(I2Ai0f3o$-Sa5`edYhk&a0m;L zbhloPzv^ry>34hD6qaOR-4~GxqnY~;7#HG;RTeAjb`Q7iHu?j9P*yI5LZLsrcEplM zE);^tj}?@XoSg%Wt_Qk^*Hp~*Jv=-o=jAc%=HWNUn<WQxLb{l|Q# zSIDP>Q#TIM^ax%dR2uo!v+)< z!K)M+XdR)-Psj$4`a&WH#73yuu73~YA&zYCy4XGB;wE{msbxl9sY?0vV8RP5d@c*K z!@CXDdHYZ6d8JGHzb>G~2vCuPS_a_6!umOS%8uFfYQNG;NPB^m?Yy9sqj`_WK6`sF zQ4KciG|4O^K^H9y#D^jrQX6QKcL^h)BmR>&a0_eij%RIJZDDxast_{j#!G_7JqW>uDR9@#`qa?euUvvb_s4ZX4RaW+JhZcau5ZOu`m*W~@K zY!HZI1QdaH`4G93f~WLS!6RfB9^sF|R-4<9Cb0+?Q1df2b$gOp~Yf+I|9OuNlye+0%ovIqhXi zRWj}%QaxFT)wXE;;gsdx`WLzSy3z;QSM&2%mVxm+geQCsaslO33hW%VB$Wg@e$$kE zpGQw0nX5CXC{>{l&6`!V9&|UoO|ZGW9HY8A)DM7nJb$T4Jq;L#WDw z*n0l|koDGKRd!qVuyl8Kr_$YBlA92uLAtwBx)D&iYqJ#)kuGTrO1c|qL`unT;d7qf zd(QR!xxH}j`(82EoMVnLR=?K~+UWs!;)iV52+tg{RNa_P(u;Vbx!SpKGFnjfMf+tH! zmh8wUm&A%NDd5&6zs^t9r#h!E3&Zw$Niw`#~BYCg5 ze6oqK_)f?bXn*HHJS8bN2W23hN}4N>NdF4r+3~B5f^6wZI_Z)ea@9SJdM0taztba) z_cIQ9H!*Ft8f5Px9lp`e8!pYHWvUxR%~K3lcjNpR+v4{W0xsUdO+ar1J&)_AiE~Yv z54<&Gsey*0;{*IOmwu1et++DYD-#c%LpE3&LhT#DYz6Pk8+_dKyR8_M)WG78`<$O} z_{^?T3K@7g$p~uixuniUOnAZGevT?1jkMM%Qe~{N^jt9V2UsSc_~(X~#G8T}NX-2D z@bM=_cnvL#gXR{&qcCKQGcSghn<&7a>|+l+sbWgRch@j;Ie6`*E~Ow-UUIrijc|)e zQfZ#%*(x%WqOH7_E_KoX-{JK`%?OV$uH9$q*Sb6me`bg|#JdS4C1uu(vckrnnN6|j zE%3w-ux2V^)e2zh=C%>n`r*cPy{6`#k4+W*(c(Rg6uNaE>x_6YObh2I!e^V`OFe>; z1gCcvEmgMH_;l=-N3o4{tUF^pn#U+3DYNm^CSTFf98yOG`oLS;=|B^Sk2C@9c$=G& zMIyTm4XGRJ=6O7W45k4JNRuWD#Y7|kZHUa9C79o(%-ZI1Pm;S{cT!gf-Fb%5cZ2?` z*wIIMO#+e2kWXNrq%a}aarOZ{(0J+-G*8CCyX7$JsUh?DTZ|R=CvJE2GAOHoes!4p zg?H+U^_qjzk;5@(K`kjPBc1le;q~j1D zFng7{TOC9)iW!P9mA#i33SPGxXSrk@j~9$7xLm$|47iXQfLq!0mq?{AwIG#(a8Le4 zP%2Y1wf%&Z`}U^vw609!p4ZhpM-vgG{xY@}W)kttO$ODKP1xY9*oHcil8mFTn)Jo7 z3oSq5z-N820pU>WM(5nVo6Q|kXbiTrSm?8$1HwH*vG5#nx;YE}o{&xMk0q)l^yF!X z9TkQ{`n}C@sew#z4GosmPv_q&j>3Po-QOeP)+jto>l#T=wsR0+q3iDhtA>&>9nCOA za&wa~#qaq{2-^`|-Mh@p-bOK#AY*;qggV0^C^Or;*M!}|?z{kj;^IX9W;1kxc0T>x zQsI2-j_p|=w+H5CfdrK+;f`n-)NWQV7=i7H+E0&fN>N+&n&#~edqi`={vWsfT5>B* zpP}!!3cM`M8^Z`t5Sh$h=%>K+cuF&4sI0rM_mG1`tGR~R`RtUJuea#p91w*Hj$|FS zn!XbgQ9yOlEU-AiZ2VYz7On1226|RK{H}Nh&tr<-`V3MCN;**9t}&!8CK$%ZZi8$Z~M6Hxe z*$vE_b}k!yh#(v=jU;ABwu50a;d?`A-l?FkRPPJLIbm7qo+Pb)5bFl#Qz7n^ptfE! z8{6)JK>P{{VpO_CU4j^RjXX?|@>-?E20s7yhjVbJX~(hq&PJU`n2Mw}E>~g5yXiB|wC)Pt6M7LM(NuS;!+#FU{)SWSX66t<%p2S%^ z1I<}bdzUy6P}{bl@OrE7jh{9Vzd%4l7%aO3Z>rA>9WBb@ri|D>fF7o@O|A%T4ZzVW zT(~%j_8-@VAaTLQFAsgh89o>vU;UjAj^MYY@ogG<*H3SaN@nScECduLxt z(#iL)7KvXPPnciZP<@Q|z-yBEWe89gBB}LO&4%s|9xbIF&HBfRw{c$pzzjQoeTP8hnwKYnHR0{q-vG;%D7G~)p6TffxFA|-d<(`uiDu=nKw41|Suv4x z?M}AyFH-Usl>9p*zr!9SIM7IMa%M>v;TzQ3V7au{)%oowiwn9e#?H?hF1qz%g_xN7 z;!P2@Xf?GqsMx{SE%~AIIlq#(e*2MD4nuv}`o&XMnfz7s-j6)B#ru5H|ASj=gu7o< zD`TLA@4fTF!zic7pN|}#Bf6!ZPI}vAqRaHm7UVL(Y806K^1s+!x2B18AlIp_3V#!7Y9*cyWr-v4sa`N*$Ycj{=e3r~6yP z-&HKmFh(Wca69Qf%ZJ_l(cHbGm%xag7G~Gv>aHs%M1W*@>(H>FHL%7&^=D#1Xr`7| zGLOyUZGOqT^O=&r2rG(F?BotgJFUBNW&WhthXhVWgFQU9GG0CE^!BnF8{3-q5|J|SO4}aWGFjUkKGx3`H1oqG z9?Qj!Y%>NXylz_m`T321Trc6U4e5Ydm??yr{T);3_+tnMc41<26d@iPZ@;rxQ^HP4 zbRA_Ql@S$+nntH#BHf4bd{=5eTA2N{yttAz5+;M9oC<~Ev130Km+xuWEk4nhy&RP* zrdL{J;hw`0mWMn^Knaw+^i*gtyCdJ!5QBre!YYZO4nPHNTVgh& zogO=OELr55;s0b7|D+j36aWBPN)pP<96+3p_|%_3@+vLuCGZEN6A);Sh&~wOc~)&0 zHAoXm`TY5F?rb&5Le(bRsWe8$@&NNf;h!my{3_A5=Qg-PP4+qO6EL zDKe%HPFFSTS~tq|b)}bDs0>x`%7$29WvYAn*zhLE-F~PiPttVc(eS0@wi^{iyxuk5 znbMP$Cg7^mh$vnTX5633-yM6J&`*IpU_a5{kgRcl8)Mw41>xZQI)d*i3A!LH9$Muw z?c&)iarS}RGIr%mB@SlE@x*C4&BD1XB{|#5qp0q7q~Yr>ns$`F*L$a3wB%kx<1}~7 z-){dY-u~7#e|Pm*!2{IK;!K@@=A{EaDsf3UQYe)ob+d-EdT{5?#h%uL`JXd6B_|X;kLx1HNPVkqChiBUs9Ky>*G3GO=rmh>V8D-eUS$XZ zRkF*%rFS=?@tIPWB@EY~3I6J=?Rb_&v!E{w4x#lJ-rxG6()(LdK0HFZ>TQO5s+*SMfp?>n^s{eYtsd(7 zf1h~g2^c@$H~FjnfB!}LPWNTazO&8A_q~Ca7Q2y3^NX&TdjNjDI1HfEsQS!P$DNo@ zYpL97SpOrBP-HehU7#!#m-SYM%KzIirT83Vzuwsx=kU7%>n#fU^x};wsFy?kAX^>- zD_QC{TxQAM`_lr3k{v36V5(NRLjPd&^!6g);nV_<x zjd+~rKZZTO0I6HDLIUw0r;aDE;OI0lOZcS%Fx)O({fDj6qMnv(JyCx9)lJ;)>wStZ zq;Ah9{5Fz=eopFWu5D$Sxy-bjnE%(Co5P38geiENAMn+tp?$;%_gx7lF$=vFcvfRP z$GPEsMoYqJ{AsLM?gac_%U_$HC9|;;916`hHL|3oam^uAxC@JH#41yh?(XjI4W4l4 z4%1c*>rLfbI{M-N*RSk6dl=uhhnxM};mIu0>lgZ6S41_yoj18qP3+rhO6U#4-PKIj zOZLyfxC8h#x1G4lN9Vi)j;*tz?Exi)6iS*zQMsJe`Vq+XT>2ZfJ@K; zT*AC@{upQsQb3_((ftxBX#i%Vei-!XE$p_FN&NqI7^s-i!1IJH`k3-RAVezWz%rFo zDkLaf2gJEoV!bZ_0`u??GxN10qDEixmpg;SKmj(sNf>%jU$~apbyE(lz{bFkv$igW z!a~;LSbhQ}nb)-SN&Ej4X088+>j79+1O7jIEGM6G%Xb3jT+H{V54hHF+kY=pocRDf z$_xBjZwa6O3Ow6L^J5c74G|F$QUM1-pMzPt5o5bqXpSf|vm&ZP+5{33(t1;jlVC3H zw1R>{p59VJW1j8b68@i@He3T>V&0X@)CH6TJFSSyL(D8J8*MAME;A;PnS6zOw%Ej6 zrimczLznY`U2~Vh8(ULTY8VXW1{T}8+5MG%ddIbnZeR;#XC453IF-%kZZ6wa-}!%` zQlXWSqKS)(Q`ZP*uPO|_cz(jXUz#F`{-X=x+Hp<{{eA`f>Ih#?E&k6)WQB17bngO5 z;V1%ppCaP)yXO&=1p(;U+1YS%w)c0pS-jTh*ff%flEGK25Anq`@K7KlGc(}}pTmbI z8?$vUhM$?%L$R|4qe#9W-pGPYX!hQtG866h-U=)7mk03T|FZcUkjv*3Vt~r{M$!E4 z=1L=-r>uP)@6Jn!BGUuP*KD42*U7Nio;;%LbDuVv34r5m8VQ?srB< zQdFGwTbH-3J3e0B30`(nft@^d{s2z~1WrTvI&Uu)`dzQjj#pMT*uYzn5}6JC_Y;hv zgXW+ST#~B=fa&<)jT)W0Bhd)lW=wq7ZZB6zL^8v_a~d~?k(m0yh5q?!7U@?ZuIW%! zRrUMOH8cSvxRaBU{8wEtnBUcIO$0CPlK5H>oGdJk$%Pndc8waUxN`~d2c~$cu5ikYIc(I9z^3R`V3y1A~%jQ#l`t(;#1ZTjxX6Tj97@S_{?Y>z* zx}ftsBYXMf;X;f|1oGOaa0C-CYjNiXj0|9=dx(Ngvtht#Ft7s?{20Rq#sAE0J7}-Y zV;BUn{r#~bbceKhT@|$$)aAhA4*E6`t$Cm}JOMt_8{4_AJ{5f+B=TX}+GCHy; z%Rg(xivUbd+h@gJy#MvhV=52WcNsU|G&5fJTs^*<*70{B&lu)a*N zmR2R;M8!|4Dhp&46p(s)dbFNDXM@3xn>Vm)aa@0ecy)qJ@}IKRUWc8nR%6!#abq?rFXp2MMIc? zr+oOfwzCIIXc1Rgb-MvTf)9`}z_berlA|z4;#VBvlapP}-+|nNoNDEN*7GVH9NRU{ zm_&0j7g*6nxp>Og;rE?q_rMc<0~mm#=($1^1ypvO7aHRbkZ1xAc*K9NM)<8ok+hPH zZ)cu@=idM^L0(Z&@zc9(uzmjydw#;Fr(JG5eB=mC;|xun=-Z#ysohOI^x6G=3^hStWkjdx(wmnGVm6rJ81da#sTm3Qz#r5 zj$7_eS3eXVn$eb!LxRLbG_dgCK+N(EbK>Vp2XkBautRn77Rd;9L=oq8baBXd5g$K$ zCv9j*{_ff1nvM&@_CMRXS=<(~GjIcZf7=!hA*df!YZ9eHA^KN1v8Y z&dg`90Jt8IbSCv9kUY}C1CUrLku)4Qoa6RJW9`dE-Uv+r=UNowv$%UZkI{ct?-*e? zNMYjC_JB)lw;lf#BL07p0ss%=f&oFWD)r9>fBHK^Ivp@}mZ=M|d-B2ij@2P12k~@{ zKRka5wFLRYLCx(j2~9>CM^lvY-pfdx6!STFH9#X5Idl+4M%IH8yhbPxcPnZkZSS( zXYm;|VCac(vu}2fKQ|RVz3l&k>YZ_mHY%dazkBk(YD3Vo76OIhp?con3$TFO9s;R} z@0*!^#68>{JBWn+cgEDbd|`LXj^JYSeSK4Zq|@zTjON?cwP=d>PIJ6!`Jw`=(<2z5 z?edUk-s25@{v1AR(_17H5hRHUhKpef`=Q^%{E!)?Cv93kOxD`Nhu_3M!KB=yd3}U3 zlc}PJsAuz*FI(P&Qz-uF{&23)H4S{qzqt?Xqlf9GGQ9zcp{t+JDW zOX`AYnEEH8kY#8l{ zStsSF)V(-1mFQ;XYtVzkcyfbjnc+dR46y^Q-MkyVOD*A_a~TYi z*F(H(>t_Ci52kmA@L@3GomW-B=;4DQ4_@+~SpxyEr(wo)VN(`|T0FKR@NykQ@pGN;ctkEO`j0|V1``XxR>Nx3=b=G!a31X zHdCXZCp-AMFQy_D7c*C=X=3D@Mu35*-wXNnb()6Qpf(3;;WW1Q@bUDjTBOSKvr*qB z4zzwl?i!&&w}rtjM@94Y6LD=U1((|Mb0jeQyZWgrJ=$Atp3dN6iK19s{Q3V%sYcPp zy6VqdcV47OZ2wWOZcYQ&HI2P{EE#RFh&aR++|kvNe>C>>tA$DZcYz%HJ4@wai$nfa z-(JeMhgcC-N};Dn$1YAk-r5%^INQ2Tiu>5`JGV;Pt#&z{q<#U4Qz+c;^m-jYdqA46Uxeh z@+YP~m>K5jdl1Q}y2IyQGWc!LWR?h!2C=qU$!KOU<%|@(lO@n!=b$kpA|3rKsxE15 zY=>8xuIW$RuZ@`d+KVD)sGA;nS9^cO^~AKj`MJjK?(Ud3l}?44`_~U*X5h$-d;fmq zPp^gV_J||c)nLWx!H3>oubhB97n_i2>zFvUWd6eq0{{dcJt2moT=wvX#_4CZy#!CF zT>CEUJYjV0F~nKQAM@g%mwVVqzJh8~uGdKo2LGyM$^c)K6f2hJ^RpYUT% zb4f<^GSp-!1(pU|0Ng7Se@l@}8ksp>ZERNv@5bNjKBK>WTg&r%UIaBc)-G5H>j+aGa){O57{52s<}0V8ca|$Ymuu1A09K1@ z%NFq>aBpu0=SD|CAnnpma34yKL&JK<Y1z*a+LeB71&evlG_!M#1}&6g=ibOr`nT9G!`;{W;)zpUicCA{fBjx32BZ z_U3MNFiYG8(KPtV0#Mr!e7X8fRDbli%>3+TFym;*nnx zNcs

*|!rgop=L&4nMsuGKryNj_lr8k!`<7D&9}wGg*bz?&hV7K>hAoG1!mRKTmf zq?SOB|IBFG<+qN=Ss)y@lR;=K>aVREF;I>zzn)50vuhL7sU1`!-t|bp+8Xs}93i+S z2hr0Gx}OvO5ssF_dJz4tsb8-&msa1Fc==r;|=eWl8E+f7T5Uics4stIh-O}q(n zAWeOex#4hX&x7MY@#NMbmEW#4vfdCU%VLmFhdSW#R!zg0u-Ll}_ik$JbSovZazX;N zAI8DLKfb?--wSRmn057}3{rX_M06`tOY>}_NTvr>4(`L0u>RSg=+{S#kF80IGCr}+ zErp0II5?!9Z;@l>2oTUgATG78elki4dkZdYSh{-ZALdOa__6f#^iVH9I4qiUnXGvy z^wV4Q8o72%S*ktNH^3PEPmw#dY&rA*kU+(jy}yorEUSV2W#>qh2Mm;GH^X zr>-9w*WGbKNy##*bnXcF>$e>eZW|HMs+6k>xX-g9uYEyw)jnwssWEUPW0A4ZO>J>+<&@ z4dl@$>E=>7SREC}9<`?28hP->ciH`o&h@{aE6fP+BwO+Ja=XxP7IYXp;%^+RAXLA9 zls1mq;){-1I`HVr>%#g)JzYot7Oi^TqKQ#O8-mRO6>ha=n2L+xvOVtC}u?S^# zyIlry*;y1xik`~6CLZU-ySyINXn@8xa8RsUTKEV4TUzxp?*e`D*Tdo=*e=6Wda)4M zEun*ahil;miEIX!%WK*tb zG9Km^Fwq?%jG(Q|n#gB^fILW{WO#>k;$4)PDT9t}e})`os*UNrLTy*xFB|q1!o#gr zfc`m%>7~xU@(d(xWz>vrxgt!;%`8}r+)_OO`EYp!xwcj+^!Kyqw_Z^V*wZHN04 zgCnPNxFhiE3mvbnf6nc>A>#Q?ctLNpj36tkSSa<{$q8y)GGLOwpEWom7s2<*B_fO& zckDy$!`|VFZcBX~wK}8>@pfvObMv`}qYJ+_6;Nr{D7jh;k5Hx*Bt)~fmyIo){rFs- zZ>)JzSvP%_+HZJ@8xd)3vhk2RORYvyIg4iLJ)BCZBAqx7+?#mxyyXUpj=@AlU5^ir za~yGdX?(VBHph}@g`!B?@3{@w*)6K86uoE$g#^8G4UHa0{s?odL9Xs_DRu4nb$};a zGJyVhLA45ZU1aS;tf}iRm(?$;39_?Pj%GWYC@OqplfOa-S^p2a?}mbxoem?EtBCoA zMX*f`Sx4pri<-2fX;u0~0&$$0m^UhloaDbWa6B+3+EkKJu8;!d z2wq73AH)E5B3a^etu78>ouFQam_$v7Xmm93Z*GtwZ*m638a(*Lxget3abv}E`#{Fd zhO^$Oiiy}aZ)Il2=W7MG;u0OwrWxzr@)KN9#P?rWZtdB0+3kvy3W*|XbPbep9Ym9O ze}s1K*R=J?#QQG$S1$a~dE*@vByJk8%hWXEGl=m3(7JZr5+AppYWNyc*T(&m=LN}| zgG-mPL>vB;Akbjx)aH&b!t5=HtcjW(ep(%fcOonZIbT9cT5F&cl1F)=EJrtY`B`mc zyPoFn9J>g=lRSHTF!!8$q_vTnV4+c6mYHHeBaDz3y926>%9$1nCbG9k*c1mX%2{8u zj9S7xFQ~!Kgo_j3gy(0(i~%#Au6~*QB4`0IsRbK8y$( zZuv19v^wgU8yuicFw+RES1>Xq_zOBQ7GX@X63)}hgwwhYXfx(=#vgB~XcyKEl-9DD z4Vfjl5Plcw*JW*`gQ&mEu1V2icV8xdY)V5BV7#bVA~={9ODflbJ1USv#+a}hQh5M` zFxo+OWA>!hL`n|YeS?f&t6r5okiDC#a8)YkGZy6Bnk#S=WAX^K7esJ!U8HGr!kaJi zIEY_gm?vV2Fm10nIpa-@NCKjA#mS{!c}ZoJ@}{|&E(21^?APqszO6igXWyj0YsDeT zRs9ZK`ZKjeakxk}>r>I&?iQyioerJ$(Ciit76i0w3=5|`L8?ael}|utv?&=(HM-L( zz@12jB2r9p7ViNCtutFw4fh-Ir(`=GPVIgZ$Uf@gVrMpSgp^NAD}@A|0)65;%YVA< z5D|^NeOq+qePfKRPB8k!x{r(XY`1L~|qY z4)~#rwNDddVdgh)#*qZP}NwBLHa)HssEybNc6d(Z6qe&@b8_b za=@*ijX3z=WX@psoA)v?wjvt+%LTyXBW#sFe_2!-3p6&&j%E-U>7GpTI0vE+Z(p{^ z3av>A^hQCkU%#_dgAH`HjASt`bv0ssx|GFk-d=NsbWHO~>w1oIZ^iS(ohS+Px+m>= zb@UQqG-!3-W=Nppr7589!$q$Hg^kZ!qHMFExH}zY2J!A&Arsx7eP4*pY{o0lQ1=IQUg_7%JMa_zqB+Lk_ZiVZOpjvq`W5-MhrH*wk9?Y#KXLfgcdn~)n{N0qa}?ef4Xtcr z6O{{vAGEMov|5BO6x!yeGq|g}76JK`Z{o?W(s~nF23*zpi@+l`x^IBFknaC|2C<`9 z-tnvv0Ag=Q%|;)TRjX9+b7<9SNU$-x4 za@r7&(rRF3#UBo%#@PgkO^?**?OX0u2c-tt-fhs=zY_->n5m@S(#byl>R}+tV@Hy za9Gk?Z|!yL7O7=F>e9qNoRHu^w`kS0N~3g0IR(#P&{Jd8lKCf9Sw1bIt8!O+28d32Q>}zMP$vqIvtf71oz!^wACf)`!YjJO!Sh>x_%KS(}*N@1zp*u zluF&*9GT$~Iw2Dc7&vhJK4zimyG>a-W*0p{##6A+it;j)obMeSdSX-LoRrL z0wjWv49WYLb5_&%RkrsJJHwBf z{pHC!$*cza>H9yDP|MNfBB-Lcyn>}XJ7X`36i=uKNn|bO{iXDL#QFt-kIc^>(fP9R zM%GmN^G|6;p&j1wFeuS|&2GQ(K^*BSrXKv%o0%V>{Z<3v zac?Nj_-6BmYp;V&-FBht#w*+9uwS8Mqg?@OCjop<$vqh)Z#VXv9TrjDvr6hqa@Z-8 z^S|`=+y`K~N?zU@GQE``p2FDfCEXkvz%OZSRg|{_%C|KEGdc@p@^xfP+!HG6A0rGb z5>%zGrtCGoHo7xJUl=Xn5B-OLIyzl;7zaKOuZR zW#R5_N#$+S4S}^w9zxq|Ccb>6#glXIp-yu9%r3ttU2cGCVSB2ptI3lu6WafZZbnO2 z$K_0MZ?A==!)CV%DwtS`8rfMA8Uxjc`NKTeLPakm zdjAqPJi}G}PY2^n#wOvbu6_I|??{jIl6fZ|y>LM$n97mJTccbfXd6iOcQWd$Nr*oc z?CH^R(r%q+u zmmM1gZ>XP~!lvQnA&#~31P^zOZP7bjE46gY3iMzgMccb)ehG_L#)Vxp{VSg&ORmkW zw~eF}(#YP%9gLR=I*fHVCi9f{Y4a`*gdC2GJ37cC;sl$-v%Z47P*`qg`~T&Tdi#Pe zZib4_Ka}|%41Y>HmWsnb=^Su8zQZ!|rTPTxy8R;XcKy3YA68*RyTsd98Kh<)TytH8 zj^5$JmXcT6Z(fW()A_-Uck3=p(Yw7oYk4;K(?;I=PZY+G%1Ssyh{OFnr!b#mT|S5n z#^%yjGtX^4|2iwBf>>2#GUJtmZRLB@tV=wEco$RYKH?>Y7F;wy) zXPuAJp04QK&Z_}w+Eec7GSGpu9N{lC?8peKO2KjzTs_oZ>Hd)`d76_`IZgx4 z=`R<00hPwDf_%iD6b8fhrWQ*QOkJc8nvV)2PQ2_t$JTUeHn-J-?G7NF!%TAFON}__ zr~8CY=L7z9WXy4psn-~!RU9$dtM%mYzTSN=hhN#Dra*7go4%6*l#uqSFH^sJzfEK_ z%gLz)3(b@UN*#trCsHEYUaqJ&$~ck#XU0^@>Wrf0FEH=II54_kDW8X8Z7a6Wy?0mg zArD)p%*mm(LKlmGXfI=2-4&Pr8b+cr}Bm%Jv(&XHh&|ySF4MHfcmZc5!tu4eTew^>eBCS zs$tt^fhIK=x8%*#%sO`;z*^9sn-mmsVdG-P#d}ay%;rHWlI;Kr$v4oD@vIaUMyb7LLrM-lz=d^fc zc$`L&R^_hkQ21Q(xLHtnDd#C^dA(4l`>!Z*exh~AGXVPt*?grWpE1~rBXw|s z&VGNKeLv#c838W)CSp($yj6cUnD0G~!B&~;(eZEzZlWu*SXTmPQswYJE!k??)cpJ; zI=Myti-r=%6qns^C599HPx3nm2`be3LZ!}Wt)6#F-Tj2SJMA7c=btaAuW`wCW{8CLTb~r=!0yyBU~LYGn> zMe3(hJ#dEzcmM0u0C~~AqH$Js!}ElwbB`!{=V`sKbS#%ZJ;Yixl&WS^XXPGj5xy~| zluo9rUSmV;rK@3<3@MX4gSNhbz1#hy?5iG;sM<)qZr)EPM|2?8mD3aJ~Ae$g<{X|NI+eeL8o+d{8XuA&KuX#J}!0a%m~p#`$Kc` zud*sjv*aYtASx@$FjG^`b;rK_N{vqi{ac^d*Ap(OwnUom7%-Di@DDj=(aKR{nu_ZG0{mV?7YE# z_U;eyYdrx}46K2q`ik|bN*YD4vW?sf4zbIPL8(v*6y6m2C;W)2E_rc6ZzSSlsV&yM z@u%9btz_O%wtPWzAOF2vjq&q_;L@M*S*{`H=Os@RoVZ?us#k6mau{ss^RFRGY6=1- z#~E#mnCiuJu?MdsPszw6iKh596lCByt*nbHKC0c6lH(J_MRrF}Q03|S-3X(9NI`wB zK{nf=B!+EWjP7t1dXJ)U$Gh&|_(f`w%*e3$iinHS@S}!*o5>xLq z>W*FBtxr_C-)Th)<9@VQZU#50buN#WTmdSJl7|N`HQ>0^R@{NR;nx72^7jv^``xMF zAfA6Z;()*i%p4_mRwfr*yF4D52G-Q`B{-~WxfMUE6~9IQE_D1T_+HXxo%H6czpyA2 zwt*EIfA@PsEHtu2I9{TsM~=sOK=)=8Fa(BJ2W31>g{F|tS3~e@ix!+@-5`1_X#5UG zAn*`F+a{t`qf4ZZ7H|UYkcK+af>>Z&KQ!N>TmXd{i4=ua$oucEk1{5&P9g}~fIf?J>sUPekBrWrJGGg3;+($>U6ex`_df``z4`?^Y=uvEk}K1W>)d`BK=hTrFug$n z;#9eB!gXH}h1@FHTPsQ+Uzy#kD+0<) z!bDLm%>$v_n?ps`Af2+}hc3Sf3EA9y3*Wl;my|b&HaoAkI3eo(#~Jq;JanLu;8!1Y zRF!+Yye_U13v3*2y*SVI*p(Gaad+t*Z#}{dR8s_ixISq7wE6)g3KvBTqK9SM{a}`E zna!93(kAx07H=&0Ima1#(f;6&7M8cWc92^@$EA~$q&^FEr9e9Z8X;62P8yHB!`r2; z06jg6)!LP#5Bcrb5BW&g4C2o4LcW-1?39tL@BA;UCj>Dp0(Z> z1r1MHAseEb-eyCdH&jM<%(u*Kh;AMNn4w7t;2 z(B4UwV>nYBD189bdxsA>t&giCwx4F75R%Z3yYkKIX+?Dr;?G-}wsOr3mCR@Iw{Shc zZQ0;)rI&+E13x{mZaM(5CTrM6{PY_iT<_uxM)2+VOdYr?_MKtFml+e!(0@@nar#e0 zQy?xSfO>J~5j>%)T=w?>>nMiCQrk2Jqj?ksse&gl3Jok7zsdg&aUkG_Eb*;BhL8PZ zA%MM=voV%cVVG#V;XdGH+cTX3rT*1>k-vt))gESB7~H5AK}< znO<+o{V$*3fyA?n2>35?Nfbhj{<9?dOEb`vasq05&#px{f*o|k9k)L1DR&JW9rZW- zTG#?j{~--?6>xyr$0AP2&H}8JwQh%5EY-Poc15jv&FMi1af;QkRQKc@7B!EBugag<#*Kq8< zpAkhV!jEWS_os#Ts}D5n?-LVZ6s83@|A|C!UARR%@7mkNZveCORP~-}iY;L;nSOKw zu>V%Mz&PD1ytxMKGTJdfA;eCl;u;+tta4u93D{MK`(SzhgwJ@u~6zrj$Qi)Jx(r$w!*B-hy45tH|W4O``sXF52QFw&HChG#YkRLM*R4usI05| z_Uh+$Me_ER3jiX0Wzxz8Xvn2e)D-)lp%g|VBqE|?X0BL(vw$4VYX3h4`9g3? zwOJ@!xuz7Wz1*!}v`WIB%8J+csa97^|1+hbkGj?B9{aPq3sX++UAX9F;O3UD)B1sDtw4V=5 z*q>^Ce*YFk%RoGjMR)bU(b&E6PoDV5a)w(w2?Emn* z&vk`v$LgR*(PoM5jNm&&Bg01Jy|?-k9_q%_9lObl3|fmJTtc7#cc`=c^sx%H)A(E; zq7`;ZmJQ|Lis2C^b+1Ce6LKqZJb_Kc*I!>0mlWXwIWns_rAnz1-4nrSZ*`SrvQ1mt zUhU^-5uYQeI|Asf7hgYJ>v=J#l^1B(&dG*OA8;XmJYHIqrB;G7?4q<>(7`I^iyd7= z3nE2gxc*n|8?QwAm3XM{82BY=zH4qcxj#HYWCqv9_5 zob>H3fWz|Y!dX`$(5Y7lRZ}f;$wuL1S6qvU=X}C*mU}!!%#?q0qRpqYwM?EHTQgSa z^RBr5Imht*?*a7^F8oa(8Q0CsSYHfBfO2vW%|yy8lz;+*J8Ss;)FiFvIf;6W{pPxY zR-)obPAu_UD^?Ys&FZ(i+nQS{eotg}E|Z>Y(7_4nz6rSb(D_^YodBmm1LR))M6`LG z@1#8=UyN&8;q_85vj*iZ0~SmnK~D}H@2$-e7AjNk@jE$f?~)2V)C+Srm!x-`jEonAt0vq?t(!%3c3 zENX2f2drHo(~v*bnAGCU&iUTo+dx}G{>6@fUJ^|EJRTjetsat)HkQGDz?HxUf|`>$ zQ)5KnoM6Yql=_XC6#-d>Ot7b6Vw#9Xj*OplJ_-W}VCj_PKebMc^L;+ADwUYQ}F}g1t|_%Dj%sw0G9zEosVWYNI9w|Bk48F2^+Dm zJ`3_|tu1(`*XBmu$g$ERye|sc!r|;o<*T@)wq`g$M^;yfmCMUI+ra3!Y`j*CbluANQ(%+#Fu)4#_ zOJtR&mtQC{u+N<&4Fj5Dq?bCGlqss^6(5>TB`c$h%FFu8Ssq#G1qTi&>l10&eAi7b zD{C}+3Q9aU7$P%|3VqA5Ub3qLt714Ky^03@Xr=Elp5+u9OvNgl_3%{|YaeUeAlTas z!tD5;Ukt`evQ}noK33q%>g_SFf<`t}kdFsn@zb07+_fA0c>m|LFK15>f9eg4oo@dH z${C4ex}~U{lcpb)NtaCQ)N-j(X=8~os^3+!g_^u7+0>j_Fo%`HdMf|P_M^`yLuF+F z@Utcg0_U1(LQj~H0Xu>os)VC!%8vitNRTwO#X%r#FiB4L1H+5DU+YYHvmaH49OqYB zt3^zKI~ix?NFLk^EnJP`d88?a-cOD-K1&)UIR#x~v!rL#TYjFh?<##=Pmqx$#LgD` zDzOxupJ&eo2HfqaBRYIUHvIbOZ7uQl!gXys9k11QbX)&e?bEA&Ee=H3yS>B0!*uOKE7I(5lDo z_S%qDUR$gAF|7mPVE6j^bYI1Y4i@nZ*vi2HSA^uOwD5?&LUoKxS#<2^9DiI7D}F}y z*bj3>M@v|d(aqCOWwWmYF=^1OhurAWoGE6+))fNeg;U#h<;4D)Lzri|5&f4v#1r|3 zCG7niy_X1RMm#COZFCBXz&)xY0V&Rb;|F6|mN4l+VuTg1%-7MFygcpW{q`2y2*!qI z+Q3Nm^Lh(t!^72+c?8LJTpP{n`#P2<=am@xjMOV3epHQ0Eh(YPj-dRuC?7gzTuv=f zbau#f@l|-=kglyQ5bUs{&fa!OaKg|bUx- zh}GEkump~hKYf~Rg!4AgWqV#BaF7uJUzVcbxJi2z3NX8I1WU4%@#O5fE??Z~ZoJVL z!^Q*ewf?9m`F%H1^E2VUu>iLEJMlgV#Q6DlEbvYRfAKpP1`(_2J1jAO?p6qJLeAu0 zF4w;%rdcf0vn^X^pQytzSJ6VO+Z>$ROb2V`T&G*9RhX}>(d! zkBmrmv_{$?_LGuvxZK7UV+)!09BslZy)tdQ%6ItG0H)j)6|16Jb1*OJ5f8ky-6vgQ z#4iQb*4DN^-Q{qf9Q;6u;*H)GL<5MRcHU9FKoBpNiv_lgLTeCZrOaAz1jS_w8(|xu zFKIm|WuO!0H~#2A;_4USUtG?u^$W4KHdOF7tM#dV84E(D;E8blMICqE!qa64M{|Re z+hM5X@ryaXlb3f_jK*rDp4lCO+aB(V}_v*7C`2C6wH4S2) zTGc{aw4C-1fe5|V8Mc!T;Bzmdor9^d?JA>Zgc{)?b5{GielB*wMS^98iqw<3m;03H zi{Eu@mCHCiy04=ZcfiCy`;VOSvdthIJC5MwDY%Qqj}^>w#R&j?yKARHW7&HlWi3^7;oO5d=@ag5nI91c`O9P*C*zD1ce z#}ylX^T{KLg-PaywDu*uML+m2R{Xtz$~uC|X+~68N$K9_$OnO-4WBI8aOU#UtEfNv zhEAB)GffYiR@~i`%T*#QrS7JRY2UnhKrEFoaG4gI&xqf!v95jGpJ9G*osV3|e`JAx zWprW~a*K@XkaljuRj?Sc3DtP_VDNJCrM&d!gwf@cbCziKgvxW7M;%o^4dTA|#>G)A zQo33Lju+XW(B&y>ihSlB8fopJm(d}?tZErt_a}_nku(wVFeYs2J*MKfX<`a;!y}dW z42KL05SA49kOi*2&zT_O#&;^g0ge|}UM&k%hup{lgfEd8-)Stl1KuFx4#yEssi#({ zehd2!$!9tb%_9XrmK8OUEm>_ndrQfL{yf_l25;t#o0@K! z&?#PUP=?(u`S5kE2fv1hj1Z|gx^lxXx9~7PX$2pUrt3+zF=U@Q`-({$xTfGE@uTqg z8_t?U!}l zHndx?b_4=b_G@v2k2(&+dCgZ8xg6C1>C(ixz$Sr+pMP}R`PcWi{RxRqVj$iNh& zYdAL%a(NE>+pr&jFOf}99XF!0=^cDEHgcsMmV7}MB4j+9O?Pf>xxfTN!%Gao9k0e%5qUzhjw%fcPt-QjvmDI((w~@^J-y^l#w$^$&Vl9QGK?<%@5Ty}Ejc-Sb z-)cH(hCa1zh+x%_t}(5t$}6-rz z%0j~Gr(AVX(%S<_fM*zW{rus2v8WZizX#A?6G&N!Cj$+*tLps1!@MivMIErrr}6#@ z&>EOL**!Md=G+Udg7p{ifTROQe|fKaKH|3cCB%n4`$K*%1YWHZE?Kn6-usP90VbHs zZgegHI5Z>^-K?W81w66ho!H<5Ng+(G{Dwv7$qvi!B{i@sz6rav6O&ZAu zY(i?-3`TOq4+{Z-N4B_7zuW@PCjtVztW2}ZFR*p@rA$lcm(ajdAQm2hkAqmL?L8?nZ0 zPDwxT1+Q_NevZVp;)MD|Hk>=6%eZi;igva;jUFRj1Q3dVV3QE8*8|oV7RwBi>E9#tk}M3 zA?r?y%c_KeA9KijHDQPshCZCYM{?F?FQ@fVEbuPHN`5t})q)kDzaaA&i@y94xbwE7 zMsIq4yQA-J?L&l(2pREyom+A@R`R)dPyTLGDQb-qeSzaUJ9<}&P&X~9$^hEzy#;?X zp{3gLvM11aK737^@*^7F#&odYjGnT zF2t|y9y~@rygLJnibn4mm~6g2Pt<0+&0|)o8xxmofWRJ3cpPIpgC?bspbbmI)=*3l zqae-DT-NAup}^MAYs3ziHwslz2>d*2xNM>D=v4cZ(N0O44usK?yf@Z5nA^qhAH(k{1kiSFtb z;O6y%b3-bt6b08tXeP^BD1_O?6!K97J#5PT)Kc}Orc(h@6De%62IJL=>*TuKv-TqF z@`pT3;imUWYCngFqQfV2EOI_rDLh*|H&xtdN&xN`l=|d<>T|$BK&)77!UxbWO=89VVZ=`c7Qru>S?7Zv!100PLr?V%DfRq;^nJi{tN~dtMbm?(%`~77nK}9u|3^p8%*CgSJ`d`jzsS4?<)?36{^ zl6t+3heVEvYQ#X2JKj$wPG^51MGiCfGefjIt`CodWlT*KZq{H}CA@+8$%%MrLStn$ z9b?lW)6ieau*r6Xm515-h~hxnPlR2F?B`A^b^9EStxgIg{F?CH?jAI}d~=m7O)kUT z6oyPXSCg}d8$FB_4?aOg7!~P9$DNMpP#!hgzm2cYOTPa2q1S zdcqoFm#PC6vMkPp$aGz+eu?%tCj{H3oLpS1lO|gyx9VLHUd=Kg1_`G`XOwJBiz$Ka zE3ZT55!$wp-c(bfvt9GJF)o#&zgVQY`eAKNIXVlv{6mrrJTc?#x}{N`4X8e&12&Zq;mr>>>g($Vv;`&lxi#m< z9{H%lBHmn_6Ig`AaIMnm<}f;rzW0j}id9Kv6w;JaYjyIQwGq|7-aa!e|LyeW!2lN7 zcXrwS3;huTHMWJp?G4vzO*q=;L+ck`{rPHuFVHg<%2mTA-oN``Ad_bLVT+VL6MSeq zL|&@y5&TSbQ4Mpl z@+q{+RR^J|ehyhenPYjL_K$D|OXux~gar4?n;3 zhJR(}ATlXMcs399M{XV>GixU35X&AfPF&N%spG8edwg8hnF8GOmDD!$&%PpoHs3zg z^@6aqOI^t=nKIV$wm3Fjm~}{1DnxNC!D*vpNAW_|rT)v zC1Bh_Ev*t~lvBp)l_9W*bUygDaMjl3dQTeE1<;)!B#o_@?2&LSBS7IHKUW2Ws=$Z2 z-wFWj7q|JRofFIzM=-1Qp=xX?pMs}_-x=D9j2_oXJ_30R_EnbV0OdRkv});E{2UJ_7Fi`DBCXSz4-S6EkAt+H@zw%p-)Ca;Natx1OH%CXc=0kKx8$I{g{@eTh!+KS5Kb zWE&II#pwE5q-4UELaw4RKFY6w%GhYH$MD>2OQlI-DAmqZ3id*1&SHhC)mo1~>1|}P z=Op$^t9-9V`T()`8j5tFrRaZ~U|UX2-!K2pt47y{6|6h7^E>!GobRN3-xsX^{CV#E z+RU`L#5in&M8KM4fqtuTD1iQ=IWzJ|Tvd%MY_Y2dBQcXFd@WPes%vx+mbhkdct6LB=hs1uB-^nuJ%5-sZ(4$9L{qi=Ut-(BK+tX-E{>Z$mNaFw~}oWME6#Q3E!shqPgBrGj})p zw667n&2@7s3}k#qo%n*e|HuVyYop;G!~yCELqIPg)&-QxR%_GmGF~qSzI@|A_uEY% zSo9(E8nh-t!ifa`hYDH?HR9FQd!u$#HR5?+y5L3FB-`h{?(R=Fa76r*4SgR-1%J@G zAFF$9fgUxEw^V=z`{V87UOV5wi?gGn#Yd-h7U64`#{F@qKrr|k)MXYW`VL}SlwR@C zVLI#K6SNjugrUbW;rVfw_~A#2+7^>I>JV&-Przu%F#cIoTL>z9oyKqXd3U*I+CsA| z?GCi&*Hb5;Y z{2f@^0*S*3w%ULMuxssUf%Fv9Clf93Cov`P`+~Zxh$BL@7Iih7iGIMg@(h&1S}L2T z%l6XjT0R1G+b=KwT=DK<$PR}n7if$Rw@iVR@;It@#otEBQO?wt>k)!2^b3ewHf9O} zNz-J4ZC*7|umh(2t}Z@Yp8nGBOT7W+8l}f6p@j~_frDAgKA-`vka88N?83vJ8>r|qeHk7+VJ*B-7<)bzLnHk`{5uEN|Pc=AkBJ4iDY8Vx2JN z4HMIENykkHn1&43Kqs2(#Q580YHTE}N6lMLmev8EkG?F@CqxIZJ8pv3EE98cI%?`R zAExdUltJ-N#*byrUs*BJ^Zc1-&>(r13%(Ilz9xp&V+*$QR5&;+x;D3&q`-HiK|i0Em}okJ@ZyZ4D<^>Cu!Rv? zm?_{uO9@Uz3t30I=jGY#RaqrsxlN7_wJ_8HEp*$13LNuQ{bKC^Mt^3Ddk8dYe}B(E z|2L2XQ=q^X-vj>jdu3`mx*K&fo~%o_#dCAdo};O1Y6e$V^LX!mWjc3p7W=K!2Vz;& zLMvv9XkWDd@wWdwZ$K1mb}^dYiynxMB0*^an=#h?{-4pHblCp&^TQ5o=ZoeW+}OH_l!-WB(T4o>7p<79(QQS!%w!)QvI#|NOkg0dk&4*I}-x#rH+0UwIC= zIovN#R;TS8)A9bys}^2tVGQUoxQ22-TBQ*Yzs1x39zZ|~P&AxQc1G!a`cL9AKYaKE zV0d)5A+qrt_Z# zS)VgSy|w}4O{4guzS#d6BUnC^ts}F!RRD~~Kpi>?Ae1iTatB54bm~ft^UDX&kv*-o zez4hcW{Z>NaWs@yc!=0odM?{$iv}?Kzd$w;^y@D~3vad+s^zR_a&v&q^}loY_eML$ z3P?>Q{UR?#&-`eFUl$@)vOZ5djSWvU)43+Rz(&vIV7pcL#hHM?#=%0xPT;d~9of^kGiyK+Y<^LJV z4{(@Laln@L@5lSn-!G%B{QwY@ZaP^V<=xbPoekPLmD1a1O8A9YhMl5VfZjX*RJXnT zd!_yuDwM7Iy{gwp?Z8THTLblqV_Lup6$CHV^f;7E7dcBxB0`Y}t=V^e_#nV^w0XK& z0(#*U+!}pp$>YFz=*L(p$#i@&dqIO>NN)J>fdrK9&9X`pDH8tq2-Kmh14sPukYeQ& z?57fZ5!D~KXo+lw4cTtnsaLk~ocrfw7!`U2jWCMq5+*?(CYcA&bsf%b(Qc(*nmOz*>SbCwuw?DprsWPg*n zF2;yQfBU8w1CdhOh?@jV!~Rm}r=XHB-9R{M=qKvv=!i>6xjB&T@%Z0c#@_`MrEq~s z^3H6_hDN-9-gyUgIoySlWXF2*kRDo4w^#+G~Ls7QX) zp1H35c$_}gsMV_ig3|pwg(=svD+`hs?Nb7he9^^PrxMG19k-)itei}fIAh#6PxTU+ z)n^MUv<74Fr{g<2c54?<+z}7MYZ&4ycR9QXj(kj%7PqT64f)@m*f zT?7u}hrwyg+lk*eU$`)X0*Q3sb*X&i8n0v#C@hW0`SjQUM3TZvu+^<&B41K*tQ5Xp zTeDjBeRMS&9VsQ=MIP15-^ed8ed8-(4KLxhOX=X{8PAuw~ye$lfNlYB{>te6(6P}Xoyn49a}&X7dG(DROgkM3)$ZqIj`v^CY#VMphf zR)}J$!wDA>-m5$4f{*#fh@mxfjRU%B`tPlXb?)85$`BliGeXvs5h3fQUCEvs8}IB7 zsR)Z`&HUrT{(7O-YySI0uhVW{Z23{q$wYSmK10jVgBE8sUtclMI!b*zRNwhKl(NFv zJao;^=L1oH^Euzh`69HV3%Uq1CDfd{q&8Eg3^Au{?y*(7NYK@sYh+Dov#{=*oi&VV zr1Zj0)HY<;dQ1I=1rgGh9uWWS5zpu-oroCa zSB(OR933B#X#ZH;J>D8qQvr`{Tv98`;i;w5H}mbnkH$5j z2VbQ^hV||#DY4MfyDnis3i5S)ZZXK`*0)?QO4gfN=4K)6st>mKF%T|y$*|TyWbwXH z5U(o=&%$e-#VIY;;BZkt6sEGz(TQm+&>cw=I><9u>F*tM%3IW**PqcV$82{` zS|bg6K2;idq-v9Rdah`NtH~SvvGY`t+%il`)S0BD=;OLS8ZXWZvb5kQtE1r~eB$?O zf@!Wve;XvGmD4pgh={Dp5yWKptoq|3Que#15u#;mD&z%wb5Y^UBz}w!+m5B;gGrtJ z5bsRW&?l_toXT3k)>4szr^ZqmEVrzR;}D`Z{KRv5vk2Ml-TR`qCn(+5i1jfpj<0;n zJAf5>0Kz4Q)eJXU4h|gBsL%8DySM)3E~x`HG2dsWs$ihZQ9500N=jG?w|Vya_qZTh zTpA2(%evfW0-(h^fCpJCNR2InhnJs@ z)09YgQ@41@ZI$scMpvzk)Wiamxwl)g_+x0$&MMul++7~8X;1XvS2SXxAW=z#WKyB! z;UoH}re>xlN-ac+x!Bb{Hi#A0E=$6X{k^Dt*q$LJ1tUCE72fqZiRk`Dk1D=^>1XGI z`p~t7$P1F!nZX~v=Op5a?;e;D_EIm(698UrujBObft$A$#%k@}4*lx&3FYjc{(u)o zz)0<^N}g(IrS{&5IG#}nvNZQ`#ng=n(GL=Z1YU>F$2zNUIiFoiwfr?Or5aO6BgH;v zW?>Ec#O=~&{bhnJ4Ff4@EZ~UsU4EC*!Ya`{T9_%j)q*tNWLNP5Gw4OCsu5NIo-c_9 zyOTDg24gwpls56Kson#F_MFr~yKTqSpp=H0E0{)3H%dbMMtGFbalQv<*}ZSlLHXYw zArfkkA9&^jbSA2gKR8s!kLS1)z^FjIG>8L3;HA4wX?!Q`u-zRYbn)ts824uEWHs;w z^tIkCHAFsE9eRuYp-7PRG^aRn4b2$6#ga69{1grHVvT0>>xB8QyKw0mS*y4)bKL`y z{9@Rzh>>Bp6K<(YZjbMey*JY-FZ3Mp3X?ExXIu0yuF%Q;vdUal2?yZyqf%pmZ%;-{J1qiiA9VOa)158emDGEKh0q(@@n`K{Pr6PVJvUfiVmtHn!`xrpz1f}~&)A>$ zNA0*c-Qls&_@o62q&Ik0?yOAg@kOxyjRoKnov|V*hPZ?pR*`BTD$1)!G;+^C57QKB zx>2T#VZ_>jQV}BcOx>r2RD+~-l9R}3|0c-PKeD^0HWl-L4sUZbH^>E1Rw;E*S5f~U zM6>+kdu?t!QsU8^t=piZmr^O7|4&*9bus(>GX@2hA9ls2&_5UMAq)X2SWhaB8P!KB zgERgSzvdfo-kJ}#KMCD8cf80!f4Cd7R;M=)A0Hhv=QX>lozbUat>%Qe>PAy~endr8 z=DO4Pdq&|sNr(^kUN|xvJ4xLL?zQaiEMsGpk<-jav?PUFzVIcz$5{43^P(~QQotJm zcS%cyImqCUg}=e08%~CRs@RVulLK>xMz<|BN8MCCjyS4}H1ee6T8nolJ%AHGjPdK4 zB|)`NM*Jqe1HPbuTraZnYd}IuR;lJ~=3u7kE=}3V;q;e_!Lo`&#H>cvr4+o<&lQGZ zu`BELTxb#I$HYb-%G7=6@o03@Lgu`loFTKIoLjca{xGu9x-k4B4a2MjKYW67h2HGb zmA8RraxKjsoPD(?i{bvpYdSy_$oH0>W0_Dxg;IzgUt||=z&MK~1W}NuGp=){Jn#fP zBVo&j4KZsct0k#3Vrpr}uh^z|m5rS}v7Z7dlD*mRK84u+8+izARu4@ok}2ZxS~zP- zSx+WMgCvYf&=K9PY3Ej^`vRu4?^xBtrr>{FraVFaL_^4&J2+_mNBEqiQBUg~835&~ z_f+6f*~m^J5{aA#D44uO^1)n6e$a^HF)4Kg%PKj3Q4__i?i)>j;)Qjl3HCDhvBWOHVIx1 z2E;EiSWvJDnz>I4kpn=@G4jGY-C)F79XlJ7k9Qgf*E~U)Gf$OhN5pR-ErKz{ zSOjE3!hVF3i6SQT>k`%2)R<^TtXR9@ng{-GNNTWqG?Q2pM{jN|qBFvvr?bgO<$gW9n1xk_i{zhir~4d3)xUSw zvq_-|T($n(cK$?2Al+g^#bf{l5vdfqa)!{Wr6m*aUtv4pI6FP3*P->4V-MT$_ZZ)$ zTK9Asg!uIP2O6IXT)xE5RIE~$)o++He|;K~=;wJ?*UfBhsLt1XMO7Of_@+YZt^JX? zEcyM(C$Kd3hNGR?PtSN3@|dWc-(-bfe(9DzjqjY6_KVz*gpIy_J$HOa@y33Gccnt1 zstTSS$_=gQh$2CigqOU(h17J)W7n9N#56kAD-ppvJ1sZWPd41x@8p)&z%f<6?$jpf zvt`J4R>3qCygwI>Jd@SjcfaByJTS7`mjT6$-TdWeQW}XBkw@jh4kYEQPN{`S^;<9G z+M=F>2z8h{2agP_lz%qBdy}_Y;Wg3FU6}L(=j%@*%E6^=Sv+L^51hCm!C;bf+k5JY z^t)1Ab;A5bW69>)%~%z9zXqpCPjz6eSC?mqc%92D|33haf9CfsXrqT6u^ApJgXw*T z?t4&dINuRQ;11d%M4fN?2yajbyFLSa@L&4+q$MRKXR$}xXEJC2@!y#P3_e-}DsOXA zVVAgHy=z;pUwODN?5d=99QW9L%F6U48D(oEFJLLQAI<6iG&W(GG@3++tb9#(!t{Q> z@n|kU*!JVbZ2iPMQtp+*$b`!pXUFkA4@0q)yaMw2OAslowBK*UM>-Z7jWisPc>K)6 z2%{{-t`u(YxQnHvq)dn$wA&2kz!kQ9;D{uflyR!Jy&u{Ct>!{7oELcpHh;N&@imqXVWygu?wrN;iY<{8Kulkv}bSKV;?aHtM$5vRe@BIip~ zJM*iC?>4P(+zLWB+G&c|`Ih5G!$PabX3uz z6CU#Sy~wH`9vu<(sg$3+t9C>Lp%WY-qx593eQYM*v(2n7@95NWpo}t98(2q^WI(3-4n0v5I?>n2rm|Cn?-= z9qhog)K`DPW@uMZ3NL{??JqpUi6}a z=jyo=!+SOWEEv{J4PpLRDn%CjOF8EYNj^(m2H^$GulT1pcO`hl&@Hyh1BFYEgbwOxgmSmFlpDqrnoOQ7AC}|;GHP(6MFsj>zDJFRih-m51QLH<2n2v^9|3jc zU2sv@VtnuNOH=PTo%v`ZrgN*1AWY3f`RP-yR~3ys;g)XWVJ&GPOS)E0mexQa{o9r{|bM&sIg|fV9H+&;P-~A@E=B|+wGyV@IG#?to)nQ$0 z(H`a!1H*qK*IyvD+8E6%Lkl8TRWv}bib~hPTqq`Ap<~^;0dBtAC?<6vZLrRp-NW99 zmBweY<|01s*Ze*LGR3|%GAGG(cIa063E{Mie{fC!1(=W5~7Rt`u_llvs#omlD1 z_@%6{toOfeM79l8&+xh+atZ)z)yzO0!m>G4Pr%Wp{d2Fobf`lt;XOX8e zg`6MMR%AESp?ip9eh?36!9{MiTK*^d+LQpM$8D2U3wS08G)e_<7>(xKt3(tT+mu>oo(3(M%~4-pJ&i%Gh+A8qQUSC)rAi2UoqXs-fNBb)Uc>8RBr!*>UD ztjDhFPZ_wzN(ew@>M~#!NG^;uH?C?A+(%|!IWPZT!e%+*g_R9-K2wy0#|#VY7S@mN z$AV;h)GQtt&t;<4zh6Yp3}-cwXB6j*{{JR}T&mO9%iWR+FG0P$5WDXJtX>8mzw6)C zs=rRg90|x5cDe6Zf>Bd3zIWZwIbSyyZ+|Bh;{E33M&7LVUN0(B>I-^_CR@h33GX9C zKdtcb^CFQnUK>J@seU(KerlgKGl*8~NX(ufb9d<)(Ex?X%tEB4!*?jL;BMiz&c7yv z`Z^QHw7JqMx}qY73v?7IAA>^DT!HvS(Gf>&2KiBk73x}>VY{zH9aoi6v1-*f(IiyQUds+ft%=sR^5BM!xvmh0J*V! z>`wnXvtqZI10WUpOkEnEqe#QT>15(K`6$#LZtPj}lBjymQ6s{`sgYl3zJDhXc|p5R zL$e~*cRy3&g=;OTOu;DKBN|F@&C;EoA@DlN{wskpzXyzMcFQgn?JcG!E5n0hq1VB? z#oVIxn@rYUW;Ck$tzf;RrNt#Bj^MueO4hKULnL}VqDVX9l9Pu&$70K1I4LowriL)! z-8NXg>h3q1;SSkay~cB#B1lf}FGJb`*lJNzsiJ zxLNMrL0)!q6J=#a1K`re?oQ*^RNYrM5*@4i}wfRRY`rRV+4nW&|Q3EwR_QBe0>HiKLf zv%`i13^E>BOi0{EsMit50-y!z+{MJmiWg7rldpfDcf$h-P?lxkAJZ}=rx5}@Qb zq})1T@VErLurPT=dDgGrV2&`B3%II#v*~N=NTW9nV|3GM%kg3X!ZR`gf?3J~ za|JavW0zz#Hua|vx82td*Omj$8)dJqKYmOxGN=!&De@by3UV+`#IP0f(v+J6ETQDn zl{ZgguakIxr$-j(`E4ht#BtfAYP+W0`W2pB>cOWuO6|5NO|SgMf8dFO1)>y=FaBZ> z0>P%VHi!sa%dav|Y>QT=$X^*#)i2HLS-3buw&G+BU1m$9LY%+cB@9!lSbdP>)i9}b z(o~U81oBQAv%~0^J2Yk%9xSc!gAAuf_^ z3wR6Qp58xsTUm);-g+s75?2X%>JeU;gwQCRF@)zw>$hNi&No}~-nj{Gz(fVn6jB~D zM!9S{76y$lO{(ciLV~hpX`j+ZOvH&NCnQz&*XLHv6XVG5Fst)&oiur`W9P%5#GB(0 zJ6ifh?83D!WIUHb@K7|@KiT~Hj-mGI7ms9p`wR@FqLriy21@w7E#J4stC{i(UDK@0AbGo^Odo>b5AtKPvEgs!0dy)SZu4x^(u8h%7I^TrW0- zd&!w4d47x)I>X+9|PjbO9QV@wvK5eRWCAFHTNV zj0Nc!zFDWaoEW%BXs9LLWLMqRdm)vg?xZz6ywMPTpVC~{Kk)scF#?VA(4S_4^c;It z$hB*o+d;>7Pw&5bxJTjAxlHWM_`FWofVTCn+XkP4@6WgA+eWY@3RhVeXbO;`x3h-? zEl?1N%T{bmf$7J$!6)*Y7s|sw87Rmqx^aVned)(YDdM>S%SSd{wFmw8-xp*sSkU`Ud!2dgvoy2beDry!c=wps+h8MKEJkJpBPjh zex3ACjiY`(e$sjz%%yssb$9J%lU|r}95JzaJ=>t?(sFXKw?mIvgq9m>``|rJIgy(e9?a>fqg0r3LYd5KlPkyt6=&HxuGUFx@Ok8u45SkA};$+>zYbr z{MOYTj7CHJoDJT>S`?J4N;)f-ZO`%X!Z0aVzAI&=aUmKBkSv;u#Y*zHSr3K$1l|?l zc)4r$73_)RvFKr&EB;9<^j0w-mf!a^MUm0mR*_$E0V#B4Y(=&IHg`vT>J4ae4 zA6*CwhMxov=AM#RXv9&*tLZy3Yf#_|cwTxR)MI>4xQ&fCzUL#$Ns2%?cz0p%z4LbT zH~8yLzUD89S0=-6rol77T)7qqK^%WX{{julMd07&qR(Z%l~X!XOt_S*n2ss>N-=XdNh+bHD+AdQ^WThRn^U8E3o zP-}a;z(p@a2avPz?T_0-SZ}F6(ND_AsmxmT#2aDMev}pAec#CQaQ_8E*1?k}p_G~7 zV{xm{Tse37E7~eLeEdWKo-oUwGU%1$>!G!La2h>_V@`Y~MNX;#<{di6!mN&GvNhG@ zd?b7pxcE$wT4);CGE1Co!Q629%-g}Qiloq&Ns$v1unyU8+prF2f_KjpEG8BhvJ@1< zU|P4KL3BLq*l=j)ilW(1L+rx!sZX~$XIt*B@}#`@dxlQF)cG_U$CXE zhnYO*ht-sOjFo7!*y*G;0~mFd3T1c4Sf0YS+wh5=o=gvU-g?+Z&s{9>QcY+?M-*w^ zhc~HU5e#C#aMO}M%3}N3K9c!`xAqXZ!tc$&Vb60a)uJUGO&*34m;{VQ z3A8?dpV?4MT?bd_HYQAR0sCu%#5e5vft9*&2IR-`vs90@!T_bKi}zU)CZCC-k}!cV7|On+Sny(4d#eoSQH$%;e=FKUCrTP)isq- z!0K)@YR6^r_@+-T@>3){`oMYVS1)4FYi{5^y;ADZSZ~vW5gG_-LWEcE{b%yn8NlSJ zPm!aNRAiXd)z!~{Ms937VS!TGN|eI-9E(4O05wn=i0>yaD&f_@05g{lKq-HPtGV$}A|E z9s}{CXaLD1ZoRtLLKWquvf%)>5$3g7-(^I3ABj!3c#nS00UbE7nwlCAO`v2forFw- zy{29Y8vT1}pM$A2XsXvE1ylPAv%026knL>rpvrAJ6h(2<8?PgsD8H}Y=t{%KM+9_) zp!W8hEG#V4w>iO}s$>Xq3ODiiW*}&k&^AgnAE3`yl+^>ENZB%_Q3?MJ4GcjRX~Rmm z?*L#e_a6kH#8&}42?t!BC&b9wb%m1dbb-JOg@Jqe{@L{rkW2z%Yozz?-CJR}b@S#t z02HWa9p$RQj)F+H0J4_$nF4HUx>2i>OODs2@U~f%*NCls?Z4J*Kp1?t=Ebf?6sY&@ zjesx$CP1c}*;Z-VBm4Oe+?pHk-^t5|Hw?nyHVvix$l<};P+qDh_}ji{0D^u*Fn0&_ z-hY1Dyg&f&)og#{+LlI6(aPnFA5SiD0JoxzA%m7Kr=hWZ4|K<&~)nn$bL{giDyuF zZ`PYiX|9p>6kLtB&7$={B1=N}Iv!H|_#+N36;%w7k_>G7?(YuQ| zrXsL1EkIXz*=iJz9yy1C)kJ3Rr%6eq}ZvYs*{dJUIzK>ewfi84__P$Z78S(!8djM<^ zZtw%!nEKNxP{KTlzUe@SnndL}pi%!KiSi1(ZSGT$>XH zxv(o%j&ziykrB%76?MheS+)ZYrbgx zMyS2n7J}N6+bd2#QByv*i9S-M9|2$~1z)|828vrWF$Y(dR z{z+{zB)ia6&=DIf-vAC6$JuqEkl$yJ3I*d|#JQHN0v;!X225w?%bRz%0dCUxQxIku z*;u;*~#{!xFM#17V7taz3W@1Xd_3%X01xNWis8WKN!yiINc3YZ=Fzh zbNp=wVAcG;B~1K{1rWQuW`6?yRT%>cK}JhQCuNGL{8L?VX9VljKgHjd3clfE@V@As z1tjVVf}}AR-?Ufo`tPPea@yGR^hi|y3D7Wg{2^x8DgY#Eff!^sd_HYE)g( z6zxDUdcy9}9~|k?q_+SkYPt85B>L7K5<5Rpo7P1%{YEFtwyB{$41e)=DPceXt+TUJ zR#9=?l%vJ1QML%BSqd63cbYq$I>AuPKqJIXJJlsF$`+kQ-GREazFTbrfA9g|_lB6Z zO5Hy$D+Fv|;h+fOKLFKz;(+k*JGpszMo0wwB3^FN@Yf0|wq3;p=E<+E!Q~gqpM+LeQHg6QJ|1lqJMqr4)JtgXld7*X1P<3@DvhJXyiH|Z)RB=#hjIpm@ z2c7J#o(&-CVPFsh*8@NLqbRusbLB4XyvlAc+;Or8$Z;{$o$a>jIK%Jl@81qK0)_Nv zGL$(5?I8Ke8R0UN9_XWbPEk%mCLCap;D?=~c%C`I(z+Ztg|fpk&dxj_YFi;n$S-t_u$iL= zADj*l025)H;~;|$PN75$%0!Y-*rE1jzzo6DMprg~6(2r}_AdF|4Myd&kJoa%aFFg9Dz9C5D1JaS${7`03|SWn~#NN{@AX8EOf|r zk2uH+*!d|38iQ5Ze;j~ z06Vdn)KidR`kfeH*WvQO1w;df4gH7H`3qfq`c(lq0vciV80+HW<%W zUbSWy=IXf!yF4c~@Z6=rQc`X^%d+X<=4cL^wz`@z`l7paK^RTsQA4Arbp7Hhr$_!p-r;p^=e%M76OrmP{l;@rjQbOt|t!Ga(XWECoE6 zHJVGdhb+h+OstjzB>#zw|Fz%8g$*^eoqYEA;9IpQqa4xL2M0RPwDH7HW`6s$&TbY} z_@D-tlbxL%?Ad@(UE?2&Cm}~hfW+J=$ zS?_H|eb+0X1+n-!QW{7%_GJo1z1_CQN_k9ieKngmH(Z;gre9O@)7Vs` z|G;(73@rswk8fzLXt*{0Yt(pqDMB^VjRc@4F=Aq5c84DhSk$bgE>6}J``KC9Xe?SB zcw)6!;D5SxkE>kn^TY137=UlJa1nygGte5HyE{=izAFu1<9@}Ynwn8sHuUoVLm^ZK z=+A4`X9zl=LC?5gHyd7LW^h=)qPi0~|K)MVv&>5Yv~#Srctxp4l{(K=NAtU`wVFj9 zaCDLAzdBWf)Xel3F0e(DX2Y<)Jo2H5ujXCb<2yF8a^jMYd?zru5<}fe6gimj8FGdH z#>?w{W8fW_zd0^hMcwdD= zxyG&S2`EvR{ZuJD(W#vYHP&ti2mypJ+eC@9-+j{d9UG^39jnS(ozmIa{=#f=*BW}s z2+f+ySmnL7wE|60&megd|8h)?4#~ifqFo3QEeaY5i13&Pnc;)$9@Rh*DnJCNCbFp27Zpb-Ut6xM;gUE)qES-*$IH2h%+R& z1)iy~Rc7#t+5L^_h>1$aFa6)!22|;l)BQnJN}q@APwMz`?Nlf1^R| zYtV6*)Mgwb8vODl+WEy61uNc}D-4BG8PGzf^gT9$!C@mH@u9%{jK!!3VWjOVtR% zTvD>Y_!8@MF<(8o=W!9V+YpIv67~5JKqVAG+6?0muVv=?&pmX;1}xFHFjRj2MdWB6KV47z*mJ;NHxd{UT?i7XAk z)qZpoGm@e16IzJvj~9W4Lw9_&TgK0GPs6X}(cFhqJ^F*_6?)zR%u7?|$JlMFN_6jO zIq%{DG)0t&>S*1GacT>Rr}z!*YAi{p6=xatH??1!HGtnygG%2N#$SE1I34WFuq$K1 z>d-;*>VnOIq^ua0ts{V$rM`F#{Qjr1(fe9yhsqIzN+#rEpT4YN?eL?wP?#3c{bv9- z9BZyWF`&)u;M}9xQBVN5d$dJ!>dE+N0arl~cDR&=P3amFs7yKWHNr+iATq`SZ@$Z4 zi{MOJmCCK<@u;Ao)p_m;YTFVTHWaC3Yk0gSp{IJZau6Yfkw!84r_GPPUb!+Y3=Q?p z-roIGfGEU}%2$GO$bc-P=E4*`Vk2cWtl3KqR8Hdy6xFbnW}*3M1|r%w-8LicBd5R5 zo1+{Gij@dBewIP<5Y+Bnr?)@de}P3VFwj@*krLJh%J#uPCIA~`h=M@F*4#Y$B}hsv zfbh19IwD-hO-Ee?;$ovOI>^!d{}_AAuq?Nx4OkHnL=ZvgmJ|W$E(z(pshg5+kd_uu zTDn`LQ@X(bX~~-oMe?Rw`dgR#+0X0y{rJB3&ptMXu&(QxHEU+p%sJ;!ROc&vI&shr zlFwI^Tzh>`Ne>dx$&$4&%k4=o+==<)8^@*RxA7LInX}2Q@~u~6k_IJY2t@^@VDcK4 z7n3fCqar|JnHd*eLl@pmCYS4U_|Zu2aavb0?>*{UGkzlBsE4D!nNk4My0&{2a5*5d z(m zbj8iZBm|Bu54*Hb$<$A}iGH~(C%-Iz27lur-A4uBy+tB~s;vO@zW@N$iQjj4A~dRW zX+K)^rv>8BOjbzEnY^K#FV8AmdH8|fCezC>3>nDc$Y&bzw*TvxY3APaG)^#6Z@51I z?I1f}a}|9gu(C^SUZ4Lj2> z2j(xtNhH_(O}UmVFm=`d-^>np_7c8bc-}%yU7~}Tb zPv~TS;r@dMHv&J01bw5wKwe#Io+5<#H=ttc52d09E#_EvN)YKz*wcOedUP@jzhagj~q+}2pbqAc%FKiBQz1b|= zPp|qDwe|dz^!f<3xbvABneS8Ko$Q R;H2J=QI5R4ikYI;vYS4SB;;CjV`AD885m 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 - - -
Proxy Service
HTTP Stream (Goroutine)
Request Handler
OCI Client
Auth Handler
Manifest Resolver
Layer Downloader
Chunker
(512KB default)
Max 50 concurrent downloads
Go Channel
MQTT Stream (Goroutine)
MQTT Subscriber
registry/proplet
Chunk Tracker
MQTT Publisher
registry/server
Completion Logger
QoS 2 (exactly-once)
Container Registry
(Docker Hub, GHCR, etc.)
MQTT Broker
(Magistrala)
HTTPS
chunks
requests
chunks
Data Flow: Requests ➜ HTTP Stream ➜ Go Channel ➜ MQTT Stream ➜ Broker
Legend
HTTP Stream
MQTT Stream
Go Channel
External
diff --git a/content/docs/images/proxy/chunk-transfer.svg b/content/docs/images/proxy/chunk-transfer.svg deleted file mode 100644 index c84433c..0000000 --- a/content/docs/images/proxy/chunk-transfer.svg +++ /dev/null @@ -1,1129 +0,0 @@ - - - -
WASM Module
(2.5 MB)
Proxy Chunker
512 KB Chunks
Chunk 0
512 KB
Chunk 1
512 KB
Chunk 2
512 KB
Chunk 3
512 KB
Chunk 4
452 KB
Chunk Payload Format (JSON)
{
"app_name": "docker.io/org/module.wasm",
"chunk_idx": 2,
"total_chunks": 5,
"data": "base64-encoded-512KB..."
}
Each chunk published as separate MQTT message
MQTT Broker (registry/server topic)
[0]
[1]
[2]
[3]
[4]
QoS 2
Exactly Once
Sequential delivery
Proplet - Chunk Assembler
✓ [0]
✓ [1]
✓ [2]
✓ [3]
✓ [4]
Concatenate
in order
Complete WASM Module
(2.5 MB)
Runtime
⏱ 5-minute TTL for incomplete assemblies
🔄 If chunk fails, only that chunk resent (not entire module)
💡 Why 512 KB? Balances MQTT broker limits (often 1MB max), transfer efficiency, and Proplet memory usage
diff --git a/content/docs/images/proxy/module-delivery-flow.svg b/content/docs/images/proxy/module-delivery-flow.svg deleted file mode 100644 index 9aab9eb..0000000 --- a/content/docs/images/proxy/module-delivery-flow.svg +++ /dev/null @@ -1,929 +0,0 @@ - - - -
👤
User/API
Manager
MQTT
Broker
Proplet
Proxy
Container
Registry
1. POST /tasks
{image_url: "docker.io/org/module.wasm"}
2. control/manager/start
{task_id, image_url}
3. registry/proplet
{image_url}
4. OCI Pull
(auth + manifest + layers)
WASM binary
5. Split into
512KB chunks
6. registry/server
{chunk[0], chunk[1], ...}
7. Reassemble
+ Execute
Legend
HTTP/API
MQTT relay
Proplet msg
Proxy msg
diff --git a/content/docs/images/tee/architecture.svg b/content/docs/images/tee/architecture.svg deleted file mode 100644 index 8ed1b39..0000000 --- a/content/docs/images/tee/architecture.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -Setup Phase
Developer
Generate RSA
key pair
Encrypt WASM
image (JWE)
Push private
key
Upload to KBS
(decryption key)
Container Registry
(encrypted WASM)
Key Broker Service (KBS)
• Store decryption keys
• Validate attestations
• Release keys to verified TEEs
Execution Phase
Manager
(submit task manifest)
MQTT Broker
Proplet (in TEE)
Detect TEE
hardware
Pull encrypted
image from registry
Request attestation
from TEE hardware
Attestation Agent
(TEE Hardware Interface)
Decrypt image
inside TEE using key
Execute WASM
workload
Return results
attestation proof
Key Broker Service (KBS)
• Validate attestation
• Release decryption key
decryption key
\ No newline at end of file diff --git a/content/docs/images/tee/attestation.svg b/content/docs/images/tee/attestation.svg deleted file mode 100644 index b4ff987..0000000 --- a/content/docs/images/tee/attestation.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -
TEE Attestation Flow
Proplet

• Detects TEE environment
• Receives encrypted task request
• Needs decryption key from KBS
Attestation Agent (AA)

• Interacts with TEE hardware APIs
• Generates nonce for freshness
TEE Hardware

• Generates attestation report
• Report includes:
- TEE type (TDX/SEV-SNP/SGX)
- TEE configuration
- Runtime measurement
- Cryptographic signature
Attestation Agent (AA)

• Formats attestation report
• Sends to KBS for validation
Key Broker Service (KBS)

Validation Steps:
1. Verify hardware signature
2. Check TEE type is supported
3. Verify TEE configuration matches policy
4. Confirm runtime measurement is expected

If validation succeeds:
• Retrieve private key from secure storage
• Return decryption key to Proplet

If validation fails:
Deny key request
• Log security event
Proplet

• Receives decryption key
• Decrypts WASM image inside TEE
• Executes workload in protected environment
Request attestation via AA
Get TEE evidence
Attestation report
Validate & request key
Decryption key (if valid)
\ No newline at end of file diff --git a/content/docs/images/tee/encrypted-task-execution.svg b/content/docs/images/tee/encrypted-task-execution.svg deleted file mode 100644 index df2eade..0000000 --- a/content/docs/images/tee/encrypted-task-execution.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -
CLI/User
Manager
POST /tasks
Proplet (in TEE)
3. Detect TEE
Environment
4. Pull Encrypted
Image
5. Request
Attestation
6. Attestation
Agent
publish start
7. Key Broker
Service (KBS)
attestation
Proplet (in TEE)
8. Decrypt Image
Inside TEE
9. Execute WASM
Workload
10. Return
Results
decryption key
\ No newline at end of file diff --git a/content/docs/images/tee/image-encryption.svg b/content/docs/images/tee/image-encryption.svg deleted file mode 100644 index 8e616e9..0000000 --- a/content/docs/images/tee/image-encryption.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -
Step 1: Push WASM to Local Registry
WASM File
my-app.wasm
Registry

(localhost:5000)
wasm-to-oci push
Step 2: Encrypt with Public Key
Encrypted
OCI Image

(JWE)
skopeo copy --encryption-key
jwe:/path/to/public_key.pem
Step 3: Push to Remote Registry
Remote
Registry

docker.io
skopeo copy
\ No newline at end of file diff --git a/content/docs/images/tee/kbs-setup.svg b/content/docs/images/tee/kbs-setup.svg deleted file mode 100644 index 49b49bf..0000000 --- a/content/docs/images/tee/kbs-setup.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -
Developer

Generate
RSA Keys
Developer

Encrypt
WASM Image
with
Public Key
Developer

Upload
Private Key
to KBS
Encrypted
OCI Image

(JWE format)
Key Broker
Service

(KBS)
Output:
• Public key used to encrypt WASM images
• Private key stored securely in KBS
• Path 'default/key/my-app' references the key
\ No newline at end of file diff --git a/content/docs/images/wasi-nn/proplet.svg b/content/docs/images/wasi-nn/proplet.svg deleted file mode 100644 index 34b2192..0000000 --- a/content/docs/images/wasi-nn/proplet.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -
propeller-cli
Manager
Proplet
HostRuntime
Filesystem
wasmtime (subprocess)
OpenVINO
POST /tasks/start
MQTT: StartTask (wasm_bytes, cli_args)
start_app(config)
Step 1: Write WASM to temp file
write /tmp/proplet_{id}.wasm
Step 2: Build & spawn subprocess
Command::new("wasmtime")
+ arg("run")
+ args(cli_args)
+ env(LD_LIBRARY_PATH)
+ env(INTEL_OPENVINO_DIR)
spawn process
Step 3: WASM execution
load wasi-nn-example.wasm
wasi_nn::load(model.xml, model.bin)
graph_handle
wasi_nn::compute(tensor)
results[1000]
println!("Found results: [865, ...]")
Step 4: Collect output
exit(0) + stdout + stderr
Step 5: Cleanup
delete /tmp/proplet_{id}.wasm
Ok(stdout)
MQTT: TaskComplete
task.state = completed
propeller-cli
Manager
Proplet
HostRuntime
Filesystem
wasmtime (subprocess)
OpenVINO
\ No newline at end of file diff --git a/package.json b/package.json index abb4280..a40af44 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "lint": "biome check .", "lint:fix": "biome check src --write", "check:assets": "bash scripts/check-assets.sh", + "publish-image": "node scripts/publish-image.mjs", "optimize:images": "f() { webp=\"${1%.*}.webp\"; magick \"$1\" -resize 1200x1200\\> -quality 82 \"$webp\" && rm \"$1\" && echo \"Converted $1 → $webp (original removed)\"; }; f" }, "dependencies": { diff --git a/scripts/.env.publish-image.example b/scripts/.env.publish-image.example new file mode 100644 index 0000000..554a8c4 --- /dev/null +++ b/scripts/.env.publish-image.example @@ -0,0 +1,14 @@ +# Copy this file to scripts/.env.publish-image and fill in the values below. +# The copy is gitignored (.env.* pattern in .gitignore) — never commit it or +# paste the token value into a PR, issue, or chat. + +# Cloudflare API token with both permissions on the same token: +# - Workers R2 Storage: Edit (scoped to the "websites-images" bucket) +# - Zone -> Cache Purge -> Purge (scoped to the zone fronting this site) +CLOUDFLARE_API_TOKEN= + +# Not secret - the www.absmach.eu zone ID. This site (docs/propeller) is +# served under that domain (see README.md's NEXT_PUBLIC_BASE_URL); reused +# from the same zone already confirmed for the absmach-website reference +# repo and the other absmach.eu-domain docs sites. +CLOUDFLARE_ZONE_ID=9cb2232dc0e21fbfabf9ce52b1834f56 diff --git a/scripts/README.md b/scripts/README.md new file mode 100644 index 0000000..2079142 --- /dev/null +++ b/scripts/README.md @@ -0,0 +1,147 @@ +# Publishing docs images (maintainers only) + +Content images are no longer committed to this repo. They're stored in a shared +Cloudflare R2 bucket (`websites-images`, under the `propeller-docs` key prefix so they +don't collide with other properties in the same bucket) and served at +`/docs/propeller/img/` by a small Cloudflare Worker script, +[`worker/index.ts`](../worker/index.ts), that reads the object from R2 and streams it +back. + +**Authoring is unchanged** — write plain markdown image syntax exactly as before, with +whatever relative path you'd naturally use from the `.mdx` file you're editing: + +```md +![Propeller DAG Architecture](./images/dag/architecture.svg) +``` + +[`src/lib/remark-doc-images.ts`](../src/lib/remark-doc-images.ts) resolves that path +(relative to the source file's own location — pure path math, no image bytes needed) into +the literal `/docs/propeller/img/dag/architecture.svg` URL the Worker serves, at compile +time. `src/mdx-components.tsx`'s `img:` override then renders it as a plain, zoomable +`` (`fumadocs-ui`'s `ImageZoom` wrapping a plain element, not `next/image`) — no +width/height needed, so there's no manifest to keep in sync when images change. + +## Why a Worker script, not a Next.js route + +This site is a fully static Next.js export (`output: "export"` in `next.config.mjs`), +deployed to Cloudflare as static assets with no Next.js server at all. That's also why +neither `@cloudflare/next-on-pages` nor `@opennextjs/cloudflare` apply here: there's no +running Next.js request handler on Cloudflare to reach an R2 binding from. + +Before this change, fumadocs-mdx's `remarkImage` plugin resolved markdown image syntax +into a webpack `import` at build time, content-hashed under `_next/static/media/` — which +meant the image bytes had to be physically present in the repo just to run `next build`, +incompatible with getting them out of git. `source.config.ts` disables that plugin, and +`wrangler.jsonc` has a `main` Worker script (`worker/index.ts`) purely to answer the +`/docs/propeller/img/*` route: it falls back from the `ASSETS` binding (Cloudflare serves +any matching static file directly and only invokes this Worker when nothing matches, +since `run_worker_first` defaults to `false`) to reading the request straight out of +`IMAGES_BUCKET`. + +Only maintainers publish images, using [`publish-image.mjs`](./publish-image.mjs). The +script is safe to have in a public repo because it's inert without a token — nobody can +upload to the bucket just by reading this file. See "Why maintainer-only" below. + +## One-time setup + +1. Create `scripts/.env.publish-image` from the template: + + ```bash + cp scripts/.env.publish-image.example scripts/.env.publish-image + ``` + +2. Create a Cloudflare API token: dashboard -> **My Profile -> API Tokens -> Create Token + -> Custom Token**, with both permissions on the same token: + - `Workers R2 Storage: Edit` + - `Zone -> Cache Purge -> Purge`, **Zone Resources** scoped to the zone fronting this + site (`www.absmach.eu` — see `scripts/.env.publish-image.example`) + +3. Paste the token into `CLOUDFLARE_API_TOKEN` in `scripts/.env.publish-image` + (`CLOUDFLARE_ZONE_ID` is pre-filled — it isn't secret). + +4. Sanity-check the token before first use: + + ```bash + curl -s https://api.cloudflare.com/client/v4/user/tokens/verify \ + -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" + ``` + + Should return `"status":"active"`. If it doesn't, the token value itself is wrong + (bad copy/paste, expired, revoked) — fix that before troubleshooting anything else. + +## Publishing an image + +```bash +pnpm run publish-image +``` + +`` must start with `img/` and include the rest of the path MDX content will +reference. Example: + +```bash +pnpm run publish-image ./architecture.svg img/dag/architecture.svg +# -> uploaded to r2://websites-images/propeller-docs/dag/architecture.svg +# -> live at https://www.absmach.eu/docs/propeller/img/dag/architecture.svg +# -> reference from MDX with any relative path resolving to +# content/docs/images/dag/architecture.svg, e.g. ![Alt](./images/dag/architecture.svg) +``` + +The script does two things, in order: + +1. `wrangler r2 object put ... --remote` — uploads to the **real** bucket. `--remote` is + required; without it, `wrangler` silently writes to a local simulated bucket and + prints a normal-looking "Upload complete" with no error, and the object is never + actually live. +2. Purges that exact URL from Cloudflare's edge cache (`POST /zones/{id}/purge_cache`), + so the update is visible within seconds instead of waiting out the cache TTL. + +If you re-run the same command for an existing path, it overwrites the object in place and +purges again — that's the intended way to update an image without changing its URL or the +MDX that references it. + +If you're adding a brand-new diagram: drop it wherever makes sense under +`content/docs/images/` conceptually (the directory itself no longer exists in git, but the +path still determines the R2 key — see above), run `publish-image` on it, then reference +it from your MDX with the matching relative path — no separate registration step. + +## Migrating the existing diagrams (one-time, already done) + +This repo's 40 actually-referenced diagrams (5 more existed under `content/docs/images/` +but weren't linked from any `.mdx` file, so were dropped rather than migrated) have +already been uploaded to the real R2 bucket and spot-checked byte-for-byte against the +originals. Nothing further to do here unless a diagram needs updating — use +`publish-image` for that, same as any other image. + +## Why maintainer-only + +This repo is public. The risk isn't the script being visible — it's inert without a +credential. The risk is _credential distribution_: whoever holds `CLOUDFLARE_API_TOKEN` +can write to the shared bucket. So nobody, internal or external, gets a personal R2 +token. Only a maintainer, holding this one scoped token, runs `publish-image`. + +Practical flow for a PR that adds a diagram: the contributor attaches the image to the PR +the normal GitHub way (drag-and-drop into the description or a comment) and references +`/img/` from their MDX changes. A maintainer reviewing the PR runs +`pnpm run publish-image` locally before merging, then approves. + +## Troubleshooting + +- **`Local file not found: --`** — you ran `pnpm run publish-image -- `. pnpm + forwards a leading `--` to the script literally instead of stripping it like npm does. + The script strips it defensively, but plain `pnpm run publish-image ` (no + `--`) is the form to use. +- **`Resource location: local` in the upload output** — means `--remote` didn't get + applied for some reason (e.g. running the underlying `wrangler` command by hand without + copying the full flag list from the script). The object was never written to the real + bucket even though the CLI reports success. Always use `pnpm run publish-image`, or add + `--remote` yourself if invoking wrangler directly. +- **`Cache purge failed` / `Authentication error` (code 10000)** — Cloudflare reuses this + code for both "bad token" and "token valid but missing this permission." Run the token + verify curl command above first to rule out a bad token. If that succeeds, the token is + missing `Zone -> Cache Purge -> Purge` for the correct zone, or that permission's Zone + Resources selector doesn't include it — edit the token in the dashboard and add it. +- To confirm an object actually made it into the bucket after a `--remote` upload: + + ```bash + wrangler r2 object get websites-images/propeller-docs/ --remote --file=/tmp/check + ``` diff --git a/scripts/publish-image.mjs b/scripts/publish-image.mjs new file mode 100644 index 0000000..227987c --- /dev/null +++ b/scripts/publish-image.mjs @@ -0,0 +1,134 @@ +#!/usr/bin/env node +// Maintainer-only. Uploads a doc image to the shared R2 bucket and purges +// it from Cloudflare's edge cache, so it's live right after this finishes. +// Requires CLOUDFLARE_API_TOKEN (scoped: R2 Edit on websites-images + Zone +// Cache Purge on absmach.eu) and CLOUDFLARE_ZONE_ID. +// +// Usage: +// pnpm run publish-image +// +// is the path used in MDX content, starting with "img/" to +// match the route worker/index.ts serves it back on: +// pnpm run publish-image ./architecture.svg img/dag/architecture.svg +// -> referenced in MDX as ![Alt](./images/dag/architecture.svg) (or any +// relative path that resolves to content/docs/images/dag/architecture.svg) +// -> live at https://www.absmach.eu/docs/propeller/img/dag/architecture.svg + +import { execFileSync } from "node:child_process"; +import { existsSync } from "node:fs"; +import { extname } from "node:path"; +import process from "node:process"; + +const BUCKET_NAME = "websites-images"; +// This docs site is served under https://www.absmach.eu/docs/propeller -- +// same zone as the main absmach-website repo, which is why +// CLOUDFLARE_ZONE_ID below matches that repo's. +const SITE_ORIGIN = "https://www.absmach.eu"; +const BASE_PATH = "docs/propeller"; + +// Shared bucket ("websites-images") holds assets for multiple properties; +// this prefix keeps this site's objects from colliding with theirs. Keep +// in sync with R2_KEY_PREFIX in worker/index.ts. +const R2_KEY_PREFIX = "propeller-docs"; + +const MIME_TYPES = { + ".webp": "image/webp", + ".jpg": "image/jpeg", + ".jpeg": "image/jpeg", + ".png": "image/png", + ".svg": "image/svg+xml", + ".gif": "image/gif", + ".avif": "image/avif", +}; + +try { + process.loadEnvFile(new URL("./.env.publish-image", import.meta.url)); +} catch { + // No local env file -- assume CLOUDFLARE_API_TOKEN / CLOUDFLARE_ZONE_ID + // are already exported (e.g. in CI). +} + +// pnpm forwards a leading "--" to the underlying command instead of +// stripping it (unlike npm), so tolerate it either way. +const cliArgs = process.argv.slice(2).filter((arg) => arg !== "--"); +const [localFile, publicPath] = cliArgs; + +if (!localFile || !publicPath) { + console.error( + "Usage: pnpm run publish-image \n" + + "Example: pnpm run publish-image ./architecture.svg img/dag/architecture.svg", + ); + process.exit(1); +} + +if (!existsSync(localFile)) { + console.error(`Local file not found: ${localFile}`); + process.exit(1); +} + +const destKey = publicPath.replace(/^\/+/, ""); +if (!destKey.startsWith("img/") || destKey === "img/") { + console.error( + `Destination must start with "img/" and include a path, got: ${destKey}`, + ); + process.exit(1); +} +const restPath = destKey.slice("img/".length); + +const contentType = MIME_TYPES[extname(restPath).toLowerCase()]; +if (!contentType) { + console.error(`Unrecognized file extension for: ${destKey}`); + process.exit(1); +} + +const { CLOUDFLARE_API_TOKEN, CLOUDFLARE_ZONE_ID } = process.env; +if (!CLOUDFLARE_API_TOKEN || !CLOUDFLARE_ZONE_ID) { + console.error( + "Missing CLOUDFLARE_API_TOKEN and/or CLOUDFLARE_ZONE_ID.\n" + + "Copy scripts/.env.publish-image.example to scripts/.env.publish-image and fill in both.", + ); + process.exit(1); +} + +const objectPath = `${BUCKET_NAME}/${R2_KEY_PREFIX}/${restPath}`; + +console.log(`Uploading ${localFile} -> r2://${objectPath}`); +execFileSync( + "wrangler", + [ + "r2", + "object", + "put", + objectPath, + `--file=${localFile}`, + `--content-type=${contentType}`, + "--remote", + ], + { stdio: "inherit", env: process.env }, +); + +const publicUrl = `${SITE_ORIGIN}/${BASE_PATH}/${destKey}`; + +console.log(`Purging edge cache for ${publicUrl}`); +const purgeResponse = await fetch( + `https://api.cloudflare.com/client/v4/zones/${CLOUDFLARE_ZONE_ID}/purge_cache`, + { + method: "POST", + headers: { + Authorization: `Bearer ${CLOUDFLARE_API_TOKEN}`, + "Content-Type": "application/json", + }, + body: JSON.stringify({ files: [publicUrl] }), + }, +); + +const purgeResult = await purgeResponse.json(); +if (!purgeResponse.ok || !purgeResult.success) { + console.error("Cache purge failed:", JSON.stringify(purgeResult, null, 2)); + process.exit(1); +} + +console.log(`Done. Live at ${publicUrl}`); +console.log( + `Reference it from MDX with any relative path resolving to content/docs/images/${restPath}, e.g.: ![Alt text](./images/${restPath})`, +); diff --git a/source.config.ts b/source.config.ts index 6702f1d..0ef577f 100644 --- a/source.config.ts +++ b/source.config.ts @@ -5,6 +5,7 @@ import { metaSchema, } from "fumadocs-mdx/config"; import { z } from "zod"; +import { remarkDocImages } from "./src/lib/remark-doc-images"; // You can customise Zod schemas for frontmatter and `meta.json` here // see https://fumadocs.dev/docs/mdx/collections @@ -25,6 +26,16 @@ export const docs = defineDocs({ export default defineConfig({ mdxOptions: { - // MDX options + // Content images are served at runtime from R2 via worker/index.ts + // (see scripts/README.md), not committed to this repo. fumadocs-mdx's + // remarkImage plugin needs the file on local disk at build time -- + // exactly what we're avoiding -- so it's disabled here. Authors keep + // writing plain markdown image syntax with whatever relative path they + // always used (`./images/x.svg`, `../images/dag/x.svg`); remarkDocImages + // below resolves that to the R2-proxy URL at compile time instead (pure + // path math, no manifest), and mdx-components.tsx's `img:` override + // renders it as a plain, zoomable . + remarkImageOptions: false, + remarkPlugins: [remarkDocImages], }, }); diff --git a/src/lib/remark-doc-images.ts b/src/lib/remark-doc-images.ts new file mode 100644 index 0000000..315563f --- /dev/null +++ b/src/lib/remark-doc-images.ts @@ -0,0 +1,50 @@ +import { dirname, join, normalize, relative } from "node:path"; + +// Doc content images live in the shared R2 bucket (see worker/index.ts) +// instead of content/docs/images. Authors keep writing plain markdown image +// syntax with the same paths they always used -- this plugin rewrites each +// image's `url` at compile time (pure path math, no image bytes needed) +// into the literal "/docs/propeller/img/..." URL the Worker serves, so +// nothing about the authoring experience changes. +// +// - Relative paths ("./images/x.svg", "../images/dag/x.svg", or bare +// "images/x.svg") resolve against the source .mdx file's own location, +// same as markdown always works. +// - Full external URLs (http://, https://) are left untouched. +const CONTENT_IMAGES_ROOT = join(process.cwd(), "content/docs/images"); +const IMG_ROUTE_PREFIX = "/docs/propeller/img"; + +// Minimal structural types for what this plugin touches -- avoids pulling in +// `@types/mdast`/`vfile` as direct dependencies for two fields. +interface MdastNode { + type?: string; + url?: string; + children?: MdastNode[]; +} +interface CompileFile { + path: string; +} + +function walk(node: MdastNode, visitor: (node: MdastNode) => void) { + if (node.type === "image") visitor(node); + if (Array.isArray(node.children)) { + for (const child of node.children) walk(child, visitor); + } +} + +export function remarkDocImages() { + return (tree: MdastNode, file: CompileFile) => { + walk(tree, (node) => { + if (typeof node.url !== "string" || node.url.length === 0) return; + if (/^https?:\/\//.test(node.url)) return; // external, leave alone + if (node.url.startsWith(IMG_ROUTE_PREFIX)) return; // already resolved + + const fileDir = dirname(file.path); + const absolute = normalize(join(fileDir, node.url)); + const relativeToImages = relative(CONTENT_IMAGES_ROOT, absolute) + .split("\\") + .join("/"); + node.url = `${IMG_ROUTE_PREFIX}/${relativeToImages}`; + }); + }; +} diff --git a/src/mdx-components.tsx b/src/mdx-components.tsx index d6dede5..cd8e965 100644 --- a/src/mdx-components.tsx +++ b/src/mdx-components.tsx @@ -1,10 +1,8 @@ import { CodeBlock, Pre } from "fumadocs-ui/components/codeblock"; -import { - ImageZoom, - type ImageZoomProps, -} from "fumadocs-ui/components/image-zoom"; +import { ImageZoom } from "fumadocs-ui/components/image-zoom"; import defaultMdxComponents from "fumadocs-ui/mdx"; import type { MDXComponents } from "mdx/types"; +import type { ComponentPropsWithoutRef } from "react"; import { APIPage } from "@/components/api-page"; import { CodeFromSource } from "@/components/code-from-source"; @@ -18,7 +16,26 @@ export function getMDXComponents(components?: MDXComponents): MDXComponents {

{props.children}
), - img: (props) => , + // Content images are R2-backed (src/lib/remark-doc-images.ts resolves + // the path at compile time; remarkImageOptions is disabled in + // source.config.ts so this receives the literal, resolved `` MDX + // produced for every `![...](...)` in content, unmodified). Rendered as + // a plain, zoomable -- no next/image, no dimensions needed, same + // ImageZoom-wrapped UX this repo had before any of this migration. + img: (props: ComponentPropsWithoutRef<"img">) => { + if (typeof props.src !== "string") return null; + const { src, alt, ...rest } = props; + return ( + // src/alt passed here too, not just to the inner : ImageZoom's + // zoomed-in view reads its image from these props directly, not + // from `children` -- omitting them renders a blank zoomed-in image + // even though the inline thumbnail (via children) looks correct. + + {/* biome-ignore lint/performance/noImgElement: doc content images are served from R2, not Next's image pipeline -- see src/lib/remark-doc-images.ts */} + {alt + + ); + }, ...components, }; } diff --git a/tsconfig.json b/tsconfig.json index 057b290..3f2fc89 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -31,5 +31,11 @@ ".next/types/**/*.ts", ".next/dev/types/**/*.ts" ], - "exclude": ["node_modules"] + "exclude": [ + "node_modules", + // Runs directly on the Workers runtime via wrangler's own bundler/type + // scope, not part of the Next.js app — keep it out of `tsc --noEmit` + // here so it isn't checked against `lib: ["dom", ...]`. + "worker" + ] } diff --git a/worker/index.ts b/worker/index.ts new file mode 100644 index 0000000..7046e82 --- /dev/null +++ b/worker/index.ts @@ -0,0 +1,92 @@ +// Cloudflare Worker entry point. +// +// This site is a fully static Next.js export (`output: "export"` in +// next.config.mjs) served by Cloudflare's native static assets (see +// `assets` in wrangler.jsonc) — there is no Next.js server runtime in +// production. That means neither @cloudflare/next-on-pages nor +// @opennextjs/cloudflare apply here: there's no running Next.js request +// handler on Cloudflare to reach a binding from. This file is the smallest +// possible layer on top of that: it serves everything through the ASSETS +// binding exactly as before, except requests for content images, which it +// answers directly from the shared R2 bucket. That's the only reason this +// repo has a `main` Worker script at all — see scripts/README.md. +// +// Docs content images used to be committed to git, co-located with their +// MDX files under content/docs/images/, and referenced with relative +// markdown paths (e.g. `./images/dag/architecture.svg`). Next's +// static-export bundler resolved those at build time into content-hashed +// files under `_next/static/media/`, which meant the image bytes had to be +// physically present in the repo just to run `next build`. That's +// incompatible with "stop committing images to git", so content images are +// now referenced by a stable absolute path instead (`/img/`, resolved +// to `/docs/propeller/img/` via NEXT_PUBLIC_BASE_PATH in +// src/components/doc-image.tsx) and served by this route. + +interface R2ObjectBody { + body: ReadableStream; + size: number; + httpEtag: string; + writeHttpMetadata(headers: Headers): void; +} + +interface R2Bucket { + get(key: string): Promise; +} + +interface Fetcher { + fetch(request: Request): Promise; +} + +interface Env { + ASSETS: Fetcher; + IMAGES_BUCKET: R2Bucket; +} + +// Matches next.config.mjs's BASE_PATH — this Worker has no access to that +// module (it isn't part of the Next.js build), so it's repeated here. +const IMG_ROUTE_PREFIX = "/docs/propeller/img/"; + +// Shared bucket ("websites-images") holds assets for multiple properties; +// this prefix keeps this site's objects from colliding with theirs. +const R2_KEY_PREFIX = "propeller-docs"; + +function notFound(): Response { + return new Response("Not found", { + status: 404, + headers: { "cache-control": "no-store" }, + }); +} + +async function handleImageProxy(request: Request, env: Env): Promise { + const url = new URL(request.url); + const key = url.pathname.slice(IMG_ROUTE_PREFIX.length); + if (!key) return notFound(); + + const object = await env.IMAGES_BUCKET.get(`${R2_KEY_PREFIX}/${key}`); + if (!object) return notFound(); + + const headers = new Headers(); + object.writeHttpMetadata(headers); + headers.set("etag", object.httpEtag); + headers.set("content-length", String(object.size)); + // Short browser TTL (revalidates quickly) + long edge TTL (until purged + // explicitly by scripts/publish-image.mjs on upload). + headers.set("cache-control", "public, max-age=300, s-maxage=31536000"); + + return new Response(object.body, { headers }); +} + +export default { + async fetch(request: Request, env: Env): Promise { + const url = new URL(request.url); + if (url.pathname.startsWith(IMG_ROUTE_PREFIX)) { + return handleImageProxy(request, env); + } + + // run_worker_first defaults to false, so in production this Worker only + // runs when no static asset matched the request path already — this + // fetch() is here for local `wrangler dev` parity and clarity, not to + // duplicate work the platform already does. + return env.ASSETS.fetch(request); + }, +}; diff --git a/wrangler.jsonc b/wrangler.jsonc index a710f03..a832991 100644 --- a/wrangler.jsonc +++ b/wrangler.jsonc @@ -1,12 +1,20 @@ { "$schema": "node_modules/wrangler/config-schema.json", "name": "propeller-docs", + "main": "./worker/index.ts", "compatibility_date": "2026-05-29", "compatibility_flags": ["nodejs_compat", "global_fetch_strictly_public"], "observability": { "enabled": true }, "assets": { - "directory": "./out" - } + "directory": "./out", + "binding": "ASSETS" + }, + "r2_buckets": [ + { + "binding": "IMAGES_BUCKET", + "bucket_name": "websites-images" + } + ] } From 4934250f9fbfd6f74b1cb568a58d9c060f7ad5e3 Mon Sep 17 00:00:00 2001 From: ianmuchyri Date: Fri, 7 Aug 2026 11:58:32 +0300 Subject: [PATCH 2/2] Cache R2-proxied doc images at Cloudflare's edge env.IMAGES_BUCKET.get() is an R2 binding call, not an HTTP subrequest. Workers run before Cloudflare's cache in the request pipeline, so a Response the Worker constructs and returns is never automatically written into the edge cache, no matter what Cache-Control header is set on it -- that only happens via explicit Cache API use, or a zone Cache Rule intercepting it. Neither was happening here, so despite s-maxage=31536000 being set, every request (every visitor, every edge location) was a live R2 read. Fixed by writing responses into the Workers Cache API (caches.default) after the first R2 read, keyed by the request's own URL unmodified (so it stays purgeable by the existing purge-by-URL call in scripts/publish-image.mjs on every upload). This also adds Range/206 support as a side effect: cache.match() automatically serves 206 Partial Content for a Range request against a cached 200 response. Bumped browser max-age from 300s to 3600s while leaving s-maxage at a year -- purge-on-publish already invalidates the edge instantly on every upload, so there's no freshness benefit to a short edge TTL. Same fix as absmach/website#178, applied here since this repo's worker/index.ts uses the identical binding-without-caching pattern. --- worker/index.ts | 55 ++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 48 insertions(+), 7 deletions(-) diff --git a/worker/index.ts b/worker/index.ts index 7046e82..ab2de30 100644 --- a/worker/index.ts +++ b/worker/index.ts @@ -42,6 +42,20 @@ interface Env { IMAGES_BUCKET: R2Bucket; } +// Minimal structural types for the Workers Cache API -- avoids depending on +// the gitignored, wrangler-generated worker-configuration.d.ts (pnpm run +// build never regenerates it, only the separate types:check script does). +interface CFCache { + match(request: Request): Promise; + put(request: Request, response: Response): Promise; +} +interface CFCacheStorage { + readonly default: CFCache; +} +interface ExecutionContext { + waitUntil(promise: Promise): void; +} + // Matches next.config.mjs's BASE_PATH — this Worker has no access to that // module (it isn't part of the Next.js build), so it's repeated here. const IMG_ROUTE_PREFIX = "/docs/propeller/img/"; @@ -57,11 +71,28 @@ function notFound(): Response { }); } -async function handleImageProxy(request: Request, env: Env): Promise { +async function handleImageProxy( + request: Request, + env: Env, + ctx: ExecutionContext, +): Promise { const url = new URL(request.url); const key = url.pathname.slice(IMG_ROUTE_PREFIX.length); if (!key) return notFound(); + // env.IMAGES_BUCKET.get() is an R2 binding call, not an HTTP subrequest -- + // it never touches Cloudflare's HTTP cache. Without explicitly writing the + // response into the Cache API, every request (from every visitor, at + // every edge location) would re-read from R2, no matter what + // Cache-Control header gets set on the returned Response. Using the + // request's own URL (unmodified) as the cache key keeps this purgeable by + // the existing purge-by-URL call in scripts/publish-image.mjs. + const cache = (caches as unknown as CFCacheStorage).default; + const cacheKey = new Request(request.url, request); + + const cached = await cache.match(cacheKey); + if (cached) return cached; + const object = await env.IMAGES_BUCKET.get(`${R2_KEY_PREFIX}/${key}`); if (!object) return notFound(); @@ -69,18 +100,28 @@ async function handleImageProxy(request: Request, env: Env): Promise { object.writeHttpMetadata(headers); headers.set("etag", object.httpEtag); headers.set("content-length", String(object.size)); - // Short browser TTL (revalidates quickly) + long edge TTL (until purged - // explicitly by scripts/publish-image.mjs on upload). - headers.set("cache-control", "public, max-age=300, s-maxage=31536000"); + // Browser TTL long enough to skip most repeat-visit requests, short + // enough to self-heal within the hour if a purge is ever missed. Edge TTL + // is effectively unbounded -- scripts/publish-image.mjs purges it + // explicitly and immediately on every upload, so there's no benefit to a + // shorter one, and every edge location that has ever served an image now + // actually caches it (see the Cache API use above). + headers.set("cache-control", "public, max-age=3600, s-maxage=31536000"); - return new Response(object.body, { headers }); + const response = new Response(object.body, { headers }); + ctx.waitUntil(cache.put(cacheKey, response.clone())); + return response; } export default { - async fetch(request: Request, env: Env): Promise { + async fetch( + request: Request, + env: Env, + ctx: ExecutionContext, + ): Promise { const url = new URL(request.url); if (url.pathname.startsWith(IMG_ROUTE_PREFIX)) { - return handleImageProxy(request, env); + return handleImageProxy(request, env, ctx); } // run_worker_first defaults to false, so in production this Worker only