kaizenai 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,246 +1,65 @@
1
- <p align="center">
2
- <img src="https://raw.githubusercontent.com/jayleaton/kaizen/main/assets/icon.svg" alt="Kaizen" width="80" />
3
- </p>
1
+ # Kaizen
4
2
 
5
- <h1 align="center">Kaizen</h1>
3
+ [![npm version](https://img.shields.io/npm/v/kaizenai.svg?style=flat&colorA=18181b&colorB=f472b6)](https://www.npmjs.com/package/kaizenai)
6
4
 
7
- <p align="center">
8
- <strong>Local web UI for Claude Code, Codex, Gemini, and Cursor</strong>
9
- </p>
10
-
11
- <p align="center">
12
- <a href="https://www.npmjs.com/package/kaizenai"><img src="https://img.shields.io/npm/v/kaizenai.svg?style=flat&colorA=18181b&colorB=f472b6" alt="npm version" /></a>
13
- </p>
14
-
15
- <br />
16
-
17
- <p align="center">
18
- <picture>
19
- <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/jayleaton/kaizen/main/assets/screenshot.png" />
20
- <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/jayleaton/kaizen/main/assets/screenshot-light.png" />
21
- <img src="https://raw.githubusercontent.com/jayleaton/kaizen/main/assets/screenshot.png" alt="Kaizen screenshot" width="800" />
22
- </picture>
23
- </p>
24
-
25
- <br />
5
+ Local web UI for Claude Code, Codex, Gemini, and Cursor.
26
6
 
27
7
  ## Quickstart
28
8
 
29
- ```bash
30
- npx kaizenai
31
- ```
32
-
33
- `kaizen` is already taken on npm, so the package name needs to stay `kaizenai` for now.
34
-
35
- After install, the command is still:
36
-
37
- ```bash
38
- kaizen
39
- ```
40
-
41
- `npx kaizenai` still requires Bun to be installed locally because the Kaizen runtime executes on Bun.
42
-
43
- If Bun isn't installed, install it first:
9
+ Install Bun first:
44
10
 
45
11
  ```bash
46
12
  curl -fsSL https://bun.sh/install | bash
47
13
  ```
48
14
 
49
- Then run from any project directory:
15
+ Then run Kaizen:
50
16
 
51
17
  ```bash
52
- kaizen
53
- ```
54
-
55
- That's it. Kaizen opens in your browser at [`localhost:3210`](http://localhost:3210).
56
-
57
- ## Features
58
-
59
- - **Multi-provider support** — switch between Claude, Codex, Gemini, and Cursor from the chat input, with per-provider model selection, plan mode support, and provider-specific controls
60
- - **Project-first sidebar** — chats grouped under projects, with live status indicators (idle, running, waiting, failed)
61
- - **Drag-and-drop project ordering** — reorder project groups in the sidebar with persistent ordering
62
- - **Local project discovery** — auto-discovers projects from Claude and Codex local history
63
- - **Rich transcript rendering** — hydrated tool calls, collapsible tool groups, plan mode dialogs, and interactive prompts with full result display
64
- - **Quick responses** — lightweight structured queries (e.g. title generation) via Claude Haiku with automatic provider fallback
65
- - **Plan mode** — review and approve agent plans before execution
66
- - **Persistent local history** — refresh-safe routes backed by JSONL event logs and compacted snapshots
67
- - **Auto-generated titles** — chat titles generated in the background via Claude Haiku
68
- - **Session resumption** — resume agent sessions with full context preservation
69
- - **WebSocket-driven** — real-time subscription model with reactive state broadcasting
70
-
71
- ## Architecture
72
-
73
- ```
74
- Browser (React + Zustand)
75
- ↕ WebSocket
76
- Bun Server (HTTP + WS)
77
- ├── WSRouter ─── subscription & command routing
78
- ├── AgentCoordinator ─── multi-provider turn management
79
- ├── ProviderCatalog ─── provider/model/effort normalization
80
- ├── QuickResponseAdapter ─── structured queries with provider fallback
81
- ├── EventStore ─── JSONL persistence + snapshot compaction
82
- └── ReadModels ─── derived views (sidebar, chat, projects)
83
- ↕ stdio
84
- Claude Code / Codex / Gemini CLI / Cursor Agent ACP (local processes)
85
-
86
- Local File System (~/.kaizen/data/, project dirs)
18
+ npx kaizenai
87
19
  ```
88
20
 
89
- **Key patterns:** Event sourcing for all state mutations. CQRS with separate write (event log) and read (derived snapshots) paths. Reactive broadcasting — subscribers get pushed fresh snapshots on every state change. Multi-provider agent coordination with tool gating for user-approval flows. Provider-agnostic transcript hydration for unified rendering.
90
-
91
- ## Requirements
92
-
93
- - [Bun](https://bun.sh) v1.3.5+
94
- - A working [Claude Code](https://docs.anthropic.com/en/docs/claude-code) environment
95
- - _(Optional)_ [Codex CLI](https://github.com/openai/codex) for Codex provider support
96
- - _(Optional)_ [Gemini CLI](https://github.com/google-gemini/gemini-cli) for Gemini provider support
97
- - _(Optional)_ [Cursor CLI / Agent](https://cursor.com/downloads) for Cursor provider support (`agent acp`)
98
-
99
- Embedded terminal support uses Bun's native PTY APIs and currently works on macOS/Linux.
100
-
101
21
  ## Install
102
22
 
103
- Install Kaizen globally:
23
+ Global install:
104
24
 
105
25
  ```bash
106
26
  npm install -g kaizenai
27
+ kaizen
107
28
  ```
108
29
 
109
- This installs the `kaizen` command globally.
110
-
111
- Or run it without installing:
30
+ One-off run:
112
31
 
113
32
  ```bash
114
33
  npx kaizenai
115
34
  ```
116
35
 
117
- Because the npm package name is `kaizenai`, `npx kaizen` is not available unless the `kaizen` package name becomes available in the registry. If Bun is missing, `kaizen` and `npx kaizenai` will print a setup message telling the user to install Bun first.
118
-
119
- If Bun isn't installed, install it first:
120
-
121
- ```bash
122
- curl -fsSL https://bun.sh/install | bash
123
- ```
124
-
125
- Or clone and build from source:
126
-
127
- ```bash
128
- git clone https://github.com/jayleaton/kaizen.git
129
- cd kaizen
130
- bun install
131
- bun run build
132
- ```
133
-
134
36
  ## Usage
135
37
 
136
38
  ```bash
137
- kaizen # start with defaults (localhost only)
138
- kaizen --port 4000 # custom port
139
- kaizen --no-open # don't open browser
39
+ kaizen
40
+ kaizen --port 4000
41
+ kaizen --host dev-box
42
+ kaizen --remote
43
+ kaizen --no-open
140
44
  ```
141
45
 
142
46
  Default URL: `http://localhost:3210`
143
47
 
144
- ### Network access (Tailscale / LAN)
145
-
146
- By default Kaizen binds to `127.0.0.1` (localhost only). Use `--host` to bind a specific interface, or `--remote` as a shorthand for `0.0.0.0`:
147
-
148
- ```bash
149
- kaizen --remote # bind all interfaces — browser opens localhost:3210
150
- kaizen --host dev-box # bind to a specific hostname — browser opens http://dev-box:3210
151
- kaizen --host 192.168.1.x # bind to a specific LAN IP
152
- kaizen --host 100.64.x.x # bind to a specific Tailscale IP
153
- ```
154
-
155
- When `--host <hostname>` is given, the browser opens `http://<hostname>:3210` automatically. Other machines on your network can connect to the same URL:
48
+ ## Requirements
156
49
 
157
- ```
158
- http://dev-box:3210
159
- ```
50
+ - [Bun](https://bun.sh) v1.3.5+
51
+ - [Claude Code](https://docs.anthropic.com/en/docs/claude-code)
52
+ - Optional: [Codex CLI](https://github.com/openai/codex)
53
+ - Optional: [Gemini CLI](https://github.com/google-gemini/gemini-cli)
54
+ - Optional: [Cursor CLI / Agent](https://cursor.com/downloads)
160
55
 
161
56
  ## Development
162
57
 
163
58
  ```bash
59
+ bun install
164
60
  bun run dev
165
61
  ```
166
62
 
167
- The same `--remote` and `--host` flags can be used with `bun run dev` for remote development.
168
- Use `bun run dev --port 4000` to run the Vite client on `4000` and the backend on `4001`.
169
-
170
- Or run client and server separately:
171
-
172
- ```bash
173
- bun run dev:client # http://localhost:5174
174
- bun run dev:server # http://localhost:5175
175
- ```
176
-
177
- ## Scripts
178
-
179
- | Command | Description |
180
- | -------------------- | ---------------------------- |
181
- | `bun run build` | Build for production |
182
- | `bun run check` | Typecheck + build |
183
- | `bun run dev` | Run client + server together |
184
- | `bun run dev:client` | Vite dev server only |
185
- | `bun run dev:server` | Bun backend only |
186
- | `bun run start` | Start production server |
187
-
188
- ## Project Structure
189
-
190
- ```
191
- src/
192
- ├── client/ React UI layer
193
- │ ├── app/ App router, pages, central state hook, socket client
194
- │ ├── components/ Messages, chat chrome, dialogs, buttons, inputs
195
- │ ├── hooks/ Theme, standalone mode detection
196
- │ ├── stores/ Zustand stores (chat input, preferences, project order)
197
- │ └── lib/ Formatters, path utils, transcript parsing
198
- ├── server/ Bun backend
199
- │ ├── cli.ts CLI entry point & browser launcher
200
- │ ├── server.ts HTTP/WS server setup & static serving
201
- │ ├── agent.ts AgentCoordinator (multi-provider turn management)
202
- │ ├── gemini-acp.ts Gemini ACP JSON-RPC client
203
- │ ├── cursor-acp.ts Cursor ACP JSON-RPC client
204
- │ ├── codex-app-server.ts Codex App Server JSON-RPC client
205
- │ ├── provider-catalog.ts Provider/model/effort normalization
206
- │ ├── quick-response.ts Structured queries with provider fallback
207
- │ ├── ws-router.ts WebSocket message routing & subscriptions
208
- │ ├── event-store.ts JSONL persistence, replay & compaction
209
- │ ├── discovery.ts Auto-discover projects from Claude and Codex local state
210
- │ ├── read-models.ts Derive view models from event state
211
- │ └── events.ts Event type definitions
212
- └── shared/ Shared between client & server
213
- ├── types.ts Core data types, provider catalog, transcript entries
214
- ├── tools.ts Tool call normalization and hydration
215
- ├── protocol.ts WebSocket message protocol
216
- ├── ports.ts Port configuration
217
- └── branding.ts App name, data directory paths
218
- ```
219
-
220
- ## Data Storage
221
-
222
- All state is stored locally at `~/.kaizen/data/`:
223
-
224
- | File | Purpose |
225
- | ---------------- | ----------------------------------------- |
226
- | `projects.jsonl` | Project open/remove events |
227
- | `chats.jsonl` | Chat create/rename/delete events |
228
- | `messages.jsonl` | Transcript message entries |
229
- | `turns.jsonl` | Agent turn start/finish/cancel events |
230
- | `snapshot.json` | Compacted state snapshot for fast startup |
231
-
232
- Event logs are append-only JSONL. On startup, Kaizen replays the log tail after the last snapshot, then compacts if the logs exceed 2 MB.
233
-
234
- ## Star History
235
-
236
- <a href="https://www.star-history.com/?repos=jayleaton%2Fkaizen&type=date&legend=top-left">
237
- <picture>
238
- <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/image?repos=jayleaton/kaizen&type=date&theme=dark&legend=top-left" />
239
- <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/image?repos=jayleaton/kaizen&type=date&legend=top-left" />
240
- <img alt="Star History Chart" src="https://api.star-history.com/image?repos=jayleaton/kaizen&type=date&legend=top-left" />
241
- </picture>
242
- </a>
243
-
244
63
  ## License
245
64
 
246
65
  [MIT](LICENSE)
Binary file
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="131" zoomAndPan="magnify" viewBox="0 0 98.25 110.999996" height="148" preserveAspectRatio="xMidYMid meet" version="1.0"><defs><clipPath id="a6434bcabb"><path d="M 4.949219 2.914062 L 23.035156 2.914062 L 23.035156 66.925781 L 4.949219 66.925781 Z M 4.949219 2.914062 " clip-rule="nonzero"/></clipPath><clipPath id="f38a174fbe"><path d="M 6.4375 2.914062 L 21.546875 2.914062 C 22.371094 2.914062 23.035156 3.582031 23.035156 4.402344 L 23.035156 65.378906 C 23.035156 66.199219 22.371094 66.867188 21.546875 66.867188 L 6.4375 66.867188 C 5.617188 66.867188 4.949219 66.199219 4.949219 65.378906 L 4.949219 4.402344 C 4.949219 3.582031 5.617188 2.914062 6.4375 2.914062 Z M 6.4375 2.914062 " clip-rule="nonzero"/></clipPath><clipPath id="2f9a762088"><path d="M 0.949219 0.914062 L 19.035156 0.914062 L 19.035156 64.875 L 0.949219 64.875 Z M 0.949219 0.914062 " clip-rule="nonzero"/></clipPath><clipPath id="57da176352"><path d="M 2.4375 0.914062 L 17.546875 0.914062 C 18.371094 0.914062 19.035156 1.582031 19.035156 2.402344 L 19.035156 63.378906 C 19.035156 64.199219 18.371094 64.867188 17.546875 64.867188 L 2.4375 64.867188 C 1.617188 64.867188 0.949219 64.199219 0.949219 63.378906 L 0.949219 2.402344 C 0.949219 1.582031 1.617188 0.914062 2.4375 0.914062 Z M 2.4375 0.914062 " clip-rule="nonzero"/></clipPath><clipPath id="5f618c6616"><rect x="0" width="20" y="0" height="65"/></clipPath><clipPath id="b8b1a1fe42"><path d="M 26.238281 46.367188 L 52.355469 46.367188 L 52.355469 64.632812 L 26.238281 64.632812 Z M 26.238281 46.367188 " clip-rule="nonzero"/></clipPath><clipPath id="9c7d06bbac"><path d="M 27.726562 46.367188 L 50.835938 46.367188 C 51.660156 46.367188 52.324219 47.03125 52.324219 47.855469 L 52.324219 63.144531 C 52.324219 63.96875 51.660156 64.632812 50.835938 64.632812 L 27.726562 64.632812 C 26.902344 64.632812 26.238281 63.96875 26.238281 63.144531 L 26.238281 47.855469 C 26.238281 47.03125 26.902344 46.367188 27.726562 46.367188 Z M 27.726562 46.367188 " clip-rule="nonzero"/></clipPath><clipPath id="dd3273c87e"><path d="M 0.238281 0.367188 L 26.355469 0.367188 L 26.355469 18.632812 L 0.238281 18.632812 Z M 0.238281 0.367188 " clip-rule="nonzero"/></clipPath><clipPath id="d7d6943e7d"><path d="M 1.726562 0.367188 L 24.835938 0.367188 C 25.660156 0.367188 26.324219 1.03125 26.324219 1.855469 L 26.324219 17.144531 C 26.324219 17.96875 25.660156 18.632812 24.835938 18.632812 L 1.726562 18.632812 C 0.902344 18.632812 0.238281 17.96875 0.238281 17.144531 L 0.238281 1.855469 C 0.238281 1.03125 0.902344 0.367188 1.726562 0.367188 Z M 1.726562 0.367188 " clip-rule="nonzero"/></clipPath><clipPath id="dccb05b803"><rect x="0" width="27" y="0" height="19"/></clipPath><clipPath id="4a6dfd1cfa"><path d="M 44.101562 66.867188 L 70.21875 66.867188 L 70.21875 85.136719 L 44.101562 85.136719 Z M 44.101562 66.867188 " clip-rule="nonzero"/></clipPath><clipPath id="d68c17fb59"><path d="M 48.566406 66.867188 L 65.722656 66.867188 C 68.191406 66.867188 70.1875 68.867188 70.1875 71.332031 L 70.1875 80.671875 C 70.1875 83.136719 68.191406 85.136719 65.722656 85.136719 L 48.566406 85.136719 C 46.101562 85.136719 44.101562 83.136719 44.101562 80.671875 L 44.101562 71.332031 C 44.101562 68.867188 46.101562 66.867188 48.566406 66.867188 Z M 48.566406 66.867188 " clip-rule="nonzero"/></clipPath><clipPath id="d91aa65f6f"><path d="M 0.101562 0.867188 L 26.21875 0.867188 L 26.21875 19.136719 L 0.101562 19.136719 Z M 0.101562 0.867188 " clip-rule="nonzero"/></clipPath><clipPath id="7874e4c1c8"><path d="M 4.566406 0.867188 L 21.722656 0.867188 C 24.191406 0.867188 26.1875 2.867188 26.1875 5.332031 L 26.1875 14.671875 C 26.1875 17.136719 24.191406 19.136719 21.722656 19.136719 L 4.566406 19.136719 C 2.101562 19.136719 0.101562 17.136719 0.101562 14.671875 L 0.101562 5.332031 C 0.101562 2.867188 2.101562 0.867188 4.566406 0.867188 Z M 4.566406 0.867188 " clip-rule="nonzero"/></clipPath><clipPath id="9ce9990e41"><rect x="0" width="27" y="0" height="20"/></clipPath><clipPath id="5053d98786"><path d="M 44.101562 66.867188 L 70.21875 66.867188 L 70.21875 85.136719 L 44.101562 85.136719 Z M 44.101562 66.867188 " clip-rule="nonzero"/></clipPath><clipPath id="d39cc34eab"><path d="M 45.589844 66.867188 L 68.699219 66.867188 C 69.523438 66.867188 70.1875 67.535156 70.1875 68.355469 L 70.1875 83.648438 C 70.1875 84.46875 69.523438 85.136719 68.699219 85.136719 L 45.589844 85.136719 C 44.765625 85.136719 44.101562 84.46875 44.101562 83.648438 L 44.101562 68.355469 C 44.101562 67.535156 44.765625 66.867188 45.589844 66.867188 Z M 45.589844 66.867188 " clip-rule="nonzero"/></clipPath><clipPath id="7548939ec4"><path d="M 0.101562 0.867188 L 26.21875 0.867188 L 26.21875 19.136719 L 0.101562 19.136719 Z M 0.101562 0.867188 " clip-rule="nonzero"/></clipPath><clipPath id="e6d65400ef"><path d="M 1.589844 0.867188 L 24.699219 0.867188 C 25.523438 0.867188 26.1875 1.535156 26.1875 2.355469 L 26.1875 17.648438 C 26.1875 18.46875 25.523438 19.136719 24.699219 19.136719 L 1.589844 19.136719 C 0.765625 19.136719 0.101562 18.46875 0.101562 17.648438 L 0.101562 2.355469 C 0.101562 1.535156 0.765625 0.867188 1.589844 0.867188 Z M 1.589844 0.867188 " clip-rule="nonzero"/></clipPath><clipPath id="b8a14b9041"><rect x="0" width="27" y="0" height="20"/></clipPath><clipPath id="0e9cc5dcf0"><path d="M 61.667969 87.371094 L 87.785156 87.371094 L 87.785156 105.640625 L 61.667969 105.640625 Z M 61.667969 87.371094 " clip-rule="nonzero"/></clipPath><clipPath id="9aadc974f5"><path d="M 63.15625 87.371094 L 86.265625 87.371094 C 87.089844 87.371094 87.753906 88.035156 87.753906 88.859375 L 87.753906 104.152344 C 87.753906 104.972656 87.089844 105.640625 86.265625 105.640625 L 63.15625 105.640625 C 62.332031 105.640625 61.667969 104.972656 61.667969 104.152344 L 61.667969 88.859375 C 61.667969 88.035156 62.332031 87.371094 63.15625 87.371094 Z M 63.15625 87.371094 " clip-rule="nonzero"/></clipPath><clipPath id="08901b7c70"><path d="M 0.667969 0.371094 L 26.785156 0.371094 L 26.785156 18.640625 L 0.667969 18.640625 Z M 0.667969 0.371094 " clip-rule="nonzero"/></clipPath><clipPath id="17b30e43d9"><path d="M 2.15625 0.371094 L 25.265625 0.371094 C 26.089844 0.371094 26.753906 1.035156 26.753906 1.859375 L 26.753906 17.152344 C 26.753906 17.972656 26.089844 18.640625 25.265625 18.640625 L 2.15625 18.640625 C 1.332031 18.640625 0.667969 17.972656 0.667969 17.152344 L 0.667969 1.859375 C 0.667969 1.035156 1.332031 0.371094 2.15625 0.371094 Z M 2.15625 0.371094 " clip-rule="nonzero"/></clipPath><clipPath id="191fb42ae4"><rect x="0" width="27" y="0" height="19"/></clipPath><clipPath id="30d9207845"><path d="M 4.949219 60.460938 L 23.035156 60.460938 L 23.035156 100.828125 L 4.949219 100.828125 Z M 4.949219 60.460938 " clip-rule="nonzero"/></clipPath><clipPath id="52d8b1d0c8"><path d="M 0.949219 0.460938 L 19.035156 0.460938 L 19.035156 40.828125 L 0.949219 40.828125 Z M 0.949219 0.460938 " clip-rule="nonzero"/></clipPath><clipPath id="82dec45cec"><rect x="0" width="20" y="0" height="41"/></clipPath><clipPath id="9b56f823bb"><path d="M 4.949219 66.867188 L 23.035156 66.867188 L 23.035156 107.28125 L 4.949219 107.28125 Z M 4.949219 66.867188 " clip-rule="nonzero"/></clipPath><clipPath id="64a8e0ecf4"><path d="M 6.4375 66.867188 L 21.546875 66.867188 C 22.371094 66.867188 23.035156 67.535156 23.035156 68.355469 L 23.035156 105.75 C 23.035156 106.570312 22.371094 107.238281 21.546875 107.238281 L 6.4375 107.238281 C 5.617188 107.238281 4.949219 106.570312 4.949219 105.75 L 4.949219 68.355469 C 4.949219 67.535156 5.617188 66.867188 6.4375 66.867188 Z M 6.4375 66.867188 " clip-rule="nonzero"/></clipPath><clipPath id="e46f782b3b"><path d="M 0.949219 0.867188 L 19.035156 0.867188 L 19.035156 41.28125 L 0.949219 41.28125 Z M 0.949219 0.867188 " clip-rule="nonzero"/></clipPath><clipPath id="2d24d09008"><path d="M 2.4375 0.867188 L 17.546875 0.867188 C 18.371094 0.867188 19.035156 1.535156 19.035156 2.355469 L 19.035156 39.75 C 19.035156 40.570312 18.371094 41.238281 17.546875 41.238281 L 2.4375 41.238281 C 1.617188 41.238281 0.949219 40.570312 0.949219 39.75 L 0.949219 2.355469 C 0.949219 1.535156 1.617188 0.867188 2.4375 0.867188 Z M 2.4375 0.867188 " clip-rule="nonzero"/></clipPath><clipPath id="c16e5f8d8b"><rect x="0" width="20" y="0" height="42"/></clipPath><clipPath id="67ec189edb"><path d="M 44.101562 25.863281 L 70.21875 25.863281 L 70.21875 44.132812 L 44.101562 44.132812 Z M 44.101562 25.863281 " clip-rule="nonzero"/></clipPath><clipPath id="9e2c9eb0c8"><path d="M 45.589844 25.863281 L 68.699219 25.863281 C 69.523438 25.863281 70.1875 26.53125 70.1875 27.351562 L 70.1875 42.644531 C 70.1875 43.464844 69.523438 44.132812 68.699219 44.132812 L 45.589844 44.132812 C 44.765625 44.132812 44.101562 43.464844 44.101562 42.644531 L 44.101562 27.351562 C 44.101562 26.53125 44.765625 25.863281 45.589844 25.863281 Z M 45.589844 25.863281 " clip-rule="nonzero"/></clipPath><clipPath id="cfc84f52c9"><path d="M 0.101562 0.863281 L 26.21875 0.863281 L 26.21875 19.132812 L 0.101562 19.132812 Z M 0.101562 0.863281 " clip-rule="nonzero"/></clipPath><clipPath id="fc947c88aa"><path d="M 1.589844 0.863281 L 24.699219 0.863281 C 25.523438 0.863281 26.1875 1.53125 26.1875 2.351562 L 26.1875 17.644531 C 26.1875 18.464844 25.523438 19.132812 24.699219 19.132812 L 1.589844 19.132812 C 0.765625 19.132812 0.101562 18.464844 0.101562 17.644531 L 0.101562 2.351562 C 0.101562 1.53125 0.765625 0.863281 1.589844 0.863281 Z M 1.589844 0.863281 " clip-rule="nonzero"/></clipPath><clipPath id="18b158d824"><rect x="0" width="27" y="0" height="20"/></clipPath><clipPath id="8b52c897d1"><path d="M 61.667969 5.359375 L 87.785156 5.359375 L 87.785156 23.628906 L 61.667969 23.628906 Z M 61.667969 5.359375 " clip-rule="nonzero"/></clipPath><clipPath id="a669865345"><path d="M 63.15625 5.359375 L 86.265625 5.359375 C 87.089844 5.359375 87.753906 6.027344 87.753906 6.847656 L 87.753906 22.140625 C 87.753906 22.964844 87.089844 23.628906 86.265625 23.628906 L 63.15625 23.628906 C 62.332031 23.628906 61.667969 22.964844 61.667969 22.140625 L 61.667969 6.847656 C 61.667969 6.027344 62.332031 5.359375 63.15625 5.359375 Z M 63.15625 5.359375 " clip-rule="nonzero"/></clipPath><clipPath id="20a0ea2a1b"><path d="M 0.667969 0.359375 L 26.785156 0.359375 L 26.785156 18.628906 L 0.667969 18.628906 Z M 0.667969 0.359375 " clip-rule="nonzero"/></clipPath><clipPath id="ffec020ed9"><path d="M 2.15625 0.359375 L 25.265625 0.359375 C 26.089844 0.359375 26.753906 1.027344 26.753906 1.847656 L 26.753906 17.140625 C 26.753906 17.964844 26.089844 18.628906 25.265625 18.628906 L 2.15625 18.628906 C 1.332031 18.628906 0.667969 17.964844 0.667969 17.140625 L 0.667969 1.847656 C 0.667969 1.027344 1.332031 0.359375 2.15625 0.359375 Z M 2.15625 0.359375 " clip-rule="nonzero"/></clipPath><clipPath id="926de771c0"><rect x="0" width="27" y="0" height="19"/></clipPath></defs><g clip-path="url(#a6434bcabb)"><g clip-path="url(#f38a174fbe)"><g transform="matrix(1, 0, 0, 1, 4, 2)"><g clip-path="url(#5f618c6616)"><g clip-path="url(#2f9a762088)"><g clip-path="url(#57da176352)"><path fill="#84bcb8" d="M 0.949219 0.914062 L 19.035156 0.914062 L 19.035156 64.855469 L 0.949219 64.855469 Z M 0.949219 0.914062 " fill-opacity="1" fill-rule="nonzero"/></g></g></g></g></g></g><g clip-path="url(#b8b1a1fe42)"><g clip-path="url(#9c7d06bbac)"><g transform="matrix(1, 0, 0, 1, 26, 46)"><g clip-path="url(#dccb05b803)"><g clip-path="url(#dd3273c87e)"><g clip-path="url(#d7d6943e7d)"><path fill="#84bcb8" d="M 0.238281 0.367188 L 26.355469 0.367188 L 26.355469 18.632812 L 0.238281 18.632812 Z M 0.238281 0.367188 " fill-opacity="1" fill-rule="nonzero"/></g></g></g></g></g></g><g clip-path="url(#4a6dfd1cfa)"><g clip-path="url(#d68c17fb59)"><g transform="matrix(1, 0, 0, 1, 44, 66)"><g clip-path="url(#9ce9990e41)"><g clip-path="url(#d91aa65f6f)"><g clip-path="url(#7874e4c1c8)"><path fill="#84bcb8" d="M 0.101562 0.867188 L 26.21875 0.867188 L 26.21875 19.136719 L 0.101562 19.136719 Z M 0.101562 0.867188 " fill-opacity="1" fill-rule="nonzero"/></g></g></g></g></g></g><g clip-path="url(#5053d98786)"><g clip-path="url(#d39cc34eab)"><g transform="matrix(1, 0, 0, 1, 44, 66)"><g clip-path="url(#b8a14b9041)"><g clip-path="url(#7548939ec4)"><g clip-path="url(#e6d65400ef)"><path fill="#4a7870" d="M 0.101562 0.867188 L 26.21875 0.867188 L 26.21875 19.136719 L 0.101562 19.136719 Z M 0.101562 0.867188 " fill-opacity="1" fill-rule="nonzero"/></g></g></g></g></g></g><g clip-path="url(#0e9cc5dcf0)"><g clip-path="url(#9aadc974f5)"><g transform="matrix(1, 0, 0, 1, 61, 87)"><g clip-path="url(#191fb42ae4)"><g clip-path="url(#08901b7c70)"><g clip-path="url(#17b30e43d9)"><path fill="#4a7870" d="M 0.667969 0.371094 L 26.785156 0.371094 L 26.785156 18.640625 L 0.667969 18.640625 Z M 0.667969 0.371094 " fill-opacity="1" fill-rule="nonzero"/></g></g></g></g></g></g><g clip-path="url(#30d9207845)"><g transform="matrix(1, 0, 0, 1, 4, 60)"><g clip-path="url(#82dec45cec)"><g clip-path="url(#52d8b1d0c8)"><path fill="#4a7870" d="M 0.949219 0.460938 L 19.035156 0.460938 L 19.035156 40.800781 L 0.949219 40.800781 Z M 0.949219 0.460938 " fill-opacity="1" fill-rule="nonzero"/></g></g></g></g><g clip-path="url(#9b56f823bb)"><g clip-path="url(#64a8e0ecf4)"><g transform="matrix(1, 0, 0, 1, 4, 66)"><g clip-path="url(#c16e5f8d8b)"><g clip-path="url(#e46f782b3b)"><g clip-path="url(#2d24d09008)"><path fill="#4a7870" d="M 0.949219 0.867188 L 19.035156 0.867188 L 19.035156 41.210938 L 0.949219 41.210938 Z M 0.949219 0.867188 " fill-opacity="1" fill-rule="nonzero"/></g></g></g></g></g></g><g clip-path="url(#67ec189edb)"><g clip-path="url(#9e2c9eb0c8)"><g transform="matrix(1, 0, 0, 1, 44, 25)"><g clip-path="url(#18b158d824)"><g clip-path="url(#cfc84f52c9)"><g clip-path="url(#fc947c88aa)"><path fill="#84bcb8" d="M 0.101562 0.863281 L 26.21875 0.863281 L 26.21875 19.132812 L 0.101562 19.132812 Z M 0.101562 0.863281 " fill-opacity="1" fill-rule="nonzero"/></g></g></g></g></g></g><g clip-path="url(#8b52c897d1)"><g clip-path="url(#a669865345)"><g transform="matrix(1, 0, 0, 1, 61, 5)"><g clip-path="url(#926de771c0)"><g clip-path="url(#20a0ea2a1b)"><g clip-path="url(#ffec020ed9)"><path fill="#84bcb8" d="M 0.667969 0.359375 L 26.785156 0.359375 L 26.785156 18.628906 L 0.667969 18.628906 Z M 0.667969 0.359375 " fill-opacity="1" fill-rule="nonzero"/></g></g></g></g></g></g></svg>
Binary file
Binary file
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="131" zoomAndPan="magnify" viewBox="0 0 98.25 110.999996" height="148" preserveAspectRatio="xMidYMid meet" version="1.0"><defs><clipPath id="a6434bcabb"><path d="M 4.949219 2.914062 L 23.035156 2.914062 L 23.035156 66.925781 L 4.949219 66.925781 Z M 4.949219 2.914062 " clip-rule="nonzero"/></clipPath><clipPath id="f38a174fbe"><path d="M 6.4375 2.914062 L 21.546875 2.914062 C 22.371094 2.914062 23.035156 3.582031 23.035156 4.402344 L 23.035156 65.378906 C 23.035156 66.199219 22.371094 66.867188 21.546875 66.867188 L 6.4375 66.867188 C 5.617188 66.867188 4.949219 66.199219 4.949219 65.378906 L 4.949219 4.402344 C 4.949219 3.582031 5.617188 2.914062 6.4375 2.914062 Z M 6.4375 2.914062 " clip-rule="nonzero"/></clipPath><clipPath id="2f9a762088"><path d="M 0.949219 0.914062 L 19.035156 0.914062 L 19.035156 64.875 L 0.949219 64.875 Z M 0.949219 0.914062 " clip-rule="nonzero"/></clipPath><clipPath id="57da176352"><path d="M 2.4375 0.914062 L 17.546875 0.914062 C 18.371094 0.914062 19.035156 1.582031 19.035156 2.402344 L 19.035156 63.378906 C 19.035156 64.199219 18.371094 64.867188 17.546875 64.867188 L 2.4375 64.867188 C 1.617188 64.867188 0.949219 64.199219 0.949219 63.378906 L 0.949219 2.402344 C 0.949219 1.582031 1.617188 0.914062 2.4375 0.914062 Z M 2.4375 0.914062 " clip-rule="nonzero"/></clipPath><clipPath id="5f618c6616"><rect x="0" width="20" y="0" height="65"/></clipPath><clipPath id="b8b1a1fe42"><path d="M 26.238281 46.367188 L 52.355469 46.367188 L 52.355469 64.632812 L 26.238281 64.632812 Z M 26.238281 46.367188 " clip-rule="nonzero"/></clipPath><clipPath id="9c7d06bbac"><path d="M 27.726562 46.367188 L 50.835938 46.367188 C 51.660156 46.367188 52.324219 47.03125 52.324219 47.855469 L 52.324219 63.144531 C 52.324219 63.96875 51.660156 64.632812 50.835938 64.632812 L 27.726562 64.632812 C 26.902344 64.632812 26.238281 63.96875 26.238281 63.144531 L 26.238281 47.855469 C 26.238281 47.03125 26.902344 46.367188 27.726562 46.367188 Z M 27.726562 46.367188 " clip-rule="nonzero"/></clipPath><clipPath id="dd3273c87e"><path d="M 0.238281 0.367188 L 26.355469 0.367188 L 26.355469 18.632812 L 0.238281 18.632812 Z M 0.238281 0.367188 " clip-rule="nonzero"/></clipPath><clipPath id="d7d6943e7d"><path d="M 1.726562 0.367188 L 24.835938 0.367188 C 25.660156 0.367188 26.324219 1.03125 26.324219 1.855469 L 26.324219 17.144531 C 26.324219 17.96875 25.660156 18.632812 24.835938 18.632812 L 1.726562 18.632812 C 0.902344 18.632812 0.238281 17.96875 0.238281 17.144531 L 0.238281 1.855469 C 0.238281 1.03125 0.902344 0.367188 1.726562 0.367188 Z M 1.726562 0.367188 " clip-rule="nonzero"/></clipPath><clipPath id="dccb05b803"><rect x="0" width="27" y="0" height="19"/></clipPath><clipPath id="4a6dfd1cfa"><path d="M 44.101562 66.867188 L 70.21875 66.867188 L 70.21875 85.136719 L 44.101562 85.136719 Z M 44.101562 66.867188 " clip-rule="nonzero"/></clipPath><clipPath id="d68c17fb59"><path d="M 48.566406 66.867188 L 65.722656 66.867188 C 68.191406 66.867188 70.1875 68.867188 70.1875 71.332031 L 70.1875 80.671875 C 70.1875 83.136719 68.191406 85.136719 65.722656 85.136719 L 48.566406 85.136719 C 46.101562 85.136719 44.101562 83.136719 44.101562 80.671875 L 44.101562 71.332031 C 44.101562 68.867188 46.101562 66.867188 48.566406 66.867188 Z M 48.566406 66.867188 " clip-rule="nonzero"/></clipPath><clipPath id="d91aa65f6f"><path d="M 0.101562 0.867188 L 26.21875 0.867188 L 26.21875 19.136719 L 0.101562 19.136719 Z M 0.101562 0.867188 " clip-rule="nonzero"/></clipPath><clipPath id="7874e4c1c8"><path d="M 4.566406 0.867188 L 21.722656 0.867188 C 24.191406 0.867188 26.1875 2.867188 26.1875 5.332031 L 26.1875 14.671875 C 26.1875 17.136719 24.191406 19.136719 21.722656 19.136719 L 4.566406 19.136719 C 2.101562 19.136719 0.101562 17.136719 0.101562 14.671875 L 0.101562 5.332031 C 0.101562 2.867188 2.101562 0.867188 4.566406 0.867188 Z M 4.566406 0.867188 " clip-rule="nonzero"/></clipPath><clipPath id="9ce9990e41"><rect x="0" width="27" y="0" height="20"/></clipPath><clipPath id="5053d98786"><path d="M 44.101562 66.867188 L 70.21875 66.867188 L 70.21875 85.136719 L 44.101562 85.136719 Z M 44.101562 66.867188 " clip-rule="nonzero"/></clipPath><clipPath id="d39cc34eab"><path d="M 45.589844 66.867188 L 68.699219 66.867188 C 69.523438 66.867188 70.1875 67.535156 70.1875 68.355469 L 70.1875 83.648438 C 70.1875 84.46875 69.523438 85.136719 68.699219 85.136719 L 45.589844 85.136719 C 44.765625 85.136719 44.101562 84.46875 44.101562 83.648438 L 44.101562 68.355469 C 44.101562 67.535156 44.765625 66.867188 45.589844 66.867188 Z M 45.589844 66.867188 " clip-rule="nonzero"/></clipPath><clipPath id="7548939ec4"><path d="M 0.101562 0.867188 L 26.21875 0.867188 L 26.21875 19.136719 L 0.101562 19.136719 Z M 0.101562 0.867188 " clip-rule="nonzero"/></clipPath><clipPath id="e6d65400ef"><path d="M 1.589844 0.867188 L 24.699219 0.867188 C 25.523438 0.867188 26.1875 1.535156 26.1875 2.355469 L 26.1875 17.648438 C 26.1875 18.46875 25.523438 19.136719 24.699219 19.136719 L 1.589844 19.136719 C 0.765625 19.136719 0.101562 18.46875 0.101562 17.648438 L 0.101562 2.355469 C 0.101562 1.535156 0.765625 0.867188 1.589844 0.867188 Z M 1.589844 0.867188 " clip-rule="nonzero"/></clipPath><clipPath id="b8a14b9041"><rect x="0" width="27" y="0" height="20"/></clipPath><clipPath id="0e9cc5dcf0"><path d="M 61.667969 87.371094 L 87.785156 87.371094 L 87.785156 105.640625 L 61.667969 105.640625 Z M 61.667969 87.371094 " clip-rule="nonzero"/></clipPath><clipPath id="9aadc974f5"><path d="M 63.15625 87.371094 L 86.265625 87.371094 C 87.089844 87.371094 87.753906 88.035156 87.753906 88.859375 L 87.753906 104.152344 C 87.753906 104.972656 87.089844 105.640625 86.265625 105.640625 L 63.15625 105.640625 C 62.332031 105.640625 61.667969 104.972656 61.667969 104.152344 L 61.667969 88.859375 C 61.667969 88.035156 62.332031 87.371094 63.15625 87.371094 Z M 63.15625 87.371094 " clip-rule="nonzero"/></clipPath><clipPath id="08901b7c70"><path d="M 0.667969 0.371094 L 26.785156 0.371094 L 26.785156 18.640625 L 0.667969 18.640625 Z M 0.667969 0.371094 " clip-rule="nonzero"/></clipPath><clipPath id="17b30e43d9"><path d="M 2.15625 0.371094 L 25.265625 0.371094 C 26.089844 0.371094 26.753906 1.035156 26.753906 1.859375 L 26.753906 17.152344 C 26.753906 17.972656 26.089844 18.640625 25.265625 18.640625 L 2.15625 18.640625 C 1.332031 18.640625 0.667969 17.972656 0.667969 17.152344 L 0.667969 1.859375 C 0.667969 1.035156 1.332031 0.371094 2.15625 0.371094 Z M 2.15625 0.371094 " clip-rule="nonzero"/></clipPath><clipPath id="191fb42ae4"><rect x="0" width="27" y="0" height="19"/></clipPath><clipPath id="30d9207845"><path d="M 4.949219 60.460938 L 23.035156 60.460938 L 23.035156 100.828125 L 4.949219 100.828125 Z M 4.949219 60.460938 " clip-rule="nonzero"/></clipPath><clipPath id="52d8b1d0c8"><path d="M 0.949219 0.460938 L 19.035156 0.460938 L 19.035156 40.828125 L 0.949219 40.828125 Z M 0.949219 0.460938 " clip-rule="nonzero"/></clipPath><clipPath id="82dec45cec"><rect x="0" width="20" y="0" height="41"/></clipPath><clipPath id="9b56f823bb"><path d="M 4.949219 66.867188 L 23.035156 66.867188 L 23.035156 107.28125 L 4.949219 107.28125 Z M 4.949219 66.867188 " clip-rule="nonzero"/></clipPath><clipPath id="64a8e0ecf4"><path d="M 6.4375 66.867188 L 21.546875 66.867188 C 22.371094 66.867188 23.035156 67.535156 23.035156 68.355469 L 23.035156 105.75 C 23.035156 106.570312 22.371094 107.238281 21.546875 107.238281 L 6.4375 107.238281 C 5.617188 107.238281 4.949219 106.570312 4.949219 105.75 L 4.949219 68.355469 C 4.949219 67.535156 5.617188 66.867188 6.4375 66.867188 Z M 6.4375 66.867188 " clip-rule="nonzero"/></clipPath><clipPath id="e46f782b3b"><path d="M 0.949219 0.867188 L 19.035156 0.867188 L 19.035156 41.28125 L 0.949219 41.28125 Z M 0.949219 0.867188 " clip-rule="nonzero"/></clipPath><clipPath id="2d24d09008"><path d="M 2.4375 0.867188 L 17.546875 0.867188 C 18.371094 0.867188 19.035156 1.535156 19.035156 2.355469 L 19.035156 39.75 C 19.035156 40.570312 18.371094 41.238281 17.546875 41.238281 L 2.4375 41.238281 C 1.617188 41.238281 0.949219 40.570312 0.949219 39.75 L 0.949219 2.355469 C 0.949219 1.535156 1.617188 0.867188 2.4375 0.867188 Z M 2.4375 0.867188 " clip-rule="nonzero"/></clipPath><clipPath id="c16e5f8d8b"><rect x="0" width="20" y="0" height="42"/></clipPath><clipPath id="67ec189edb"><path d="M 44.101562 25.863281 L 70.21875 25.863281 L 70.21875 44.132812 L 44.101562 44.132812 Z M 44.101562 25.863281 " clip-rule="nonzero"/></clipPath><clipPath id="9e2c9eb0c8"><path d="M 45.589844 25.863281 L 68.699219 25.863281 C 69.523438 25.863281 70.1875 26.53125 70.1875 27.351562 L 70.1875 42.644531 C 70.1875 43.464844 69.523438 44.132812 68.699219 44.132812 L 45.589844 44.132812 C 44.765625 44.132812 44.101562 43.464844 44.101562 42.644531 L 44.101562 27.351562 C 44.101562 26.53125 44.765625 25.863281 45.589844 25.863281 Z M 45.589844 25.863281 " clip-rule="nonzero"/></clipPath><clipPath id="cfc84f52c9"><path d="M 0.101562 0.863281 L 26.21875 0.863281 L 26.21875 19.132812 L 0.101562 19.132812 Z M 0.101562 0.863281 " clip-rule="nonzero"/></clipPath><clipPath id="fc947c88aa"><path d="M 1.589844 0.863281 L 24.699219 0.863281 C 25.523438 0.863281 26.1875 1.53125 26.1875 2.351562 L 26.1875 17.644531 C 26.1875 18.464844 25.523438 19.132812 24.699219 19.132812 L 1.589844 19.132812 C 0.765625 19.132812 0.101562 18.464844 0.101562 17.644531 L 0.101562 2.351562 C 0.101562 1.53125 0.765625 0.863281 1.589844 0.863281 Z M 1.589844 0.863281 " clip-rule="nonzero"/></clipPath><clipPath id="18b158d824"><rect x="0" width="27" y="0" height="20"/></clipPath><clipPath id="8b52c897d1"><path d="M 61.667969 5.359375 L 87.785156 5.359375 L 87.785156 23.628906 L 61.667969 23.628906 Z M 61.667969 5.359375 " clip-rule="nonzero"/></clipPath><clipPath id="a669865345"><path d="M 63.15625 5.359375 L 86.265625 5.359375 C 87.089844 5.359375 87.753906 6.027344 87.753906 6.847656 L 87.753906 22.140625 C 87.753906 22.964844 87.089844 23.628906 86.265625 23.628906 L 63.15625 23.628906 C 62.332031 23.628906 61.667969 22.964844 61.667969 22.140625 L 61.667969 6.847656 C 61.667969 6.027344 62.332031 5.359375 63.15625 5.359375 Z M 63.15625 5.359375 " clip-rule="nonzero"/></clipPath><clipPath id="20a0ea2a1b"><path d="M 0.667969 0.359375 L 26.785156 0.359375 L 26.785156 18.628906 L 0.667969 18.628906 Z M 0.667969 0.359375 " clip-rule="nonzero"/></clipPath><clipPath id="ffec020ed9"><path d="M 2.15625 0.359375 L 25.265625 0.359375 C 26.089844 0.359375 26.753906 1.027344 26.753906 1.847656 L 26.753906 17.140625 C 26.753906 17.964844 26.089844 18.628906 25.265625 18.628906 L 2.15625 18.628906 C 1.332031 18.628906 0.667969 17.964844 0.667969 17.140625 L 0.667969 1.847656 C 0.667969 1.027344 1.332031 0.359375 2.15625 0.359375 Z M 2.15625 0.359375 " clip-rule="nonzero"/></clipPath><clipPath id="926de771c0"><rect x="0" width="27" y="0" height="19"/></clipPath></defs><g clip-path="url(#a6434bcabb)"><g clip-path="url(#f38a174fbe)"><g transform="matrix(1, 0, 0, 1, 4, 2)"><g clip-path="url(#5f618c6616)"><g clip-path="url(#2f9a762088)"><g clip-path="url(#57da176352)"><path fill="#84bcb8" d="M 0.949219 0.914062 L 19.035156 0.914062 L 19.035156 64.855469 L 0.949219 64.855469 Z M 0.949219 0.914062 " fill-opacity="1" fill-rule="nonzero"/></g></g></g></g></g></g><g clip-path="url(#b8b1a1fe42)"><g clip-path="url(#9c7d06bbac)"><g transform="matrix(1, 0, 0, 1, 26, 46)"><g clip-path="url(#dccb05b803)"><g clip-path="url(#dd3273c87e)"><g clip-path="url(#d7d6943e7d)"><path fill="#84bcb8" d="M 0.238281 0.367188 L 26.355469 0.367188 L 26.355469 18.632812 L 0.238281 18.632812 Z M 0.238281 0.367188 " fill-opacity="1" fill-rule="nonzero"/></g></g></g></g></g></g><g clip-path="url(#4a6dfd1cfa)"><g clip-path="url(#d68c17fb59)"><g transform="matrix(1, 0, 0, 1, 44, 66)"><g clip-path="url(#9ce9990e41)"><g clip-path="url(#d91aa65f6f)"><g clip-path="url(#7874e4c1c8)"><path fill="#84bcb8" d="M 0.101562 0.867188 L 26.21875 0.867188 L 26.21875 19.136719 L 0.101562 19.136719 Z M 0.101562 0.867188 " fill-opacity="1" fill-rule="nonzero"/></g></g></g></g></g></g><g clip-path="url(#5053d98786)"><g clip-path="url(#d39cc34eab)"><g transform="matrix(1, 0, 0, 1, 44, 66)"><g clip-path="url(#b8a14b9041)"><g clip-path="url(#7548939ec4)"><g clip-path="url(#e6d65400ef)"><path fill="#4a7870" d="M 0.101562 0.867188 L 26.21875 0.867188 L 26.21875 19.136719 L 0.101562 19.136719 Z M 0.101562 0.867188 " fill-opacity="1" fill-rule="nonzero"/></g></g></g></g></g></g><g clip-path="url(#0e9cc5dcf0)"><g clip-path="url(#9aadc974f5)"><g transform="matrix(1, 0, 0, 1, 61, 87)"><g clip-path="url(#191fb42ae4)"><g clip-path="url(#08901b7c70)"><g clip-path="url(#17b30e43d9)"><path fill="#4a7870" d="M 0.667969 0.371094 L 26.785156 0.371094 L 26.785156 18.640625 L 0.667969 18.640625 Z M 0.667969 0.371094 " fill-opacity="1" fill-rule="nonzero"/></g></g></g></g></g></g><g clip-path="url(#30d9207845)"><g transform="matrix(1, 0, 0, 1, 4, 60)"><g clip-path="url(#82dec45cec)"><g clip-path="url(#52d8b1d0c8)"><path fill="#4a7870" d="M 0.949219 0.460938 L 19.035156 0.460938 L 19.035156 40.800781 L 0.949219 40.800781 Z M 0.949219 0.460938 " fill-opacity="1" fill-rule="nonzero"/></g></g></g></g><g clip-path="url(#9b56f823bb)"><g clip-path="url(#64a8e0ecf4)"><g transform="matrix(1, 0, 0, 1, 4, 66)"><g clip-path="url(#c16e5f8d8b)"><g clip-path="url(#e46f782b3b)"><g clip-path="url(#2d24d09008)"><path fill="#4a7870" d="M 0.949219 0.867188 L 19.035156 0.867188 L 19.035156 41.210938 L 0.949219 41.210938 Z M 0.949219 0.867188 " fill-opacity="1" fill-rule="nonzero"/></g></g></g></g></g></g><g clip-path="url(#67ec189edb)"><g clip-path="url(#9e2c9eb0c8)"><g transform="matrix(1, 0, 0, 1, 44, 25)"><g clip-path="url(#18b158d824)"><g clip-path="url(#cfc84f52c9)"><g clip-path="url(#fc947c88aa)"><path fill="#84bcb8" d="M 0.101562 0.863281 L 26.21875 0.863281 L 26.21875 19.132812 L 0.101562 19.132812 Z M 0.101562 0.863281 " fill-opacity="1" fill-rule="nonzero"/></g></g></g></g></g></g><g clip-path="url(#8b52c897d1)"><g clip-path="url(#a669865345)"><g transform="matrix(1, 0, 0, 1, 61, 5)"><g clip-path="url(#926de771c0)"><g clip-path="url(#20a0ea2a1b)"><g clip-path="url(#ffec020ed9)"><path fill="#84bcb8" d="M 0.667969 0.359375 L 26.785156 0.359375 L 26.785156 18.628906 L 0.667969 18.628906 Z M 0.667969 0.359375 " fill-opacity="1" fill-rule="nonzero"/></g></g></g></g></g></g></svg>