stellavault 0.6.1 → 0.7.0
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 +142 -195
- package/dist/graph-ui/assets/{camera_utils-D_AxFqU7.js → camera_utils-BK2vNdvf.js} +1 -1
- package/dist/graph-ui/assets/{hands-BumW2WNg.js → hands-yrSjE20U.js} +1 -1
- package/dist/graph-ui/assets/{index-DdorzFNd.js → index-4LS6c1x8.js} +73 -73
- package/dist/graph-ui/index.html +1 -1
- package/dist/stellavault.js +2472 -2391
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,58 +2,66 @@
|
|
|
2
2
|
|
|
3
3
|
> **Drop anything. It compiles itself into knowledge.** Claude remembers everything you know.
|
|
4
4
|
|
|
5
|
-
Self-compiling knowledge base with 3D neural graph, AI-powered search, and spaced repetition — available as a **desktop app**, **CLI**, **Obsidian plugin**, and **MCP server**. Your vault files are never modified.
|
|
5
|
+
Self-compiling knowledge base with a full-featured editor, 3D neural graph, AI-powered search, and spaced repetition — available as a **desktop app**, **CLI**, **Obsidian plugin**, and **MCP server**. Your vault files are never modified.
|
|
6
6
|
|
|
7
7
|
<p align="center">
|
|
8
8
|
<img src="images/screenshots/graph-main-2.png" alt="3D Knowledge Graph" width="800" />
|
|
9
9
|
<br><em>Your vault as a neural network. Local-first, no cloud required.</em>
|
|
10
10
|
</p>
|
|
11
11
|
|
|
12
|
-
##
|
|
12
|
+
## Install
|
|
13
13
|
|
|
14
|
-
###
|
|
14
|
+
### Desktop App (Recommended — one click)
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
<table>
|
|
17
|
+
<tr>
|
|
18
|
+
<td align="center"><a href="https://github.com/Evanciel/stellavault/releases/download/desktop-v0.1.0/Stellavault-win32-x64-0.1.0.zip"><br/><b>⬇ Download for Windows</b><br/><sub>x64 · 116 MB · ZIP</sub></a></td>
|
|
19
|
+
<td align="center"><a href="https://github.com/Evanciel/stellavault/releases/download/desktop-v0.1.0/Stellavault-linux-x64-0.1.0.zip"><br/><b>⬇ Download for Linux</b><br/><sub>x64 · 107 MB · ZIP</sub></a></td>
|
|
20
|
+
<td align="center"><br/><b>macOS</b><br/><sub>Coming soon</sub></td>
|
|
21
|
+
</tr>
|
|
22
|
+
</table>
|
|
17
23
|
|
|
18
|
-
|
|
19
|
-
|----------|----------|------|
|
|
20
|
-
| **Windows x64** | [Stellavault-win32-x64-0.1.0.zip](https://github.com/Evanciel/stellavault/releases/download/desktop-v0.1.0/Stellavault-win32-x64-0.1.0.zip) | 116 MB |
|
|
21
|
-
| **Linux x64** | [Stellavault-linux-x64-0.1.0.zip](https://github.com/Evanciel/stellavault/releases/download/desktop-v0.1.0/Stellavault-linux-x64-0.1.0.zip) | 107 MB |
|
|
22
|
-
| macOS | Coming soon (requires Apple code signing) | — |
|
|
24
|
+
> Download → Unzip → Run `stellavault.exe` (Windows) or `stellavault` (Linux) → Pick your notes folder → Done.
|
|
23
25
|
|
|
24
|
-
|
|
25
|
-
- Full markdown editor with WYSIWYG toolbar
|
|
26
|
-
- File tree sidebar with search filter
|
|
27
|
-
- `[[wikilink]]` autocomplete as you type
|
|
28
|
-
- Multi-tab editing with Ctrl+S save
|
|
29
|
-
- 3D knowledge graph panel
|
|
30
|
-
- AI panel — semantic search, vault stats, re-index
|
|
31
|
-
- Backlinks panel — see who links to your note
|
|
32
|
-
- Quick Switcher (Ctrl+P) and Command Palette (Ctrl+Shift+P)
|
|
33
|
-
- Dark/light theme
|
|
34
|
-
|
|
35
|
-
### 2. CLI + Web Graph
|
|
36
|
-
|
|
37
|
-
For developers and power users.
|
|
26
|
+
### CLI (for developers)
|
|
38
27
|
|
|
39
28
|
```bash
|
|
40
29
|
npm install -g stellavault # or: npx stellavault
|
|
41
|
-
stellavault init # Interactive setup wizard
|
|
30
|
+
stellavault init # Interactive setup wizard (3 min)
|
|
42
31
|
stellavault graph # Launch 3D graph in browser
|
|
43
32
|
```
|
|
44
33
|
|
|
45
|
-
>
|
|
34
|
+
> Requires Node.js 20+. Run `stellavault doctor` to diagnose issues.
|
|
46
35
|
|
|
47
|
-
###
|
|
48
|
-
|
|
49
|
-
Use Stellavault intelligence inside Obsidian.
|
|
36
|
+
### Obsidian Plugin
|
|
50
37
|
|
|
51
|
-
1. Download from [stellavault-obsidian releases](https://github.com/Evanciel/stellavault-obsidian/releases/latest)
|
|
52
|
-
2. Place
|
|
38
|
+
1. Download `main.js` + `manifest.json` + `styles.css` from [stellavault-obsidian releases](https://github.com/Evanciel/stellavault-obsidian/releases/latest)
|
|
39
|
+
2. Place in `.obsidian/plugins/stellavault/`
|
|
53
40
|
3. Enable in Settings → Community plugins
|
|
54
|
-
4. Start
|
|
41
|
+
4. Start API: `npx stellavault graph` in your vault folder
|
|
55
42
|
|
|
56
|
-
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Editor
|
|
46
|
+
|
|
47
|
+
Full-featured markdown editor — on par with Obsidian.
|
|
48
|
+
|
|
49
|
+
| Feature | Status |
|
|
50
|
+
|---------|--------|
|
|
51
|
+
| Bold, Italic, Underline, Strikethrough | ✅ |
|
|
52
|
+
| Headings 1–6 | ✅ |
|
|
53
|
+
| Bullet, Numbered, Task lists (nested checkboxes) | ✅ |
|
|
54
|
+
| Tables (create, resize columns, add/remove rows & cols) | ✅ |
|
|
55
|
+
| Code blocks with syntax highlighting (40+ languages) | ✅ |
|
|
56
|
+
| Images (URL, clipboard paste, drag & drop) | ✅ |
|
|
57
|
+
| KaTeX math rendering (`$E=mc^2$` inline, `$$...$$` display) | ✅ |
|
|
58
|
+
| `/Slash commands` (12 block types, fuzzy search) | ✅ |
|
|
59
|
+
| `[[Wikilink]]` autocomplete | ✅ |
|
|
60
|
+
| Split view (vertical + horizontal, Ctrl+\\) | ✅ |
|
|
61
|
+
| Text alignment (left / center / right) | ✅ |
|
|
62
|
+
| Highlight, Superscript, Subscript | ✅ |
|
|
63
|
+
| Smart typography (curly quotes, em/en dashes) | ✅ |
|
|
64
|
+
| Horizontal rules | ✅ |
|
|
57
65
|
|
|
58
66
|
---
|
|
59
67
|
|
|
@@ -65,9 +73,9 @@ Capture ──→ Organize ──→ Distill ──→ Express
|
|
|
65
73
|
Drop anything → auto-extract → raw/ → compile → _wiki/ → draft
|
|
66
74
|
```
|
|
67
75
|
|
|
68
|
-
Inspired by
|
|
76
|
+
Inspired by Karpathy's self-compiling knowledge architecture.
|
|
69
77
|
|
|
70
|
-
### Ingest
|
|
78
|
+
### Ingest 14 Formats
|
|
71
79
|
|
|
72
80
|
| Input | How |
|
|
73
81
|
|-------|-----|
|
|
@@ -82,201 +90,144 @@ Inspired by [Karpathy's self-compiling knowledge](https://karpathy.ai/) architec
|
|
|
82
90
|
### Express: Get Knowledge Out
|
|
83
91
|
|
|
84
92
|
```bash
|
|
85
|
-
stellavault draft "AI"
|
|
86
|
-
stellavault draft "AI" --
|
|
87
|
-
stellavault draft "AI" --
|
|
88
|
-
stellavault draft --format instagram # Social media format
|
|
93
|
+
stellavault draft "AI" --format blog # Blog post from your vault
|
|
94
|
+
stellavault draft "AI" --format outline # Structured outline
|
|
95
|
+
stellavault draft "AI" --ai # Claude API enhanced ($0.03)
|
|
89
96
|
```
|
|
90
97
|
|
|
91
|
-
|
|
98
|
+
Or use the **Express tab** in the desktop app — enter a topic, pick a format, and generate a draft grounded in your vault. Save to `_drafts/` and edit inline.
|
|
99
|
+
|
|
100
|
+
---
|
|
92
101
|
|
|
93
|
-
|
|
102
|
+
## Intelligence (What Makes Stellavault Unique)
|
|
103
|
+
|
|
104
|
+
These features do **not exist** in Obsidian — even with plugins.
|
|
105
|
+
|
|
106
|
+
| Feature | Command / Desktop | Description |
|
|
107
|
+
|---------|-------------------|-------------|
|
|
108
|
+
| **Memory Decay** | `stellavault decay` / Memory tab | FSRS-based — shows which real notes you are forgetting |
|
|
109
|
+
| **Knowledge Gaps** | `stellavault gaps` | Detects weak connections between topic clusters |
|
|
110
|
+
| **Contradictions** | `stellavault contradictions` | Finds conflicting statements across your vault |
|
|
111
|
+
| **Duplicates** | `stellavault duplicates` | Near-identical notes with similarity score |
|
|
112
|
+
| **Health Check** | `stellavault lint` | Aggregated vault health score (0–100) |
|
|
113
|
+
| **Learning Path** | `stellavault learn` | AI-personalized review recommendations |
|
|
114
|
+
| **Daily Brief** | Desktop app home screen | Push-type: top decaying notes + stats on app open |
|
|
115
|
+
| **Auto-Tagging** | Automatic on ingest | Content-based keyword extraction + category rules |
|
|
116
|
+
| **Self-Compiling** | `stellavault compile` | raw/ → _wiki/ with extracted concepts + backlinks |
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## MCP Integration (21 Tools)
|
|
94
121
|
|
|
95
122
|
```bash
|
|
96
123
|
claude mcp add stellavault -- stellavault serve
|
|
97
124
|
```
|
|
98
125
|
|
|
99
|
-
Claude can
|
|
126
|
+
Claude can search, ask, draft, lint, and analyze your vault directly.
|
|
100
127
|
|
|
101
128
|
| Tool | What it does |
|
|
102
129
|
|------|-------------|
|
|
103
|
-
| `search` | Hybrid BM25 + vector + RRF
|
|
104
|
-
| `ask` | Q&A
|
|
130
|
+
| `search` | Hybrid BM25 + vector + RRF |
|
|
131
|
+
| `ask` | Vault-grounded Q&A |
|
|
105
132
|
| `generate-draft` | AI drafts from your knowledge |
|
|
106
133
|
| `get-decay-status` | Memory decay report (FSRS) |
|
|
107
134
|
| `detect-gaps` | Knowledge gap analysis |
|
|
108
|
-
| `get-learning-path` | Personalized review recommendations |
|
|
109
135
|
| `create-knowledge-node` | AI creates wiki-quality notes |
|
|
110
|
-
| `federated-search` | P2P search across
|
|
111
|
-
| +
|
|
136
|
+
| `federated-search` | P2P search across vaults |
|
|
137
|
+
| + 14 more | Documents, topics, decisions, snapshots, export |
|
|
112
138
|
|
|
113
|
-
|
|
139
|
+
---
|
|
114
140
|
|
|
115
|
-
|
|
116
|
-
|---------|---------|
|
|
117
|
-
| Memory Decay | `stellavault decay` — what you're forgetting (FSRS) |
|
|
118
|
-
| Gap Detection | `stellavault gaps` — weak connections between topics |
|
|
119
|
-
| Contradictions | `stellavault contradictions` — conflicting statements |
|
|
120
|
-
| Duplicates | `stellavault duplicates` — redundant notes |
|
|
121
|
-
| Learning Path | `stellavault learn` — AI review recommendations |
|
|
122
|
-
| Health Check | `stellavault lint` — overall knowledge score |
|
|
123
|
-
| Daily Brief | `stellavault brief` — morning knowledge briefing |
|
|
124
|
-
| Weekly Digest | `stellavault digest --visual` — Mermaid chart report |
|
|
141
|
+
## 3D Visualization
|
|
125
142
|
|
|
126
|
-
|
|
143
|
+
- Neural graph with cluster coloring (React Three Fiber)
|
|
144
|
+
- Constellation view (MST star patterns)
|
|
145
|
+
- Heatmap overlay + Timeline slider + Decay overlay
|
|
146
|
+
- Multiverse view — your vault as a universe in a P2P network
|
|
147
|
+
- Dark/Light theme
|
|
127
148
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
└──── Claude reads wiki via MCP (21 tools) ←─┘
|
|
132
|
-
```
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## Getting Started Guide
|
|
133
152
|
|
|
134
|
-
|
|
153
|
+
### Desktop App
|
|
135
154
|
|
|
136
|
-
|
|
155
|
+
1. **Download** → Unzip → Run
|
|
156
|
+
2. First launch asks you to pick your notes folder
|
|
157
|
+
3. Your notes appear in the sidebar — click to open
|
|
158
|
+
4. Press `Ctrl+P` for quick file switching
|
|
159
|
+
5. Click ✦ in the title bar for AI panel (semantic search, stats, draft)
|
|
160
|
+
6. Click ◉ for 3D graph
|
|
137
161
|
|
|
138
|
-
|
|
162
|
+
### CLI
|
|
139
163
|
|
|
140
164
|
```bash
|
|
141
|
-
|
|
142
|
-
stellavault
|
|
143
|
-
stellavault
|
|
144
|
-
stellavault
|
|
145
|
-
stellavault
|
|
165
|
+
npm install -g stellavault
|
|
166
|
+
stellavault init # Setup wizard
|
|
167
|
+
stellavault search "machine learning" # Semantic search
|
|
168
|
+
stellavault ingest paper.pdf # Add knowledge
|
|
169
|
+
stellavault graph # 3D graph in browser
|
|
170
|
+
stellavault brief # Morning briefing
|
|
171
|
+
stellavault decay # What are you forgetting?
|
|
146
172
|
```
|
|
147
173
|
|
|
148
|
-
|
|
174
|
+
### Keyboard Shortcuts (Desktop)
|
|
149
175
|
|
|
150
|
-
|
|
176
|
+
| Shortcut | Action |
|
|
177
|
+
|----------|--------|
|
|
178
|
+
| `Ctrl+P` | Quick Switcher (fuzzy file search) |
|
|
179
|
+
| `Ctrl+Shift+P` | Command Palette (all actions) |
|
|
180
|
+
| `Ctrl+S` | Save current note |
|
|
181
|
+
| `Ctrl+\` | Toggle split view |
|
|
182
|
+
| `Ctrl+B` | Bold |
|
|
183
|
+
| `Ctrl+I` | Italic |
|
|
184
|
+
| `Ctrl+U` | Underline |
|
|
185
|
+
| `Ctrl+E` | Inline code |
|
|
186
|
+
| `/` | Slash commands (at start of line) |
|
|
187
|
+
| `[[` | Wikilink autocomplete |
|
|
151
188
|
|
|
152
|
-
|
|
189
|
+
### Quick Reference
|
|
153
190
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
191
|
+
| Action | Desktop | CLI |
|
|
192
|
+
|--------|---------|-----|
|
|
193
|
+
| Search notes | Ctrl+P or AI panel | `stellavault search "query"` |
|
|
194
|
+
| Add a note | + Note button or drag & drop | `stellavault ingest "text"` |
|
|
195
|
+
| See 3D graph | ◉ button | `stellavault graph` |
|
|
196
|
+
| Memory decay | AI panel → Memory | `stellavault decay` |
|
|
197
|
+
| Generate draft | AI panel → Draft | `stellavault draft "topic"` |
|
|
198
|
+
| Health check | AI panel → Stats | `stellavault lint` |
|
|
157
199
|
|
|
158
|
-
|
|
200
|
+
---
|
|
159
201
|
|
|
160
202
|
## Tech Stack
|
|
161
203
|
|
|
162
204
|
| Layer | Tech |
|
|
163
205
|
|-------|------|
|
|
164
|
-
| Desktop | Electron + React + TipTap + Zustand |
|
|
206
|
+
| Desktop | Electron + React + TipTap (15 extensions) + Zustand |
|
|
165
207
|
| Runtime | Node.js 20+ (ESM, TypeScript) |
|
|
166
208
|
| Vector Store | SQLite-vec (local, zero config) |
|
|
167
|
-
| Embedding | MiniLM-L12-v2 (local, 50+ languages) |
|
|
209
|
+
| Embedding | MiniLM-L12-v2 (local, 50+ languages, batch processing) |
|
|
168
210
|
| Search | BM25 + Cosine + RRF Fusion |
|
|
169
|
-
|
|
|
170
|
-
|
|
|
211
|
+
| Math | KaTeX (inline + display) |
|
|
212
|
+
| Code | lowlight / highlight.js (40+ languages) |
|
|
171
213
|
| 3D | React Three Fiber + Three.js |
|
|
172
|
-
| AI | MCP (
|
|
173
|
-
| P2P | Hyperswarm (optional) |
|
|
174
|
-
|
|
175
|
-
## Full Feature List
|
|
176
|
-
|
|
177
|
-
| Category | Features |
|
|
178
|
-
|----------|----------|
|
|
179
|
-
| **Desktop** | File tree sidebar, multi-tab editor, [[wikilink]] autocomplete, Quick Switcher, Command Palette, 3D graph panel, AI panel, backlinks, dark/light theme |
|
|
180
|
-
| **Capture** | 14 formats (PDF/DOCX/PPTX/XLSX/JSON/CSV/XML/HTML/YAML/RTF/YouTube/URL/text), batch folders, drag & drop, voice capture, Quick Capture |
|
|
181
|
-
| **Organize** | Zettelkasten 3-stage, auto index codes, wikilink auto-connect, configurable folders |
|
|
182
|
-
| **Distill** | compile (raw→wiki), lint (health score), gaps, contradictions, duplicates |
|
|
183
|
-
| **Express** | draft (blog/report/outline/instagram/thread/script), blueprint, --ai mode |
|
|
184
|
-
| **Memory** | FSRS decay, session-save, flush, compounding loop, ADR templates |
|
|
185
|
-
| **Search** | hybrid (BM25+vector+RRF), multilingual 50+, ask Q&A, quotes mode |
|
|
186
|
-
| **Visualize** | 3D graph, heatmap, timeline, constellation view, decay overlay, multiverse |
|
|
187
|
-
| **AI** | 21 MCP tools, Claude Code hooks, Anthropic SDK |
|
|
188
|
-
| **Federation** | Hyperswarm P2P, embedding-only sharing, differential privacy |
|
|
189
|
-
| **CLI** | 40+ commands, `sv` alias, `stellavault doctor` diagnostics |
|
|
190
|
-
|
|
191
|
-
## Getting Started Guide
|
|
192
|
-
|
|
193
|
-
### Desktop App (easiest)
|
|
214
|
+
| AI | MCP (21 tools) + Anthropic SDK |
|
|
215
|
+
| P2P | Hyperswarm (optional, differential privacy) |
|
|
216
|
+
| CI | GitHub Actions (Node 20 + 22) |
|
|
194
217
|
|
|
195
|
-
|
|
196
|
-
2. **Unzip** to any folder
|
|
197
|
-
3. **Run** `stellavault.exe` (Windows) — first launch asks you to pick your notes folder
|
|
198
|
-
4. **Explore** — your notes appear in the sidebar, click to open in the editor
|
|
199
|
-
5. **Search** — press `Ctrl+P` to quick-switch between notes, or open the AI panel (✦ button) for semantic search
|
|
200
|
-
|
|
201
|
-
### CLI (for developers)
|
|
202
|
-
|
|
203
|
-
```bash
|
|
204
|
-
# Step 1: Install
|
|
205
|
-
npm install -g stellavault
|
|
206
|
-
|
|
207
|
-
# Step 2: Setup (interactive wizard)
|
|
208
|
-
stellavault init
|
|
209
|
-
# → Asks for vault path → indexes all .md files → tests search
|
|
210
|
-
|
|
211
|
-
# Step 3: Daily use
|
|
212
|
-
stellavault search "machine learning" # Find notes
|
|
213
|
-
stellavault ingest paper.pdf # Add new knowledge
|
|
214
|
-
stellavault graph # Open 3D graph in browser
|
|
215
|
-
stellavault brief # Morning briefing
|
|
216
|
-
stellavault decay # What are you forgetting?
|
|
217
|
-
|
|
218
|
-
# Step 4: Connect to Claude
|
|
219
|
-
claude mcp add stellavault -- stellavault serve
|
|
220
|
-
# → Claude can now read your vault via MCP
|
|
221
|
-
```
|
|
222
|
-
|
|
223
|
-
### Obsidian Plugin
|
|
224
|
-
|
|
225
|
-
```bash
|
|
226
|
-
# Step 1: Start the API server (keep running)
|
|
227
|
-
npx stellavault graph
|
|
228
|
-
|
|
229
|
-
# Step 2: Install plugin
|
|
230
|
-
# Download main.js + manifest.json + styles.css from:
|
|
231
|
-
# https://github.com/Evanciel/stellavault-obsidian/releases/latest
|
|
232
|
-
# Place in: <vault>/.obsidian/plugins/stellavault/
|
|
233
|
-
|
|
234
|
-
# Step 3: Enable in Settings → Community Plugins → Stellavault
|
|
235
|
-
|
|
236
|
-
# Step 4: Use
|
|
237
|
-
# - Click brain icon (🧠) for semantic search
|
|
238
|
-
# - Cmd+Shift+D for memory decay panel
|
|
239
|
-
# - Cmd+Shift+L for learning path suggestions
|
|
240
|
-
```
|
|
241
|
-
|
|
242
|
-
### Quick Reference
|
|
243
|
-
|
|
244
|
-
| Action | Desktop | CLI | Obsidian |
|
|
245
|
-
|--------|---------|-----|----------|
|
|
246
|
-
| Search notes | Ctrl+P or AI panel | `stellavault search "query"` | 🧠 icon |
|
|
247
|
-
| Add a note | + Note button | `stellavault ingest "text"` | Normal editing |
|
|
248
|
-
| See 3D graph | ◉ button | `stellavault graph` | N/A |
|
|
249
|
-
| Check memory decay | AI panel → Memory | `stellavault decay` | Decay sidebar |
|
|
250
|
-
| Find duplicates | AI panel → Stats | `stellavault duplicates` | N/A |
|
|
251
|
-
| Generate draft | N/A (v0.2) | `stellavault draft "topic"` | N/A |
|
|
252
|
-
| Connect to Claude | N/A (v0.2) | `claude mcp add stellavault` | N/A |
|
|
253
|
-
|
|
254
|
-
### Configuration
|
|
255
|
-
|
|
256
|
-
All settings live in `~/.stellavault.json`:
|
|
257
|
-
|
|
258
|
-
```json
|
|
259
|
-
{
|
|
260
|
-
"vaultPath": "/path/to/your/notes",
|
|
261
|
-
"dbPath": "~/.stellavault/index.db",
|
|
262
|
-
"embedding": { "model": "local", "localModel": "all-MiniLM-L6-v2" },
|
|
263
|
-
"mcp": { "mode": "stdio", "port": 3333 }
|
|
264
|
-
}
|
|
265
|
-
```
|
|
218
|
+
---
|
|
266
219
|
|
|
267
|
-
|
|
220
|
+
## Security
|
|
268
221
|
|
|
269
|
-
|
|
222
|
+
- **Local-first** — no data leaves your machine unless you use `--ai`
|
|
223
|
+
- **Vault files never modified** — indexes into SQLite, originals untouched
|
|
224
|
+
- **Electron sandbox enabled** — renderer runs with reduced OS privileges
|
|
225
|
+
- **IPC path validation** — all file operations stay inside vault root
|
|
226
|
+
- **API auth token** — per-session random token for mutating endpoints
|
|
227
|
+
- **SSRF protection** — private IPs blocked on URL ingest
|
|
228
|
+
- **E2E encryption** — AES-256-GCM for cloud sync
|
|
270
229
|
|
|
271
|
-
|
|
272
|
-
|----------|--------|
|
|
273
|
-
| `Ctrl+P` | Quick Switcher (fuzzy file search) |
|
|
274
|
-
| `Ctrl+Shift+P` | Command Palette (all actions) |
|
|
275
|
-
| `Ctrl+S` | Save current note |
|
|
276
|
-
| `Ctrl+B` | Toggle bold |
|
|
277
|
-
| `Ctrl+I` | Toggle italic |
|
|
278
|
-
| `Ctrl+E` | Toggle inline code |
|
|
279
|
-
| `[[` | Wikilink autocomplete |
|
|
230
|
+
See [SECURITY.md](SECURITY.md) for full details.
|
|
280
231
|
|
|
281
232
|
## Troubleshooting
|
|
282
233
|
|
|
@@ -285,14 +236,10 @@ stellavault doctor # Check config, vault, DB, model, Node version
|
|
|
285
236
|
```
|
|
286
237
|
|
|
287
238
|
Common issues:
|
|
288
|
-
- **"Command not found"** →
|
|
289
|
-
- **"API server not found"** →
|
|
290
|
-
- **Empty graph** →
|
|
291
|
-
- **Slow first run** →
|
|
292
|
-
|
|
293
|
-
## Security
|
|
294
|
-
|
|
295
|
-
Local-first — no data leaves your machine unless you explicitly use `--ai` (Anthropic API). Vault files are never modified. See [SECURITY.md](SECURITY.md).
|
|
239
|
+
- **"Command not found"** → `npm i -g stellavault@latest`
|
|
240
|
+
- **"API server not found"** → `npx stellavault graph`
|
|
241
|
+
- **Empty graph** → `stellavault index`
|
|
242
|
+
- **Slow first run** → AI model downloads ~30MB once
|
|
296
243
|
|
|
297
244
|
## License
|
|
298
245
|
|
|
@@ -300,7 +247,7 @@ MIT — full source code available for audit.
|
|
|
300
247
|
|
|
301
248
|
## Links
|
|
302
249
|
|
|
303
|
-
- **[Download Desktop App](https://github.com/Evanciel/stellavault/releases/
|
|
250
|
+
- **[⬇ Download Desktop App](https://github.com/Evanciel/stellavault/releases/tag/desktop-v0.1.0)**
|
|
304
251
|
- [Landing Page](https://evanciel.github.io/stellavault/)
|
|
305
252
|
- [Obsidian Plugin](https://github.com/Evanciel/stellavault-obsidian)
|
|
306
253
|
- [npm](https://www.npmjs.com/package/stellavault)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as q,g as K}from"./index-
|
|
1
|
+
import{c as q,g as K}from"./index-4LS6c1x8.js";function L(d,m){for(var w=0;w<m.length;w++){const f=m[w];if(typeof f!="string"&&!Array.isArray(f)){for(const a in f)if(a!=="default"&&!(a in d)){const j=Object.getOwnPropertyDescriptor(f,a);j&&Object.defineProperty(d,a,j.get?j:{enumerable:!0,get:()=>f[a]})}}}return Object.freeze(Object.defineProperty(d,Symbol.toStringTag,{value:"Module"}))}var F={},T;function Q(){return T||(T=1,(function(){function d(t){var e=0;return function(){return e<t.length?{done:!1,value:t[e++]}:{done:!0}}}var m=typeof Object.defineProperties=="function"?Object.defineProperty:function(t,e,o){return t==Array.prototype||t==Object.prototype||(t[e]=o.value),t};function w(t){t=[typeof globalThis=="object"&&globalThis,t,typeof window=="object"&&window,typeof self=="object"&&self,typeof q=="object"&&q];for(var e=0;e<t.length;++e){var o=t[e];if(o&&o.Math==Math)return o}throw Error("Cannot find global object")}var f=w(this);function a(t,e){if(e)t:{var o=f;t=t.split(".");for(var i=0;i<t.length-1;i++){var s=t[i];if(!(s in o))break t;o=o[s]}t=t[t.length-1],i=o[t],e=e(i),e!=i&&e!=null&&m(o,t,{configurable:!0,writable:!0,value:e})}}a("Symbol",function(t){function e(l){if(this instanceof e)throw new TypeError("Symbol is not a constructor");return new o(i+(l||"")+"_"+s++,l)}function o(l,n){this.g=l,m(this,"description",{configurable:!0,writable:!0,value:n})}if(t)return t;o.prototype.toString=function(){return this.g};var i="jscomp_symbol_"+(1e9*Math.random()>>>0)+"_",s=0;return e}),a("Symbol.iterator",function(t){if(t)return t;t=Symbol("Symbol.iterator");for(var e="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),o=0;o<e.length;o++){var i=f[e[o]];typeof i=="function"&&typeof i.prototype[t]!="function"&&m(i.prototype,t,{configurable:!0,writable:!0,value:function(){return j(d(this))}})}return t});function j(t){return t={next:t},t[Symbol.iterator]=function(){return this},t}function A(t){var e=typeof Symbol<"u"&&Symbol.iterator&&t[Symbol.iterator];return e?e.call(t):{next:d(t)}}function E(){this.i=!1,this.g=null,this.o=void 0,this.j=1,this.m=0,this.h=null}function S(t){if(t.i)throw new TypeError("Generator is already running");t.i=!0}E.prototype.l=function(t){this.o=t};function _(t,e){t.h={F:e,G:!0},t.j=t.m}E.prototype.return=function(t){this.h={return:t},this.j=this.m};function U(t){this.g=new E,this.h=t}function H(t,e){S(t.g);var o=t.g.g;return o?C(t,"return"in o?o.return:function(i){return{value:i,done:!0}},e,t.g.return):(t.g.return(e),b(t))}function C(t,e,o,i){try{var s=e.call(t.g.g,o);if(!(s instanceof Object))throw new TypeError("Iterator result "+s+" is not an object");if(!s.done)return t.g.i=!1,s;var l=s.value}catch(n){return t.g.g=null,_(t.g,n),b(t)}return t.g.g=null,i.call(t.g,l),b(t)}function b(t){for(;t.g.j;)try{var e=t.h(t.g);if(e)return t.g.i=!1,{value:e.value,done:!1}}catch(o){t.g.o=void 0,_(t.g,o)}if(t.g.i=!1,t.g.h){if(e=t.g.h,t.g.h=null,e.G)throw e.F;return{value:e.return,done:!0}}return{value:void 0,done:!0}}function I(t){this.next=function(e){return S(t.g),t.g.g?e=C(t,t.g.g.next,e,t.g.l):(t.g.l(e),e=b(t)),e},this.throw=function(e){return S(t.g),t.g.g?e=C(t,t.g.g.throw,e,t.g.l):(_(t.g,e),e=b(t)),e},this.return=function(e){return H(t,e)},this[Symbol.iterator]=function(){return this}}function G(t){function e(i){return t.next(i)}function o(i){return t.throw(i)}return new Promise(function(i,s){function l(n){n.done?i(n.value):Promise.resolve(n.value).then(e,o).then(l,s)}l(t.next())})}a("Promise",function(t){function e(n){this.h=0,this.i=void 0,this.g=[],this.o=!1;var r=this.j();try{n(r.resolve,r.reject)}catch(u){r.reject(u)}}function o(){this.g=null}function i(n){return n instanceof e?n:new e(function(r){r(n)})}if(t)return t;o.prototype.h=function(n){if(this.g==null){this.g=[];var r=this;this.i(function(){r.l()})}this.g.push(n)};var s=f.setTimeout;o.prototype.i=function(n){s(n,0)},o.prototype.l=function(){for(;this.g&&this.g.length;){var n=this.g;this.g=[];for(var r=0;r<n.length;++r){var u=n[r];n[r]=null;try{u()}catch(c){this.j(c)}}}this.g=null},o.prototype.j=function(n){this.i(function(){throw n})},e.prototype.j=function(){function n(c){return function(h){u||(u=!0,c.call(r,h))}}var r=this,u=!1;return{resolve:n(this.A),reject:n(this.l)}},e.prototype.A=function(n){if(n===this)this.l(new TypeError("A Promise cannot resolve to itself"));else if(n instanceof e)this.C(n);else{t:switch(typeof n){case"object":var r=n!=null;break t;case"function":r=!0;break t;default:r=!1}r?this.v(n):this.m(n)}},e.prototype.v=function(n){var r=void 0;try{r=n.then}catch(u){this.l(u);return}typeof r=="function"?this.D(r,n):this.m(n)},e.prototype.l=function(n){this.u(2,n)},e.prototype.m=function(n){this.u(1,n)},e.prototype.u=function(n,r){if(this.h!=0)throw Error("Cannot settle("+n+", "+r+"): Promise already settled in state"+this.h);this.h=n,this.i=r,this.h===2&&this.B(),this.H()},e.prototype.B=function(){var n=this;s(function(){if(n.I()){var r=f.console;typeof r<"u"&&r.error(n.i)}},1)},e.prototype.I=function(){if(this.o)return!1;var n=f.CustomEvent,r=f.Event,u=f.dispatchEvent;return typeof u>"u"?!0:(typeof n=="function"?n=new n("unhandledrejection",{cancelable:!0}):typeof r=="function"?n=new r("unhandledrejection",{cancelable:!0}):(n=f.document.createEvent("CustomEvent"),n.initCustomEvent("unhandledrejection",!1,!0,n)),n.promise=this,n.reason=this.i,u(n))},e.prototype.H=function(){if(this.g!=null){for(var n=0;n<this.g.length;++n)l.h(this.g[n]);this.g=null}};var l=new o;return e.prototype.C=function(n){var r=this.j();n.s(r.resolve,r.reject)},e.prototype.D=function(n,r){var u=this.j();try{n.call(r,u.resolve,u.reject)}catch(c){u.reject(c)}},e.prototype.then=function(n,r){function u(v,y){return typeof v=="function"?function(k){try{c(v(k))}catch(D){h(D)}}:y}var c,h,M=new e(function(v,y){c=v,h=y});return this.s(u(n,c),u(r,h)),M},e.prototype.catch=function(n){return this.then(void 0,n)},e.prototype.s=function(n,r){function u(){switch(c.h){case 1:n(c.i);break;case 2:r(c.i);break;default:throw Error("Unexpected state: "+c.h)}}var c=this;this.g==null?l.h(u):this.g.push(u),this.o=!0},e.resolve=i,e.reject=function(n){return new e(function(r,u){u(n)})},e.race=function(n){return new e(function(r,u){for(var c=A(n),h=c.next();!h.done;h=c.next())i(h.value).s(r,u)})},e.all=function(n){var r=A(n),u=r.next();return u.done?i([]):new e(function(c,h){function M(k){return function(D){v[k]=D,y--,y==0&&c(v)}}var v=[],y=0;do v.push(void 0),y++,i(u.value).s(M(v.length-1),h),u=r.next();while(!u.done)})},e});var N=typeof Object.assign=="function"?Object.assign:function(t,e){for(var o=1;o<arguments.length;o++){var i=arguments[o];if(i)for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(t[s]=i[s])}return t};a("Object.assign",function(t){return t||N});var z=this||self,R={facingMode:"user",width:640,height:480};function O(t,e){this.video=t,this.i=0,this.h=Object.assign(Object.assign({},R),e)}O.prototype.stop=function(){var t=this,e,o,i,s;return G(new I(new U(function(l){if(t.g){for(e=t.g.getTracks(),o=A(e),i=o.next();!i.done;i=o.next())s=i.value,s.stop();t.g=void 0}l.j=0})))},O.prototype.start=function(){var t=this,e;return G(new I(new U(function(o){return navigator.mediaDevices&&navigator.mediaDevices.getUserMedia||alert("No navigator.mediaDevices.getUserMedia exists."),e=t.h,o.return(navigator.mediaDevices.getUserMedia({video:{facingMode:e.facingMode,width:e.width,height:e.height}}).then(function(i){$(t,i)}).catch(function(i){var s="Failed to acquire camera feed: "+i;throw console.error(s),alert(s),i}))})))};function P(t){window.requestAnimationFrame(function(){J(t)})}function $(t,e){t.g=e,t.video.srcObject=e,t.video.onloadedmetadata=function(){t.video.play(),P(t)}}function J(t){var e=null;t.video.paused||t.video.currentTime===t.i||(t.i=t.video.currentTime,e=t.h.onFrame()),e?e.then(function(){P(t)}):P(t)}var x=["Camera"],g=z;x[0]in g||typeof g.execScript>"u"||g.execScript("var "+x[0]);for(var p;x.length&&(p=x.shift());)x.length||O===void 0?g[p]&&g[p]!==Object.prototype[p]?g=g[p]:g=g[p]={}:g[p]=O}).call(F)),F}var B=Q();const V=K(B),X=L({__proto__:null,default:V},[B]);export{X as c};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as fr,g as dn}from"./index-DdorzFNd.js";function yn(j,Q){for(var H=0;H<Q.length;H++){const z=Q[H];if(typeof z!="string"&&!Array.isArray(z)){for(const T in z)if(T!=="default"&&!(T in j)){const w=Object.getOwnPropertyDescriptor(z,T);w&&Object.defineProperty(j,T,w.get?w:{enumerable:!0,get:()=>z[T]})}}}return Object.freeze(Object.defineProperty(j,Symbol.toStringTag,{value:"Module"}))}var Jt={},ar;function mn(){return ar||(ar=1,(function(){var j;function Q(t){var e=0;return function(){return e<t.length?{done:!1,value:t[e++]}:{done:!0}}}var H=typeof Object.defineProperties=="function"?Object.defineProperty:function(t,e,r){return t==Array.prototype||t==Object.prototype||(t[e]=r.value),t};function z(t){t=[typeof globalThis=="object"&&globalThis,t,typeof window=="object"&&window,typeof self=="object"&&self,typeof fr=="object"&&fr];for(var e=0;e<t.length;++e){var r=t[e];if(r&&r.Math==Math)return r}throw Error("Cannot find global object")}var T=z(this);function w(t,e){if(e)t:{var r=T;t=t.split(".");for(var n=0;n<t.length-1;n++){var i=t[n];if(!(i in r))break t;r=r[i]}t=t[t.length-1],n=r[t],e=e(n),e!=n&&e!=null&&H(r,t,{configurable:!0,writable:!0,value:e})}}w("Symbol",function(t){function e(u){if(this instanceof e)throw new TypeError("Symbol is not a constructor");return new r(n+(u||"")+"_"+i++,u)}function r(u,o){this.h=u,H(this,"description",{configurable:!0,writable:!0,value:o})}if(t)return t;r.prototype.toString=function(){return this.h};var n="jscomp_symbol_"+(1e9*Math.random()>>>0)+"_",i=0;return e}),w("Symbol.iterator",function(t){if(t)return t;t=Symbol("Symbol.iterator");for(var e="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),r=0;r<e.length;r++){var n=T[e[r]];typeof n=="function"&&typeof n.prototype[t]!="function"&&H(n.prototype,t,{configurable:!0,writable:!0,value:function(){return hr(Q(this))}})}return t});function hr(t){return t={next:t},t[Symbol.iterator]=function(){return this},t}function F(t){var e=typeof Symbol<"u"&&Symbol.iterator&&t[Symbol.iterator];return e?e.call(t):{next:Q(t)}}function qt(t){if(!(t instanceof Array)){t=F(t);for(var e,r=[];!(e=t.next()).done;)r.push(e.value);t=r}return t}var pr=typeof Object.assign=="function"?Object.assign:function(t,e){for(var r=1;r<arguments.length;r++){var n=arguments[r];if(n)for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t};w("Object.assign",function(t){return t||pr});var vr=typeof Object.create=="function"?Object.create:function(t){function e(){}return e.prototype=t,new e},bt;if(typeof Object.setPrototypeOf=="function")bt=Object.setPrototypeOf;else{var Et;t:{var dr={a:!0},te={};try{te.__proto__=dr,Et=te.a;break t}catch{}Et=!1}bt=Et?function(t,e){if(t.__proto__=e,t.__proto__!==e)throw new TypeError(t+" is not extensible");return t}:null}var ee=bt;function J(t,e){if(t.prototype=vr(e.prototype),t.prototype.constructor=t,ee)ee(t,e);else for(var r in e)if(r!="prototype")if(Object.defineProperties){var n=Object.getOwnPropertyDescriptor(e,r);n&&Object.defineProperty(t,r,n)}else t[r]=e[r];t.ya=e.prototype}function _t(){this.m=!1,this.j=null,this.i=void 0,this.h=1,this.v=this.s=0,this.l=null}function Ot(t){if(t.m)throw new TypeError("Generator is already running");t.m=!0}_t.prototype.u=function(t){this.i=t};function Ft(t,e){t.l={ma:e,na:!0},t.h=t.s||t.v}_t.prototype.return=function(t){this.l={return:t},this.h=this.v};function x(t,e,r){return t.h=r,{value:e}}function yr(t){this.h=new _t,this.i=t}function mr(t,e){Ot(t.h);var r=t.h.j;return r?St(t,"return"in r?r.return:function(n){return{value:n,done:!0}},e,t.h.return):(t.h.return(e),q(t))}function St(t,e,r,n){try{var i=e.call(t.h.j,r);if(!(i instanceof Object))throw new TypeError("Iterator result "+i+" is not an object");if(!i.done)return t.h.m=!1,i;var u=i.value}catch(o){return t.h.j=null,Ft(t.h,o),q(t)}return t.h.j=null,n.call(t.h,u),q(t)}function q(t){for(;t.h.h;)try{var e=t.i(t.h);if(e)return t.h.m=!1,{value:e.value,done:!1}}catch(r){t.h.i=void 0,Ft(t.h,r)}if(t.h.m=!1,t.h.l){if(e=t.h.l,t.h.l=null,e.na)throw e.ma;return{value:e.return,done:!0}}return{value:void 0,done:!0}}function gr(t){this.next=function(e){return Ot(t.h),t.h.j?e=St(t,t.h.j.next,e,t.h.u):(t.h.u(e),e=q(t)),e},this.throw=function(e){return Ot(t.h),t.h.j?e=St(t,t.h.j.throw,e,t.h.u):(Ft(t.h,e),e=q(t)),e},this.return=function(e){return mr(t,e)},this[Symbol.iterator]=function(){return this}}function wr(t){function e(n){return t.next(n)}function r(n){return t.throw(n)}return new Promise(function(n,i){function u(o){o.done?n(o.value):Promise.resolve(o.value).then(e,r).then(u,i)}u(t.next())})}function O(t){return wr(new gr(new yr(t)))}w("Promise",function(t){function e(o){this.i=0,this.j=void 0,this.h=[],this.u=!1;var s=this.l();try{o(s.resolve,s.reject)}catch(l){s.reject(l)}}function r(){this.h=null}function n(o){return o instanceof e?o:new e(function(s){s(o)})}if(t)return t;r.prototype.i=function(o){if(this.h==null){this.h=[];var s=this;this.j(function(){s.m()})}this.h.push(o)};var i=T.setTimeout;r.prototype.j=function(o){i(o,0)},r.prototype.m=function(){for(;this.h&&this.h.length;){var o=this.h;this.h=[];for(var s=0;s<o.length;++s){var l=o[s];o[s]=null;try{l()}catch(f){this.l(f)}}}this.h=null},r.prototype.l=function(o){this.j(function(){throw o})},e.prototype.l=function(){function o(f){return function(a){l||(l=!0,f.call(s,a))}}var s=this,l=!1;return{resolve:o(this.I),reject:o(this.m)}},e.prototype.I=function(o){if(o===this)this.m(new TypeError("A Promise cannot resolve to itself"));else if(o instanceof e)this.L(o);else{t:switch(typeof o){case"object":var s=o!=null;break t;case"function":s=!0;break t;default:s=!1}s?this.F(o):this.s(o)}},e.prototype.F=function(o){var s=void 0;try{s=o.then}catch(l){this.m(l);return}typeof s=="function"?this.M(s,o):this.s(o)},e.prototype.m=function(o){this.v(2,o)},e.prototype.s=function(o){this.v(1,o)},e.prototype.v=function(o,s){if(this.i!=0)throw Error("Cannot settle("+o+", "+s+"): Promise already settled in state"+this.i);this.i=o,this.j=s,this.i===2&&this.K(),this.H()},e.prototype.K=function(){var o=this;i(function(){if(o.D()){var s=T.console;typeof s<"u"&&s.error(o.j)}},1)},e.prototype.D=function(){if(this.u)return!1;var o=T.CustomEvent,s=T.Event,l=T.dispatchEvent;return typeof l>"u"?!0:(typeof o=="function"?o=new o("unhandledrejection",{cancelable:!0}):typeof s=="function"?o=new s("unhandledrejection",{cancelable:!0}):(o=T.document.createEvent("CustomEvent"),o.initCustomEvent("unhandledrejection",!1,!0,o)),o.promise=this,o.reason=this.j,l(o))},e.prototype.H=function(){if(this.h!=null){for(var o=0;o<this.h.length;++o)u.i(this.h[o]);this.h=null}};var u=new r;return e.prototype.L=function(o){var s=this.l();o.T(s.resolve,s.reject)},e.prototype.M=function(o,s){var l=this.l();try{o.call(s,l.resolve,l.reject)}catch(f){l.reject(f)}},e.prototype.then=function(o,s){function l(h,c){return typeof h=="function"?function(v){try{f(h(v))}catch(d){a(d)}}:c}var f,a,p=new e(function(h,c){f=h,a=c});return this.T(l(o,f),l(s,a)),p},e.prototype.catch=function(o){return this.then(void 0,o)},e.prototype.T=function(o,s){function l(){switch(f.i){case 1:o(f.j);break;case 2:s(f.j);break;default:throw Error("Unexpected state: "+f.i)}}var f=this;this.h==null?u.i(l):this.h.push(l),this.u=!0},e.resolve=n,e.reject=function(o){return new e(function(s,l){l(o)})},e.race=function(o){return new e(function(s,l){for(var f=F(o),a=f.next();!a.done;a=f.next())n(a.value).T(s,l)})},e.all=function(o){var s=F(o),l=s.next();return l.done?n([]):new e(function(f,a){function p(v){return function(d){h[v]=d,c--,c==0&&f(h)}}var h=[],c=0;do h.push(void 0),c++,n(l.value).T(p(h.length-1),a),l=s.next();while(!l.done)})},e});function Ar(t,e){t instanceof String&&(t+="");var r=0,n=!1,i={next:function(){if(!n&&r<t.length){var u=r++;return{value:e(u,t[u]),done:!1}}return n=!0,{done:!0,value:void 0}}};return i[Symbol.iterator]=function(){return i},i}w("Array.prototype.keys",function(t){return t||function(){return Ar(this,function(e){return e})}}),w("Array.prototype.fill",function(t){return t||function(e,r,n){var i=this.length||0;for(0>r&&(r=Math.max(0,i+r)),(n==null||n>i)&&(n=i),n=Number(n),0>n&&(n=Math.max(0,i+n)),r=Number(r||0);r<n;r++)this[r]=e;return this}});function k(t){return t||Array.prototype.fill}w("Int8Array.prototype.fill",k),w("Uint8Array.prototype.fill",k),w("Uint8ClampedArray.prototype.fill",k),w("Int16Array.prototype.fill",k),w("Uint16Array.prototype.fill",k),w("Int32Array.prototype.fill",k),w("Uint32Array.prototype.fill",k),w("Float32Array.prototype.fill",k),w("Float64Array.prototype.fill",k),w("Object.is",function(t){return t||function(e,r){return e===r?e!==0||1/e===1/r:e!==e&&r!==r}}),w("Array.prototype.includes",function(t){return t||function(e,r){var n=this;n instanceof String&&(n=String(n));var i=n.length;for(r=r||0,0>r&&(r=Math.max(r+i,0));r<i;r++){var u=n[r];if(u===e||Object.is(u,e))return!0}return!1}}),w("String.prototype.includes",function(t){return t||function(e,r){if(this==null)throw new TypeError("The 'this' value for String.prototype.includes must not be null or undefined");if(e instanceof RegExp)throw new TypeError("First argument to String.prototype.includes must not be a regular expression");return this.indexOf(e,r||0)!==-1}});var Tt=this||self;function tt(t,e){t=t.split(".");var r=Tt;t[0]in r||typeof r.execScript>"u"||r.execScript("var "+t[0]);for(var n;t.length&&(n=t.shift());)t.length||e===void 0?r[n]&&r[n]!==Object.prototype[n]?r=r[n]:r=r[n]={}:r[n]=e}function re(t){var e;t:{if((e=Tt.navigator)&&(e=e.userAgent))break t;e=""}return e.indexOf(t)!=-1}var jr=Array.prototype.map?function(t,e){return Array.prototype.map.call(t,e,void 0)}:function(t,e){for(var r=t.length,n=Array(r),i=typeof t=="string"?t.split(""):t,u=0;u<r;u++)u in i&&(n[u]=e.call(void 0,i[u],u,t));return n},ne={},et=null;function xr(t){var e=t.length,r=3*e/4;r%3?r=Math.floor(r):"=.".indexOf(t[e-1])!=-1&&(r="=.".indexOf(t[e-2])!=-1?r-2:r-1);var n=new Uint8Array(r),i=0;return br(t,function(u){n[i++]=u}),i!==r?n.subarray(0,i):n}function br(t,e){function r(l){for(;n<t.length;){var f=t.charAt(n++),a=et[f];if(a!=null)return a;if(!/^[\s\xa0]*$/.test(f))throw Error("Unknown base64 encoding at char: "+f)}return l}ie();for(var n=0;;){var i=r(-1),u=r(0),o=r(64),s=r(64);if(s===64&&i===-1)break;e(i<<2|u>>4),o!=64&&(e(u<<4&240|o>>2),s!=64&&e(o<<6&192|s))}}function ie(){if(!et){et={};for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),e=["+/=","+/","-_=","-_.","-_"],r=0;5>r;r++){var n=t.concat(e[r].split(""));ne[r]=n;for(var i=0;i<n.length;i++){var u=n[i];et[u]===void 0&&(et[u]=i)}}}}var Rt=typeof Uint8Array<"u",oe=!(re("Trident")||re("MSIE"))&&typeof Tt.btoa=="function";function ue(t){if(!oe){var e;e===void 0&&(e=0),ie(),e=ne[e];for(var r=Array(Math.floor(t.length/3)),n=e[64]||"",i=0,u=0;i<t.length-2;i+=3){var o=t[i],s=t[i+1],l=t[i+2],f=e[o>>2];o=e[(o&3)<<4|s>>4],s=e[(s&15)<<2|l>>6],l=e[l&63],r[u++]=f+o+s+l}switch(f=0,l=n,t.length-i){case 2:f=t[i+1],l=e[(f&15)<<2]||n;case 1:t=t[i],r[u]=e[t>>2]+e[(t&3)<<4|f>>4]+l+n}return r.join("")}for(e="";10240<t.length;)e+=String.fromCharCode.apply(null,t.subarray(0,10240)),t=t.subarray(10240);return e+=String.fromCharCode.apply(null,t),btoa(e)}var se=RegExp("[-_.]","g");function Er(t){switch(t){case"-":return"+";case"_":return"/";case".":return"=";default:return""}}function le(t){if(!oe)return xr(t);se.test(t)&&(t=t.replace(se,Er)),t=atob(t);for(var e=new Uint8Array(t.length),r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}var fe;function Ut(){return fe||(fe=new Uint8Array(0))}var rt={},_r=typeof Uint8Array.prototype.slice=="function",b=0,S=0;function ae(t){var e=0>t;t=Math.abs(t);var r=t>>>0;t=Math.floor((t-r)/4294967296),e&&(r=F(ce(r,t)),e=r.next().value,t=r.next().value,r=e),b=r>>>0,S=t>>>0}var Or=typeof BigInt=="function";function ce(t,e){return e=~e,t?t=~t+1:e+=1,[t,e]}function he(t,e){this.i=t>>>0,this.h=e>>>0}function pe(t){if(!t)return ve||(ve=new he(0,0));if(!/^-?\d+$/.test(t))return null;if(16>t.length)ae(Number(t));else if(Or)t=BigInt(t),b=Number(t&BigInt(4294967295))>>>0,S=Number(t>>BigInt(32)&BigInt(4294967295));else{var e=+(t[0]==="-");S=b=0;for(var r=t.length,n=e,i=(r-e)%6+e;i<=r;n=i,i+=6)n=Number(t.slice(n,i)),S*=1e6,b=1e6*b+n,4294967296<=b&&(S+=b/4294967296|0,b%=4294967296);e&&(e=F(ce(b,S)),t=e.next().value,e=e.next().value,b=t,S=e)}return new he(b,S)}var ve;function de(t,e){return Error("Invalid wire type: "+t+" (at position "+e+")")}function Pt(){return Error("Failed to read varint, encoding is invalid.")}function ye(t,e){return Error("Tried to read past the end of the data "+e+" > "+t)}function W(){throw Error("Invalid UTF8")}function me(t,e){return e=String.fromCharCode.apply(null,e),t==null?e:t+e}var at=void 0,Ct,Fr=typeof TextDecoder<"u",ge,Sr=typeof TextEncoder<"u",we;function Ae(t){if(t!==rt)throw Error("illegal external caller")}function nt(t,e){if(Ae(e),this.V=t,t!=null&&t.length===0)throw Error("ByteString should be constructed with non-empty values")}function Nt(){return we||(we=new nt(null,rt))}function je(t){Ae(rt);var e=t.V;return e=e==null||Rt&&e!=null&&e instanceof Uint8Array?e:typeof e=="string"?le(e):null,e==null?e:t.V=e}function Tr(t){if(typeof t=="string")return{buffer:le(t),C:!1};if(Array.isArray(t))return{buffer:new Uint8Array(t),C:!1};if(t.constructor===Uint8Array)return{buffer:t,C:!1};if(t.constructor===ArrayBuffer)return{buffer:new Uint8Array(t),C:!1};if(t.constructor===nt)return{buffer:je(t)||Ut(),C:!0};if(t instanceof Uint8Array)return{buffer:new Uint8Array(t.buffer,t.byteOffset,t.byteLength),C:!1};throw Error("Type not convertible to a Uint8Array, expected a Uint8Array, an ArrayBuffer, a base64 encoded string, a ByteString or an Array of numbers")}function xe(t,e){this.i=null,this.m=!1,this.h=this.j=this.l=0,Mt(this,t,e)}function Mt(t,e,r){r=r===void 0?{}:r,t.S=r.S===void 0?!1:r.S,e&&(e=Tr(e),t.i=e.buffer,t.m=e.C,t.l=0,t.j=t.i.length,t.h=t.l)}xe.prototype.reset=function(){this.h=this.l};function V(t,e){if(t.h=e,e>t.j)throw ye(t.j,e)}function it(t){var e=t.i,r=t.h,n=e[r++],i=n&127;if(n&128&&(n=e[r++],i|=(n&127)<<7,n&128&&(n=e[r++],i|=(n&127)<<14,n&128&&(n=e[r++],i|=(n&127)<<21,n&128&&(n=e[r++],i|=n<<28,n&128&&e[r++]&128&&e[r++]&128&&e[r++]&128&&e[r++]&128&&e[r++]&128)))))throw Pt();return V(t,r),i}function be(t,e){if(0>e)throw Error("Tried to read a negative byte length: "+e);var r=t.h,n=r+e;if(n>t.j)throw ye(e,t.j-r);return t.h=n,r}var Ee=[];function Lt(){this.h=[]}Lt.prototype.length=function(){return this.h.length},Lt.prototype.end=function(){var t=this.h;return this.h=[],t};function _e(t,e,r){for(;0<r||127<e;)t.h.push(e&127|128),e=(e>>>7|r<<25)>>>0,r>>>=7;t.h.push(e)}function X(t,e){for(;127<e;)t.h.push(e&127|128),e>>>=7;t.h.push(e)}function Bt(t,e){if(Ee.length){var r=Ee.pop();Mt(r,t,e),t=r}else t=new xe(t,e);this.h=t,this.j=this.h.h,this.i=this.l=-1,this.setOptions(e)}Bt.prototype.setOptions=function(t){t=t===void 0?{}:t,this.ca=t.ca===void 0?!1:t.ca},Bt.prototype.reset=function(){this.h.reset(),this.j=this.h.h,this.i=this.l=-1};function Oe(t){var e=t.h;if(e.h==e.j)return!1;t.j=t.h.h;var r=it(t.h)>>>0;if(e=r>>>3,r&=7,!(0<=r&&5>=r))throw de(r,t.j);if(1>e)throw Error("Invalid field number: "+e+" (at position "+t.j+")");return t.l=e,t.i=r,!0}function ct(t){switch(t.i){case 0:if(t.i!=0)ct(t);else t:{t=t.h;for(var e=t.h,r=e+10,n=t.i;e<r;)if((n[e++]&128)===0){V(t,e);break t}throw Pt()}break;case 1:t=t.h,V(t,t.h+8);break;case 2:t.i!=2?ct(t):(e=it(t.h)>>>0,t=t.h,V(t,t.h+e));break;case 5:t=t.h,V(t,t.h+4);break;case 3:e=t.l;do{if(!Oe(t))throw Error("Unmatched start-group tag: stream EOF");if(t.i==4){if(t.l!=e)throw Error("Unmatched end-group tag");break}ct(t)}while(!0);break;default:throw de(t.i,t.j)}}var ht=[];function Rr(){this.j=[],this.i=0,this.h=new Lt}function K(t,e){e.length!==0&&(t.j.push(e),t.i+=e.length)}function Ur(t,e){if(e=e.R){K(t,t.h.end());for(var r=0;r<e.length;r++)K(t,je(e[r])||Ut())}}var I=typeof Symbol=="function"&&typeof Symbol()=="symbol"?Symbol():void 0;function Y(t,e){return I?t[I]|=e:t.A!==void 0?t.A|=e:(Object.defineProperties(t,{A:{value:e,configurable:!0,writable:!0,enumerable:!1}}),e)}function Fe(t,e){I?t[I]&&(t[I]&=~e):t.A!==void 0&&(t.A&=~e)}function A(t){var e;return I?e=t[I]:e=t.A,e??0}function M(t,e){I?t[I]=e:t.A!==void 0?t.A=e:Object.defineProperties(t,{A:{value:e,configurable:!0,writable:!0,enumerable:!1}})}function Dt(t){return Y(t,1),t}function Pr(t,e){M(e,(t|0)&-51)}function pt(t,e){M(e,(t|18)&-41)}var kt={};function vt(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)&&t.constructor===Object}var ot,Se=[];M(Se,23),ot=Object.freeze(Se);function It(t){if(A(t.o)&2)throw Error("Cannot mutate an immutable Message")}function Gt(t){var e=t.length;(e=e?t[e-1]:void 0)&&vt(e)?e.g=1:(e={},t.push((e.g=1,e)))}function Te(t){var e=t.i+t.G;return t.B||(t.B=t.o[e]={})}function C(t,e){return e===-1?null:e>=t.i?t.B?t.B[e]:void 0:t.o[e+t.G]}function L(t,e,r,n){It(t),ut(t,e,r,n)}function ut(t,e,r,n){t.j&&(t.j=void 0),e>=t.i||n?Te(t)[e]=r:(t.o[e+t.G]=r,(t=t.B)&&e in t&&delete t[e])}function Ht(t,e,r,n){var i=C(t,e);Array.isArray(i)||(i=ot);var u=A(i);if(u&1||Dt(i),n)u&2||Y(i,2),r&1||Object.freeze(i);else{n=!(r&2);var o=u&2;r&1||!o?n&&u&16&&!o&&Fe(i,16):(i=Dt(Array.prototype.slice.call(i)),ut(t,e,i))}return i}function zt(t,e){var r=C(t,e),n=r==null?r:typeof r=="number"||r==="NaN"||r==="Infinity"||r==="-Infinity"?Number(r):void 0;return n!=null&&n!==r&&ut(t,e,n),n}function Re(t,e,r,n,i){t.h||(t.h={});var u=t.h[r],o=Ht(t,r,3,i);if(!u){var s=o;u=[];var l=!!(A(t.o)&16);o=!!(A(s)&2);var f=s;!i&&o&&(s=Array.prototype.slice.call(s));for(var a=o,p=0;p<s.length;p++){var h=s[p],c=e,v=!1;if(v=v===void 0?!1:v,h=Array.isArray(h)?new c(h):v?new c:void 0,h!==void 0){c=h.o;var d=v=A(c);o&&(d|=2),l&&(d|=16),d!=v&&M(c,d),c=d,a=a||!!(2&c),u.push(h)}}return t.h[r]=u,l=A(s),e=l|33,e=a?e&-9:e|8,l!=e&&(a=s,Object.isFrozen(a)&&(a=Array.prototype.slice.call(a)),M(a,e),s=a),f!==s&&ut(t,r,s),(i||n&&o)&&Y(u,2),n&&Object.freeze(u),u}return i||(i=Object.isFrozen(u),n&&!i?Object.freeze(u):!n&&i&&(u=Array.prototype.slice.call(u),t.h[r]=u)),u}function dt(t,e,r){var n=!!(A(t.o)&2);if(e=Re(t,e,r,n,n),t=Ht(t,r,3,n),!(n||A(t)&8)){for(n=0;n<e.length;n++){if(r=e[n],A(r.o)&2){var i=Le(r,!1);i.j=r}else i=r;r!==i&&(e[n]=i,t[n]=i.o)}Y(t,8)}return e}function B(t,e,r){if(r!=null&&typeof r!="number")throw Error("Value of float/double field must be a number|null|undefined, found "+typeof r+": "+r);L(t,e,r)}function Ue(t,e,r,n,i){It(t);var u=Re(t,r,e,!1,!1);return r=n??new r,t=Ht(t,e,2,!1),i!=null?(u.splice(i,0,r),t.splice(i,0,r.o)):(u.push(r),t.push(r.o)),r.C()&&Fe(t,8),r}function yt(t,e){return t??e}function D(t,e,r){return r=r===void 0?0:r,yt(zt(t,e),r)}var mt;function Cr(t){switch(typeof t){case"number":return isFinite(t)?t:String(t);case"object":if(t)if(Array.isArray(t)){if((A(t)&128)!==0)return t=Array.prototype.slice.call(t),Gt(t),t}else{if(Rt&&t!=null&&t instanceof Uint8Array)return ue(t);if(t instanceof nt){var e=t.V;return e==null?"":typeof e=="string"?e:t.V=ue(e)}}}return t}function Pe(t,e,r,n){if(t!=null){if(Array.isArray(t))t=Wt(t,e,r,n!==void 0);else if(vt(t)){var i={},u;for(u in t)i[u]=Pe(t[u],e,r,n);t=i}else t=e(t,n);return t}}function Wt(t,e,r,n){var i=A(t);n=n?!!(i&16):void 0,t=Array.prototype.slice.call(t);for(var u=0;u<t.length;u++)t[u]=Pe(t[u],e,r,n);return r(i,t),t}function Nr(t){return t.ja===kt?t.toJSON():Cr(t)}function Mr(t,e){t&128&&Gt(e)}function Ce(t,e,r){if(r=r===void 0?pt:r,t!=null){if(Rt&&t instanceof Uint8Array)return t.length?new nt(new Uint8Array(t),rt):Nt();if(Array.isArray(t)){var n=A(t);return n&2?t:e&&!(n&32)&&(n&16||n===0)?(M(t,n|2),t):(t=Wt(t,Ce,n&4?pt:r,!0),e=A(t),e&4&&e&2&&Object.freeze(t),t)}return t.ja===kt?Me(t):t}}function Ne(t,e,r,n,i,u,o){if(t=t.h&&t.h[r]){if(n=A(t),n&2?n=t:(u=jr(t,Me),pt(n,u),Object.freeze(u),n=u),It(e),o=n==null?ot:Dt([]),n!=null){for(u=!!n.length,t=0;t<n.length;t++){var s=n[t];u=u&&!(A(s.o)&2),o[t]=s.o}u=(u?8:0)|1,t=A(o),(t&u)!==u&&(Object.isFrozen(o)&&(o=Array.prototype.slice.call(o)),M(o,t|u)),e.h||(e.h={}),e.h[r]=n}else e.h&&(e.h[r]=void 0);ut(e,r,o,i)}else L(e,r,Ce(n,u,o),i)}function Me(t){return A(t.o)&2||(t=Le(t,!0),Y(t.o,2)),t}function Le(t,e){var r=t.o,n=[];Y(n,16);var i=t.constructor.h;if(i&&n.push(i),i=t.B,i){n.length=r.length,n.fill(void 0,n.length,r.length);var u={};n[n.length-1]=u}(A(r)&128)!==0&&Gt(n),e=e||t.C()?pt:Pr,u=t.constructor,mt=n,n=new u(n),mt=void 0,t.R&&(n.R=t.R.slice()),u=!!(A(r)&16);for(var o=i?r.length-1:r.length,s=0;s<o;s++)Ne(t,n,s-t.G,r[s],!1,u,e);if(i)for(var l in i)Ne(t,n,+l,i[l],!0,u,e);return n}function R(t,e,r){t==null&&(t=mt),mt=void 0;var n=this.constructor.i||0,i=0<n,u=this.constructor.h,o=!1;if(t==null){t=u?[u]:[];var s=48,l=!0;i&&(n=0,s|=128),M(t,s)}else{if(!Array.isArray(t)||u&&u!==t[0])throw Error();var f=s=Y(t,0);if((l=(16&f)!==0)&&((o=(32&f)!==0)||(f|=32)),i){if(128&f)n=0;else if(0<t.length){var a=t[t.length-1];if(vt(a)&&"g"in a){n=0,f|=128,delete a.g;var p=!0,h;for(h in a){p=!1;break}p&&t.pop()}}}else if(128&f)throw Error();s!==f&&M(t,f)}this.G=(u?0:-1)-n,this.h=void 0,this.o=t;t:{if(u=this.o.length,n=u-1,u&&(u=this.o[n],vt(u))){this.B=u,this.i=n-this.G;break t}e!==void 0&&-1<e?(this.i=Math.max(e,n+1-this.G),this.B=void 0):this.i=Number.MAX_VALUE}if(!i&&this.B&&"g"in this.B)throw Error('Unexpected "g" flag in sparse object of message that is not a group type.');if(r){e=l&&!o&&!0,i=this.i;var c;for(l=0;l<r.length;l++)o=r[l],o<i?(o+=this.G,(n=t[o])?Be(n,e):t[o]=ot):(c||(c=Te(this)),(n=c[o])?Be(n,e):c[o]=ot)}}R.prototype.toJSON=function(){return Wt(this.o,Nr,Mr)},R.prototype.C=function(){return!!(A(this.o)&2)};function Be(t,e){if(Array.isArray(t)){var r=A(t),n=1;!e||r&2||(n|=16),(r&n)!==n&&M(t,r|n)}}R.prototype.ja=kt,R.prototype.toString=function(){return this.o.toString()};function De(t,e,r){if(r){var n={},i;for(i in r){var u=r[i],o=u.qa;o||(n.J=u.wa||u.oa.W,u.ia?(n.aa=ze(u.ia),o=(function(s){return function(l,f,a){return s.J(l,f,a,s.aa)}})(n)):u.ka?(n.Z=We(u.da.P,u.ka),o=(function(s){return function(l,f,a){return s.J(l,f,a,s.Z)}})(n)):o=n.J,u.qa=o),o(e,t,u.da),n={J:n.J,aa:n.aa,Z:n.Z}}}Ur(e,t)}var gt=Symbol();function ke(t,e,r){return t[gt]||(t[gt]=function(n,i){return e(n,i,r)})}function Ie(t){var e=t[gt];if(!e){var r=Xt(t);e=function(n,i){return Ve(n,i,r)},t[gt]=e}return e}function Lr(t){var e=t.ia;if(e)return Ie(e);if(e=t.va)return ke(t.da.P,e,t.ka)}function Br(t){var e=Lr(t),r=t.da,n=t.oa.U;return e?function(i,u){return n(i,u,r,e)}:function(i,u){return n(i,u,r)}}function Ge(t,e){var r=t[e];return typeof r=="function"&&r.length===0&&(r=r(),t[e]=r),Array.isArray(r)&&(lt in r||st in r||0<r.length&&typeof r[0]=="function")?r:void 0}function He(t,e,r,n,i,u){e.P=t[0];var o=1;if(t.length>o&&typeof t[o]!="number"){var s=t[o++];r(e,s)}for(;o<t.length;){r=t[o++];for(var l=o+1;l<t.length&&typeof t[l]!="number";)l++;switch(s=t[o++],l-=o,l){case 0:n(e,r,s);break;case 1:(l=Ge(t,o))?(o++,i(e,r,s,l)):n(e,r,s,t[o++]);break;case 2:l=o++,l=Ge(t,l),i(e,r,s,l,t[o++]);break;case 3:u(e,r,s,t[o++],t[o++],t[o++]);break;case 4:u(e,r,s,t[o++],t[o++],t[o++],t[o++]);break;default:throw Error("unexpected number of binary field arguments: "+l)}}return e}var wt=Symbol();function ze(t){var e=t[wt];if(!e){var r=Vt(t);e=function(n,i){return Xe(n,i,r)},t[wt]=e}return e}function We(t,e){var r=t[wt];return r||(r=function(n,i){return De(n,i,e)},t[wt]=r),r}var st=Symbol();function Dr(t,e){t.push(e)}function kr(t,e,r){t.push(e,r.W)}function Ir(t,e,r,n){var i=ze(n),u=Vt(n).P,o=r.W;t.push(e,function(s,l,f){return o(s,l,f,u,i)})}function Gr(t,e,r,n,i,u){var o=We(n,u),s=r.W;t.push(e,function(l,f,a){return s(l,f,a,n,o)})}function Vt(t){var e=t[st];return e||(e=He(t,t[st]=[],Dr,kr,Ir,Gr),lt in t&&st in t&&(t.length=0),e)}var lt=Symbol();function Hr(t,e){t[0]=e}function zr(t,e,r,n){var i=r.U;t[e]=n?function(u,o,s){return i(u,o,s,n)}:i}function Wr(t,e,r,n,i){var u=r.U,o=Ie(n),s=Xt(n).P;t[e]=function(l,f,a){return u(l,f,a,s,o,i)}}function Vr(t,e,r,n,i,u,o){var s=r.U,l=ke(n,i,u);t[e]=function(f,a,p){return s(f,a,p,n,l,o)}}function Xt(t){var e=t[lt];return e||(e=He(t,t[lt]={},Hr,zr,Wr,Vr),lt in t&&st in t&&(t.length=0),e)}function Ve(t,e,r){for(;Oe(e)&&e.i!=4;){var n=e.l,i=r[n];if(!i){var u=r[0];u&&(u=u[n])&&(i=r[n]=Br(u))}if(!i||!i(e,t,n)){i=e,n=t,u=i.j,ct(i);var o=i;if(!o.ca){if(i=o.h.h-u,o.h.h=u,o=o.h,i==0)i=Nt();else{if(u=be(o,i),o.S&&o.m)i=o.i.subarray(u,u+i);else{o=o.i;var s=u;i=u+i,i=s===i?Ut():_r?o.slice(s,i):new Uint8Array(o.subarray(s,i))}i=i.length==0?Nt():new nt(i,rt)}(u=n.R)?u.push(i):n.R=[i]}}}return t}function Xe(t,e,r){for(var n=r.length,i=n%2==1,u=i?1:0;u<n;u+=2)(0,r[u+1])(e,t,r[u]);De(t,e,i?r[0]:void 0)}function ft(t,e){return{U:t,W:e}}var N=ft(function(t,e,r){if(t.i!==5)return!1;t=t.h;var n=t.i,i=t.h,u=n[i],o=n[i+1],s=n[i+2];return n=n[i+3],V(t,t.h+4),o=(u<<0|o<<8|s<<16|n<<24)>>>0,t=2*(o>>31)+1,u=o>>>23&255,o&=8388607,L(e,r,u==255?o?NaN:1/0*t:u==0?t*Math.pow(2,-149)*o:t*Math.pow(2,u-150)*(o+Math.pow(2,23))),!0},function(t,e,r){if(e=zt(e,r),e!=null){X(t.h,8*r+5),t=t.h;var n=+e;n===0?0<1/n?b=S=0:(S=0,b=2147483648):isNaN(n)?(S=0,b=2147483647):(n=(r=0>n?-2147483648:0)?-n:n,34028234663852886e22<n?(S=0,b=(r|2139095040)>>>0):11754943508222875e-54>n?(n=Math.round(n/Math.pow(2,-149)),S=0,b=(r|n)>>>0):(e=Math.floor(Math.log(n)/Math.LN2),n*=Math.pow(2,-e),n=Math.round(8388608*n),16777216<=n&&++e,S=0,b=(r|e+127<<23|n&8388607)>>>0)),r=b,t.h.push(r>>>0&255),t.h.push(r>>>8&255),t.h.push(r>>>16&255),t.h.push(r>>>24&255)}}),Xr=ft(function(t,e,r){if(t.i!==0)return!1;var n=t.h,i=0,u=t=0,o=n.i,s=n.h;do{var l=o[s++];i|=(l&127)<<u,u+=7}while(32>u&&l&128);for(32<u&&(t|=(l&127)>>4),u=3;32>u&&l&128;u+=7)l=o[s++],t|=(l&127)<<u;if(V(n,s),128>l)n=i>>>0,l=t>>>0,(t=l&2147483648)&&(n=~n+1>>>0,l=~l>>>0,n==0&&(l=l+1>>>0)),n=4294967296*l+(n>>>0);else throw Pt();return L(e,r,t?-n:n),!0},function(t,e,r){e=C(e,r),e!=null&&(typeof e=="string"&&pe(e),e!=null&&(X(t.h,8*r),typeof e=="number"?(t=t.h,ae(e),_e(t,b,S)):(r=pe(e),_e(t.h,r.i,r.h))))}),Yr=ft(function(t,e,r){return t.i!==0?!1:(L(e,r,it(t.h)),!0)},function(t,e,r){if(e=C(e,r),e!=null&&e!=null)if(X(t.h,8*r),t=t.h,r=e,0<=r)X(t,r);else{for(e=0;9>e;e++)t.h.push(r&127|128),r>>=7;t.h.push(1)}}),Ye=ft(function(t,e,r){if(t.i!==2)return!1;var n=it(t.h)>>>0;t=t.h;var i=be(t,n);if(t=t.i,Fr){var u=t,o;(o=Ct)||(o=Ct=new TextDecoder("utf-8",{fatal:!0})),t=i+n,u=i===0&&t===u.length?u:u.subarray(i,t);try{var s=o.decode(u)}catch(p){if(at===void 0){try{o.decode(new Uint8Array([128]))}catch{}try{o.decode(new Uint8Array([97])),at=!0}catch{at=!1}}throw!at&&(Ct=void 0),p}}else{s=i,n=s+n,i=[];for(var l=null,f,a;s<n;)f=t[s++],128>f?i.push(f):224>f?s>=n?W():(a=t[s++],194>f||(a&192)!==128?(s--,W()):i.push((f&31)<<6|a&63)):240>f?s>=n-1?W():(a=t[s++],(a&192)!==128||f===224&&160>a||f===237&&160<=a||((u=t[s++])&192)!==128?(s--,W()):i.push((f&15)<<12|(a&63)<<6|u&63)):244>=f?s>=n-2?W():(a=t[s++],(a&192)!==128||(f<<28)+(a-144)>>30!==0||((u=t[s++])&192)!==128||((o=t[s++])&192)!==128?(s--,W()):(f=(f&7)<<18|(a&63)<<12|(u&63)<<6|o&63,f-=65536,i.push((f>>10&1023)+55296,(f&1023)+56320))):W(),8192<=i.length&&(l=me(l,i),i.length=0);s=me(l,i)}return L(e,r,s),!0},function(t,e,r){if(e=C(e,r),e!=null){var n=!1;if(n=n===void 0?!1:n,Sr){if(n&&/(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])/.test(e))throw Error("Found an unpaired surrogate");e=(ge||(ge=new TextEncoder)).encode(e)}else{for(var i=0,u=new Uint8Array(3*e.length),o=0;o<e.length;o++){var s=e.charCodeAt(o);if(128>s)u[i++]=s;else{if(2048>s)u[i++]=s>>6|192;else{if(55296<=s&&57343>=s){if(56319>=s&&o<e.length){var l=e.charCodeAt(++o);if(56320<=l&&57343>=l){s=1024*(s-55296)+l-56320+65536,u[i++]=s>>18|240,u[i++]=s>>12&63|128,u[i++]=s>>6&63|128,u[i++]=s&63|128;continue}else o--}if(n)throw Error("Found an unpaired surrogate");s=65533}u[i++]=s>>12|224,u[i++]=s>>6&63|128}u[i++]=s&63|128}}e=i===u.length?u:u.subarray(0,i)}X(t.h,8*r+2),X(t.h,e.length),K(t,t.h.end()),K(t,e)}}),Ke=ft(function(t,e,r,n,i){if(t.i!==2)return!1;e=Ue(e,r,n),r=t.h.j,n=it(t.h)>>>0;var u=t.h.h+n,o=u-r;if(0>=o&&(t.h.j=u,i(e,t,void 0,void 0,void 0),o=u-t.h.h),o)throw Error("Message parsing ended unexpectedly. Expected to read "+(n+" bytes, instead read "+(n-o)+" bytes, either the data ended unexpectedly or the message misreported its own length"));return t.h.h=u,t.h.j=r,!0},function(t,e,r,n,i){if(e=dt(e,n,r),e!=null)for(n=0;n<e.length;n++){var u=t;X(u.h,8*r+2);var o=u.h.end();K(u,o),o.push(u.i),u=o,i(e[n],t),o=t;var s=u.pop();for(s=o.i+o.h.length()-s;127<s;)u.push(s&127|128),s>>>=7,o.i++;u.push(s),o.i++}});function Yt(t){return function(e,r){t:{if(ht.length){var n=ht.pop();n.setOptions(r),Mt(n.h,e,r),e=n}else e=new Bt(e,r);try{var i=Xt(t),u=Ve(new i.P,e,i);break t}finally{i=e.h,i.i=null,i.m=!1,i.l=0,i.j=0,i.h=0,i.S=!1,e.l=-1,e.i=-1,100>ht.length&&ht.push(e)}u=void 0}return u}}function Kt(t){return function(){var e=new Rr;Xe(this,e,Vt(t)),K(e,e.h.end());for(var r=new Uint8Array(e.i),n=e.j,i=n.length,u=0,o=0;o<i;o++){var s=n[o];r.set(s,u),u+=s.length}return e.j=[r],r}}function Z(t){R.call(this,t)}J(Z,R);var Ze=[Z,1,Yr,2,N,3,Ye,4,Ye];Z.prototype.l=Kt(Ze);function Zt(t){R.call(this,t,-1,Kr)}J(Zt,R),Zt.prototype.addClassification=function(t,e){return Ue(this,1,Z,t,e),this};var Kr=[1],$e=Yt([Zt,1,Ke,Ze]);function $(t){R.call(this,t)}J($,R);var Qe=[$,1,N,2,N,3,N,4,N,5,N];$.prototype.l=Kt(Qe);function Je(t){R.call(this,t,-1,Zr)}J(Je,R);var Zr=[1],qe=Yt([Je,1,Ke,Qe]);function At(t){R.call(this,t)}J(At,R);var tr=[At,1,N,2,N,3,N,4,N,5,N,6,Xr],$r=Yt(tr);At.prototype.l=Kt(tr);function er(t,e,r){if(r=t.createShader(r===0?t.VERTEX_SHADER:t.FRAGMENT_SHADER),t.shaderSource(r,e),t.compileShader(r),!t.getShaderParameter(r,t.COMPILE_STATUS))throw Error(`Could not compile WebGL shader.
|
|
1
|
+
import{c as fr,g as dn}from"./index-4LS6c1x8.js";function yn(j,Q){for(var H=0;H<Q.length;H++){const z=Q[H];if(typeof z!="string"&&!Array.isArray(z)){for(const T in z)if(T!=="default"&&!(T in j)){const w=Object.getOwnPropertyDescriptor(z,T);w&&Object.defineProperty(j,T,w.get?w:{enumerable:!0,get:()=>z[T]})}}}return Object.freeze(Object.defineProperty(j,Symbol.toStringTag,{value:"Module"}))}var Jt={},ar;function mn(){return ar||(ar=1,(function(){var j;function Q(t){var e=0;return function(){return e<t.length?{done:!1,value:t[e++]}:{done:!0}}}var H=typeof Object.defineProperties=="function"?Object.defineProperty:function(t,e,r){return t==Array.prototype||t==Object.prototype||(t[e]=r.value),t};function z(t){t=[typeof globalThis=="object"&&globalThis,t,typeof window=="object"&&window,typeof self=="object"&&self,typeof fr=="object"&&fr];for(var e=0;e<t.length;++e){var r=t[e];if(r&&r.Math==Math)return r}throw Error("Cannot find global object")}var T=z(this);function w(t,e){if(e)t:{var r=T;t=t.split(".");for(var n=0;n<t.length-1;n++){var i=t[n];if(!(i in r))break t;r=r[i]}t=t[t.length-1],n=r[t],e=e(n),e!=n&&e!=null&&H(r,t,{configurable:!0,writable:!0,value:e})}}w("Symbol",function(t){function e(u){if(this instanceof e)throw new TypeError("Symbol is not a constructor");return new r(n+(u||"")+"_"+i++,u)}function r(u,o){this.h=u,H(this,"description",{configurable:!0,writable:!0,value:o})}if(t)return t;r.prototype.toString=function(){return this.h};var n="jscomp_symbol_"+(1e9*Math.random()>>>0)+"_",i=0;return e}),w("Symbol.iterator",function(t){if(t)return t;t=Symbol("Symbol.iterator");for(var e="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),r=0;r<e.length;r++){var n=T[e[r]];typeof n=="function"&&typeof n.prototype[t]!="function"&&H(n.prototype,t,{configurable:!0,writable:!0,value:function(){return hr(Q(this))}})}return t});function hr(t){return t={next:t},t[Symbol.iterator]=function(){return this},t}function F(t){var e=typeof Symbol<"u"&&Symbol.iterator&&t[Symbol.iterator];return e?e.call(t):{next:Q(t)}}function qt(t){if(!(t instanceof Array)){t=F(t);for(var e,r=[];!(e=t.next()).done;)r.push(e.value);t=r}return t}var pr=typeof Object.assign=="function"?Object.assign:function(t,e){for(var r=1;r<arguments.length;r++){var n=arguments[r];if(n)for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t};w("Object.assign",function(t){return t||pr});var vr=typeof Object.create=="function"?Object.create:function(t){function e(){}return e.prototype=t,new e},bt;if(typeof Object.setPrototypeOf=="function")bt=Object.setPrototypeOf;else{var Et;t:{var dr={a:!0},te={};try{te.__proto__=dr,Et=te.a;break t}catch{}Et=!1}bt=Et?function(t,e){if(t.__proto__=e,t.__proto__!==e)throw new TypeError(t+" is not extensible");return t}:null}var ee=bt;function J(t,e){if(t.prototype=vr(e.prototype),t.prototype.constructor=t,ee)ee(t,e);else for(var r in e)if(r!="prototype")if(Object.defineProperties){var n=Object.getOwnPropertyDescriptor(e,r);n&&Object.defineProperty(t,r,n)}else t[r]=e[r];t.ya=e.prototype}function _t(){this.m=!1,this.j=null,this.i=void 0,this.h=1,this.v=this.s=0,this.l=null}function Ot(t){if(t.m)throw new TypeError("Generator is already running");t.m=!0}_t.prototype.u=function(t){this.i=t};function Ft(t,e){t.l={ma:e,na:!0},t.h=t.s||t.v}_t.prototype.return=function(t){this.l={return:t},this.h=this.v};function x(t,e,r){return t.h=r,{value:e}}function yr(t){this.h=new _t,this.i=t}function mr(t,e){Ot(t.h);var r=t.h.j;return r?St(t,"return"in r?r.return:function(n){return{value:n,done:!0}},e,t.h.return):(t.h.return(e),q(t))}function St(t,e,r,n){try{var i=e.call(t.h.j,r);if(!(i instanceof Object))throw new TypeError("Iterator result "+i+" is not an object");if(!i.done)return t.h.m=!1,i;var u=i.value}catch(o){return t.h.j=null,Ft(t.h,o),q(t)}return t.h.j=null,n.call(t.h,u),q(t)}function q(t){for(;t.h.h;)try{var e=t.i(t.h);if(e)return t.h.m=!1,{value:e.value,done:!1}}catch(r){t.h.i=void 0,Ft(t.h,r)}if(t.h.m=!1,t.h.l){if(e=t.h.l,t.h.l=null,e.na)throw e.ma;return{value:e.return,done:!0}}return{value:void 0,done:!0}}function gr(t){this.next=function(e){return Ot(t.h),t.h.j?e=St(t,t.h.j.next,e,t.h.u):(t.h.u(e),e=q(t)),e},this.throw=function(e){return Ot(t.h),t.h.j?e=St(t,t.h.j.throw,e,t.h.u):(Ft(t.h,e),e=q(t)),e},this.return=function(e){return mr(t,e)},this[Symbol.iterator]=function(){return this}}function wr(t){function e(n){return t.next(n)}function r(n){return t.throw(n)}return new Promise(function(n,i){function u(o){o.done?n(o.value):Promise.resolve(o.value).then(e,r).then(u,i)}u(t.next())})}function O(t){return wr(new gr(new yr(t)))}w("Promise",function(t){function e(o){this.i=0,this.j=void 0,this.h=[],this.u=!1;var s=this.l();try{o(s.resolve,s.reject)}catch(l){s.reject(l)}}function r(){this.h=null}function n(o){return o instanceof e?o:new e(function(s){s(o)})}if(t)return t;r.prototype.i=function(o){if(this.h==null){this.h=[];var s=this;this.j(function(){s.m()})}this.h.push(o)};var i=T.setTimeout;r.prototype.j=function(o){i(o,0)},r.prototype.m=function(){for(;this.h&&this.h.length;){var o=this.h;this.h=[];for(var s=0;s<o.length;++s){var l=o[s];o[s]=null;try{l()}catch(f){this.l(f)}}}this.h=null},r.prototype.l=function(o){this.j(function(){throw o})},e.prototype.l=function(){function o(f){return function(a){l||(l=!0,f.call(s,a))}}var s=this,l=!1;return{resolve:o(this.I),reject:o(this.m)}},e.prototype.I=function(o){if(o===this)this.m(new TypeError("A Promise cannot resolve to itself"));else if(o instanceof e)this.L(o);else{t:switch(typeof o){case"object":var s=o!=null;break t;case"function":s=!0;break t;default:s=!1}s?this.F(o):this.s(o)}},e.prototype.F=function(o){var s=void 0;try{s=o.then}catch(l){this.m(l);return}typeof s=="function"?this.M(s,o):this.s(o)},e.prototype.m=function(o){this.v(2,o)},e.prototype.s=function(o){this.v(1,o)},e.prototype.v=function(o,s){if(this.i!=0)throw Error("Cannot settle("+o+", "+s+"): Promise already settled in state"+this.i);this.i=o,this.j=s,this.i===2&&this.K(),this.H()},e.prototype.K=function(){var o=this;i(function(){if(o.D()){var s=T.console;typeof s<"u"&&s.error(o.j)}},1)},e.prototype.D=function(){if(this.u)return!1;var o=T.CustomEvent,s=T.Event,l=T.dispatchEvent;return typeof l>"u"?!0:(typeof o=="function"?o=new o("unhandledrejection",{cancelable:!0}):typeof s=="function"?o=new s("unhandledrejection",{cancelable:!0}):(o=T.document.createEvent("CustomEvent"),o.initCustomEvent("unhandledrejection",!1,!0,o)),o.promise=this,o.reason=this.j,l(o))},e.prototype.H=function(){if(this.h!=null){for(var o=0;o<this.h.length;++o)u.i(this.h[o]);this.h=null}};var u=new r;return e.prototype.L=function(o){var s=this.l();o.T(s.resolve,s.reject)},e.prototype.M=function(o,s){var l=this.l();try{o.call(s,l.resolve,l.reject)}catch(f){l.reject(f)}},e.prototype.then=function(o,s){function l(h,c){return typeof h=="function"?function(v){try{f(h(v))}catch(d){a(d)}}:c}var f,a,p=new e(function(h,c){f=h,a=c});return this.T(l(o,f),l(s,a)),p},e.prototype.catch=function(o){return this.then(void 0,o)},e.prototype.T=function(o,s){function l(){switch(f.i){case 1:o(f.j);break;case 2:s(f.j);break;default:throw Error("Unexpected state: "+f.i)}}var f=this;this.h==null?u.i(l):this.h.push(l),this.u=!0},e.resolve=n,e.reject=function(o){return new e(function(s,l){l(o)})},e.race=function(o){return new e(function(s,l){for(var f=F(o),a=f.next();!a.done;a=f.next())n(a.value).T(s,l)})},e.all=function(o){var s=F(o),l=s.next();return l.done?n([]):new e(function(f,a){function p(v){return function(d){h[v]=d,c--,c==0&&f(h)}}var h=[],c=0;do h.push(void 0),c++,n(l.value).T(p(h.length-1),a),l=s.next();while(!l.done)})},e});function Ar(t,e){t instanceof String&&(t+="");var r=0,n=!1,i={next:function(){if(!n&&r<t.length){var u=r++;return{value:e(u,t[u]),done:!1}}return n=!0,{done:!0,value:void 0}}};return i[Symbol.iterator]=function(){return i},i}w("Array.prototype.keys",function(t){return t||function(){return Ar(this,function(e){return e})}}),w("Array.prototype.fill",function(t){return t||function(e,r,n){var i=this.length||0;for(0>r&&(r=Math.max(0,i+r)),(n==null||n>i)&&(n=i),n=Number(n),0>n&&(n=Math.max(0,i+n)),r=Number(r||0);r<n;r++)this[r]=e;return this}});function k(t){return t||Array.prototype.fill}w("Int8Array.prototype.fill",k),w("Uint8Array.prototype.fill",k),w("Uint8ClampedArray.prototype.fill",k),w("Int16Array.prototype.fill",k),w("Uint16Array.prototype.fill",k),w("Int32Array.prototype.fill",k),w("Uint32Array.prototype.fill",k),w("Float32Array.prototype.fill",k),w("Float64Array.prototype.fill",k),w("Object.is",function(t){return t||function(e,r){return e===r?e!==0||1/e===1/r:e!==e&&r!==r}}),w("Array.prototype.includes",function(t){return t||function(e,r){var n=this;n instanceof String&&(n=String(n));var i=n.length;for(r=r||0,0>r&&(r=Math.max(r+i,0));r<i;r++){var u=n[r];if(u===e||Object.is(u,e))return!0}return!1}}),w("String.prototype.includes",function(t){return t||function(e,r){if(this==null)throw new TypeError("The 'this' value for String.prototype.includes must not be null or undefined");if(e instanceof RegExp)throw new TypeError("First argument to String.prototype.includes must not be a regular expression");return this.indexOf(e,r||0)!==-1}});var Tt=this||self;function tt(t,e){t=t.split(".");var r=Tt;t[0]in r||typeof r.execScript>"u"||r.execScript("var "+t[0]);for(var n;t.length&&(n=t.shift());)t.length||e===void 0?r[n]&&r[n]!==Object.prototype[n]?r=r[n]:r=r[n]={}:r[n]=e}function re(t){var e;t:{if((e=Tt.navigator)&&(e=e.userAgent))break t;e=""}return e.indexOf(t)!=-1}var jr=Array.prototype.map?function(t,e){return Array.prototype.map.call(t,e,void 0)}:function(t,e){for(var r=t.length,n=Array(r),i=typeof t=="string"?t.split(""):t,u=0;u<r;u++)u in i&&(n[u]=e.call(void 0,i[u],u,t));return n},ne={},et=null;function xr(t){var e=t.length,r=3*e/4;r%3?r=Math.floor(r):"=.".indexOf(t[e-1])!=-1&&(r="=.".indexOf(t[e-2])!=-1?r-2:r-1);var n=new Uint8Array(r),i=0;return br(t,function(u){n[i++]=u}),i!==r?n.subarray(0,i):n}function br(t,e){function r(l){for(;n<t.length;){var f=t.charAt(n++),a=et[f];if(a!=null)return a;if(!/^[\s\xa0]*$/.test(f))throw Error("Unknown base64 encoding at char: "+f)}return l}ie();for(var n=0;;){var i=r(-1),u=r(0),o=r(64),s=r(64);if(s===64&&i===-1)break;e(i<<2|u>>4),o!=64&&(e(u<<4&240|o>>2),s!=64&&e(o<<6&192|s))}}function ie(){if(!et){et={};for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),e=["+/=","+/","-_=","-_.","-_"],r=0;5>r;r++){var n=t.concat(e[r].split(""));ne[r]=n;for(var i=0;i<n.length;i++){var u=n[i];et[u]===void 0&&(et[u]=i)}}}}var Rt=typeof Uint8Array<"u",oe=!(re("Trident")||re("MSIE"))&&typeof Tt.btoa=="function";function ue(t){if(!oe){var e;e===void 0&&(e=0),ie(),e=ne[e];for(var r=Array(Math.floor(t.length/3)),n=e[64]||"",i=0,u=0;i<t.length-2;i+=3){var o=t[i],s=t[i+1],l=t[i+2],f=e[o>>2];o=e[(o&3)<<4|s>>4],s=e[(s&15)<<2|l>>6],l=e[l&63],r[u++]=f+o+s+l}switch(f=0,l=n,t.length-i){case 2:f=t[i+1],l=e[(f&15)<<2]||n;case 1:t=t[i],r[u]=e[t>>2]+e[(t&3)<<4|f>>4]+l+n}return r.join("")}for(e="";10240<t.length;)e+=String.fromCharCode.apply(null,t.subarray(0,10240)),t=t.subarray(10240);return e+=String.fromCharCode.apply(null,t),btoa(e)}var se=RegExp("[-_.]","g");function Er(t){switch(t){case"-":return"+";case"_":return"/";case".":return"=";default:return""}}function le(t){if(!oe)return xr(t);se.test(t)&&(t=t.replace(se,Er)),t=atob(t);for(var e=new Uint8Array(t.length),r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}var fe;function Ut(){return fe||(fe=new Uint8Array(0))}var rt={},_r=typeof Uint8Array.prototype.slice=="function",b=0,S=0;function ae(t){var e=0>t;t=Math.abs(t);var r=t>>>0;t=Math.floor((t-r)/4294967296),e&&(r=F(ce(r,t)),e=r.next().value,t=r.next().value,r=e),b=r>>>0,S=t>>>0}var Or=typeof BigInt=="function";function ce(t,e){return e=~e,t?t=~t+1:e+=1,[t,e]}function he(t,e){this.i=t>>>0,this.h=e>>>0}function pe(t){if(!t)return ve||(ve=new he(0,0));if(!/^-?\d+$/.test(t))return null;if(16>t.length)ae(Number(t));else if(Or)t=BigInt(t),b=Number(t&BigInt(4294967295))>>>0,S=Number(t>>BigInt(32)&BigInt(4294967295));else{var e=+(t[0]==="-");S=b=0;for(var r=t.length,n=e,i=(r-e)%6+e;i<=r;n=i,i+=6)n=Number(t.slice(n,i)),S*=1e6,b=1e6*b+n,4294967296<=b&&(S+=b/4294967296|0,b%=4294967296);e&&(e=F(ce(b,S)),t=e.next().value,e=e.next().value,b=t,S=e)}return new he(b,S)}var ve;function de(t,e){return Error("Invalid wire type: "+t+" (at position "+e+")")}function Pt(){return Error("Failed to read varint, encoding is invalid.")}function ye(t,e){return Error("Tried to read past the end of the data "+e+" > "+t)}function W(){throw Error("Invalid UTF8")}function me(t,e){return e=String.fromCharCode.apply(null,e),t==null?e:t+e}var at=void 0,Ct,Fr=typeof TextDecoder<"u",ge,Sr=typeof TextEncoder<"u",we;function Ae(t){if(t!==rt)throw Error("illegal external caller")}function nt(t,e){if(Ae(e),this.V=t,t!=null&&t.length===0)throw Error("ByteString should be constructed with non-empty values")}function Nt(){return we||(we=new nt(null,rt))}function je(t){Ae(rt);var e=t.V;return e=e==null||Rt&&e!=null&&e instanceof Uint8Array?e:typeof e=="string"?le(e):null,e==null?e:t.V=e}function Tr(t){if(typeof t=="string")return{buffer:le(t),C:!1};if(Array.isArray(t))return{buffer:new Uint8Array(t),C:!1};if(t.constructor===Uint8Array)return{buffer:t,C:!1};if(t.constructor===ArrayBuffer)return{buffer:new Uint8Array(t),C:!1};if(t.constructor===nt)return{buffer:je(t)||Ut(),C:!0};if(t instanceof Uint8Array)return{buffer:new Uint8Array(t.buffer,t.byteOffset,t.byteLength),C:!1};throw Error("Type not convertible to a Uint8Array, expected a Uint8Array, an ArrayBuffer, a base64 encoded string, a ByteString or an Array of numbers")}function xe(t,e){this.i=null,this.m=!1,this.h=this.j=this.l=0,Mt(this,t,e)}function Mt(t,e,r){r=r===void 0?{}:r,t.S=r.S===void 0?!1:r.S,e&&(e=Tr(e),t.i=e.buffer,t.m=e.C,t.l=0,t.j=t.i.length,t.h=t.l)}xe.prototype.reset=function(){this.h=this.l};function V(t,e){if(t.h=e,e>t.j)throw ye(t.j,e)}function it(t){var e=t.i,r=t.h,n=e[r++],i=n&127;if(n&128&&(n=e[r++],i|=(n&127)<<7,n&128&&(n=e[r++],i|=(n&127)<<14,n&128&&(n=e[r++],i|=(n&127)<<21,n&128&&(n=e[r++],i|=n<<28,n&128&&e[r++]&128&&e[r++]&128&&e[r++]&128&&e[r++]&128&&e[r++]&128)))))throw Pt();return V(t,r),i}function be(t,e){if(0>e)throw Error("Tried to read a negative byte length: "+e);var r=t.h,n=r+e;if(n>t.j)throw ye(e,t.j-r);return t.h=n,r}var Ee=[];function Lt(){this.h=[]}Lt.prototype.length=function(){return this.h.length},Lt.prototype.end=function(){var t=this.h;return this.h=[],t};function _e(t,e,r){for(;0<r||127<e;)t.h.push(e&127|128),e=(e>>>7|r<<25)>>>0,r>>>=7;t.h.push(e)}function X(t,e){for(;127<e;)t.h.push(e&127|128),e>>>=7;t.h.push(e)}function Bt(t,e){if(Ee.length){var r=Ee.pop();Mt(r,t,e),t=r}else t=new xe(t,e);this.h=t,this.j=this.h.h,this.i=this.l=-1,this.setOptions(e)}Bt.prototype.setOptions=function(t){t=t===void 0?{}:t,this.ca=t.ca===void 0?!1:t.ca},Bt.prototype.reset=function(){this.h.reset(),this.j=this.h.h,this.i=this.l=-1};function Oe(t){var e=t.h;if(e.h==e.j)return!1;t.j=t.h.h;var r=it(t.h)>>>0;if(e=r>>>3,r&=7,!(0<=r&&5>=r))throw de(r,t.j);if(1>e)throw Error("Invalid field number: "+e+" (at position "+t.j+")");return t.l=e,t.i=r,!0}function ct(t){switch(t.i){case 0:if(t.i!=0)ct(t);else t:{t=t.h;for(var e=t.h,r=e+10,n=t.i;e<r;)if((n[e++]&128)===0){V(t,e);break t}throw Pt()}break;case 1:t=t.h,V(t,t.h+8);break;case 2:t.i!=2?ct(t):(e=it(t.h)>>>0,t=t.h,V(t,t.h+e));break;case 5:t=t.h,V(t,t.h+4);break;case 3:e=t.l;do{if(!Oe(t))throw Error("Unmatched start-group tag: stream EOF");if(t.i==4){if(t.l!=e)throw Error("Unmatched end-group tag");break}ct(t)}while(!0);break;default:throw de(t.i,t.j)}}var ht=[];function Rr(){this.j=[],this.i=0,this.h=new Lt}function K(t,e){e.length!==0&&(t.j.push(e),t.i+=e.length)}function Ur(t,e){if(e=e.R){K(t,t.h.end());for(var r=0;r<e.length;r++)K(t,je(e[r])||Ut())}}var I=typeof Symbol=="function"&&typeof Symbol()=="symbol"?Symbol():void 0;function Y(t,e){return I?t[I]|=e:t.A!==void 0?t.A|=e:(Object.defineProperties(t,{A:{value:e,configurable:!0,writable:!0,enumerable:!1}}),e)}function Fe(t,e){I?t[I]&&(t[I]&=~e):t.A!==void 0&&(t.A&=~e)}function A(t){var e;return I?e=t[I]:e=t.A,e??0}function M(t,e){I?t[I]=e:t.A!==void 0?t.A=e:Object.defineProperties(t,{A:{value:e,configurable:!0,writable:!0,enumerable:!1}})}function Dt(t){return Y(t,1),t}function Pr(t,e){M(e,(t|0)&-51)}function pt(t,e){M(e,(t|18)&-41)}var kt={};function vt(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)&&t.constructor===Object}var ot,Se=[];M(Se,23),ot=Object.freeze(Se);function It(t){if(A(t.o)&2)throw Error("Cannot mutate an immutable Message")}function Gt(t){var e=t.length;(e=e?t[e-1]:void 0)&&vt(e)?e.g=1:(e={},t.push((e.g=1,e)))}function Te(t){var e=t.i+t.G;return t.B||(t.B=t.o[e]={})}function C(t,e){return e===-1?null:e>=t.i?t.B?t.B[e]:void 0:t.o[e+t.G]}function L(t,e,r,n){It(t),ut(t,e,r,n)}function ut(t,e,r,n){t.j&&(t.j=void 0),e>=t.i||n?Te(t)[e]=r:(t.o[e+t.G]=r,(t=t.B)&&e in t&&delete t[e])}function Ht(t,e,r,n){var i=C(t,e);Array.isArray(i)||(i=ot);var u=A(i);if(u&1||Dt(i),n)u&2||Y(i,2),r&1||Object.freeze(i);else{n=!(r&2);var o=u&2;r&1||!o?n&&u&16&&!o&&Fe(i,16):(i=Dt(Array.prototype.slice.call(i)),ut(t,e,i))}return i}function zt(t,e){var r=C(t,e),n=r==null?r:typeof r=="number"||r==="NaN"||r==="Infinity"||r==="-Infinity"?Number(r):void 0;return n!=null&&n!==r&&ut(t,e,n),n}function Re(t,e,r,n,i){t.h||(t.h={});var u=t.h[r],o=Ht(t,r,3,i);if(!u){var s=o;u=[];var l=!!(A(t.o)&16);o=!!(A(s)&2);var f=s;!i&&o&&(s=Array.prototype.slice.call(s));for(var a=o,p=0;p<s.length;p++){var h=s[p],c=e,v=!1;if(v=v===void 0?!1:v,h=Array.isArray(h)?new c(h):v?new c:void 0,h!==void 0){c=h.o;var d=v=A(c);o&&(d|=2),l&&(d|=16),d!=v&&M(c,d),c=d,a=a||!!(2&c),u.push(h)}}return t.h[r]=u,l=A(s),e=l|33,e=a?e&-9:e|8,l!=e&&(a=s,Object.isFrozen(a)&&(a=Array.prototype.slice.call(a)),M(a,e),s=a),f!==s&&ut(t,r,s),(i||n&&o)&&Y(u,2),n&&Object.freeze(u),u}return i||(i=Object.isFrozen(u),n&&!i?Object.freeze(u):!n&&i&&(u=Array.prototype.slice.call(u),t.h[r]=u)),u}function dt(t,e,r){var n=!!(A(t.o)&2);if(e=Re(t,e,r,n,n),t=Ht(t,r,3,n),!(n||A(t)&8)){for(n=0;n<e.length;n++){if(r=e[n],A(r.o)&2){var i=Le(r,!1);i.j=r}else i=r;r!==i&&(e[n]=i,t[n]=i.o)}Y(t,8)}return e}function B(t,e,r){if(r!=null&&typeof r!="number")throw Error("Value of float/double field must be a number|null|undefined, found "+typeof r+": "+r);L(t,e,r)}function Ue(t,e,r,n,i){It(t);var u=Re(t,r,e,!1,!1);return r=n??new r,t=Ht(t,e,2,!1),i!=null?(u.splice(i,0,r),t.splice(i,0,r.o)):(u.push(r),t.push(r.o)),r.C()&&Fe(t,8),r}function yt(t,e){return t??e}function D(t,e,r){return r=r===void 0?0:r,yt(zt(t,e),r)}var mt;function Cr(t){switch(typeof t){case"number":return isFinite(t)?t:String(t);case"object":if(t)if(Array.isArray(t)){if((A(t)&128)!==0)return t=Array.prototype.slice.call(t),Gt(t),t}else{if(Rt&&t!=null&&t instanceof Uint8Array)return ue(t);if(t instanceof nt){var e=t.V;return e==null?"":typeof e=="string"?e:t.V=ue(e)}}}return t}function Pe(t,e,r,n){if(t!=null){if(Array.isArray(t))t=Wt(t,e,r,n!==void 0);else if(vt(t)){var i={},u;for(u in t)i[u]=Pe(t[u],e,r,n);t=i}else t=e(t,n);return t}}function Wt(t,e,r,n){var i=A(t);n=n?!!(i&16):void 0,t=Array.prototype.slice.call(t);for(var u=0;u<t.length;u++)t[u]=Pe(t[u],e,r,n);return r(i,t),t}function Nr(t){return t.ja===kt?t.toJSON():Cr(t)}function Mr(t,e){t&128&&Gt(e)}function Ce(t,e,r){if(r=r===void 0?pt:r,t!=null){if(Rt&&t instanceof Uint8Array)return t.length?new nt(new Uint8Array(t),rt):Nt();if(Array.isArray(t)){var n=A(t);return n&2?t:e&&!(n&32)&&(n&16||n===0)?(M(t,n|2),t):(t=Wt(t,Ce,n&4?pt:r,!0),e=A(t),e&4&&e&2&&Object.freeze(t),t)}return t.ja===kt?Me(t):t}}function Ne(t,e,r,n,i,u,o){if(t=t.h&&t.h[r]){if(n=A(t),n&2?n=t:(u=jr(t,Me),pt(n,u),Object.freeze(u),n=u),It(e),o=n==null?ot:Dt([]),n!=null){for(u=!!n.length,t=0;t<n.length;t++){var s=n[t];u=u&&!(A(s.o)&2),o[t]=s.o}u=(u?8:0)|1,t=A(o),(t&u)!==u&&(Object.isFrozen(o)&&(o=Array.prototype.slice.call(o)),M(o,t|u)),e.h||(e.h={}),e.h[r]=n}else e.h&&(e.h[r]=void 0);ut(e,r,o,i)}else L(e,r,Ce(n,u,o),i)}function Me(t){return A(t.o)&2||(t=Le(t,!0),Y(t.o,2)),t}function Le(t,e){var r=t.o,n=[];Y(n,16);var i=t.constructor.h;if(i&&n.push(i),i=t.B,i){n.length=r.length,n.fill(void 0,n.length,r.length);var u={};n[n.length-1]=u}(A(r)&128)!==0&&Gt(n),e=e||t.C()?pt:Pr,u=t.constructor,mt=n,n=new u(n),mt=void 0,t.R&&(n.R=t.R.slice()),u=!!(A(r)&16);for(var o=i?r.length-1:r.length,s=0;s<o;s++)Ne(t,n,s-t.G,r[s],!1,u,e);if(i)for(var l in i)Ne(t,n,+l,i[l],!0,u,e);return n}function R(t,e,r){t==null&&(t=mt),mt=void 0;var n=this.constructor.i||0,i=0<n,u=this.constructor.h,o=!1;if(t==null){t=u?[u]:[];var s=48,l=!0;i&&(n=0,s|=128),M(t,s)}else{if(!Array.isArray(t)||u&&u!==t[0])throw Error();var f=s=Y(t,0);if((l=(16&f)!==0)&&((o=(32&f)!==0)||(f|=32)),i){if(128&f)n=0;else if(0<t.length){var a=t[t.length-1];if(vt(a)&&"g"in a){n=0,f|=128,delete a.g;var p=!0,h;for(h in a){p=!1;break}p&&t.pop()}}}else if(128&f)throw Error();s!==f&&M(t,f)}this.G=(u?0:-1)-n,this.h=void 0,this.o=t;t:{if(u=this.o.length,n=u-1,u&&(u=this.o[n],vt(u))){this.B=u,this.i=n-this.G;break t}e!==void 0&&-1<e?(this.i=Math.max(e,n+1-this.G),this.B=void 0):this.i=Number.MAX_VALUE}if(!i&&this.B&&"g"in this.B)throw Error('Unexpected "g" flag in sparse object of message that is not a group type.');if(r){e=l&&!o&&!0,i=this.i;var c;for(l=0;l<r.length;l++)o=r[l],o<i?(o+=this.G,(n=t[o])?Be(n,e):t[o]=ot):(c||(c=Te(this)),(n=c[o])?Be(n,e):c[o]=ot)}}R.prototype.toJSON=function(){return Wt(this.o,Nr,Mr)},R.prototype.C=function(){return!!(A(this.o)&2)};function Be(t,e){if(Array.isArray(t)){var r=A(t),n=1;!e||r&2||(n|=16),(r&n)!==n&&M(t,r|n)}}R.prototype.ja=kt,R.prototype.toString=function(){return this.o.toString()};function De(t,e,r){if(r){var n={},i;for(i in r){var u=r[i],o=u.qa;o||(n.J=u.wa||u.oa.W,u.ia?(n.aa=ze(u.ia),o=(function(s){return function(l,f,a){return s.J(l,f,a,s.aa)}})(n)):u.ka?(n.Z=We(u.da.P,u.ka),o=(function(s){return function(l,f,a){return s.J(l,f,a,s.Z)}})(n)):o=n.J,u.qa=o),o(e,t,u.da),n={J:n.J,aa:n.aa,Z:n.Z}}}Ur(e,t)}var gt=Symbol();function ke(t,e,r){return t[gt]||(t[gt]=function(n,i){return e(n,i,r)})}function Ie(t){var e=t[gt];if(!e){var r=Xt(t);e=function(n,i){return Ve(n,i,r)},t[gt]=e}return e}function Lr(t){var e=t.ia;if(e)return Ie(e);if(e=t.va)return ke(t.da.P,e,t.ka)}function Br(t){var e=Lr(t),r=t.da,n=t.oa.U;return e?function(i,u){return n(i,u,r,e)}:function(i,u){return n(i,u,r)}}function Ge(t,e){var r=t[e];return typeof r=="function"&&r.length===0&&(r=r(),t[e]=r),Array.isArray(r)&&(lt in r||st in r||0<r.length&&typeof r[0]=="function")?r:void 0}function He(t,e,r,n,i,u){e.P=t[0];var o=1;if(t.length>o&&typeof t[o]!="number"){var s=t[o++];r(e,s)}for(;o<t.length;){r=t[o++];for(var l=o+1;l<t.length&&typeof t[l]!="number";)l++;switch(s=t[o++],l-=o,l){case 0:n(e,r,s);break;case 1:(l=Ge(t,o))?(o++,i(e,r,s,l)):n(e,r,s,t[o++]);break;case 2:l=o++,l=Ge(t,l),i(e,r,s,l,t[o++]);break;case 3:u(e,r,s,t[o++],t[o++],t[o++]);break;case 4:u(e,r,s,t[o++],t[o++],t[o++],t[o++]);break;default:throw Error("unexpected number of binary field arguments: "+l)}}return e}var wt=Symbol();function ze(t){var e=t[wt];if(!e){var r=Vt(t);e=function(n,i){return Xe(n,i,r)},t[wt]=e}return e}function We(t,e){var r=t[wt];return r||(r=function(n,i){return De(n,i,e)},t[wt]=r),r}var st=Symbol();function Dr(t,e){t.push(e)}function kr(t,e,r){t.push(e,r.W)}function Ir(t,e,r,n){var i=ze(n),u=Vt(n).P,o=r.W;t.push(e,function(s,l,f){return o(s,l,f,u,i)})}function Gr(t,e,r,n,i,u){var o=We(n,u),s=r.W;t.push(e,function(l,f,a){return s(l,f,a,n,o)})}function Vt(t){var e=t[st];return e||(e=He(t,t[st]=[],Dr,kr,Ir,Gr),lt in t&&st in t&&(t.length=0),e)}var lt=Symbol();function Hr(t,e){t[0]=e}function zr(t,e,r,n){var i=r.U;t[e]=n?function(u,o,s){return i(u,o,s,n)}:i}function Wr(t,e,r,n,i){var u=r.U,o=Ie(n),s=Xt(n).P;t[e]=function(l,f,a){return u(l,f,a,s,o,i)}}function Vr(t,e,r,n,i,u,o){var s=r.U,l=ke(n,i,u);t[e]=function(f,a,p){return s(f,a,p,n,l,o)}}function Xt(t){var e=t[lt];return e||(e=He(t,t[lt]={},Hr,zr,Wr,Vr),lt in t&&st in t&&(t.length=0),e)}function Ve(t,e,r){for(;Oe(e)&&e.i!=4;){var n=e.l,i=r[n];if(!i){var u=r[0];u&&(u=u[n])&&(i=r[n]=Br(u))}if(!i||!i(e,t,n)){i=e,n=t,u=i.j,ct(i);var o=i;if(!o.ca){if(i=o.h.h-u,o.h.h=u,o=o.h,i==0)i=Nt();else{if(u=be(o,i),o.S&&o.m)i=o.i.subarray(u,u+i);else{o=o.i;var s=u;i=u+i,i=s===i?Ut():_r?o.slice(s,i):new Uint8Array(o.subarray(s,i))}i=i.length==0?Nt():new nt(i,rt)}(u=n.R)?u.push(i):n.R=[i]}}}return t}function Xe(t,e,r){for(var n=r.length,i=n%2==1,u=i?1:0;u<n;u+=2)(0,r[u+1])(e,t,r[u]);De(t,e,i?r[0]:void 0)}function ft(t,e){return{U:t,W:e}}var N=ft(function(t,e,r){if(t.i!==5)return!1;t=t.h;var n=t.i,i=t.h,u=n[i],o=n[i+1],s=n[i+2];return n=n[i+3],V(t,t.h+4),o=(u<<0|o<<8|s<<16|n<<24)>>>0,t=2*(o>>31)+1,u=o>>>23&255,o&=8388607,L(e,r,u==255?o?NaN:1/0*t:u==0?t*Math.pow(2,-149)*o:t*Math.pow(2,u-150)*(o+Math.pow(2,23))),!0},function(t,e,r){if(e=zt(e,r),e!=null){X(t.h,8*r+5),t=t.h;var n=+e;n===0?0<1/n?b=S=0:(S=0,b=2147483648):isNaN(n)?(S=0,b=2147483647):(n=(r=0>n?-2147483648:0)?-n:n,34028234663852886e22<n?(S=0,b=(r|2139095040)>>>0):11754943508222875e-54>n?(n=Math.round(n/Math.pow(2,-149)),S=0,b=(r|n)>>>0):(e=Math.floor(Math.log(n)/Math.LN2),n*=Math.pow(2,-e),n=Math.round(8388608*n),16777216<=n&&++e,S=0,b=(r|e+127<<23|n&8388607)>>>0)),r=b,t.h.push(r>>>0&255),t.h.push(r>>>8&255),t.h.push(r>>>16&255),t.h.push(r>>>24&255)}}),Xr=ft(function(t,e,r){if(t.i!==0)return!1;var n=t.h,i=0,u=t=0,o=n.i,s=n.h;do{var l=o[s++];i|=(l&127)<<u,u+=7}while(32>u&&l&128);for(32<u&&(t|=(l&127)>>4),u=3;32>u&&l&128;u+=7)l=o[s++],t|=(l&127)<<u;if(V(n,s),128>l)n=i>>>0,l=t>>>0,(t=l&2147483648)&&(n=~n+1>>>0,l=~l>>>0,n==0&&(l=l+1>>>0)),n=4294967296*l+(n>>>0);else throw Pt();return L(e,r,t?-n:n),!0},function(t,e,r){e=C(e,r),e!=null&&(typeof e=="string"&&pe(e),e!=null&&(X(t.h,8*r),typeof e=="number"?(t=t.h,ae(e),_e(t,b,S)):(r=pe(e),_e(t.h,r.i,r.h))))}),Yr=ft(function(t,e,r){return t.i!==0?!1:(L(e,r,it(t.h)),!0)},function(t,e,r){if(e=C(e,r),e!=null&&e!=null)if(X(t.h,8*r),t=t.h,r=e,0<=r)X(t,r);else{for(e=0;9>e;e++)t.h.push(r&127|128),r>>=7;t.h.push(1)}}),Ye=ft(function(t,e,r){if(t.i!==2)return!1;var n=it(t.h)>>>0;t=t.h;var i=be(t,n);if(t=t.i,Fr){var u=t,o;(o=Ct)||(o=Ct=new TextDecoder("utf-8",{fatal:!0})),t=i+n,u=i===0&&t===u.length?u:u.subarray(i,t);try{var s=o.decode(u)}catch(p){if(at===void 0){try{o.decode(new Uint8Array([128]))}catch{}try{o.decode(new Uint8Array([97])),at=!0}catch{at=!1}}throw!at&&(Ct=void 0),p}}else{s=i,n=s+n,i=[];for(var l=null,f,a;s<n;)f=t[s++],128>f?i.push(f):224>f?s>=n?W():(a=t[s++],194>f||(a&192)!==128?(s--,W()):i.push((f&31)<<6|a&63)):240>f?s>=n-1?W():(a=t[s++],(a&192)!==128||f===224&&160>a||f===237&&160<=a||((u=t[s++])&192)!==128?(s--,W()):i.push((f&15)<<12|(a&63)<<6|u&63)):244>=f?s>=n-2?W():(a=t[s++],(a&192)!==128||(f<<28)+(a-144)>>30!==0||((u=t[s++])&192)!==128||((o=t[s++])&192)!==128?(s--,W()):(f=(f&7)<<18|(a&63)<<12|(u&63)<<6|o&63,f-=65536,i.push((f>>10&1023)+55296,(f&1023)+56320))):W(),8192<=i.length&&(l=me(l,i),i.length=0);s=me(l,i)}return L(e,r,s),!0},function(t,e,r){if(e=C(e,r),e!=null){var n=!1;if(n=n===void 0?!1:n,Sr){if(n&&/(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])/.test(e))throw Error("Found an unpaired surrogate");e=(ge||(ge=new TextEncoder)).encode(e)}else{for(var i=0,u=new Uint8Array(3*e.length),o=0;o<e.length;o++){var s=e.charCodeAt(o);if(128>s)u[i++]=s;else{if(2048>s)u[i++]=s>>6|192;else{if(55296<=s&&57343>=s){if(56319>=s&&o<e.length){var l=e.charCodeAt(++o);if(56320<=l&&57343>=l){s=1024*(s-55296)+l-56320+65536,u[i++]=s>>18|240,u[i++]=s>>12&63|128,u[i++]=s>>6&63|128,u[i++]=s&63|128;continue}else o--}if(n)throw Error("Found an unpaired surrogate");s=65533}u[i++]=s>>12|224,u[i++]=s>>6&63|128}u[i++]=s&63|128}}e=i===u.length?u:u.subarray(0,i)}X(t.h,8*r+2),X(t.h,e.length),K(t,t.h.end()),K(t,e)}}),Ke=ft(function(t,e,r,n,i){if(t.i!==2)return!1;e=Ue(e,r,n),r=t.h.j,n=it(t.h)>>>0;var u=t.h.h+n,o=u-r;if(0>=o&&(t.h.j=u,i(e,t,void 0,void 0,void 0),o=u-t.h.h),o)throw Error("Message parsing ended unexpectedly. Expected to read "+(n+" bytes, instead read "+(n-o)+" bytes, either the data ended unexpectedly or the message misreported its own length"));return t.h.h=u,t.h.j=r,!0},function(t,e,r,n,i){if(e=dt(e,n,r),e!=null)for(n=0;n<e.length;n++){var u=t;X(u.h,8*r+2);var o=u.h.end();K(u,o),o.push(u.i),u=o,i(e[n],t),o=t;var s=u.pop();for(s=o.i+o.h.length()-s;127<s;)u.push(s&127|128),s>>>=7,o.i++;u.push(s),o.i++}});function Yt(t){return function(e,r){t:{if(ht.length){var n=ht.pop();n.setOptions(r),Mt(n.h,e,r),e=n}else e=new Bt(e,r);try{var i=Xt(t),u=Ve(new i.P,e,i);break t}finally{i=e.h,i.i=null,i.m=!1,i.l=0,i.j=0,i.h=0,i.S=!1,e.l=-1,e.i=-1,100>ht.length&&ht.push(e)}u=void 0}return u}}function Kt(t){return function(){var e=new Rr;Xe(this,e,Vt(t)),K(e,e.h.end());for(var r=new Uint8Array(e.i),n=e.j,i=n.length,u=0,o=0;o<i;o++){var s=n[o];r.set(s,u),u+=s.length}return e.j=[r],r}}function Z(t){R.call(this,t)}J(Z,R);var Ze=[Z,1,Yr,2,N,3,Ye,4,Ye];Z.prototype.l=Kt(Ze);function Zt(t){R.call(this,t,-1,Kr)}J(Zt,R),Zt.prototype.addClassification=function(t,e){return Ue(this,1,Z,t,e),this};var Kr=[1],$e=Yt([Zt,1,Ke,Ze]);function $(t){R.call(this,t)}J($,R);var Qe=[$,1,N,2,N,3,N,4,N,5,N];$.prototype.l=Kt(Qe);function Je(t){R.call(this,t,-1,Zr)}J(Je,R);var Zr=[1],qe=Yt([Je,1,Ke,Qe]);function At(t){R.call(this,t)}J(At,R);var tr=[At,1,N,2,N,3,N,4,N,5,N,6,Xr],$r=Yt(tr);At.prototype.l=Kt(tr);function er(t,e,r){if(r=t.createShader(r===0?t.VERTEX_SHADER:t.FRAGMENT_SHADER),t.shaderSource(r,e),t.compileShader(r),!t.getShaderParameter(r,t.COMPILE_STATUS))throw Error(`Could not compile WebGL shader.
|
|
2
2
|
|
|
3
3
|
`+t.getShaderInfoLog(r));return r}function rr(t){return dt(t,Z,1).map(function(e){var r=C(e,1);return{index:r??0,score:D(e,2),label:C(e,3)!=null?yt(C(e,3),""):void 0,displayName:C(e,4)!=null?yt(C(e,4),""):void 0}})}function nr(t){return{x:D(t,1),y:D(t,2),z:D(t,3),visibility:zt(t,4)!=null?D(t,4):void 0}}function ir(t){return t.map(function(e){return dt(qe(e),$,1).map(nr)})}function $t(t,e){this.i=t,this.h=e,this.m=0}function or(t,e,r){return Qr(t,e),typeof t.h.canvas.transferToImageBitmap=="function"?Promise.resolve(t.h.canvas.transferToImageBitmap()):r?Promise.resolve(t.h.canvas):typeof createImageBitmap=="function"?createImageBitmap(t.h.canvas):(t.j===void 0&&(t.j=document.createElement("canvas")),new Promise(function(n){t.j.height=t.h.canvas.height,t.j.width=t.h.canvas.width,t.j.getContext("2d",{}).drawImage(t.h.canvas,0,0,t.h.canvas.width,t.h.canvas.height),n(t.j)}))}function Qr(t,e){var r=t.h;if(t.s===void 0){var n=er(r,`
|
|
4
4
|
attribute vec2 aVertex;
|