agent-loadout 0.1.0 → 1.0.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 +84 -51
- package/dist/catalog-PTLCQEDW.js +17 -0
- package/dist/chunk-JYIPAISH.js +723 -0
- package/dist/index.js +877 -517
- package/package.json +7 -4
package/README.md
CHANGED
|
@@ -6,9 +6,12 @@
|
|
|
6
6
|
npx agent-loadout
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
+
<img width="1536" height="1024" alt="One command to load out your terminal for agentic coding." src="https://github.com/user-attachments/assets/7490564f-0e24-479e-b8d8-1fb0bb468267" />
|
|
10
|
+
|
|
11
|
+
|
|
9
12
|
## Why this exists
|
|
10
13
|
|
|
11
|
-
AI coding agents are only as good as the tools on the machine. A fresh
|
|
14
|
+
AI coding agents are only as good as the tools on the machine. A fresh macOS, Linux, or Windows install has few of them. `agent-loadout` installs a curated set of 50 terminal tools — the ones that actually matter for agentic workflows.
|
|
12
15
|
|
|
13
16
|
Pick presets, toggle individual tools, and get a verified installation with skill files your agent can read.
|
|
14
17
|
|
|
@@ -18,70 +21,83 @@ Pick presets, toggle individual tools, and get a verified installation with skil
|
|
|
18
21
|
|
|
19
22
|
| Tool | Package | Description |
|
|
20
23
|
|------|---------|-------------|
|
|
21
|
-
| [ripgrep](https://github.com/BurntSushi/ripgrep) | `ripgrep` |
|
|
22
|
-
| [fd](https://github.com/sharkdp/fd) | `fd` |
|
|
23
|
-
| [jq](https://github.com/jqlang/jq) | `jq` | JSON
|
|
24
|
-
| [yq](https://github.com/mikefarah/yq) | `yq` | YAML
|
|
25
|
-
| [bat](https://github.com/sharkdp/bat) | `bat` |
|
|
26
|
-
| [tree](https://en.wikipedia.org/wiki/Tree_(command)) | `tree` |
|
|
27
|
-
| [GitHub CLI](https://cli.github.com) | `gh` | PRs, issues, releases
|
|
28
|
-
| [fzf](https://github.com/junegunn/fzf) | `fzf` |
|
|
29
|
-
| [xh](https://github.com/ducaale/xh) | `xh` | Friendly HTTP client |
|
|
30
|
-
|
|
31
|
-
### Agent (
|
|
24
|
+
| [ripgrep](https://github.com/BurntSushi/ripgrep) | `ripgrep` | Fastest code search available — 10-100x faster than grep. Agents use it constantly to locate symbols, patterns, and references across large codebases without reading every file. Respects `.gitignore` by default, so results are always relevant. |
|
|
25
|
+
| [fd](https://github.com/sharkdp/fd) | `fd` | Modern `find` replacement that's faster and has sane defaults. Agents use it to enumerate files by name, extension, or pattern without learning arcane `find` flags. Output is clean and scriptable. |
|
|
26
|
+
| [jq](https://github.com/jqlang/jq) | `jq` | The standard tool for slicing and transforming JSON from APIs, config files, and CLI output. Agents can pipe any JSON through `jq` to extract exactly the field they need without writing a script. Supports complex queries, filters, and reshaping in a single expression. |
|
|
27
|
+
| [yq](https://github.com/mikefarah/yq) | `yq` | Does for YAML what `jq` does for JSON — reads, writes, and transforms YAML/TOML/XML. Agents working with CI configs, Kubernetes manifests, or any config-heavy repo rely on it to make targeted edits without touching surrounding structure. |
|
|
28
|
+
| [bat](https://github.com/sharkdp/bat) | `bat` | `cat` with syntax highlighting, line numbers, and git diff markers. Agents use it to display file contents with context, making it easier to reason about where to make changes. Particularly useful when presenting code to users. |
|
|
29
|
+
| [tree](https://en.wikipedia.org/wiki/Tree_(command)) | `tree` | Prints a directory as an ASCII tree — one of the most token-efficient ways for an agent to understand project structure. Faster than listing files recursively, and the output maps directly to mental models of a codebase. |
|
|
30
|
+
| [GitHub CLI](https://cli.github.com) | `gh` | Full GitHub API access from the terminal — PRs, issues, releases, workflows, and more. Agents use it to open PRs, check CI status, comment on issues, and create releases without leaving the shell. |
|
|
31
|
+
| [fzf](https://github.com/junegunn/fzf) | `fzf` | Interactive fuzzy finder that makes any list selectable. Agents can pipe file lists, git branches, or command history through `fzf` to let users pick without building custom UI. Also integrates directly into shell history and file completion. |
|
|
32
|
+
| [xh](https://github.com/ducaale/xh) | `xh` | Friendly, fast HTTP client with sensible defaults and coloured output. Agents use it to hit REST APIs, test webhooks, or inspect responses without curl's verbose flag soup. JSON bodies are handled cleanly. |
|
|
33
|
+
|
|
34
|
+
### Agent (16 tools) — on by default
|
|
32
35
|
|
|
33
36
|
| Tool | Package | Description |
|
|
34
37
|
|------|---------|-------------|
|
|
35
|
-
| [shellcheck](https://github.com/koalaman/shellcheck) | `shellcheck` | Static
|
|
36
|
-
| [ast-grep](https://github.com/ast-grep/ast-grep) | `ast-grep` | Structural code search
|
|
37
|
-
| [just](https://github.com/casey/just) | `just` |
|
|
38
|
-
| [grex](https://github.com/pemistahl/grex) | `grex` |
|
|
39
|
-
| [knip](https://github.com/webpro-nl/knip) | `knip` |
|
|
40
|
-
| [sd](https://github.com/chmln/sd) | `sd` | Simpler sed
|
|
41
|
-
| [hyperfine](https://github.com/sharkdp/hyperfine) | `hyperfine` |
|
|
42
|
-
| [tokei](https://github.com/XAMPPRocky/tokei) | `tokei` |
|
|
43
|
-
| [tldr](https://github.com/tldr-pages/tldr) | `tldr` |
|
|
44
|
-
| [biome](https://github.com/biomejs/biome) | `biome` |
|
|
45
|
-
| [difftastic](https://github.com/Wilfred/difftastic) | `difftastic` | Structural
|
|
38
|
+
| [shellcheck](https://github.com/koalaman/shellcheck) | `shellcheck` | Static analyser for bash/sh scripts that catches bugs, bad practices, and portability issues before they run. Agents generating shell scripts should run every script through shellcheck before presenting it to users. Output is structured and actionable. |
|
|
39
|
+
| [ast-grep](https://github.com/ast-grep/ast-grep) | `ast-grep` | Structural code search and replace using AST patterns rather than text. Agents can find all usages of a function, rename a method across a codebase, or enforce patterns in a way that text search cannot — without false positives from comments or strings. |
|
|
40
|
+
| [just](https://github.com/casey/just) | `just` | A `make` alternative with a clean, readable syntax that doubles as a project task menu. Agents can read a `Justfile` to understand what operations a project supports, then invoke them directly — no guessing at npm scripts or Makefile targets. |
|
|
41
|
+
| [grex](https://github.com/pemistahl/grex) | `grex` | Generates regex patterns from example strings you provide. Agents that need to write a regex can use grex to derive one from representative inputs rather than constructing it from scratch — useful for validation, parsing, and search patterns. |
|
|
42
|
+
| [knip](https://github.com/webpro-nl/knip) | `knip` | Finds unused exports, files, and dependencies in TypeScript/JavaScript projects. Agents doing cleanup or refactoring work use knip to identify dead code with precision before removing anything. Structured JSON output makes it easy to act on programmatically. |
|
|
43
|
+
| [sd](https://github.com/chmln/sd) | `sd` | Simpler, safer `sed` for find-and-replace across files. Agents prefer it over sed because the syntax is consistent across platforms and the substitution is literal by default — no surprise regex escaping. Supports regex when needed. |
|
|
44
|
+
| [hyperfine](https://github.com/sharkdp/hyperfine) | `hyperfine` | Benchmarking tool that runs commands repeatedly and reports statistical results. Agents can use it to objectively compare two implementations, measure the impact of a change, or verify a performance claim — results are clear and reproducible. |
|
|
45
|
+
| [tokei](https://github.com/XAMPPRocky/tokei) | `tokei` | Reports lines of code by language across a project. Agents use it to understand codebase composition at a glance — helpful when deciding where to focus, estimating scope, or understanding an unfamiliar repo. Fast enough to run on every task. |
|
|
46
|
+
| [tldr](https://github.com/tldr-pages/tldr) | `tldr` | Community-maintained cheat sheets for CLI tools, focused on practical examples rather than exhaustive flags. Agents use it to quickly look up the most common usage of any tool without reading full man pages. |
|
|
47
|
+
| [biome](https://github.com/biomejs/biome) | `biome` | Fast, zero-config linter and formatter for JavaScript and TypeScript. Agents can format and lint code in a single pass before committing, ensuring consistent output without needing ESLint and Prettier configured separately. |
|
|
48
|
+
| [difftastic](https://github.com/Wilfred/difftastic) | `difftastic` | Structural diff that compares files by AST rather than line-by-line. Agents reviewing changes get diffs that reflect actual code structure — moves and refactors show as such, rather than as unrelated deletions and additions. |
|
|
49
|
+
| [pandoc](https://github.com/jgm/pandoc) | `pandoc` | Converts documents between virtually any format — Markdown, HTML, PDF, DOCX, LaTeX, and more. Agents working with documentation, reports, or content pipelines use it to transform between formats without custom parsing code. |
|
|
50
|
+
| [duckdb](https://github.com/duckdb/duckdb) | `duckdb` | Embedded SQL engine that queries CSV, JSON, and Parquet files directly without a database server. Agents can run analytical queries on local data files in seconds — ideal for log analysis, data exploration, or transforming structured files. |
|
|
51
|
+
| [htmlq](https://github.com/mgdm/htmlq) | `htmlq` | Extracts content from HTML using CSS selectors, like `jq` for web pages. Agents scraping or parsing HTML output can pull out exactly the nodes they need without writing parser code or using a headless browser. |
|
|
52
|
+
| [typos](https://github.com/crate-ci/typos) | `typos-cli` | Source code spell checker that finds common typos in identifiers, comments, and strings. Agents can run it before committing to catch embarrassing mistakes — it understands code context and has a very low false-positive rate. |
|
|
53
|
+
| [gum](https://github.com/charmbracelet/gum) | `gum` | Provides beautiful, interactive UI primitives (prompts, spinners, filters) for shell scripts. Agents building automation scripts can use gum to add user-friendly prompts without depending on a full TUI framework. |
|
|
46
54
|
|
|
47
55
|
### Media (4 tools)
|
|
48
56
|
|
|
49
57
|
| Tool | Package | Description |
|
|
50
58
|
|------|---------|-------------|
|
|
51
|
-
| [ffmpeg](https://ffmpeg.org) | `ffmpeg` |
|
|
52
|
-
| [exiftool](https://exiftool.org) | `exiftool` |
|
|
53
|
-
| [ImageMagick](https://imagemagick.org) | `imagemagick` |
|
|
54
|
-
| [svgo](https://github.com/svg/svgo) | `svgo` | SVG
|
|
59
|
+
| [ffmpeg](https://ffmpeg.org) | `ffmpeg` | The industry-standard tool for audio and video processing — transcoding, trimming, extracting frames, converting formats, and more. Agents in media pipelines use it as the universal swiss army knife: if it involves a media file, ffmpeg can handle it. |
|
|
60
|
+
| [exiftool](https://exiftool.org) | `exiftool` | Reads and writes metadata from images, video, audio, and documents. Agents working with media files use it to inspect EXIF data, strip metadata for privacy, or batch-rename files based on capture date — all from a single consistent CLI. |
|
|
61
|
+
| [ImageMagick](https://imagemagick.org) | `imagemagick` | Comprehensive image manipulation — resize, crop, convert, annotate, composite. Agents can perform image transforms programmatically without opening a GUI, making it essential for thumbnail generation, format conversion, and batch image processing. |
|
|
62
|
+
| [svgo](https://github.com/svg/svgo) | `svgo` | Optimises SVG files by removing redundant data, comments, and inefficient structures. Agents working on web projects can run svgo on any SVG before committing to reduce file size — often 30-70% smaller with no visible quality loss. |
|
|
55
63
|
|
|
56
|
-
### DX (
|
|
64
|
+
### DX (15 tools)
|
|
57
65
|
|
|
58
66
|
| Tool | Package | Description |
|
|
59
67
|
|------|---------|-------------|
|
|
60
|
-
| [eza](https://github.com/eza-community/eza) | `eza` | Modern ls replacement |
|
|
61
|
-
| [zoxide](https://github.com/ajeetdsouza/zoxide) | `zoxide` |
|
|
62
|
-
| [delta](https://github.com/dandavison/delta) | `git-delta` |
|
|
63
|
-
| [glow](https://github.com/charmbracelet/glow) | `glow` |
|
|
64
|
-
| [mise](https://github.com/jdx/mise) | `mise` |
|
|
65
|
-
| [watchexec](https://github.com/watchexec/watchexec) | `watchexec` |
|
|
66
|
-
| [mkcert](https://github.com/FiloSottile/mkcert) | `mkcert` |
|
|
67
|
-
| [lazygit](https://github.com/jesseduffield/lazygit) | `lazygit` | TUI git client |
|
|
68
|
-
| [dust](https://github.com/bootandy/dust) | `dust` |
|
|
69
|
-
| [bottom](https://github.com/ClementTsang/bottom) | `bottom` | System monitor TUI |
|
|
70
|
-
|
|
71
|
-
|
|
68
|
+
| [eza](https://github.com/eza-community/eza) | `eza` | Modern `ls` replacement with colour-coded output, git status integration, and tree view. Agents and users navigating a project directory get significantly more context per line than with plain `ls`. |
|
|
69
|
+
| [zoxide](https://github.com/ajeetdsouza/zoxide) | `zoxide` | Learns your most-used directories and lets you jump to them by partial name. Agents use it to navigate deep project trees with short commands — `z api` jumps straight to your API directory after the first visit. |
|
|
70
|
+
| [delta](https://github.com/dandavison/delta) | `git-delta` | Syntax-highlighted, side-by-side git diffs with line numbers. Makes reviewing changes faster and clearer — particularly useful when an agent is presenting a diff to a user for review before committing. |
|
|
71
|
+
| [glow](https://github.com/charmbracelet/glow) | `glow` | Renders Markdown beautifully in the terminal. Agents can use it to display README files, changelogs, or generated documentation in a readable format without opening a browser. |
|
|
72
|
+
| [mise](https://github.com/jdx/mise) | `mise` | Manages runtime versions (Node, Python, Ruby, Go, etc.) per project via `.mise.toml`. Agents working across multiple projects don't need to manually switch runtimes — mise activates the right version automatically when entering a directory. |
|
|
73
|
+
| [watchexec](https://github.com/watchexec/watchexec) | `watchexec` | Runs a command whenever files change. Agents can use it to keep tests, builds, or type-checkers running continuously in the background — reducing the feedback loop without needing a language-specific watcher. |
|
|
74
|
+
| [mkcert](https://github.com/FiloSottile/mkcert) | `mkcert` | Creates locally-trusted HTTPS certificates for development with zero configuration. Agents setting up local development environments can use it to enable HTTPS without browser warnings or complicated CA setup. |
|
|
75
|
+
| [lazygit](https://github.com/jesseduffield/lazygit) | `lazygit` | Full-featured TUI git client for staging, committing, branching, rebasing, and resolving conflicts interactively. Useful when a user needs to review or manage git state that would take many CLI commands to handle manually. |
|
|
76
|
+
| [dust](https://github.com/bootandy/dust) | `dust` | Visual disk usage tree that shows what's consuming space, sorted by size. Agents debugging storage issues or cleaning up large repos use it to identify the culprits in seconds — far clearer than `du -sh`. |
|
|
77
|
+
| [bottom](https://github.com/ClementTsang/bottom) | `bottom` | System resource monitor (CPU, memory, network, processes) as a TUI. Agents can use it to identify resource-hungry processes when debugging performance issues or investigating why a build is slow. |
|
|
78
|
+
| [direnv](https://github.com/direnv/direnv) | `direnv` | Loads and unloads environment variables automatically when entering/leaving a directory. Agents working across projects with different environment configs benefit from not needing to manually source `.env` files. |
|
|
79
|
+
| [procs](https://github.com/dalance/procs) | `procs` | Modern `ps` replacement with search, colour coding, and tree view. Agents can find and inspect running processes quickly — useful when checking if a dev server is running, debugging port conflicts, or identifying zombie processes. |
|
|
80
|
+
| [uv](https://github.com/astral-sh/uv) | `uv` | Extremely fast Python package installer and virtual environment manager. Agents working in Python projects can install dependencies in a fraction of the time pip takes — particularly noticeable in CI or when bootstrapping a new environment. |
|
|
81
|
+
| [hexyl](https://github.com/sharkdp/hexyl) | `hexyl` | Hex viewer with colour-coded output distinguishing printable characters, control codes, and null bytes. Agents debugging binary files, inspecting file headers, or understanding binary protocols use it to read raw file contents clearly. |
|
|
82
|
+
| [taplo](https://github.com/tamasfe/taplo) | `taplo` | TOML formatter, linter, and query tool. Agents working with Rust projects, `pyproject.toml`, or any TOML config can validate and format files consistently — important since TOML is sensitive to structure and easy to break manually. |
|
|
83
|
+
|
|
84
|
+
### Security (6 tools)
|
|
72
85
|
|
|
73
86
|
| Tool | Package | Description |
|
|
74
87
|
|------|---------|-------------|
|
|
75
|
-
| [trivy](https://github.com/aquasecurity/trivy) | `trivy` |
|
|
76
|
-
| [act](https://github.com/nektos/act) | `act` |
|
|
77
|
-
| [gitleaks](https://github.com/gitleaks/gitleaks) | `gitleaks` |
|
|
88
|
+
| [trivy](https://github.com/aquasecurity/trivy) | `trivy` | Comprehensive vulnerability scanner for container images, filesystems, git repos, and IaC configs. Agents working on deployment or security reviews can run trivy against any artifact to surface known CVEs and misconfigurations before they ship. |
|
|
89
|
+
| [act](https://github.com/nektos/act) | `act` | Runs GitHub Actions workflows locally using Docker. Agents can test CI pipeline changes without pushing to GitHub — dramatically faster iteration on workflow files and a safe way to validate secrets handling. |
|
|
90
|
+
| [gitleaks](https://github.com/gitleaks/gitleaks) | `gitleaks` | Scans git history and working trees for accidentally committed secrets — API keys, tokens, credentials. Agents should run gitleaks before opening a PR on any repo that handles secrets, as a last line of defence. |
|
|
91
|
+
| [semgrep](https://github.com/returntocorp/semgrep) | `semgrep` | Multi-language static analysis using pattern rules — finds security bugs, anti-patterns, and policy violations. Agents doing code review or security audits can run semgrep with community rule sets to catch issues that simple text search misses. |
|
|
92
|
+
| [age](https://github.com/FiloSottile/age) | `age` | Simple, modern file encryption with a clean CLI. Agents handling sensitive files (secrets, credentials, backups) can encrypt them with age in one command — the format is well-specified and resistant to misuse by design. |
|
|
93
|
+
| [doggo](https://github.com/mr-karan/doggo) | `doggo` | Modern DNS lookup tool with JSON output and support for multiple DNS-over-HTTPS providers. Agents debugging connectivity issues, verifying DNS propagation, or inspecting DNS records get clean, structured output they can parse and act on. |
|
|
78
94
|
|
|
79
95
|
## How it works
|
|
80
96
|
|
|
81
97
|
1. **Choose presets** — Core and Agent are on by default; toggle Media, DX, Security
|
|
82
98
|
2. **Toggle tools** — Deselect anything you don't want
|
|
83
|
-
3. **Preview** — See the exact
|
|
84
|
-
4. **Install** — Runs
|
|
99
|
+
3. **Preview** — See the exact install commands before anything runs (brew/apt/scoop/cargo/npm per platform)
|
|
100
|
+
4. **Install** — Runs the right installer for your OS automatically
|
|
85
101
|
5. **Verify** — Checks every tool is actually working
|
|
86
102
|
6. **Persist** — Writes a receipt and skill files your AI agent can read
|
|
87
103
|
|
|
@@ -100,6 +116,12 @@ npx agent-loadout install --preset core agent --apply
|
|
|
100
116
|
# Install everything
|
|
101
117
|
npx agent-loadout install --all --apply
|
|
102
118
|
|
|
119
|
+
# Install specific tools by ID
|
|
120
|
+
npx agent-loadout install --tool pandoc duckdb --apply
|
|
121
|
+
|
|
122
|
+
# Install everything except specific tools
|
|
123
|
+
npx agent-loadout install --all --skip lazygit bottom --apply
|
|
124
|
+
|
|
103
125
|
# Check what's installed
|
|
104
126
|
npx agent-loadout verify
|
|
105
127
|
npx agent-loadout verify --json
|
|
@@ -107,11 +129,14 @@ npx agent-loadout verify --json
|
|
|
107
129
|
# List the full catalog
|
|
108
130
|
npx agent-loadout list
|
|
109
131
|
npx agent-loadout list --json
|
|
132
|
+
|
|
133
|
+
# Print a generated Brewfile (macOS only)
|
|
134
|
+
npx agent-loadout list --brewfile
|
|
110
135
|
```
|
|
111
136
|
|
|
112
|
-
## Brewfile alternative
|
|
137
|
+
## Brewfile alternative (macOS)
|
|
113
138
|
|
|
114
|
-
Don't want the CLI? Copy the [Brewfile](./Brewfile),
|
|
139
|
+
Don't want the CLI? Copy the [Brewfile](./Brewfile) (macOS only, auto-generated from the catalog) and run:
|
|
115
140
|
|
|
116
141
|
```sh
|
|
117
142
|
brew bundle
|
|
@@ -119,20 +144,28 @@ brew bundle
|
|
|
119
144
|
|
|
120
145
|
## Skills
|
|
121
146
|
|
|
122
|
-
When you install tools, `agent-loadout` writes skill files to
|
|
147
|
+
When you install tools, `agent-loadout` writes skill files to multiple locations:
|
|
148
|
+
|
|
149
|
+
- `~/.claude/skills/` — for Claude Code
|
|
150
|
+
- `~/.agent-loadout/skills/` — generic copy for other agents
|
|
151
|
+
|
|
152
|
+
Each skill is a focused playbook — what the tool does, trusted commands, gotchas — so your AI agent knows how to use it effectively.
|
|
123
153
|
|
|
124
154
|
## Requirements
|
|
125
155
|
|
|
126
|
-
- macOS with [Homebrew](https://brew.sh) installed
|
|
127
156
|
- Node.js 20+ (for `npx`)
|
|
128
|
-
-
|
|
157
|
+
- **macOS** — [Homebrew](https://brew.sh) required
|
|
158
|
+
- **Linux** — `apt-get` recommended; `cargo` used as fallback for Rust tools
|
|
159
|
+
- **Windows** — [Scoop](https://scoop.sh) recommended
|
|
160
|
+
|
|
161
|
+
A small number of tools are macOS/Windows-only and will be shown as skipped on platforms where no package exists.
|
|
129
162
|
|
|
130
163
|
## Contributing
|
|
131
164
|
|
|
132
165
|
1. Fork and clone
|
|
133
166
|
2. `pnpm install`
|
|
134
167
|
3. `pnpm dev -- list` to run locally
|
|
135
|
-
4. Add tools in `src/catalog.ts
|
|
168
|
+
4. Add tools in `src/catalog.ts` (per-platform install maps), add a skill file in `src/skills/`
|
|
136
169
|
5. `pnpm typecheck` before submitting
|
|
137
170
|
|
|
138
171
|
### Releasing
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
PRESETS,
|
|
4
|
+
TOOLS,
|
|
5
|
+
generateBrewfileFromCatalog,
|
|
6
|
+
getToolsByIds,
|
|
7
|
+
getToolsByPreset,
|
|
8
|
+
validateToolIds
|
|
9
|
+
} from "./chunk-JYIPAISH.js";
|
|
10
|
+
export {
|
|
11
|
+
PRESETS,
|
|
12
|
+
TOOLS,
|
|
13
|
+
generateBrewfileFromCatalog,
|
|
14
|
+
getToolsByIds,
|
|
15
|
+
getToolsByPreset,
|
|
16
|
+
validateToolIds
|
|
17
|
+
};
|