ext4-cli 0.0.1__py3-none-macosx_11_0_arm64.whl

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.
ext4_cli/__init__.py ADDED
@@ -0,0 +1,10 @@
1
+ """
2
+ ext4-cli: Read ext4 filesystems from image files and block devices.
3
+ """
4
+
5
+ try:
6
+ from importlib.metadata import version
7
+ __version__ = version("ext4-cli")
8
+ except ImportError:
9
+ from importlib_metadata import version
10
+ __version__ = version("ext4-cli")
ext4_cli/__main__.py ADDED
@@ -0,0 +1,47 @@
1
+ """
2
+ Command-line interface for ext4-cli.
3
+ """
4
+
5
+ from __future__ import annotations
6
+
7
+ import os
8
+ import sys
9
+ import subprocess
10
+ from pathlib import Path
11
+
12
+
13
+ def find_native_binary() -> str:
14
+ """Find the native Rust binary."""
15
+ project_root = Path(__file__).resolve().parent.parent
16
+ target_binary = project_root / "target" / "release" / "ext4"
17
+ if target_binary.exists() and not target_binary.is_dir():
18
+ return str(target_binary)
19
+
20
+ raise FileNotFoundError(
21
+ "Could not find the native ext4 binary. "
22
+ "Please ensure it was built with 'cargo build --release'."
23
+ )
24
+
25
+
26
+ def main() -> int:
27
+ """Run the ext4 command line tool."""
28
+ try:
29
+ native_binary = find_native_binary()
30
+ args = [native_binary] + sys.argv[1:]
31
+
32
+ if sys.platform == "win32":
33
+ completed_process = subprocess.run(args)
34
+ return completed_process.returncode
35
+ else:
36
+ os.execv(native_binary, args)
37
+ return 0
38
+ except FileNotFoundError as e:
39
+ print(f"Error: {e}", file=sys.stderr)
40
+ return 1
41
+ except Exception as e:
42
+ print(f"Error: {e}", file=sys.stderr)
43
+ return 1
44
+
45
+
46
+ if __name__ == "__main__":
47
+ sys.exit(main())
Binary file
@@ -0,0 +1,142 @@
1
+ Metadata-Version: 2.4
2
+ Name: ext4-cli
3
+ Version: 0.0.1
4
+ Classifier: Development Status :: 3 - Alpha
5
+ Classifier: Environment :: Console
6
+ Classifier: Intended Audience :: System Administrators
7
+ Classifier: License :: OSI Approved :: MIT License
8
+ Classifier: Operating System :: OS Independent
9
+ Classifier: Programming Language :: Python :: 3
10
+ Classifier: Programming Language :: Rust
11
+ Classifier: Topic :: System :: Filesystems
12
+ Summary: Read ext4 filesystems from image files and block devices
13
+ Author-email: "Ruben J. Jongejan" <ruben.jongejan@gmail.com>
14
+ License: MIT OR Apache-2.0
15
+ Requires-Python: >=3.8
16
+ Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
17
+ Project-URL: Homepage, https://github.com/rvben/ext4-cli
18
+ Project-URL: Repository, https://github.com/rvben/ext4-cli.git
19
+
20
+ # ext4-cli
21
+
22
+ Read ext4 filesystems from image files and block devices — without mounting them.
23
+
24
+ ## Quick start
25
+
26
+ ```bash
27
+ # Install (pick one)
28
+ cargo install ext4-cli # From crates.io
29
+ pip install ext4-cli # Via pip
30
+ uvx ext4-cli --help # Run without installing (via uv)
31
+
32
+ # Use
33
+ ext4 --source disk.img ls /etc
34
+ ext4 --source disk.img cat /etc/fstab
35
+ ext4 --source disk.img cp /etc /tmp/etc-backup -r
36
+ ```
37
+
38
+ ## Installation
39
+
40
+ ### From crates.io
41
+
42
+ ```bash
43
+ cargo install ext4-cli
44
+ ```
45
+
46
+ ### From PyPI
47
+
48
+ ```bash
49
+ pip install ext4-cli
50
+ # or run without installing:
51
+ uvx ext4-cli ls /
52
+ ```
53
+
54
+ ### From Homebrew
55
+
56
+ ```bash
57
+ brew install rvben/tap/ext4
58
+ ```
59
+
60
+ ### From GitHub releases
61
+
62
+ Pre-built binaries for Linux (x64, arm64) and macOS (x64, arm64) on the [releases page](https://github.com/rvben/ext4-cli/releases).
63
+
64
+ ## Usage
65
+
66
+ All commands require a source — an ext4 image file or raw block device — via `--source` or the `EXT4_SOURCE` environment variable:
67
+
68
+ ```bash
69
+ export EXT4_SOURCE=/dev/rdisk4s2
70
+ ext4 ls /
71
+ ```
72
+
73
+ ### Commands
74
+
75
+ #### `ls` — list directory contents
76
+
77
+ ```bash
78
+ ext4 --source disk.img ls # List root directory
79
+ ext4 --source disk.img ls /etc # List /etc
80
+ ext4 --source disk.img ls -l /etc # Long format (permissions, uid, gid, size)
81
+ ext4 --source disk.img ls -a /etc # Include dotfiles
82
+ ext4 --source disk.img ls --json /etc # JSON output
83
+ ```
84
+
85
+ #### `cat` — print file contents
86
+
87
+ ```bash
88
+ ext4 --source disk.img cat /etc/fstab
89
+ ext4 --source disk.img cat /etc/passwd
90
+ ```
91
+
92
+ #### `cp` — extract files
93
+
94
+ ```bash
95
+ ext4 --source disk.img cp /etc/fstab ./fstab # Extract a file
96
+ ext4 --source disk.img cp /etc /tmp/etc-backup -r # Extract a directory tree
97
+ ```
98
+
99
+ #### `stat` — show file metadata
100
+
101
+ ```bash
102
+ ext4 --source disk.img stat /etc/fstab
103
+ ext4 --source disk.img stat --json /etc/fstab
104
+ ```
105
+
106
+ #### `info` — show filesystem metadata
107
+
108
+ ```bash
109
+ ext4 --source disk.img info
110
+ ext4 --source disk.img info --json
111
+ ```
112
+
113
+ ## Raw block devices (macOS)
114
+
115
+ On macOS, use the raw disk path (`/dev/rdisk*`) for better performance. Reading raw block devices requires root access:
116
+
117
+ ```bash
118
+ sudo ext4 --source /dev/rdisk4s2 ls /
119
+ ```
120
+
121
+ ## Exit codes
122
+
123
+ | Code | Meaning |
124
+ |------|---------|
125
+ | 0 | Success |
126
+ | 1 | General error |
127
+ | 2 | Permission denied |
128
+ | 3 | Path not found |
129
+
130
+ ## Development
131
+
132
+ ```bash
133
+ make fixtures # Generate test fixtures (requires e2fsprogs)
134
+ make test # Run tests
135
+ make lint # Run fmt + clippy
136
+ make install # Build and install
137
+ ```
138
+
139
+ ## License
140
+
141
+ MIT OR Apache-2.0
142
+
@@ -0,0 +1,7 @@
1
+ ext4_cli/__init__.py,sha256=1bperkWxqovipgb2Wsz3gFXvcTiwxFAaUxRGr1BVcAs,264
2
+ ext4_cli/__main__.py,sha256=rWcI2dyA3f7Fb_BBecO54SMwnLosERWzHlUOo42eubU,1208
3
+ ext4_cli-0.0.1.data/scripts/ext4,sha256=v52x54cZnHSe2S6dOZClBtcXy4_zZMfngV-fIIYYasw,962992
4
+ ext4_cli-0.0.1.dist-info/METADATA,sha256=B3ilREZp19TkJ7VrXGquiaNZ4_0osdTO5bm6cJVxBHM,3346
5
+ ext4_cli-0.0.1.dist-info/WHEEL,sha256=vWgv7Y3BeYdNxQ-Vbu2E0U-ek9vuYnDjXj_RBPFr8A8,102
6
+ ext4_cli-0.0.1.dist-info/sboms/ext4-cli.cyclonedx.json,sha256=JYgZesiBrxWNXcxpQ1GDGFP92ElJPjLVrn2UHClsIxo,32623
7
+ ext4_cli-0.0.1.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: maturin (1.13.1)
3
+ Root-Is-Purelib: false
4
+ Tag: py3-none-macosx_11_0_arm64
@@ -0,0 +1,1071 @@
1
+ {
2
+ "bomFormat": "CycloneDX",
3
+ "specVersion": "1.5",
4
+ "version": 1,
5
+ "serialNumber": "urn:uuid:940a4386-6cda-47c1-883a-a059a664d0ac",
6
+ "metadata": {
7
+ "timestamp": "2026-04-13T12:44:48.994357000Z",
8
+ "tools": [
9
+ {
10
+ "vendor": "CycloneDX",
11
+ "name": "cargo-cyclonedx",
12
+ "version": "0.5.9"
13
+ }
14
+ ],
15
+ "component": {
16
+ "type": "application",
17
+ "bom-ref": "path+file:///Users/runner/work/ext4-cli/ext4-cli#0.0.1",
18
+ "name": "ext4-cli",
19
+ "version": "0.0.1",
20
+ "description": "Read ext4 filesystems from image files and block devices",
21
+ "scope": "required",
22
+ "licenses": [
23
+ {
24
+ "expression": "MIT OR Apache-2.0"
25
+ }
26
+ ],
27
+ "purl": "pkg:cargo/ext4-cli@0.0.1?download_url=file://.",
28
+ "externalReferences": [
29
+ {
30
+ "type": "vcs",
31
+ "url": "https://github.com/rvben/ext4-cli"
32
+ }
33
+ ],
34
+ "components": [
35
+ {
36
+ "type": "application",
37
+ "bom-ref": "path+file:///Users/runner/work/ext4-cli/ext4-cli#0.0.1 bin-target-0",
38
+ "name": "ext4",
39
+ "version": "0.0.1",
40
+ "purl": "pkg:cargo/ext4-cli@0.0.1?download_url=file://.#src/main.rs"
41
+ }
42
+ ]
43
+ },
44
+ "properties": [
45
+ {
46
+ "name": "cdx:rustc:sbom:target:all_targets",
47
+ "value": "true"
48
+ }
49
+ ]
50
+ },
51
+ "components": [
52
+ {
53
+ "type": "library",
54
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#anstream@1.0.0",
55
+ "name": "anstream",
56
+ "version": "1.0.0",
57
+ "description": "IO stream adapters for writing colored text that will gracefully degrade according to your terminal's capabilities.",
58
+ "scope": "required",
59
+ "hashes": [
60
+ {
61
+ "alg": "SHA-256",
62
+ "content": "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d"
63
+ }
64
+ ],
65
+ "licenses": [
66
+ {
67
+ "expression": "MIT OR Apache-2.0"
68
+ }
69
+ ],
70
+ "purl": "pkg:cargo/anstream@1.0.0",
71
+ "externalReferences": [
72
+ {
73
+ "type": "vcs",
74
+ "url": "https://github.com/rust-cli/anstyle.git"
75
+ }
76
+ ]
77
+ },
78
+ {
79
+ "type": "library",
80
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#anstyle-parse@1.0.0",
81
+ "name": "anstyle-parse",
82
+ "version": "1.0.0",
83
+ "description": "Parse ANSI Style Escapes",
84
+ "scope": "required",
85
+ "hashes": [
86
+ {
87
+ "alg": "SHA-256",
88
+ "content": "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e"
89
+ }
90
+ ],
91
+ "licenses": [
92
+ {
93
+ "expression": "MIT OR Apache-2.0"
94
+ }
95
+ ],
96
+ "purl": "pkg:cargo/anstyle-parse@1.0.0",
97
+ "externalReferences": [
98
+ {
99
+ "type": "vcs",
100
+ "url": "https://github.com/rust-cli/anstyle.git"
101
+ }
102
+ ]
103
+ },
104
+ {
105
+ "type": "library",
106
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#anstyle-query@1.1.5",
107
+ "name": "anstyle-query",
108
+ "version": "1.1.5",
109
+ "description": "Look up colored console capabilities",
110
+ "scope": "required",
111
+ "hashes": [
112
+ {
113
+ "alg": "SHA-256",
114
+ "content": "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc"
115
+ }
116
+ ],
117
+ "licenses": [
118
+ {
119
+ "expression": "MIT OR Apache-2.0"
120
+ }
121
+ ],
122
+ "purl": "pkg:cargo/anstyle-query@1.1.5",
123
+ "externalReferences": [
124
+ {
125
+ "type": "vcs",
126
+ "url": "https://github.com/rust-cli/anstyle.git"
127
+ }
128
+ ]
129
+ },
130
+ {
131
+ "type": "library",
132
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#anstyle@1.0.14",
133
+ "name": "anstyle",
134
+ "version": "1.0.14",
135
+ "description": "ANSI text styling",
136
+ "scope": "required",
137
+ "hashes": [
138
+ {
139
+ "alg": "SHA-256",
140
+ "content": "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000"
141
+ }
142
+ ],
143
+ "licenses": [
144
+ {
145
+ "expression": "MIT OR Apache-2.0"
146
+ }
147
+ ],
148
+ "purl": "pkg:cargo/anstyle@1.0.14",
149
+ "externalReferences": [
150
+ {
151
+ "type": "vcs",
152
+ "url": "https://github.com/rust-cli/anstyle.git"
153
+ }
154
+ ]
155
+ },
156
+ {
157
+ "type": "library",
158
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#anyhow@1.0.102",
159
+ "author": "David Tolnay <dtolnay@gmail.com>",
160
+ "name": "anyhow",
161
+ "version": "1.0.102",
162
+ "description": "Flexible concrete Error type built on std::error::Error",
163
+ "scope": "required",
164
+ "hashes": [
165
+ {
166
+ "alg": "SHA-256",
167
+ "content": "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c"
168
+ }
169
+ ],
170
+ "licenses": [
171
+ {
172
+ "expression": "MIT OR Apache-2.0"
173
+ }
174
+ ],
175
+ "purl": "pkg:cargo/anyhow@1.0.102",
176
+ "externalReferences": [
177
+ {
178
+ "type": "documentation",
179
+ "url": "https://docs.rs/anyhow"
180
+ },
181
+ {
182
+ "type": "vcs",
183
+ "url": "https://github.com/dtolnay/anyhow"
184
+ }
185
+ ]
186
+ },
187
+ {
188
+ "type": "library",
189
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#bitflags@2.11.0",
190
+ "author": "The Rust Project Developers",
191
+ "name": "bitflags",
192
+ "version": "2.11.0",
193
+ "description": "A macro to generate structures which behave like bitflags. ",
194
+ "scope": "required",
195
+ "hashes": [
196
+ {
197
+ "alg": "SHA-256",
198
+ "content": "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af"
199
+ }
200
+ ],
201
+ "licenses": [
202
+ {
203
+ "expression": "MIT OR Apache-2.0"
204
+ }
205
+ ],
206
+ "purl": "pkg:cargo/bitflags@2.11.0",
207
+ "externalReferences": [
208
+ {
209
+ "type": "documentation",
210
+ "url": "https://docs.rs/bitflags"
211
+ },
212
+ {
213
+ "type": "website",
214
+ "url": "https://github.com/bitflags/bitflags"
215
+ },
216
+ {
217
+ "type": "vcs",
218
+ "url": "https://github.com/bitflags/bitflags"
219
+ }
220
+ ]
221
+ },
222
+ {
223
+ "type": "library",
224
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#clap@4.6.0",
225
+ "name": "clap",
226
+ "version": "4.6.0",
227
+ "description": "A simple to use, efficient, and full-featured Command Line Argument Parser",
228
+ "scope": "required",
229
+ "hashes": [
230
+ {
231
+ "alg": "SHA-256",
232
+ "content": "b193af5b67834b676abd72466a96c1024e6a6ad978a1f484bd90b85c94041351"
233
+ }
234
+ ],
235
+ "licenses": [
236
+ {
237
+ "expression": "MIT OR Apache-2.0"
238
+ }
239
+ ],
240
+ "purl": "pkg:cargo/clap@4.6.0",
241
+ "externalReferences": [
242
+ {
243
+ "type": "vcs",
244
+ "url": "https://github.com/clap-rs/clap"
245
+ }
246
+ ]
247
+ },
248
+ {
249
+ "type": "library",
250
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#clap_builder@4.6.0",
251
+ "name": "clap_builder",
252
+ "version": "4.6.0",
253
+ "description": "A simple to use, efficient, and full-featured Command Line Argument Parser",
254
+ "scope": "required",
255
+ "hashes": [
256
+ {
257
+ "alg": "SHA-256",
258
+ "content": "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f"
259
+ }
260
+ ],
261
+ "licenses": [
262
+ {
263
+ "expression": "MIT OR Apache-2.0"
264
+ }
265
+ ],
266
+ "purl": "pkg:cargo/clap_builder@4.6.0",
267
+ "externalReferences": [
268
+ {
269
+ "type": "vcs",
270
+ "url": "https://github.com/clap-rs/clap"
271
+ }
272
+ ]
273
+ },
274
+ {
275
+ "type": "library",
276
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#clap_derive@4.6.0",
277
+ "name": "clap_derive",
278
+ "version": "4.6.0",
279
+ "description": "Parse command line argument by defining a struct, derive crate.",
280
+ "scope": "required",
281
+ "hashes": [
282
+ {
283
+ "alg": "SHA-256",
284
+ "content": "1110bd8a634a1ab8cb04345d8d878267d57c3cf1b38d91b71af6686408bbca6a"
285
+ }
286
+ ],
287
+ "licenses": [
288
+ {
289
+ "expression": "MIT OR Apache-2.0"
290
+ }
291
+ ],
292
+ "purl": "pkg:cargo/clap_derive@4.6.0",
293
+ "externalReferences": [
294
+ {
295
+ "type": "vcs",
296
+ "url": "https://github.com/clap-rs/clap"
297
+ }
298
+ ]
299
+ },
300
+ {
301
+ "type": "library",
302
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#clap_lex@1.1.0",
303
+ "name": "clap_lex",
304
+ "version": "1.1.0",
305
+ "description": "Minimal, flexible command line parser",
306
+ "scope": "required",
307
+ "hashes": [
308
+ {
309
+ "alg": "SHA-256",
310
+ "content": "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9"
311
+ }
312
+ ],
313
+ "licenses": [
314
+ {
315
+ "expression": "MIT OR Apache-2.0"
316
+ }
317
+ ],
318
+ "purl": "pkg:cargo/clap_lex@1.1.0",
319
+ "externalReferences": [
320
+ {
321
+ "type": "vcs",
322
+ "url": "https://github.com/clap-rs/clap"
323
+ }
324
+ ]
325
+ },
326
+ {
327
+ "type": "library",
328
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#colorchoice@1.0.5",
329
+ "name": "colorchoice",
330
+ "version": "1.0.5",
331
+ "description": "Global override of color control",
332
+ "scope": "required",
333
+ "hashes": [
334
+ {
335
+ "alg": "SHA-256",
336
+ "content": "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570"
337
+ }
338
+ ],
339
+ "licenses": [
340
+ {
341
+ "expression": "MIT OR Apache-2.0"
342
+ }
343
+ ],
344
+ "purl": "pkg:cargo/colorchoice@1.0.5",
345
+ "externalReferences": [
346
+ {
347
+ "type": "vcs",
348
+ "url": "https://github.com/rust-cli/anstyle.git"
349
+ }
350
+ ]
351
+ },
352
+ {
353
+ "type": "library",
354
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#crc-catalog@2.4.0",
355
+ "author": "Akhil Velagapudi <akhilvelagapudi@gmail.com>",
356
+ "name": "crc-catalog",
357
+ "version": "2.4.0",
358
+ "description": "Catalog of CRC algorithms (generated from http://reveng.sourceforge.net/crc-catalogue) expressed as simple Rust structs.",
359
+ "scope": "required",
360
+ "hashes": [
361
+ {
362
+ "alg": "SHA-256",
363
+ "content": "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5"
364
+ }
365
+ ],
366
+ "licenses": [
367
+ {
368
+ "expression": "MIT OR Apache-2.0"
369
+ }
370
+ ],
371
+ "purl": "pkg:cargo/crc-catalog@2.4.0",
372
+ "externalReferences": [
373
+ {
374
+ "type": "vcs",
375
+ "url": "https://github.com/akhilles/crc-catalog.git"
376
+ }
377
+ ]
378
+ },
379
+ {
380
+ "type": "library",
381
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#crc@3.4.0",
382
+ "author": "Rui Hu <code@mrhooray.com>, Akhil Velagapudi <4@4khil.com>",
383
+ "name": "crc",
384
+ "version": "3.4.0",
385
+ "description": "Rust implementation of CRC with support of various standards",
386
+ "scope": "required",
387
+ "hashes": [
388
+ {
389
+ "alg": "SHA-256",
390
+ "content": "5eb8a2a1cd12ab0d987a5d5e825195d372001a4094a0376319d5a0ad71c1ba0d"
391
+ }
392
+ ],
393
+ "licenses": [
394
+ {
395
+ "expression": "MIT OR Apache-2.0"
396
+ }
397
+ ],
398
+ "purl": "pkg:cargo/crc@3.4.0",
399
+ "externalReferences": [
400
+ {
401
+ "type": "documentation",
402
+ "url": "https://docs.rs/crc"
403
+ },
404
+ {
405
+ "type": "vcs",
406
+ "url": "https://github.com/mrhooray/crc-rs.git"
407
+ }
408
+ ]
409
+ },
410
+ {
411
+ "type": "library",
412
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#ext4-view@0.9.3",
413
+ "name": "ext4-view",
414
+ "version": "0.9.3",
415
+ "description": "No-std compatible Rust library for reading ext2/ext4 filesystems",
416
+ "scope": "required",
417
+ "hashes": [
418
+ {
419
+ "alg": "SHA-256",
420
+ "content": "ecf18f4817ea4baf95d700eb763642e65f77a94e630867028024b6725848a028"
421
+ }
422
+ ],
423
+ "licenses": [
424
+ {
425
+ "expression": "MIT OR Apache-2.0"
426
+ }
427
+ ],
428
+ "purl": "pkg:cargo/ext4-view@0.9.3",
429
+ "externalReferences": [
430
+ {
431
+ "type": "vcs",
432
+ "url": "https://github.com/nicholasbishop/ext4-view-rs"
433
+ }
434
+ ]
435
+ },
436
+ {
437
+ "type": "library",
438
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#heck@0.5.0",
439
+ "name": "heck",
440
+ "version": "0.5.0",
441
+ "description": "heck is a case conversion library.",
442
+ "scope": "required",
443
+ "hashes": [
444
+ {
445
+ "alg": "SHA-256",
446
+ "content": "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
447
+ }
448
+ ],
449
+ "licenses": [
450
+ {
451
+ "expression": "MIT OR Apache-2.0"
452
+ }
453
+ ],
454
+ "purl": "pkg:cargo/heck@0.5.0",
455
+ "externalReferences": [
456
+ {
457
+ "type": "vcs",
458
+ "url": "https://github.com/withoutboats/heck"
459
+ }
460
+ ]
461
+ },
462
+ {
463
+ "type": "library",
464
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#is_terminal_polyfill@1.70.2",
465
+ "name": "is_terminal_polyfill",
466
+ "version": "1.70.2",
467
+ "description": "Polyfill for `is_terminal` stdlib feature for use with older MSRVs",
468
+ "scope": "required",
469
+ "hashes": [
470
+ {
471
+ "alg": "SHA-256",
472
+ "content": "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695"
473
+ }
474
+ ],
475
+ "licenses": [
476
+ {
477
+ "expression": "MIT OR Apache-2.0"
478
+ }
479
+ ],
480
+ "purl": "pkg:cargo/is_terminal_polyfill@1.70.2",
481
+ "externalReferences": [
482
+ {
483
+ "type": "vcs",
484
+ "url": "https://github.com/polyfill-rs/is_terminal_polyfill"
485
+ }
486
+ ]
487
+ },
488
+ {
489
+ "type": "library",
490
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#itoa@1.0.18",
491
+ "author": "David Tolnay <dtolnay@gmail.com>",
492
+ "name": "itoa",
493
+ "version": "1.0.18",
494
+ "description": "Fast integer primitive to string conversion",
495
+ "scope": "required",
496
+ "hashes": [
497
+ {
498
+ "alg": "SHA-256",
499
+ "content": "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
500
+ }
501
+ ],
502
+ "licenses": [
503
+ {
504
+ "expression": "MIT OR Apache-2.0"
505
+ }
506
+ ],
507
+ "purl": "pkg:cargo/itoa@1.0.18",
508
+ "externalReferences": [
509
+ {
510
+ "type": "documentation",
511
+ "url": "https://docs.rs/itoa"
512
+ },
513
+ {
514
+ "type": "vcs",
515
+ "url": "https://github.com/dtolnay/itoa"
516
+ }
517
+ ]
518
+ },
519
+ {
520
+ "type": "library",
521
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#memchr@2.8.0",
522
+ "author": "Andrew Gallant <jamslam@gmail.com>, bluss",
523
+ "name": "memchr",
524
+ "version": "2.8.0",
525
+ "description": "Provides extremely fast (uses SIMD on x86_64, aarch64 and wasm32) routines for 1, 2 or 3 byte search and single substring search. ",
526
+ "scope": "required",
527
+ "hashes": [
528
+ {
529
+ "alg": "SHA-256",
530
+ "content": "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
531
+ }
532
+ ],
533
+ "licenses": [
534
+ {
535
+ "expression": "Unlicense OR MIT"
536
+ }
537
+ ],
538
+ "purl": "pkg:cargo/memchr@2.8.0",
539
+ "externalReferences": [
540
+ {
541
+ "type": "documentation",
542
+ "url": "https://docs.rs/memchr/"
543
+ },
544
+ {
545
+ "type": "website",
546
+ "url": "https://github.com/BurntSushi/memchr"
547
+ },
548
+ {
549
+ "type": "vcs",
550
+ "url": "https://github.com/BurntSushi/memchr"
551
+ }
552
+ ]
553
+ },
554
+ {
555
+ "type": "library",
556
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.106",
557
+ "author": "David Tolnay <dtolnay@gmail.com>, Alex Crichton <alex@alexcrichton.com>",
558
+ "name": "proc-macro2",
559
+ "version": "1.0.106",
560
+ "description": "A substitute implementation of the compiler's `proc_macro` API to decouple token-based libraries from the procedural macro use case.",
561
+ "scope": "required",
562
+ "hashes": [
563
+ {
564
+ "alg": "SHA-256",
565
+ "content": "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
566
+ }
567
+ ],
568
+ "licenses": [
569
+ {
570
+ "expression": "MIT OR Apache-2.0"
571
+ }
572
+ ],
573
+ "purl": "pkg:cargo/proc-macro2@1.0.106",
574
+ "externalReferences": [
575
+ {
576
+ "type": "documentation",
577
+ "url": "https://docs.rs/proc-macro2"
578
+ },
579
+ {
580
+ "type": "vcs",
581
+ "url": "https://github.com/dtolnay/proc-macro2"
582
+ }
583
+ ]
584
+ },
585
+ {
586
+ "type": "library",
587
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.45",
588
+ "author": "David Tolnay <dtolnay@gmail.com>",
589
+ "name": "quote",
590
+ "version": "1.0.45",
591
+ "description": "Quasi-quoting macro quote!(...)",
592
+ "scope": "required",
593
+ "hashes": [
594
+ {
595
+ "alg": "SHA-256",
596
+ "content": "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924"
597
+ }
598
+ ],
599
+ "licenses": [
600
+ {
601
+ "expression": "MIT OR Apache-2.0"
602
+ }
603
+ ],
604
+ "purl": "pkg:cargo/quote@1.0.45",
605
+ "externalReferences": [
606
+ {
607
+ "type": "documentation",
608
+ "url": "https://docs.rs/quote/"
609
+ },
610
+ {
611
+ "type": "vcs",
612
+ "url": "https://github.com/dtolnay/quote"
613
+ }
614
+ ]
615
+ },
616
+ {
617
+ "type": "library",
618
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.228",
619
+ "author": "Erick Tryzelaar <erick.tryzelaar@gmail.com>, David Tolnay <dtolnay@gmail.com>",
620
+ "name": "serde",
621
+ "version": "1.0.228",
622
+ "description": "A generic serialization/deserialization framework",
623
+ "scope": "required",
624
+ "hashes": [
625
+ {
626
+ "alg": "SHA-256",
627
+ "content": "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
628
+ }
629
+ ],
630
+ "licenses": [
631
+ {
632
+ "expression": "MIT OR Apache-2.0"
633
+ }
634
+ ],
635
+ "purl": "pkg:cargo/serde@1.0.228",
636
+ "externalReferences": [
637
+ {
638
+ "type": "documentation",
639
+ "url": "https://docs.rs/serde"
640
+ },
641
+ {
642
+ "type": "website",
643
+ "url": "https://serde.rs"
644
+ },
645
+ {
646
+ "type": "vcs",
647
+ "url": "https://github.com/serde-rs/serde"
648
+ }
649
+ ]
650
+ },
651
+ {
652
+ "type": "library",
653
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#serde_core@1.0.228",
654
+ "author": "Erick Tryzelaar <erick.tryzelaar@gmail.com>, David Tolnay <dtolnay@gmail.com>",
655
+ "name": "serde_core",
656
+ "version": "1.0.228",
657
+ "description": "Serde traits only, with no support for derive -- use the `serde` crate instead",
658
+ "scope": "required",
659
+ "hashes": [
660
+ {
661
+ "alg": "SHA-256",
662
+ "content": "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
663
+ }
664
+ ],
665
+ "licenses": [
666
+ {
667
+ "expression": "MIT OR Apache-2.0"
668
+ }
669
+ ],
670
+ "purl": "pkg:cargo/serde_core@1.0.228",
671
+ "externalReferences": [
672
+ {
673
+ "type": "documentation",
674
+ "url": "https://docs.rs/serde_core"
675
+ },
676
+ {
677
+ "type": "website",
678
+ "url": "https://serde.rs"
679
+ },
680
+ {
681
+ "type": "vcs",
682
+ "url": "https://github.com/serde-rs/serde"
683
+ }
684
+ ]
685
+ },
686
+ {
687
+ "type": "library",
688
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#serde_derive@1.0.228",
689
+ "author": "Erick Tryzelaar <erick.tryzelaar@gmail.com>, David Tolnay <dtolnay@gmail.com>",
690
+ "name": "serde_derive",
691
+ "version": "1.0.228",
692
+ "description": "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]",
693
+ "scope": "required",
694
+ "hashes": [
695
+ {
696
+ "alg": "SHA-256",
697
+ "content": "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
698
+ }
699
+ ],
700
+ "licenses": [
701
+ {
702
+ "expression": "MIT OR Apache-2.0"
703
+ }
704
+ ],
705
+ "purl": "pkg:cargo/serde_derive@1.0.228",
706
+ "externalReferences": [
707
+ {
708
+ "type": "documentation",
709
+ "url": "https://serde.rs/derive.html"
710
+ },
711
+ {
712
+ "type": "website",
713
+ "url": "https://serde.rs"
714
+ },
715
+ {
716
+ "type": "vcs",
717
+ "url": "https://github.com/serde-rs/serde"
718
+ }
719
+ ]
720
+ },
721
+ {
722
+ "type": "library",
723
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#serde_json@1.0.149",
724
+ "author": "Erick Tryzelaar <erick.tryzelaar@gmail.com>, David Tolnay <dtolnay@gmail.com>",
725
+ "name": "serde_json",
726
+ "version": "1.0.149",
727
+ "description": "A JSON serialization file format",
728
+ "scope": "required",
729
+ "hashes": [
730
+ {
731
+ "alg": "SHA-256",
732
+ "content": "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86"
733
+ }
734
+ ],
735
+ "licenses": [
736
+ {
737
+ "expression": "MIT OR Apache-2.0"
738
+ }
739
+ ],
740
+ "purl": "pkg:cargo/serde_json@1.0.149",
741
+ "externalReferences": [
742
+ {
743
+ "type": "documentation",
744
+ "url": "https://docs.rs/serde_json"
745
+ },
746
+ {
747
+ "type": "vcs",
748
+ "url": "https://github.com/serde-rs/json"
749
+ }
750
+ ]
751
+ },
752
+ {
753
+ "type": "library",
754
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#strsim@0.11.1",
755
+ "author": "Danny Guo <danny@dannyguo.com>, maxbachmann <oss@maxbachmann.de>",
756
+ "name": "strsim",
757
+ "version": "0.11.1",
758
+ "description": "Implementations of string similarity metrics. Includes Hamming, Levenshtein, OSA, Damerau-Levenshtein, Jaro, Jaro-Winkler, and Sørensen-Dice. ",
759
+ "scope": "required",
760
+ "hashes": [
761
+ {
762
+ "alg": "SHA-256",
763
+ "content": "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
764
+ }
765
+ ],
766
+ "licenses": [
767
+ {
768
+ "expression": "MIT"
769
+ }
770
+ ],
771
+ "purl": "pkg:cargo/strsim@0.11.1",
772
+ "externalReferences": [
773
+ {
774
+ "type": "documentation",
775
+ "url": "https://docs.rs/strsim/"
776
+ },
777
+ {
778
+ "type": "website",
779
+ "url": "https://github.com/rapidfuzz/strsim-rs"
780
+ },
781
+ {
782
+ "type": "vcs",
783
+ "url": "https://github.com/rapidfuzz/strsim-rs"
784
+ }
785
+ ]
786
+ },
787
+ {
788
+ "type": "library",
789
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#syn@2.0.117",
790
+ "author": "David Tolnay <dtolnay@gmail.com>",
791
+ "name": "syn",
792
+ "version": "2.0.117",
793
+ "description": "Parser for Rust source code",
794
+ "scope": "required",
795
+ "hashes": [
796
+ {
797
+ "alg": "SHA-256",
798
+ "content": "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99"
799
+ }
800
+ ],
801
+ "licenses": [
802
+ {
803
+ "expression": "MIT OR Apache-2.0"
804
+ }
805
+ ],
806
+ "purl": "pkg:cargo/syn@2.0.117",
807
+ "externalReferences": [
808
+ {
809
+ "type": "documentation",
810
+ "url": "https://docs.rs/syn"
811
+ },
812
+ {
813
+ "type": "vcs",
814
+ "url": "https://github.com/dtolnay/syn"
815
+ }
816
+ ]
817
+ },
818
+ {
819
+ "type": "library",
820
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#unicode-ident@1.0.24",
821
+ "author": "David Tolnay <dtolnay@gmail.com>",
822
+ "name": "unicode-ident",
823
+ "version": "1.0.24",
824
+ "description": "Determine whether characters have the XID_Start or XID_Continue properties according to Unicode Standard Annex #31",
825
+ "scope": "required",
826
+ "hashes": [
827
+ {
828
+ "alg": "SHA-256",
829
+ "content": "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
830
+ }
831
+ ],
832
+ "licenses": [
833
+ {
834
+ "expression": "(MIT OR Apache-2.0) AND Unicode-3.0"
835
+ }
836
+ ],
837
+ "purl": "pkg:cargo/unicode-ident@1.0.24",
838
+ "externalReferences": [
839
+ {
840
+ "type": "documentation",
841
+ "url": "https://docs.rs/unicode-ident"
842
+ },
843
+ {
844
+ "type": "vcs",
845
+ "url": "https://github.com/dtolnay/unicode-ident"
846
+ }
847
+ ]
848
+ },
849
+ {
850
+ "type": "library",
851
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#utf8parse@0.2.2",
852
+ "author": "Joe Wilm <joe@jwilm.com>, Christian Duerr <contact@christianduerr.com>",
853
+ "name": "utf8parse",
854
+ "version": "0.2.2",
855
+ "description": "Table-driven UTF-8 parser",
856
+ "scope": "required",
857
+ "hashes": [
858
+ {
859
+ "alg": "SHA-256",
860
+ "content": "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
861
+ }
862
+ ],
863
+ "licenses": [
864
+ {
865
+ "expression": "Apache-2.0 OR MIT"
866
+ }
867
+ ],
868
+ "purl": "pkg:cargo/utf8parse@0.2.2",
869
+ "externalReferences": [
870
+ {
871
+ "type": "documentation",
872
+ "url": "https://docs.rs/utf8parse/"
873
+ },
874
+ {
875
+ "type": "vcs",
876
+ "url": "https://github.com/alacritty/vte"
877
+ }
878
+ ]
879
+ },
880
+ {
881
+ "type": "library",
882
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#zmij@1.0.21",
883
+ "author": "David Tolnay <dtolnay@gmail.com>",
884
+ "name": "zmij",
885
+ "version": "1.0.21",
886
+ "description": "A double-to-string conversion algorithm based on Schubfach and yy",
887
+ "scope": "required",
888
+ "hashes": [
889
+ {
890
+ "alg": "SHA-256",
891
+ "content": "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa"
892
+ }
893
+ ],
894
+ "licenses": [
895
+ {
896
+ "expression": "MIT"
897
+ }
898
+ ],
899
+ "purl": "pkg:cargo/zmij@1.0.21",
900
+ "externalReferences": [
901
+ {
902
+ "type": "documentation",
903
+ "url": "https://docs.rs/zmij"
904
+ },
905
+ {
906
+ "type": "vcs",
907
+ "url": "https://github.com/dtolnay/zmij"
908
+ }
909
+ ]
910
+ }
911
+ ],
912
+ "dependencies": [
913
+ {
914
+ "ref": "path+file:///Users/runner/work/ext4-cli/ext4-cli#0.0.1",
915
+ "dependsOn": [
916
+ "registry+https://github.com/rust-lang/crates.io-index#anyhow@1.0.102",
917
+ "registry+https://github.com/rust-lang/crates.io-index#clap@4.6.0",
918
+ "registry+https://github.com/rust-lang/crates.io-index#ext4-view@0.9.3",
919
+ "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.228",
920
+ "registry+https://github.com/rust-lang/crates.io-index#serde_json@1.0.149"
921
+ ]
922
+ },
923
+ {
924
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#anstream@1.0.0",
925
+ "dependsOn": [
926
+ "registry+https://github.com/rust-lang/crates.io-index#anstyle@1.0.14",
927
+ "registry+https://github.com/rust-lang/crates.io-index#anstyle-parse@1.0.0",
928
+ "registry+https://github.com/rust-lang/crates.io-index#anstyle-query@1.1.5",
929
+ "registry+https://github.com/rust-lang/crates.io-index#colorchoice@1.0.5",
930
+ "registry+https://github.com/rust-lang/crates.io-index#is_terminal_polyfill@1.70.2",
931
+ "registry+https://github.com/rust-lang/crates.io-index#utf8parse@0.2.2"
932
+ ]
933
+ },
934
+ {
935
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#anstyle-parse@1.0.0",
936
+ "dependsOn": [
937
+ "registry+https://github.com/rust-lang/crates.io-index#utf8parse@0.2.2"
938
+ ]
939
+ },
940
+ {
941
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#anstyle-query@1.1.5"
942
+ },
943
+ {
944
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#anstyle@1.0.14"
945
+ },
946
+ {
947
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#anyhow@1.0.102"
948
+ },
949
+ {
950
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#bitflags@2.11.0"
951
+ },
952
+ {
953
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#clap@4.6.0",
954
+ "dependsOn": [
955
+ "registry+https://github.com/rust-lang/crates.io-index#clap_builder@4.6.0",
956
+ "registry+https://github.com/rust-lang/crates.io-index#clap_derive@4.6.0"
957
+ ]
958
+ },
959
+ {
960
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#clap_builder@4.6.0",
961
+ "dependsOn": [
962
+ "registry+https://github.com/rust-lang/crates.io-index#anstream@1.0.0",
963
+ "registry+https://github.com/rust-lang/crates.io-index#anstyle@1.0.14",
964
+ "registry+https://github.com/rust-lang/crates.io-index#clap_lex@1.1.0",
965
+ "registry+https://github.com/rust-lang/crates.io-index#strsim@0.11.1"
966
+ ]
967
+ },
968
+ {
969
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#clap_derive@4.6.0",
970
+ "dependsOn": [
971
+ "registry+https://github.com/rust-lang/crates.io-index#heck@0.5.0",
972
+ "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.106",
973
+ "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.45",
974
+ "registry+https://github.com/rust-lang/crates.io-index#syn@2.0.117"
975
+ ]
976
+ },
977
+ {
978
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#clap_lex@1.1.0"
979
+ },
980
+ {
981
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#colorchoice@1.0.5"
982
+ },
983
+ {
984
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#crc-catalog@2.4.0"
985
+ },
986
+ {
987
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#crc@3.4.0",
988
+ "dependsOn": [
989
+ "registry+https://github.com/rust-lang/crates.io-index#crc-catalog@2.4.0"
990
+ ]
991
+ },
992
+ {
993
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#ext4-view@0.9.3",
994
+ "dependsOn": [
995
+ "registry+https://github.com/rust-lang/crates.io-index#bitflags@2.11.0",
996
+ "registry+https://github.com/rust-lang/crates.io-index#crc@3.4.0"
997
+ ]
998
+ },
999
+ {
1000
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#heck@0.5.0"
1001
+ },
1002
+ {
1003
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#is_terminal_polyfill@1.70.2"
1004
+ },
1005
+ {
1006
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#itoa@1.0.18"
1007
+ },
1008
+ {
1009
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#memchr@2.8.0"
1010
+ },
1011
+ {
1012
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.106",
1013
+ "dependsOn": [
1014
+ "registry+https://github.com/rust-lang/crates.io-index#unicode-ident@1.0.24"
1015
+ ]
1016
+ },
1017
+ {
1018
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.45",
1019
+ "dependsOn": [
1020
+ "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.106"
1021
+ ]
1022
+ },
1023
+ {
1024
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.228",
1025
+ "dependsOn": [
1026
+ "registry+https://github.com/rust-lang/crates.io-index#serde_core@1.0.228",
1027
+ "registry+https://github.com/rust-lang/crates.io-index#serde_derive@1.0.228"
1028
+ ]
1029
+ },
1030
+ {
1031
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#serde_core@1.0.228"
1032
+ },
1033
+ {
1034
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#serde_derive@1.0.228",
1035
+ "dependsOn": [
1036
+ "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.106",
1037
+ "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.45",
1038
+ "registry+https://github.com/rust-lang/crates.io-index#syn@2.0.117"
1039
+ ]
1040
+ },
1041
+ {
1042
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#serde_json@1.0.149",
1043
+ "dependsOn": [
1044
+ "registry+https://github.com/rust-lang/crates.io-index#itoa@1.0.18",
1045
+ "registry+https://github.com/rust-lang/crates.io-index#memchr@2.8.0",
1046
+ "registry+https://github.com/rust-lang/crates.io-index#serde_core@1.0.228",
1047
+ "registry+https://github.com/rust-lang/crates.io-index#zmij@1.0.21"
1048
+ ]
1049
+ },
1050
+ {
1051
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#strsim@0.11.1"
1052
+ },
1053
+ {
1054
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#syn@2.0.117",
1055
+ "dependsOn": [
1056
+ "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.106",
1057
+ "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.45",
1058
+ "registry+https://github.com/rust-lang/crates.io-index#unicode-ident@1.0.24"
1059
+ ]
1060
+ },
1061
+ {
1062
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#unicode-ident@1.0.24"
1063
+ },
1064
+ {
1065
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#utf8parse@0.2.2"
1066
+ },
1067
+ {
1068
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#zmij@1.0.21"
1069
+ }
1070
+ ]
1071
+ }