laxy-verify 1.1.20 → 1.1.21
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 +194 -194
- package/package.json +33 -33
package/README.md
CHANGED
|
@@ -1,82 +1,82 @@
|
|
|
1
|
-
# laxy-verify
|
|
2
|
-
|
|
3
|
-
A frontend verification CLI that catches build breaks, regressions, and client-visible issues before you ship.
|
|
4
|
-
|
|
5
|
-
`laxy-verify` runs production build checks, Lighthouse, tiered verify E2E, and plan-gated verification for Free, Pro, and Pro+ accounts.
|
|
6
|
-
It is built around three simple questions:
|
|
7
|
-
|
|
8
|
-
- Free: "Any critical issues right now?"
|
|
9
|
-
- Pro: "Ready to show a client?"
|
|
10
|
-
- Pro+: "Ready for production?"
|
|
11
|
-
|
|
12
|
-
```bash
|
|
13
|
-
npx laxy-verify --init --run
|
|
1
|
+
# laxy-verify
|
|
2
|
+
|
|
3
|
+
A frontend verification CLI that catches build breaks, regressions, and client-visible issues before you ship.
|
|
4
|
+
|
|
5
|
+
`laxy-verify` runs production build checks, Lighthouse, tiered verify E2E, and plan-gated verification for Free, Pro, and Pro+ accounts.
|
|
6
|
+
It is built around three simple questions:
|
|
7
|
+
|
|
8
|
+
- Free: "Any critical issues right now?"
|
|
9
|
+
- Pro: "Ready to show a client?"
|
|
10
|
+
- Pro+: "Ready for production?"
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npx laxy-verify --init --run
|
|
14
14
|
npx laxy-verify .
|
|
15
15
|
npx laxy-verify . --plan-override pro
|
|
16
16
|
npx laxy-verify login
|
|
17
|
-
npx laxy-verify whoami
|
|
18
|
-
npx laxy-verify --help
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
What you get from one run:
|
|
22
|
-
|
|
23
|
-
- a verification grade: `Gold`, `Silver`, `Bronze`, or `Unverified`
|
|
24
|
-
- a decision-oriented verdict such as `client-ready`, `release-ready`, `hold`, or `investigate`
|
|
25
|
-
- `.laxy-result.json` for automation
|
|
26
|
-
- `laxy-verify-report.md` on paid plans for human review and AI handoff
|
|
27
|
-
|
|
28
|
-
## Quick Start
|
|
29
|
-
|
|
30
|
-
### 1. Run it on a frontend app
|
|
31
|
-
|
|
32
|
-
```bash
|
|
33
|
-
cd your-project
|
|
34
|
-
npx laxy-verify .
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
This runs the default verification flow in the current app directory.
|
|
38
|
-
|
|
39
|
-
### 2. Generate config and CI workflow
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
npx laxy-verify --init
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
This creates:
|
|
46
|
-
|
|
47
|
-
- `.laxy.yml`
|
|
48
|
-
- `.github/workflows/laxy-verify.yml`
|
|
49
|
-
|
|
50
|
-
### 3. Commit the workflow
|
|
51
|
-
|
|
52
|
-
Once committed, each PR gets a verification run, grade output, and optional GitHub reporting.
|
|
53
|
-
|
|
54
|
-
### 4. Unlock paid plan features
|
|
55
|
-
|
|
56
|
-
```bash
|
|
57
|
-
npx laxy-verify login
|
|
58
|
-
npx laxy-verify whoami
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
For CI, set `LAXY_TOKEN` instead of using interactive login.
|
|
62
|
-
|
|
63
|
-
```yaml
|
|
64
|
-
env:
|
|
65
|
-
LAXY_TOKEN: ${{ secrets.LAXY_TOKEN }}
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
## What It Checks
|
|
69
|
-
|
|
70
|
-
- production build success
|
|
71
|
-
- Lighthouse thresholds
|
|
72
|
-
- verify E2E scenarios for real user flows
|
|
73
|
-
- Pro+ viewport and visual regression evidence
|
|
74
|
-
- plan-aware verdicts for local runs and CI
|
|
75
|
-
|
|
76
|
-
## Verification Tiers
|
|
77
|
-
|
|
78
|
-
| Plan | Question it answers |
|
|
79
|
-
|------|---------------------|
|
|
17
|
+
npx laxy-verify whoami
|
|
18
|
+
npx laxy-verify --help
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
What you get from one run:
|
|
22
|
+
|
|
23
|
+
- a verification grade: `Gold`, `Silver`, `Bronze`, or `Unverified`
|
|
24
|
+
- a decision-oriented verdict such as `client-ready`, `release-ready`, `hold`, or `investigate`
|
|
25
|
+
- `.laxy-result.json` for automation
|
|
26
|
+
- `laxy-verify-report.md` on paid plans for human review and AI handoff
|
|
27
|
+
|
|
28
|
+
## Quick Start
|
|
29
|
+
|
|
30
|
+
### 1. Run it on a frontend app
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
cd your-project
|
|
34
|
+
npx laxy-verify .
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
This runs the default verification flow in the current app directory.
|
|
38
|
+
|
|
39
|
+
### 2. Generate config and CI workflow
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
npx laxy-verify --init
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
This creates:
|
|
46
|
+
|
|
47
|
+
- `.laxy.yml`
|
|
48
|
+
- `.github/workflows/laxy-verify.yml`
|
|
49
|
+
|
|
50
|
+
### 3. Commit the workflow
|
|
51
|
+
|
|
52
|
+
Once committed, each PR gets a verification run, grade output, and optional GitHub reporting.
|
|
53
|
+
|
|
54
|
+
### 4. Unlock paid plan features
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
npx laxy-verify login
|
|
58
|
+
npx laxy-verify whoami
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
For CI, set `LAXY_TOKEN` instead of using interactive login.
|
|
62
|
+
|
|
63
|
+
```yaml
|
|
64
|
+
env:
|
|
65
|
+
LAXY_TOKEN: ${{ secrets.LAXY_TOKEN }}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## What It Checks
|
|
69
|
+
|
|
70
|
+
- production build success
|
|
71
|
+
- Lighthouse thresholds
|
|
72
|
+
- verify E2E scenarios for real user flows
|
|
73
|
+
- Pro+ viewport and visual regression evidence
|
|
74
|
+
- plan-aware verdicts for local runs and CI
|
|
75
|
+
|
|
76
|
+
## Verification Tiers
|
|
77
|
+
|
|
78
|
+
| Plan | Question it answers |
|
|
79
|
+
|------|---------------------|
|
|
80
80
|
| Free | Any critical issues right now? |
|
|
81
81
|
| Pro | Ready to show a client? |
|
|
82
82
|
| Pro+ | Ready for production? |
|
|
@@ -86,78 +86,78 @@ env:
|
|
|
86
86
|
| Grade | Meaning |
|
|
87
87
|
|-------|---------|
|
|
88
88
|
| Gold | Build passed + E2E passed + Lighthouse passed + Pro+ viewport evidence passed |
|
|
89
|
-
| Silver | Build passed + E2E passed |
|
|
90
|
-
| Bronze | Build passed |
|
|
91
|
-
| Unverified | Build failed |
|
|
92
|
-
|
|
93
|
-
## Plan Differences
|
|
94
|
-
|
|
95
|
-
| Feature | Free | Pro | Pro+ |
|
|
96
|
-
|---------|------|-----|------|
|
|
97
|
-
| Build verification | Yes | Yes | Yes |
|
|
98
|
-
| Lighthouse | 1 run | 3 runs | 3 runs |
|
|
99
|
-
| Verify E2E | Smoke checks | Client-facing flow checks | Client-facing flow checks + release evidence |
|
|
100
|
-
| Detailed report view | No | Yes | Yes |
|
|
101
|
-
| `laxy-verify-report.md` export | No | Yes | Yes |
|
|
102
|
-
| Multi-viewport verification | No | No | Yes |
|
|
103
|
-
| Visual diff | No | No | Yes |
|
|
104
|
-
| Failure analysis signals | No | No | Yes |
|
|
105
|
-
|
|
106
|
-
Free tells you whether the app is basically standing.
|
|
107
|
-
Pro tells you whether the app is strong enough to call client-ready.
|
|
108
|
-
Pro+ adds the extra evidence needed for a real release-ready call.
|
|
109
|
-
|
|
110
|
-
## Sample Output
|
|
111
|
-
|
|
112
|
-
```text
|
|
113
|
-
Plan: Pro+
|
|
114
|
-
Grade: Gold
|
|
115
|
-
Verdict: release-ready
|
|
116
|
-
|
|
117
|
-
Passed:
|
|
118
|
-
- production build
|
|
119
|
-
- Lighthouse thresholds
|
|
120
|
-
- core E2E flows
|
|
121
|
-
- desktop, tablet, and mobile viewport checks
|
|
122
|
-
|
|
123
|
-
Artifacts:
|
|
124
|
-
- .laxy-result.json
|
|
125
|
-
- laxy-verify-report.md
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
## Configuration
|
|
129
|
-
|
|
130
|
-
All fields are optional in `.laxy.yml`.
|
|
131
|
-
|
|
132
|
-
```yaml
|
|
133
|
-
framework: "auto"
|
|
134
|
-
build_command: ""
|
|
135
|
-
dev_command: ""
|
|
89
|
+
| Silver | Build passed + E2E passed |
|
|
90
|
+
| Bronze | Build passed |
|
|
91
|
+
| Unverified | Build failed |
|
|
92
|
+
|
|
93
|
+
## Plan Differences
|
|
94
|
+
|
|
95
|
+
| Feature | Free | Pro | Pro+ |
|
|
96
|
+
|---------|------|-----|------|
|
|
97
|
+
| Build verification | Yes | Yes | Yes |
|
|
98
|
+
| Lighthouse | 1 run | 3 runs | 3 runs |
|
|
99
|
+
| Verify E2E | Smoke checks | Client-facing flow checks | Client-facing flow checks + release evidence |
|
|
100
|
+
| Detailed report view | No | Yes | Yes |
|
|
101
|
+
| `laxy-verify-report.md` export | No | Yes | Yes |
|
|
102
|
+
| Multi-viewport verification | No | No | Yes |
|
|
103
|
+
| Visual diff | No | No | Yes |
|
|
104
|
+
| Failure analysis signals | No | No | Yes |
|
|
105
|
+
|
|
106
|
+
Free tells you whether the app is basically standing.
|
|
107
|
+
Pro tells you whether the app is strong enough to call client-ready.
|
|
108
|
+
Pro+ adds the extra evidence needed for a real release-ready call.
|
|
109
|
+
|
|
110
|
+
## Sample Output
|
|
111
|
+
|
|
112
|
+
```text
|
|
113
|
+
Plan: Pro+
|
|
114
|
+
Grade: Gold
|
|
115
|
+
Verdict: release-ready
|
|
116
|
+
|
|
117
|
+
Passed:
|
|
118
|
+
- production build
|
|
119
|
+
- Lighthouse thresholds
|
|
120
|
+
- core E2E flows
|
|
121
|
+
- desktop, tablet, and mobile viewport checks
|
|
122
|
+
|
|
123
|
+
Artifacts:
|
|
124
|
+
- .laxy-result.json
|
|
125
|
+
- laxy-verify-report.md
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Configuration
|
|
129
|
+
|
|
130
|
+
All fields are optional in `.laxy.yml`.
|
|
131
|
+
|
|
132
|
+
```yaml
|
|
133
|
+
framework: "auto"
|
|
134
|
+
build_command: ""
|
|
135
|
+
dev_command: ""
|
|
136
136
|
package_manager: "auto"
|
|
137
137
|
port: 3000
|
|
138
138
|
build_timeout: 300
|
|
139
139
|
dev_timeout: 60
|
|
140
140
|
lighthouse_runs: 1
|
|
141
141
|
|
|
142
|
-
thresholds:
|
|
143
|
-
performance: 70
|
|
144
|
-
accessibility: 85
|
|
145
|
-
seo: 80
|
|
146
|
-
best_practices: 80
|
|
147
|
-
|
|
148
|
-
fail_on: "bronze"
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
Typical cases:
|
|
152
|
-
|
|
153
|
-
- raise `fail_on` to `silver` or `gold` in CI when you want stricter gates
|
|
154
|
-
- set `framework`, `build_command`, or `dev_command` if auto-detection is not enough
|
|
155
|
-
- increase `lighthouse_runs` when you want more stable performance evidence
|
|
156
|
-
|
|
157
|
-
## CLI Options
|
|
158
|
-
|
|
159
|
-
```text
|
|
160
|
-
npx laxy-verify [project-dir]
|
|
142
|
+
thresholds:
|
|
143
|
+
performance: 70
|
|
144
|
+
accessibility: 85
|
|
145
|
+
seo: 80
|
|
146
|
+
best_practices: 80
|
|
147
|
+
|
|
148
|
+
fail_on: "bronze"
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
Typical cases:
|
|
152
|
+
|
|
153
|
+
- raise `fail_on` to `silver` or `gold` in CI when you want stricter gates
|
|
154
|
+
- set `framework`, `build_command`, or `dev_command` if auto-detection is not enough
|
|
155
|
+
- increase `lighthouse_runs` when you want more stable performance evidence
|
|
156
|
+
|
|
157
|
+
## CLI Options
|
|
158
|
+
|
|
159
|
+
```text
|
|
160
|
+
npx laxy-verify [project-dir]
|
|
161
161
|
|
|
162
162
|
Options:
|
|
163
163
|
--format console|json
|
|
@@ -173,21 +173,21 @@ Options:
|
|
|
173
173
|
|
|
174
174
|
Subcommands:
|
|
175
175
|
login [email]
|
|
176
|
-
logout
|
|
177
|
-
whoami
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
`--plan-override` is for downgrade testing only.
|
|
181
|
-
Example: if your account is Pro+, you can run `--plan-override pro` or `--plan-override free` to verify the lower-tier behavior without changing your subscription.
|
|
182
|
-
It will reject upgrades above your real entitlement.
|
|
183
|
-
|
|
184
|
-
## Result Files
|
|
185
|
-
|
|
186
|
-
Each run writes `.laxy-result.json`.
|
|
187
|
-
|
|
188
|
-
Paid plans also write a readable markdown summary to `laxy-verify-report.md`.
|
|
189
|
-
|
|
190
|
-
- `Pro`: client-ready delivery report
|
|
176
|
+
logout
|
|
177
|
+
whoami
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
`--plan-override` is for downgrade testing only.
|
|
181
|
+
Example: if your account is Pro+, you can run `--plan-override pro` or `--plan-override free` to verify the lower-tier behavior without changing your subscription.
|
|
182
|
+
It will reject upgrades above your real entitlement.
|
|
183
|
+
|
|
184
|
+
## Result Files
|
|
185
|
+
|
|
186
|
+
Each run writes `.laxy-result.json`.
|
|
187
|
+
|
|
188
|
+
Paid plans also write a readable markdown summary to `laxy-verify-report.md`.
|
|
189
|
+
|
|
190
|
+
- `Pro`: client-ready delivery report
|
|
191
191
|
- `Pro+`: release-readiness report with viewport and visual evidence
|
|
192
192
|
|
|
193
193
|
Exit behavior follows the verification verdict, not just the legacy grade.
|
|
@@ -217,13 +217,13 @@ Exit behavior follows the verification verdict, not just the legacy grade.
|
|
|
217
217
|
"report": { "verdict": "release-ready" }
|
|
218
218
|
},
|
|
219
219
|
"exitCode": 0,
|
|
220
|
-
"_plan": "pro_plus"
|
|
221
|
-
}
|
|
222
|
-
```
|
|
223
|
-
|
|
224
|
-
### `laxy-verify-report.md`
|
|
225
|
-
|
|
226
|
-
For Pro and Pro+ runs, the markdown report is designed to be easy to read and easy to paste into an AI coding tool.
|
|
220
|
+
"_plan": "pro_plus"
|
|
221
|
+
}
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
### `laxy-verify-report.md`
|
|
225
|
+
|
|
226
|
+
For Pro and Pro+ runs, the markdown report is designed to be easy to read and easy to paste into an AI coding tool.
|
|
227
227
|
|
|
228
228
|
It includes:
|
|
229
229
|
|
|
@@ -231,33 +231,33 @@ It includes:
|
|
|
231
231
|
- what passed
|
|
232
232
|
- blockers and warnings
|
|
233
233
|
- exact verification evidence
|
|
234
|
-
- failed E2E scenarios
|
|
235
|
-
- a `Copy For AI` section you can paste directly into Codex, Cursor, Claude, or ChatGPT
|
|
236
|
-
|
|
237
|
-
## Environment Notes
|
|
238
|
-
|
|
239
|
-
- Best on current LTS Node releases. `Node 20.18+` is recommended.
|
|
240
|
-
- Monorepos should point `laxy-verify` at the actual app directory.
|
|
241
|
-
- `playwright` is optional. The CLI can run without it.
|
|
242
|
-
- Pro+ viewport and visual checks increase runtime.
|
|
243
|
-
|
|
244
|
-
## Regression Fixtures
|
|
245
|
-
|
|
246
|
-
The repo also includes dedicated regression fixtures under `.qa-regression-fixtures/`.
|
|
247
|
-
They intentionally break build, navigation, coverage, performance, viewport behavior, and visual stability so the verifier can be tested against known failure modes.
|
|
248
|
-
|
|
249
|
-
## Limitations
|
|
250
|
-
|
|
251
|
-
- Monorepos require targeting the app subdirectory explicitly.
|
|
252
|
-
- Dev-server-based Lighthouse can differ from production hosting.
|
|
253
|
-
- Pro+ visual diff and viewport checks increase runtime.
|
|
254
|
-
- Local verification is most stable on current LTS Node releases.
|
|
255
|
-
|
|
256
|
-
## Links
|
|
257
|
-
|
|
258
|
-
- GitHub: https://github.com/psungmin24/Laxy/tree/main/laxy-verify
|
|
259
|
-
- Issues: https://github.com/psungmin24/Laxy/issues
|
|
260
|
-
|
|
261
|
-
## License
|
|
262
|
-
|
|
263
|
-
MIT
|
|
234
|
+
- failed E2E scenarios
|
|
235
|
+
- a `Copy For AI` section you can paste directly into Codex, Cursor, Claude, or ChatGPT
|
|
236
|
+
|
|
237
|
+
## Environment Notes
|
|
238
|
+
|
|
239
|
+
- Best on current LTS Node releases. `Node 20.18+` is recommended.
|
|
240
|
+
- Monorepos should point `laxy-verify` at the actual app directory.
|
|
241
|
+
- `playwright` is optional. The CLI can run without it.
|
|
242
|
+
- Pro+ viewport and visual checks increase runtime.
|
|
243
|
+
|
|
244
|
+
## Regression Fixtures
|
|
245
|
+
|
|
246
|
+
The repo also includes dedicated regression fixtures under `.qa-regression-fixtures/`.
|
|
247
|
+
They intentionally break build, navigation, coverage, performance, viewport behavior, and visual stability so the verifier can be tested against known failure modes.
|
|
248
|
+
|
|
249
|
+
## Limitations
|
|
250
|
+
|
|
251
|
+
- Monorepos require targeting the app subdirectory explicitly.
|
|
252
|
+
- Dev-server-based Lighthouse can differ from production hosting.
|
|
253
|
+
- Pro+ visual diff and viewport checks increase runtime.
|
|
254
|
+
- Local verification is most stable on current LTS Node releases.
|
|
255
|
+
|
|
256
|
+
## Links
|
|
257
|
+
|
|
258
|
+
- GitHub: https://github.com/psungmin24/Laxy/tree/main/laxy-verify
|
|
259
|
+
- Issues: https://github.com/psungmin24/Laxy/issues
|
|
260
|
+
|
|
261
|
+
## License
|
|
262
|
+
|
|
263
|
+
MIT
|
package/package.json
CHANGED
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "laxy-verify",
|
|
3
|
-
"version": "1.1.
|
|
4
|
-
"description": "Frontend verification CLI for build checks, Lighthouse, E2E, and release readiness",
|
|
5
|
-
"license": "MIT",
|
|
6
|
-
"type": "commonjs",
|
|
7
|
-
"homepage": "https://github.com/psungmin24/Laxy/tree/main/laxy-verify#readme",
|
|
8
|
-
"repository": {
|
|
9
|
-
"type": "git",
|
|
10
|
-
"url": "git+https://github.com/psungmin24/Laxy.git",
|
|
11
|
-
"directory": "laxy-verify"
|
|
12
|
-
},
|
|
13
|
-
"bugs": {
|
|
14
|
-
"url": "https://github.com/psungmin24/Laxy/issues"
|
|
15
|
-
},
|
|
16
|
-
"keywords": [
|
|
17
|
-
"frontend",
|
|
18
|
-
"verification",
|
|
19
|
-
"quality-gate",
|
|
20
|
-
"release-readiness",
|
|
21
|
-
"lighthouse",
|
|
22
|
-
"e2e",
|
|
23
|
-
"qa",
|
|
24
|
-
"cli",
|
|
25
|
-
"nextjs",
|
|
26
|
-
"vite"
|
|
27
|
-
],
|
|
28
|
-
"engines": {
|
|
29
|
-
"node": ">=20.18.0 <25"
|
|
30
|
-
},
|
|
31
|
-
"bin": {
|
|
32
|
-
"laxy-verify": "dist/cli.js"
|
|
33
|
-
},
|
|
1
|
+
{
|
|
2
|
+
"name": "laxy-verify",
|
|
3
|
+
"version": "1.1.21",
|
|
4
|
+
"description": "Frontend verification CLI for build checks, Lighthouse, E2E, and release readiness",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"type": "commonjs",
|
|
7
|
+
"homepage": "https://github.com/psungmin24/Laxy/tree/main/laxy-verify#readme",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/psungmin24/Laxy.git",
|
|
11
|
+
"directory": "laxy-verify"
|
|
12
|
+
},
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/psungmin24/Laxy/issues"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [
|
|
17
|
+
"frontend",
|
|
18
|
+
"verification",
|
|
19
|
+
"quality-gate",
|
|
20
|
+
"release-readiness",
|
|
21
|
+
"lighthouse",
|
|
22
|
+
"e2e",
|
|
23
|
+
"qa",
|
|
24
|
+
"cli",
|
|
25
|
+
"nextjs",
|
|
26
|
+
"vite"
|
|
27
|
+
],
|
|
28
|
+
"engines": {
|
|
29
|
+
"node": ">=20.18.0 <25"
|
|
30
|
+
},
|
|
31
|
+
"bin": {
|
|
32
|
+
"laxy-verify": "dist/cli.js"
|
|
33
|
+
},
|
|
34
34
|
"files": [
|
|
35
35
|
"dist/"
|
|
36
36
|
],
|